diff options
author | David Holm <dholm@gentoo.org> | 2005-02-23 16:14:41 +0000 |
---|---|---|
committer | David Holm <dholm@gentoo.org> | 2005-02-23 16:14:41 +0000 |
commit | eaaf61cdcb4b5f1c19a431bfb763e4a7e512ee9d (patch) | |
tree | bba0995588b302f9bd426591a099774b1abb013f /dev-lang | |
parent | Version bumped. (diff) | |
download | gentoo-2-eaaf61cdcb4b5f1c19a431bfb763e4a7e512ee9d.tar.gz gentoo-2-eaaf61cdcb4b5f1c19a431bfb763e4a7e512ee9d.tar.bz2 gentoo-2-eaaf61cdcb4b5f1c19a431bfb763e4a7e512ee9d.zip |
Fix bug #27683 (second attempt)
(Portage version: 2.0.51-r15)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/gnat/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/gnat/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/gnat/files/digest-gnat-3.15p-r4 | 5 | ||||
-rw-r--r-- | dev-lang/gnat/gnat-3.15p-r4.ebuild | 190 |
4 files changed, 205 insertions, 2 deletions
diff --git a/dev-lang/gnat/ChangeLog b/dev-lang/gnat/ChangeLog index 3a25a29a8f6e..bfdf92735aa6 100644 --- a/dev-lang/gnat/ChangeLog +++ b/dev-lang/gnat/ChangeLog @@ -1,6 +1,12 @@ # 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.29 2005/02/23 09:41:19 dholm Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.30 2005/02/23 16:14:41 dholm Exp $ + +*gnat-3.15p-r4 (23 Feb 2005) + + 23 Feb 2005; David Holm <dholm@gentoo.org> +gnat-3.15p-r4.ebuild: + Added fix for glibc-2.3.4 compatibility submitted by Maxim Reznik <reznikmm + (at) front (dot) run> (Bug #27683) 23 Feb 2005; David Holm <dholm@gentoo.org> gnat-3.15p-r3.ebuild: Stable on ppc diff --git a/dev-lang/gnat/Manifest b/dev-lang/gnat/Manifest index b604416343c7..1ce483bc5c4c 100644 --- a/dev-lang/gnat/Manifest +++ b/dev-lang/gnat/Manifest @@ -2,9 +2,10 @@ 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 f8829685cbfceca7847845f09a1023bb ChangeLog 4761 +MD5 d4f73d948ee6529fb1367daabbf0678d ChangeLog 4975 MD5 140f94774ca1df5f61298c4a7982bf3a gnat-3.43.ebuild 4041 MD5 ca3b64c8223c3f3781cfe65e4e224ee6 gnat-3.15p-r3.ebuild 6070 +MD5 106607e02c34757cc136001cc14ee035 gnat-3.15p-r4.ebuild 5761 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 @@ -14,3 +15,4 @@ MD5 6c454f942791a6212d8b5cf5c92aa2d0 files/gnat-3.15p-i686-pc-linux-gnu-bin.patc 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 diff --git a/dev-lang/gnat/files/digest-gnat-3.15p-r4 b/dev-lang/gnat/files/digest-gnat-3.15p-r4 new file mode 100644 index 000000000000..ef184b39a779 --- /dev/null +++ b/dev-lang/gnat/files/digest-gnat-3.15p-r4 @@ -0,0 +1,5 @@ +MD5 cf8b9cccc867e318bccaaa2dce384028 gnat-3.15p-src.tgz 5553434 +MD5 3bcbedfaccf343a8515efc0f74b8a027 gnat-3.15p-unx-docs.tar.gz 9515443 +MD5 23ce8b5d276e2eab421416564f9dc8a3 gcc-2.8.1.tar.bz2 6304274 +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.15p-r4.ebuild b/dev-lang/gnat/gnat-3.15p-r4.ebuild new file mode 100644 index 000000000000..c52e2f8882e4 --- /dev/null +++ b/dev-lang/gnat/gnat-3.15p-r4.ebuild @@ -0,0 +1,190 @@ +# 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.15p-r4.ebuild,v 1.1 2005/02/23 16:14:41 dholm Exp $ + +inherit gnat + +DESCRIPTION="The GNU Ada Toolkit" +DEPEND="x86? ( >=app-shells/tcsh-6.0 )" +RDEPEND="" +SRC_URI="http://gd.tuwien.ac.at/languages/ada/gnat/${PV}/${P}-src.tgz + http://gd.tuwien.ac.at/languages/ada/gnat/${PV}/${P}-unx-docs.tar.gz + ftp://gcc.gnu.org/pub/gcc/old-releases/gcc-2/gcc-2.8.1.tar.bz2 + x86? ( http://gd.tuwien.ac.at/languages/ada/gnat/${PV}/${P}-i686-pc-redhat71-gnu-bin.tar.gz ) + ppc? ( mirror://gentoo/${P}-powerpc-unknown-linux-gnu.tar.bz2 )" +HOMEPAGE="http://www.gnat.com/" + +SLOT="0" +KEYWORDS="x86 ppc" +LICENSE="GMGPL" +IUSE="" + +S="${WORKDIR}/gcc-2.8.1" +GNATDIR="${WORKDIR}/${P}-src" + +case ${ARCH} in + x86) GNATBOOT="${WORKDIR}/boot" + GNATBOOTINST="${WORKDIR}/${P}-i686-pc-linux-gnu-bin" + ;; + ppc) + GNATBOOT="${WORKDIR}/${P}-powerpc-unknown-linux-gnu" + ;; +esac + +CFLAGS="-O2 -gnatpgn" + +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}" + patch -p0 < "${GNATDIR}/src/gcc-281.dif" + touch cstamp-h.in + mv "${GNATDIR}/src/ada" "${S}" + bzcat "${FILESDIR}/${P}-gentoo.patch.bz2" | patch -p1 + touch ada/treeprs.ads ada/a-[es]info.h ada/nmake.ad[bs] + + # Make $local_prefix point to $prefix + sed -i -e "s/@local_prefix@/@prefix@/" "${S}/Makefile.in" + + #if [ "${ARCH}" != "x86" ]; then + cd "${S}" + bzcat "${FILESDIR}/${P}-noaddr2line.patch.bz2" | patch -p1 + sed -i -e "s/-laddr2line//g" ada/Makefile.in + #fi +} + +src_compile() { + local PATH="${GNATBOOT}/bin:${PATH}" + local LDFLAGS="-L${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1" + if [ -d ${GNATBOOTINST} ]; then + local LDFLAGS="-L${GNATBOOTINST} ${LDFLAGS}" + fi + + # Configure gcc + cd "${S}" + econf --libdir=/usr/lib/ada --program-prefix=gnat \ + || die "./configure failed" + + # Make sure we don't overwrite the existing gcc + sed -i -e "s/\$(bindir)\/gcov/\$(bindir)\/gnatgcov/" "${S}/Makefile" + sed -i -e "s/alias)-gcc/alias)-gnatgcc/g" "${S}/Makefile" + + # Compile it by first using the bootstrap compiler and then bootstrapping + # our own version. Finally compile the libraries and tools. + einfo "Building compiler" + make CC="gcc" CFLAGS="${CFLAGS}" LANGUAGES="c ada gcov" || + die "Failed while running inital compilation!" + make CC="gcc" CFLAGS="${CFLAGS}" LANGUAGES="c ada gcov" bootstrap || + die "Died while bootstrapping!" + einfo "Building shared gnatlib" + make CC="gcc" CFLAGS="${CFLAGS}" GNATLIBCFLAGS="${CFLAGS}" \ + TARGET_LIBGCC2_CFLAGS="-fPIC" \ + gnatlib-shared || + die "Failed to build the shared version of gnatlib!" + einfo "Building gnattools" + make CC="gcc" CFLAGS="${CFLAGS}" gnattools || + die "Failed to build gnattools!" +} + +src_install() { + local PATH="${GNATBOOT}/bin:${PATH}" + local LDFLAGS="-L${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1" + if [ -d ${GNATBOOTINST} ]; then + local LDFLAGS="${LDFLAGS} -L${GNATBOOTINST}" + fi + + # Install gnatgcc, tools and native threads library + make prefix="${D}/usr" libdir="${D}/usr/lib/ada" \ + LANGUAGES="c ada gcov" GCC_INSTALL_NAME=gnatgcc \ + install-common install-libgcc install-gnatlib install-driver || + die "Failed while installing GNAT" + touch "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1/include/float.h" + + if [ "${ARCH}" = "x86" ]; then + # Install the FSU threads library + cd "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1" + mkdir rts-native + mkdir rts-fsu + + # Move the native threads library + mv adalib adainclude rts-native + cd ${S} + + # Compile and install the FSU threads library + rm stamp-gnatlib1 + einfo "Building FSU-threads runtime" + make CC="gcc" CFLAGS="${CFLAGS}" GNATLIBCFLAGS="${CFLAGS}" \ + TARGET_LIBGCC2_CFLAGS="-fPIC" \ + THREAD_KIND="fsu" gnatlib-shared + make prefix="${D}/usr" libdir="${D}/usr/lib/ada" install-gnatlib + cd "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1" + mv adalib adainclude rts-fsu + cd ${S} + + # Install the precompiled FSU library from the binary distribution + cp "${GNATBOOTINST}/libgthreads.a" "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1" + cp "${GNATBOOTINST}/libmalloc.a" "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1" + + # Make native threads the default + cd "${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1" + ln -s rts-native/adalib adalib + ln -s rts-native/adainclude adainclude + fi + + if [ -z ${GNATBOOTINST} ]; then + cp "${GNATBOOTINST}/gnathtml.pl" "${D}/usr/bin" + chmod +x "${D}/usr/bin" + fi + + # Fix broken symlinks + cd ${D}/usr/lib/ada/gcc-lib/${CHOST}/2.8.1/adalib + rm -f libgnarl.so + rm -f liblibgnat.so + ln -sf libgnarl-3.15.so libgnarl.so + ln -sf libgnat-3.15.so libgnat.so + + # Install documentation and examples + cd ${WORKDIR}/${P}-src + dodoc COPYING README + insinto /usr/share/${PN}/examples + doins examples/* + cd ${WORKDIR}/${P}-unx-docs + rm -f */gvd.* + rm -f */gdb.* + for i in `find . -name 'gcc*'`; do \ + mv ${i} ${i/gcc/gnatgcc}; \ + done + dohtml html/* + docinto ps + dodoc ps/* + docinto txt + dodoc txt/* + doinfo info/* + cd ${S} + mv gcc.1 gnatgcc.1 + doman gnatgcc.1 +} + +pkg_postinst() { + # Notify the user what changed + einfo "" + if [ "${ARCH}" = "x86" ]; then + einfo "Both the native-threads and the FSU-threads runtimes have been" + einfo "installed. The native-threads version is the default on linux." + einfo "If you want to use FSU-threads (required if you are using" + einfo "Annex D) simply use the following switch: --RTS=fsu" + einfo "" + fi + einfo "The compiler has been installed as gnatgcc, and the coverage testing" + einfo "tool as gnatgcov." + einfo "" +} |