new version and a new port to amd64 (#64373)
authorGeorge Shapovalov <george@gentoo.org>
Sun, 13 Nov 2005 17:46:20 +0000 (17:46 +0000)
committerGeorge Shapovalov <george@gentoo.org>
Sun, 13 Nov 2005 17:46:20 +0000 (17:46 +0000)
Package-Manager: portage-2.0.53_rc7

dev-lang/gnat/ChangeLog
dev-lang/gnat/Manifest
dev-lang/gnat/files/digest-gnat-3.44 [new file with mode: 0644]
dev-lang/gnat/gnat-3.44.ebuild [new file with mode: 0644]

index 69c08ccb76f300292823ecd37cc5f375aebe20ae..db3b91a06d09a3c93b9631a7662001ed50237bfa 100644 (file)
@@ -1,6 +1,11 @@
 # 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.31 2005/04/23 12:54:03 dholm Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.32 2005/11/13 17:46:20 george Exp $
+
+*gnat-3.44 (12 Nov 2005)
+
+  12 Nov 2005; <gerr@gentoo.org> +gnat-3.44.ebuild:
+  new version and a new port to amd64 (#64373)
 
 *gnat-3.15p-r5 (23 Apr 2005)
 
index 3e790271ec85b19aba22200e9cd46cc3100f039c..757d5f00602faf1f1509534fa97970352f4241ce 100644 (file)
@@ -1,21 +1,23 @@
-MD5 86fdf8a4f3d7e83edb3bcc0613692225 gnat-3.14p.ebuild 5599
-MD5 608766ca2b3f1891c60dc4bf831bf14a gnat-3.15p.ebuild 5655
-MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927
-MD5 7e1abff13d1add33756c2f586bbb5e63 gnat-3.41.ebuild 4012
-MD5 140f94774ca1df5f61298c4a7982bf3a gnat-3.43.ebuild 4041
-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 524902affb557e1550b91a3dc612f204 ChangeLog 5200
+MD5 706075db03334831e5dafb7dd3d1f558 ChangeLog 5327
 MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213
 MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216
 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 ffcd9ae5ebd258ffd9c88fc3cf225bd6 files/digest-gnat-3.41 315
+MD5 119e0c400e71cdafcfb3eeca106c7029 files/digest-gnat-3.43 315
+MD5 24fa8c7547a59391c65d8a1f6e28e0ae files/digest-gnat-3.44 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 ffcd9ae5ebd258ffd9c88fc3cf225bd6 files/digest-gnat-3.41 315
-MD5 119e0c400e71cdafcfb3eeca106c7029 files/digest-gnat-3.43 315
-MD5 5710cea3459403d02bc4ad4674fa7d1b files/digest-gnat-3.15p-r4 378
-MD5 5710cea3459403d02bc4ad4674fa7d1b files/digest-gnat-3.15p-r5 378
 MD5 5d64753ce1119bb193bf3c09b43e87b0 files/gnat-3.15p-nptl.patch 1965
+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 b7c2ccf8e7413d05b77b2cab3e2fe736 gnat-3.44.ebuild 5235
+MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927
diff --git a/dev-lang/gnat/files/digest-gnat-3.44 b/dev-lang/gnat/files/digest-gnat-3.44
new file mode 100644 (file)
index 0000000..1730815
--- /dev/null
@@ -0,0 +1,5 @@
+MD5 324005671decf8a5e4473e52ce5b5dbc gcc-3.4-amd64.tar.gz 25847787
+MD5 7da97a3f50bfa252d7fbb37ab22053f3 gcc-ada-3.4.4.tar.bz2 3460438
+MD5 9dd911fd9bc136ca42b73c68735d853b gcc-core-3.4.4.tar.bz2 13153342
+MD5 57c060cd1ccef8b1ae9165b11d98780a gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz 13482938
+MD5 33a146f39c04b2ac055ae81585622d08 gnat-3.15p-powerpc-unknown-linux-gnu.tar.bz2 8228916
diff --git a/dev-lang/gnat/gnat-3.44.ebuild b/dev-lang/gnat/gnat-3.44.ebuild
new file mode 100644 (file)
index 0000000..a79b83a
--- /dev/null
@@ -0,0 +1,179 @@
+# 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.ebuild,v 1.1 2005/11/13 17:46:20 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://gd.tuwien.ac.at/languages/ada/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.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*
+       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
+       x86)    GNATBOOT="${WORKDIR}/boot"
+                       GNATBOOTINST="${WORKDIR}/gnat-3.15p-i686-pc-linux-gnu-bin"
+               ;;
+       ppc)    GNATBOOT="${WORKDIR}/gnat-3.15p-powerpc-unknown-linux-gnu"
+               ;;
+       amd64)  GNATBOOT="${WORKDIR}/usr"
+               ;;
+esac
+
+#needed for shared libs
+append-flags "-fPIC"
+
+src_unpack() {
+       unpack ${A}
+
+       # Install the bootstrap compiler
+       if [ "${ARCH}" = "x86" ]; then
+               cd "${GNATBOOTINST}"
+               patch -p1 < ${FILESDIR}/gnat-3.15p-i686-pc-linux-gnu-bin.patch
+               echo $'\n'3$'\n'${GNATBOOT}$'\n' | ./doconfig > doconfig.log 2>&1
+               ./doinstall
+       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 (cause problems for shared libs)
+#      sed -i -e 's:GNATLIBCFLAGS = -g -O2:GNATLIBCFLAGS = -g -O2 -fPIC:'      \
+#              gcc/ada/Makefile.in || die "patching Makefile.in failed"
+#      sed -i -e 's:CFLAGS = -O2:CFLAGS = -g -O2 -fPIC:'       \
+#              gcc/ada/Makefile.adalib || die "patching Makefile.adalib failed"
+
+}
+
+src_compile() {
+       # Set some paths to our bootstrap compiler.
+       case ${ARCH} in
+               x86)    local GCC_EXEC_PREFIX="${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
+                       ;;
+               amd64)  local GCC_EXEC_PREFIX="${GNATBOOT}/lib/gcc/x86_64-linux/3.4.5"
+                       ;;
+       esac
+       local PATH="${GNATBOOT}/bin:${PATH}"
+       local LDFLAGS="-L${GCC_EXEC_PREFIX} -L${GNATBOOTINST}"
+       local CC="${GNATBOOT}/bin/gcc"
+       #simply assigning LD_LIBRARY_PATH, like with the other vars, does not work
+       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 \
+               --with-gnu-ld \
+               --with-gnu-as \
+               --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"
+
+       MAKEOPTS=-j1 emake -C gcc gnatlib_and_tools || die "gnatlib_and_tools failed"
+       #the shared libs compile breaks complaining that it needs -fPIC and yet 
+       #it ignores the set flag. Commented out untill resolved
+#      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
+       # Not all, some go by different name as well. (GS)
+#      rm -rf ${D}/usr/share/man
+       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 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 ""
+}