diff options
-rw-r--r-- | dev-lang/gnat/ChangeLog | 12 | ||||
-rw-r--r-- | dev-lang/gnat/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/gnat/files/digest-gnat-3.15p-r1 | 4 | ||||
-rw-r--r-- | dev-lang/gnat/gnat-3.15p-r1.ebuild | 161 |
4 files changed, 177 insertions, 4 deletions
diff --git a/dev-lang/gnat/ChangeLog b/dev-lang/gnat/ChangeLog index e200253023f1..f0544acba858 100644 --- a/dev-lang/gnat/ChangeLog +++ b/dev-lang/gnat/ChangeLog @@ -1,9 +1,15 @@ # ChangeLog for dev-lang/gnat # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.1 2003/06/17 21:51:47 george Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/ChangeLog,v 1.2 2003/07/25 05:30:32 george Exp $ -*gnat-3.14p.ebuild -*gnat-3.15p.ebuild (17 Jun 2003) +*gnat-3.15p-r1 (24 Jul 2003) + + 24 Jul 2003; George Shapovalov <george@gentoo.org> gnat-3.15p-r1.ebuild : + new revision (by David Holm <dholm@delia.com>) - installs docs + few minor cleanups + also static libraries are now installed as well. + +*gnat-3.14p +*gnat-3.15p (17 Jun 2003) 17 Jun 2003; George Shapovalov <george@gentoo.org> gnat-3.14p.ebuild, gnat-3.14p.ebuild, Manifest, files/digest-gnat-3.1{4,5}p : initial release (#13113) diff --git a/dev-lang/gnat/Manifest b/dev-lang/gnat/Manifest index 0ba7a25a4fc9..072583e5dd33 100644 --- a/dev-lang/gnat/Manifest +++ b/dev-lang/gnat/Manifest @@ -1,5 +1,7 @@ MD5 332d79b0cddb0dfcb80bc77487f36918 gnat-3.14p.ebuild 5673 -MD5 1a97361a67f8ec2a5365eeb9eb643749 ChangeLog 577 +MD5 6deb19eecc4f53aba08a7aaa89e80d0d gnat-3.15p-r1.ebuild 5468 +MD5 eb0300fd3fd25f4ce53cbf5999ba9b82 ChangeLog 807 MD5 5b9c3801b8c96f4433c13adf4437819a gnat-3.15p.ebuild 5668 +MD5 419f46c7076e98eee00cf04ce2199ab0 files/digest-gnat-3.15p-r1 288 MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213 MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216 diff --git a/dev-lang/gnat/files/digest-gnat-3.15p-r1 b/dev-lang/gnat/files/digest-gnat-3.15p-r1 new file mode 100644 index 000000000000..c212fd9b53e4 --- /dev/null +++ b/dev-lang/gnat/files/digest-gnat-3.15p-r1 @@ -0,0 +1,4 @@ +MD5 cf8b9cccc867e318bccaaa2dce384028 gnat-3.15p-src.tgz 5553434 +MD5 3bcbedfaccf343a8515efc0f74b8a027 gnat-3.15p-unx-docs.tar.gz 9515443 +MD5 57c060cd1ccef8b1ae9165b11d98780a gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz 13482938 +MD5 23ce8b5d276e2eab421416564f9dc8a3 gcc-2.8.1.tar.bz2 6304274 diff --git a/dev-lang/gnat/gnat-3.15p-r1.ebuild b/dev-lang/gnat/gnat-3.15p-r1.ebuild new file mode 100644 index 000000000000..4f37e25ac651 --- /dev/null +++ b/dev-lang/gnat/gnat-3.15p-r1.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/gnat/gnat-3.15p-r1.ebuild,v 1.1 2003/07/25 05:30:33 george Exp $ +# +# Never replace this with the Ada compiler in the gcc tree. They are based +# on the same source but this is the official validated compiler from ACT. +# The one in gcc (3-branch) is currently broken! +# If you want to try that one install it under a different name and use +# gnatmake --GCC=othername (if you use gnatmake). +# The official statement from ACT is that they will continiue to release +# GNAT, so they will release a version based on gcc 3 when it is working. +# + +DESCRIPTION="GNAT Ada Compiler" +DEPEND="app-shells/tcsh" +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 + http://gd.tuwien.ac.at/languages/ada/gnat/${PV}/${P}-i686-pc-redhat71-gnu-bin.tar.gz + ftp://gcc.gnu.org/pub/gcc/old-releases/gcc-2/gcc-2.8.1.tar.bz2" +HOMEPAGE="http://www.gnat.com/" + +SLOT="0" +KEYWORDS="~x86" +LICENSE="GMGPL" +IUSE="" + +S="${WORKDIR}/gcc-2.8.1" +GNATDIR="${WORKDIR}/${P}-src" +GNATBOOT="${WORKDIR}/boot" +GNATBOOTINST="${WORKDIR}/${P}-i686-pc-linux-gnu-bin" + +inherit gnat + +src_unpack() { + unpack ${A} + + # Install the bootstrap compiler + cd "${GNATBOOTINST}" + echo $'\n'3$'\n'${GNATBOOT}$'\n' | ./doconfig > doconfig.log 2>&1 + ./doinstall + + # Prepare the gcc source directory + cd "${S}" + patch -p0 < "${GNATDIR}/src/gcc-281.dif" + touch cstamp-h.in + mv "${GNATDIR}/src/ada" "${S}" + for i in `find ${S}/ada -name '*.ad[sb]'`; do \ + sed -i -e "s/\"gcc\"/\"gnatgcc\"/g" ${i}; \ + done + cd "${S}/ada" + touch treeprs.ads a-[es]info.h nmake.ad[bs] +} + +src_compile() { + # GCC 2.8.1 doesn't like fancy flags + local CFLAGS="${ADACFLAGS}" + + # Set some paths to our bootstrap compiler. + local GCC_EXEC_PREFIX="${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1" + local ADA_INCLUDE_PATH="${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adainclude" + local ADA_OBJECTS_PATH="${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib" + OLDPATH="${PATH}" + local PATH="${GNATBOOT}/bin:${PATH}" + local LDFLAGS="-L${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 -L${GNATBOOTINST}" + + # Make $local_prefix point to $prefix + sed -i -e "s/@local_prefix@/@prefix@/" "${S}/Makefile.in" + + # Configure gcc + cd "${S}" + econf --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. + make CC="gcc" LANGUAGES="c ada gcov" + make CC="gcc" LANGUAGES="c ada gcov" bootstrap + make CC="gcc" GNATLIBCFLAGS="${ADACFLAGS}" gnatlib-shared + make CC="gcc" gnattools +} + +src_install() { + local PATH="${GNATBOOT}/bin:${PATH}" + local LDFLAGS="-L${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 -L${GNATBOOTINST}" + + # Install gnatgcc, tools and native threads library + make prefix="${D}/usr" \ + LANGUAGES="c ada gcov" GCC_INSTALL_NAME=gnatgcc \ + install-common install-libgcc install-gnatlib install-driver || die + touch "${D}/usr/lib/gcc-lib/${CHOST}/2.8.1/include/float.h" + + # Install the FSU threads library + cd "${D}/usr/lib/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 + make CC=gcc CFLAGS="${ADACFLAGS}" GNATLIBCFLAGS="-fPIC -O2" \ + THREAD_KIND=fsu gnatlib-shared + make prefix="${D}/usr" install-gnatlib + cd "${D}/usr/lib/gcc-lib/${CHOST}/2.8.1" + mv adalib adainclude rts-fsu + + # Install the precompiled FSU library from the binary distribution + cp "${GNATBOOTINST}/libgthreads.a" "${D}/usr/lib/gcc-lib/${CHOST}/2.8.1" + cp "${GNATBOOTINST}/libmalloc.a" "${D}/usr/lib/gcc-lib/${CHOST}/2.8.1" + + # Make native threads the default + cd ${D}/usr/lib/gcc-lib/${CHOST}/2.8.1 + ln -s rts-native/adalib adalib + ln -s rts-native/adainclude adainclude + + cp "${GNATBOOTINST}/gnathtml.pl" "${D}/usr/bin" + chmod +x "${D}/usr/bin" + + # 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} +} + +pkg_postinst() { + # Notify the user what changed + einfo "" + einfo "Both the native-threads and the FSU-threads libraries 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 Annex D)" + einfo "you must set the following two environment variables:" + einfo "ADA_INCLUDE_PATH=/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-fsu/adainclude:\$ADA_INCLUDE_PATH" + einfo "ADA_OBJECTS_PATH=/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-fsu/adalib:\$ADA_OBJECTS_PATH" + einfo "or use the -aI/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-fsu/adainclude" + einfo "-aO/usr/lib/gcc-lib/${CHOST}/2.8.1/rts-fsu/adalib" + einfo "or you can give gnatmake the following switch: --RTS=fsu" + einfo "" + einfo "The compiler has been installed as gnatgcc, and the coverage testing" + einfo "tool as gnatgcov." + einfo "" +} |