summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Shapovalov <george@gentoo.org>2005-12-17 21:13:19 +0000
committerGeorge Shapovalov <george@gentoo.org>2005-12-17 21:13:19 +0000
commit4aa5d20ab5d5e34ad293dee3900aeb24ed5150a2 (patch)
tree3ae49b4cac3590cf6032674d6c8058ce9cdb54e1 /dev-lang/gnat
parentmasked new dev-lang/gnat revision for testing, almost ready to go live.. (diff)
downloadhistorical-4aa5d20ab5d5e34ad293dee3900aeb24ed5150a2.tar.gz
historical-4aa5d20ab5d5e34ad293dee3900aeb24ed5150a2.tar.bz2
historical-4aa5d20ab5d5e34ad293dee3900aeb24ed5150a2.zip
repackaged x86 bootstrap compiler, now ebuild code is common with amd64, plus should fix some problems..
Package-Manager: portage-2.0.51.22-r3
Diffstat (limited to 'dev-lang/gnat')
-rw-r--r--dev-lang/gnat/ChangeLog12
-rw-r--r--dev-lang/gnat/Manifest50
-rw-r--r--dev-lang/gnat/files/digest-gnat-3.44-r25
-rw-r--r--dev-lang/gnat/gnat-3.44-r2.ebuild178
4 files changed, 213 insertions, 32 deletions
diff --git a/dev-lang/gnat/ChangeLog b/dev-lang/gnat/ChangeLog
index e2c7675d0f46..408005ad8091 100644
--- a/dev-lang/gnat/ChangeLog
+++ b/dev-lang/gnat/ChangeLog
@@ -1,16 +1,22 @@
# ChangeLog for dev-lang/gnat
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.34 2005/12/16 12:00:08 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.35 2005/12/17 21:13:19 george Exp $
+
+*gnat-3.44-r2 (17 Dec 2005)
+
+ 17 Dec 2005; George Shapovalov <george@gentoo.org> +gnat-3.44-r2.ebuild:
+ new revision - repackaged x86 bootstrap compiler, should fix some issues,
+ plus special handling is now common for x86 and amd64..
16 Dec 2005; Diego Pettenò <flameeyes@gentoo.org> gnat-3.44-r1.ebuild:
Remove --with-gnu-ld option, bug #108386.
- 15 Nov 2005; <gerr@gentoo.org> gnat-3.44.ebuild:
+ 15 Nov 2005; George Shapovalov <george@gentoo.org> gnat-3.44.ebuild:
fix for building gnat when older version is already installed (#86484)
*gnat-3.44 (12 Nov 2005)
- 12 Nov 2005; <gerr@gentoo.org> +gnat-3.44.ebuild:
+ 12 Nov 2005; George Shapovalov <george@gentoo.org> +gnat-3.44.ebuild:
new version and a new port to amd64 (#64373)
*gnat-3.15p-r5 (23 Apr 2005)
diff --git a/dev-lang/gnat/Manifest b/dev-lang/gnat/Manifest
index b58a9548ceda..aa511448490c 100644
--- a/dev-lang/gnat/Manifest
+++ b/dev-lang/gnat/Manifest
@@ -1,36 +1,28 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 55f00cd4baeead2d9cb85cc1f4ebeac9 ChangeLog 5574
-MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213
-MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216
+MD5 f9e686a899e7d173784d4aaee898c0fe gnat-3.44.ebuild 5446
+MD5 9e647fec72de0891860dccad0a12c86a gnat-3.15p-r5.ebuild 5769
+MD5 7e1abff13d1add33756c2f586bbb5e63 gnat-3.41.ebuild 4012
+MD5 86fdf8a4f3d7e83edb3bcc0613692225 gnat-3.14p.ebuild 5599
+MD5 c94e823262b4cc2aa0495a9d1f97be7b gnat-3.44-r1.ebuild 5301
+MD5 140f94774ca1df5f61298c4a7982bf3a gnat-3.43.ebuild 4041
+MD5 7d626d97f619615a5722cf1e86d673b2 gnat-3.15p-r4.ebuild 5760
+MD5 0da281d076a32c04800de12225e43f64 ChangeLog 5850
+MD5 608766ca2b3f1891c60dc4bf831bf14a gnat-3.15p.ebuild 5655
+MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927
+MD5 1cd802626e88ef8f1129584f2aed4904 gnat-3.44-r2.ebuild 5013
+MD5 ca3b64c8223c3f3781cfe65e4e224ee6 gnat-3.15p-r3.ebuild 6070
MD5 5710cea3459403d02bc4ad4674fa7d1b files/digest-gnat-3.15p-r3 378
MD5 5710cea3459403d02bc4ad4674fa7d1b files/digest-gnat-3.15p-r4 378
MD5 5710cea3459403d02bc4ad4674fa7d1b files/digest-gnat-3.15p-r5 378
+MD5 6c454f942791a6212d8b5cf5c92aa2d0 files/gnat-3.15p-i686-pc-linux-gnu-bin.patch 605
+MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213
+MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216
+MD5 5d64753ce1119bb193bf3c09b43e87b0 files/gnat-3.15p-nptl.patch 1965
+MD5 6055ef6f0b3cd0df65743bfedb9de925 files/gnat-3.15p-gentoo-nonx86.patch.bz2 2112
+MD5 c370fea9c771c16d066a4c661e93edc7 files/gnat-3.44-amd64-Make-lang.in.patch 555
+MD5 7bae4a0c63edacc1fd59b6e7b14d86e8 files/digest-gnat-3.44-r1 382
+MD5 f0d3423b874e3367d4195b3923ac37b0 files/digest-gnat-3.44-r2 359
+MD5 f2825770e20893d32738f4106cd3d628 files/gnat-3.15p-gentoo.patch.bz2 3754
MD5 ffcd9ae5ebd258ffd9c88fc3cf225bd6 files/digest-gnat-3.41 315
MD5 119e0c400e71cdafcfb3eeca106c7029 files/digest-gnat-3.43 315
MD5 24fa8c7547a59391c65d8a1f6e28e0ae files/digest-gnat-3.44 382
-MD5 7bae4a0c63edacc1fd59b6e7b14d86e8 files/digest-gnat-3.44-r1 382
-MD5 6055ef6f0b3cd0df65743bfedb9de925 files/gnat-3.15p-gentoo-nonx86.patch.bz2 2112
-MD5 f2825770e20893d32738f4106cd3d628 files/gnat-3.15p-gentoo.patch.bz2 3754
-MD5 6c454f942791a6212d8b5cf5c92aa2d0 files/gnat-3.15p-i686-pc-linux-gnu-bin.patch 605
MD5 7fabcf7198fb4001adfba250899e0024 files/gnat-3.15p-noaddr2line.patch.bz2 542
-MD5 5d64753ce1119bb193bf3c09b43e87b0 files/gnat-3.15p-nptl.patch 1965
-MD5 c370fea9c771c16d066a4c661e93edc7 files/gnat-3.44-amd64-Make-lang.in.patch 555
-MD5 86fdf8a4f3d7e83edb3bcc0613692225 gnat-3.14p.ebuild 5599
-MD5 ca3b64c8223c3f3781cfe65e4e224ee6 gnat-3.15p-r3.ebuild 6070
-MD5 7d626d97f619615a5722cf1e86d673b2 gnat-3.15p-r4.ebuild 5760
-MD5 9e647fec72de0891860dccad0a12c86a gnat-3.15p-r5.ebuild 5769
-MD5 608766ca2b3f1891c60dc4bf831bf14a gnat-3.15p.ebuild 5655
-MD5 7e1abff13d1add33756c2f586bbb5e63 gnat-3.41.ebuild 4012
-MD5 140f94774ca1df5f61298c4a7982bf3a gnat-3.43.ebuild 4041
-MD5 c94e823262b4cc2aa0495a9d1f97be7b gnat-3.44-r1.ebuild 5301
-MD5 f9e686a899e7d173784d4aaee898c0fe gnat-3.44.ebuild 5446
-MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDoqxVAiZjviIA2XgRAvzrAJ9jBDAYQeIdl3C7Cmfv26+aDFQv2ACggahS
-HIglGZhrMavu3ciszhHKP54=
-=gzA3
------END PGP SIGNATURE-----
diff --git a/dev-lang/gnat/files/digest-gnat-3.44-r2 b/dev-lang/gnat/files/digest-gnat-3.44-r2
new file mode 100644
index 000000000000..87a7e0650e3b
--- /dev/null
+++ b/dev-lang/gnat/files/digest-gnat-3.44-r2
@@ -0,0 +1,5 @@
+MD5 9dd911fd9bc136ca42b73c68735d853b gcc-core-3.4.4.tar.bz2 13153342
+MD5 7da97a3f50bfa252d7fbb37ab22053f3 gcc-ada-3.4.4.tar.bz2 3460438
+MD5 465b94f3be66bf6c3f15b67dfb1e67e4 gcc-3.4-i386.tar.gz 12314657
+MD5 33a146f39c04b2ac055ae81585622d08 gnat-3.15p-powerpc-unknown-linux-gnu.tar.bz2 8228916
+MD5 324005671decf8a5e4473e52ce5b5dbc gcc-3.4-amd64.tar.gz 25847787
diff --git a/dev-lang/gnat/gnat-3.44-r2.ebuild b/dev-lang/gnat/gnat-3.44-r2.ebuild
new file mode 100644
index 000000000000..ca3b4a24dc3a
--- /dev/null
+++ b/dev-lang/gnat/gnat-3.44-r2.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/gnat-3.44-r2.ebuild,v 1.1 2005/12/17 21:13:19 george Exp $
+
+inherit gnat flag-o-matic
+
+MY_PV="3.4.4"
+
+DESCRIPTION="GNAT Ada Compiler"
+SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${MY_PV}/gcc-core-${MY_PV}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/releases/gcc-${MY_PV}/gcc-ada-${MY_PV}.tar.bz2
+ x86? ( http://dev.gentoo.org/~george/src/gcc-3.4-i386.tar.gz )
+ ppc? ( mirror://gentoo/gnat-3.15p-powerpc-unknown-linux-gnu.tar.bz2 )
+ amd64? ( http://dev.gentoo.org/~george/src/gcc-3.4-amd64.tar.gz )"
+HOMEPAGE="http://www.gnat.com/"
+
+DEPEND="=sys-devel/gcc-3.4*
+ x86? ( >=app-shells/tcsh-6.0 )"
+
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~amd64"
+LICENSE="GMGPL"
+IUSE=""
+
+S="${WORKDIR}/gcc-${MY_PV}"
+GNATBUILD="${WORKDIR}/build"
+case ${ARCH} in
+ ppc)
+ GNATBOOT="${WORKDIR}/gnat-3.15p-powerpc-unknown-linux-gnu"
+ GNATBOOTINST="${GNATBOOT}"
+ GCC_EXEC_BASE="${GNATBOOT}/lib/gcc-lib"
+ ;;
+ amd64 | x86)
+ GNATBOOT="${WORKDIR}/usr"
+ GCC_EXEC_BASE="${GNATBOOT}/lib/gcc"
+ ;;
+esac
+
+src_unpack() {
+ unpack ${A}
+
+ # Install the bootstrap compiler
+ if [ "${ARCH}" = "amd64" -o "${ARCH}" = "x86" ]; then
+ cd ${S}/gcc/ada/
+ patch Make-lang.in < ${FILESDIR}/gnat-3.44-amd64-Make-lang.in.patch
+ fi
+
+ # Prepare the gcc source directory
+ cd "${S}"
+ touch gcc/cstamp-h.in
+ touch gcc/ada/[es]info.h
+ touch gcc/ada/nmake.ad[bs]
+ mkdir -p "${GNATBUILD}"
+
+ #fixup some hardwired flags
+ sed -i -e "s:CFLAGS = -O2:CFLAGS = ${CFLAGS}:" \
+ gcc/ada/Makefile.adalib || die "patching Makefile.adalib failed"
+}
+
+src_compile() {
+ # Set some paths to our bootstrap compiler.
+ local GCC_EXEC_PREFIX=$(echo ${GCC_EXEC_BASE}/*/*)
+ local PATH="${GNATBOOT}/bin:${PATH}"
+
+ # this should catch one that works
+ local ADA_OBJECTS_PATH
+ local ADA_INCLUDE_PATH
+ for x in $(find "${GCC_EXEC_PREFIX}" -name adalib); do
+ ADA_OBJECTS_PATH="${x}:${ADA_OBJECTS_PATH}"
+ done
+ for x in $(find "${GCC_EXEC_PREFIX}" -name adainclude); do
+ ADA_INCLUDE_PATH="${x}:${ADA_INCLUDE_PATH}"
+ done
+
+ local LDFLAGS="-L${GCC_EXEC_PREFIX} -L${GNATBOOTINST}"
+ local CC="${GNATBOOT}/bin/gcc"
+ export LD_LIBRARY_PATH="${GNATBOOT}/lib"
+
+ # Configure gcc
+ cd "${GNATBUILD}"
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" "${S}"/configure --prefix=/usr \
+ --program-prefix=gnat \
+ --enable-languages="c,ada" \
+ --enable-libada \
+ --with-gcc \
+ --enable-threads=posix \
+ --enable-shared \
+ --with-system-zlib \
+ --disable-nls \
+ --libdir=/usr/lib/ada \
+ --libexecdir=/usr/libexec/ada \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || die "configure failed"
+
+ # Compile helper tools
+ cd "${GNATBOOT}"
+ cp ${S}/gcc/ada/xtreeprs.adb .
+ cp ${S}/gcc/ada/xsinfo.adb .
+ cp ${S}/gcc/ada/xeinfo.adb .
+ cp ${S}/gcc/ada/xnmake.adb .
+ gnatmake xtreeprs && \
+ gnatmake xsinfo && \
+ gnatmake xeinfo && \
+ gnatmake xnmake || die "building helper tools"
+
+ for i in `find ${S}/gcc/ada -name '*.ad[sb]'`; do \
+ sed -i -e "s/\"gcc\"/\"gnatgcc\"/g" ${i}; \
+ done
+
+ cd "${GNATBUILD}"
+ emake bootstrap || die "bootstrap failed"
+
+ einfo "building gnatlib_and_tools"
+ # make rts honor user defined CFLAGS
+ MAKEOPTS=-j1 emake -C gcc gnatlib_and_tools || die "gnatlib_and_tools failed"
+
+ einfo "building shared lib"
+ rm -f gcc/ada/rts/*.{o,ali} || die
+ #otherwise make tries to reuse already compiled (without -fPIC) objs..
+ MAKEOPTS=-j1 emake -C gcc gnatlib-shared LIBRARY_VERSION=3.4 || die "gnatlib-shared failed"
+}
+
+src_install() {
+ # Do not allow symlinks in /usr/lib/gcc/${CHOST}/${MY_PV}/include as
+ # this can break the build.
+ for x in ${WORKDIR}/build/gcc/include/*
+ do
+ if [ -L ${x} ]
+ then
+ rm -f ${x}
+ fi
+ done
+
+ # Install gnatgcc, tools and native threads library
+ cd "${GNATBUILD}"
+ make prefix=${D}/usr \
+ libdir=${D}/usr/lib/ada \
+ libexecdir=${D}/usr/libexec/ada \
+ mandir=${D}/usr/share/man \
+ infodir=${D}/usr/share/info \
+ install || die "died while installing"
+
+ #above make installs libgcc_s into weird location
+ #removing it, as it is provided by gcc anyway
+ rm -rf ${D}/usr/lib/lib*
+
+ # These are all provided by gcc
+ rm -rf ${D}/usr/share/info/{gcc*,cpp*}
+
+ #on amd64 installer misdetects arch string
+ if [ "${ARCH}" == "amd64" ]; then
+ local myCHOST="x86_64-unknown-linux-gnu"
+ else
+ local myCHOST="${CHOST}"
+ fi
+ dodir "/usr/lib/ada/gcc/${myCHOST}/${MY_PV}/rts-native"
+
+ # Move the native threads library
+ cd "${D}/usr/lib/ada/gcc/${myCHOST}/${MY_PV}"
+ mv adalib adainclude rts-native
+
+ # Make native threads the default
+ ln -s rts-native/adalib adalib
+ ln -s rts-native/adainclude adainclude
+}
+
+pkg_postinst() {
+ # Notify the user of what changed
+ einfo ""
+ einfo "The compiler has been installed as gnatgcc, and the coverage testing"
+ einfo "tool as gnatgcov."
+ einfo ""
+ einfo "If you are upgrading from GNAT-3.15p or older you will have to"
+ einfo "reemerge all Ada packages as GNAT-${MY_PV} has updated to a version of"
+ einfo "GCC which is not backwards compatible with 2.8.1."
+ einfo ""
+}