Gentoo Archives: gentoo-commits

From: "George Shapovalov (george)" <george@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-ada/asis-gcc: ChangeLog asis-gcc-4.3.0_pre132166.ebuild
Date: Fri, 29 Feb 2008 11:00:22
Message-Id: E1JV2yR-0003He-7h@stork.gentoo.org
1 george 08/02/29 11:00:19
2
3 Modified: ChangeLog
4 Added: asis-gcc-4.3.0_pre132166.ebuild
5 Log:
6 added a new version for the 4.3 SLOT, fixed gcc->gnatgcc substitution for 4.2.2
7 (Portage version: 2.1.4.4)
8
9 Revision Changes Path
10 1.11 dev-ada/asis-gcc/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-ada/asis-gcc/ChangeLog?rev=1.11&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-ada/asis-gcc/ChangeLog?rev=1.11&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-ada/asis-gcc/ChangeLog?r1=1.10&r2=1.11
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/ChangeLog,v
19 retrieving revision 1.10
20 retrieving revision 1.11
21 diff -u -r1.10 -r1.11
22 --- ChangeLog 10 Feb 2008 21:12:55 -0000 1.10
23 +++ ChangeLog 29 Feb 2008 11:00:18 -0000 1.11
24 @@ -1,6 +1,13 @@
25 # ChangeLog for dev-ada/asis-gcc
26 # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/ChangeLog,v 1.10 2008/02/10 21:12:55 maekke Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/ChangeLog,v 1.11 2008/02/29 11:00:18 george Exp $
29 +
30 +*asis-gcc-4.3.0_pre132166 (29 Feb 2008)
31 +
32 + 29 Feb 2008; George Shapovalov <george@g.o>
33 + +asis-gcc-4.3.0_pre132166.ebuild:
34 + added new prerelease for the 4.3 SLOT (tools from 4.2; asis modified by V. Godunko)
35 + fixed a slip in gcc->gnatgcc substitution for 4.2.2
36
37 10 Feb 2008; Markus Meier <maekke@g.o> asis-gcc-3.4.6.ebuild:
38 x86 stable, bug #209000
39
40
41
42 1.1 dev-ada/asis-gcc/asis-gcc-4.3.0_pre132166.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.3.0_pre132166.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.3.0_pre132166.ebuild?rev=1.1&content-type=text/plain
46
47 Index: asis-gcc-4.3.0_pre132166.ebuild
48 ===================================================================
49 # Copyright 1999-2008 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/dev-ada/asis-gcc/asis-gcc-4.3.0_pre132166.ebuild,v 1.1 2008/02/29 11:00:18 george Exp $
52
53 inherit eutils flag-o-matic gnatbuild multilib
54
55 DESCRIPTION="The Ada Semantic Interface Specification (tools tied to compiler). GnuAda version"
56 HOMEPAGE="http://gnuada.sourceforge.net/"
57 LICENSE="GMGPL"
58
59 KEYWORDS="~amd64 ~x86"
60
61 Gnat_Name="gnat-gcc"
62 My_PN="asis"
63 SRC_URI="http://dev.gentoo.org/~george/${P}.tar.bz2"
64
65 IUSE="doc"
66 RDEPEND="=dev-lang/gnat-gcc-${SLOT}*"
67 DEPEND="${RDEPEND}
68 doc? ( virtual/tetex
69 app-text/texi2html )"
70
71 # overwriting gnatboot's S
72 S="${WORKDIR}/${My_PN}-${PV}"
73
74 # Execstack is not nearly as dangerous in Ada as in C and would require a lot of
75 # work to work around. See bug #141315.
76 QA_EXECSTACK="usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis-${SLOT}.so
77 usr/$(get_libdir)/gnat-gcc/*/${SLOT}/adalib/libasis.a
78 usr/*/gnat-gcc-bin/${SLOT}/*"
79
80 # it may be even better to force plain -O2 -pipe here
81 replace-flags -O3 -O2
82
83 # we need to adjust some vars defined in gnatbuild.eclass so that they use
84 # gnat-gcc instead of asis
85 My_LIBPATH=${LIBPATH/${PN}/${Gnat_Name}}
86 My_BINPATH=${BINPATH/${PN}/${Gnat_Name}}
87 My_DATAPATH=${DATAPATH/${PN}/${Gnat_Name}}
88
89 pkg_setup() {
90 local currGnat=$(eselect --no-color gnat show | grep "gnat-" | awk '{ print $1 }')
91 if [[ "${currGnat}" != "${CTARGET}-${Gnat_Name}-${SLOT}" ]]; then
92 echo
93 eerror "The active gnat profile does not correspond to the selected"
94 eerror "version of asis! Please install the appropriate gnat (if you"
95 eerror "did not so yet) and run:"
96 eerror "eselect gnat set ${CTARGET}-${Gnat_Name}-${SLOT}"
97 eerror "env-update && source /etc/profile"
98 eerror "and then emerge =dev-ada/asis-${PV} again.."
99 echo
100 die
101 fi
102 if [[ -e ${My_LIBPATH}/adalib/libasis.a ]] ; then
103 echo
104 ewarn "gnatmake of gnat-gcc unfortunately has problems forcing the build"
105 ewarn "if the package is already installed."
106 eerror "Please unmerge asis-gcc first and then resume the merge:"
107 eerror "emerge --unmerge asis-gcc && emerge asis-gcc"
108 echo
109 die
110 fi
111 }
112
113 # we need to avoid calling gnatboot_src_unpack
114 src_unpack() {
115 unpack ${A}
116 }
117
118 src_compile() {
119 # Build the shared library first, we need -fPIC here
120 gnatmake -f -Pasis_stat -cargs ${CFLAGS} || die "building libasis.a failed"
121 gnatmake -f -Pasis_dyn -cargs ${CFLAGS} || die "building libasis.so failed"
122 chmod 0444 lib/*.ali
123
124 # build tools
125 # we need version.o generated for all the tools
126 gcc -c -o obj/version.o gnat/version.c
127 for fn in gnatelim gnatstub gnatpp ; do
128 pushd tools/${fn}
129 gnatmake -o ${fn} ${fn}-driver.adb -I../../asis/ -I../../gnat/ \
130 -I../tool_utils/ -I../tool_utils/templates/ \
131 -L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
132 || die "building ${fn} failed"
133 popd
134 done
135 pushd tools/gnatmetric
136 gnatmake -o gnatmetric metrics-simple_driver.adb -I../../asis/ -I../../gnat/ \
137 -I../tool_utils/ -I../tool_utils/templates/ \
138 -L../../lib -cargs ${CFLAGS} -largs -lasis ../../obj/version.o \
139 || die "building ${fn} failed"
140 popd
141
142 pushd tools/adabrowse
143 gcc -c util-nl.c
144 gnatmake -I../../asis -I../../gnat adabrowse -L../../lib -cargs ${CFLAGS} \
145 -largs -lasis ../../obj/version.o || die
146 popd
147 pushd tools/semtools
148 gnatmake -I../../asis -I../../gnat adadep -L../../lib \
149 -cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
150 gnatmake -I../../asis -I../../gnat adasubst -L../../lib \
151 -cargs ${CFLAGS} -largs -lasis ../../obj/version.o || die
152 popd
153
154 # common stuff is just docs in this case
155 if use doc; then
156 pushd documentation
157 make all || die "Failed while compiling documentation"
158 for fn in *.ps; do ps2pdf ${fn}; done
159 popd
160 fi
161 }
162
163 src_install () {
164 # install the lib
165 dodir ${My_LIBPATH}/adalib
166 # doins grossly screws permissions
167 cp -dpP lib/* "${D}${My_LIBPATH}"/adalib
168 # make link point to the right location
169 pushd "${D}${My_LIBPATH}"/adalib/
170 rm libasis.so
171 ln -s libasis-${SLOT}.so libasis.so
172 popd
173 # sources
174 insinto ${My_LIBPATH}/adainclude
175 doins gnat/*.ad[sb]
176 doins asis/*.ad[sb]
177
178 # tools
179 mkdir -p "${D}${My_BINPATH}"
180 for fn in tools/{adabrowse,gnatelim,gnatstub,gnatpp,gnatmetric}; do
181 cp ${fn}/${fn:6} "${D}${My_BINPATH}"
182 done
183 cp tools/semtools/ada{dep,subst} "${D}${My_BINPATH}"
184
185 # docs and examples
186 if use doc ; then
187 dodoc documentation/*.{txt,ps}
188 dohtml documentation/*.html
189 # info's should go into gnat-gpl dirs
190 insinto ${My_DATAPATH}/info/
191 doins documentation/*.info
192
193 insinto /usr/share/doc/${PF}
194 doins -r documentation/*.pdf examples/ tutorial/ templates/
195 fi
196 }
197
198 pkg_postinst() {
199 echo
200 elog "The ASIS is installed for the active gnat compiler at gnat's location."
201 elog "No further configuration is necessary. Enjoy."
202 echo
203 }
204
205
206
207 --
208 gentoo-commits@l.g.o mailing list