summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Holm <dholm@gentoo.org>2003-10-06 11:38:34 +0000
committerDavid Holm <dholm@gentoo.org>2003-10-06 11:38:34 +0000
commitade2e881c307686aaff23520d8f2dbbf99b37919 (patch)
treeb18d3511926b8724b31a86d11b3ca41065ed858a /dev-lang/gnat
parentUpdated to a new GNAT-5.0 CVS snapshot (diff)
downloadhistorical-ade2e881c307686aaff23520d8f2dbbf99b37919.tar.gz
historical-ade2e881c307686aaff23520d8f2dbbf99b37919.tar.bz2
historical-ade2e881c307686aaff23520d8f2dbbf99b37919.zip
Updated to a new GNAT-5.0 CVS snapshot
Diffstat (limited to 'dev-lang/gnat')
-rw-r--r--dev-lang/gnat/Manifest4
-rw-r--r--dev-lang/gnat/files/digest-gnat-5.0_pre200310053
-rw-r--r--dev-lang/gnat/gnat-5.0_pre20031005.ebuild154
3 files changed, 159 insertions, 2 deletions
diff --git a/dev-lang/gnat/Manifest b/dev-lang/gnat/Manifest
index 444f26036ce9..c0b59eff3782 100644
--- a/dev-lang/gnat/Manifest
+++ b/dev-lang/gnat/Manifest
@@ -1,4 +1,4 @@
-MD5 7f8a1f88228292f5d2e012d96998aba3 ChangeLog 3604
+MD5 0f457818265d67ee07f7b72fa1ac8493 ChangeLog 3758
MD5 332d79b0cddb0dfcb80bc77487f36918 gnat-3.14p.ebuild 5673
MD5 6deb19eecc4f53aba08a7aaa89e80d0d gnat-3.15p-r1.ebuild 5468
MD5 2f454961e48b21552f1a9bd35b83a8dc gnat-3.15p-r2.ebuild 4879
@@ -6,7 +6,7 @@ MD5 7189786b648cd42056a9ec54b603ae48 gnat-3.15p-r3.ebuild 5892
MD5 f44a1458554adef6e9794dc5d4fbb719 gnat-3.15p.ebuild 5667
MD5 fa8ad8b6758fae34bc0c3322f540bfaa gnat-5.0_pre20030822.ebuild 4328
MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927
-MD5 8083993e309a21bfa17a9403189aab49 gnat-5.0_pre20031005.ebuild 4772
+MD5 f3e0f2a6ca6f1411290c35b519dd2b46 gnat-5.0_pre20031005.ebuild 4772
MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213
MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216
MD5 419f46c7076e98eee00cf04ce2199ab0 files/digest-gnat-3.15p-r1 288
diff --git a/dev-lang/gnat/files/digest-gnat-5.0_pre20031005 b/dev-lang/gnat/files/digest-gnat-5.0_pre20031005
new file mode 100644
index 000000000000..d2b117b8b9fd
--- /dev/null
+++ b/dev-lang/gnat/files/digest-gnat-5.0_pre20031005
@@ -0,0 +1,3 @@
+MD5 faafe03c69523539be10236097f8fd88 gnat-5.0_pre20031005.tar.bz2 3904129
+MD5 57c060cd1ccef8b1ae9165b11d98780a gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz 13482938
+MD5 66664a84b383ba8d68612cd89b9478b2 gcc-core-3.2.3.tar.bz2 10324429
diff --git a/dev-lang/gnat/gnat-5.0_pre20031005.ebuild b/dev-lang/gnat/gnat-5.0_pre20031005.ebuild
new file mode 100644
index 000000000000..73ba959e44ea
--- /dev/null
+++ b/dev-lang/gnat/gnat-5.0_pre20031005.ebuild
@@ -0,0 +1,154 @@
+# 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-5.0_pre20031005.ebuild,v 1.1 2003/10/06 11:38:28 dholm Exp $
+
+inherit gnat
+
+DESCRIPTION="GNAT Ada Compiler"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+ x86? ( http://gd.tuwien.ac.at/languages/ada/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz )
+ ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.2.3/gcc-core-3.2.3.tar.bz2"
+HOMEPAGE="http://www.gnat.com/"
+
+DEPEND="x86? ( >=app-shells/tcsh-6.0 )"
+SLOT="0"
+KEYWORDS="~x86"
+LICENSE="GMGPL"
+IUSE=""
+
+S="${WORKDIR}/gcc-3.2.3"
+GNATBUILD="${WORKDIR}/build"
+GNATDIR="${WORKDIR}/${P}"
+GNATBOOT="${WORKDIR}/boot"
+GNATBOOTINST="${WORKDIR}/gnat-3.15p-i686-pc-linux-gnu-bin"
+
+CFLAGS="-O2 -gnatpgn"
+
+src_unpack() {
+ unpack ${A}
+
+ # Install the bootstrap compiler
+ 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
+
+ # Prepare the gcc source directory
+ cd "${S}"
+ mv "${GNATDIR}" "${S}/gcc/ada"
+ patch -p0 < "gcc/ada/gcc-32.dif"
+ touch gcc/cstamp-h.in
+ touch gcc/ada/[es]info.h
+ touch gcc/ada/nmake.ad[bs]
+ mkdir -p "${GNATBUILD}"
+}
+
+src_compile() {
+ # Set some paths to our bootstrap compiler.
+ local GCC_EXEC_PREFIX="${GNATBOOT}/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
+ local PATH="${GNATBOOT}/bin:${PATH}"
+ local LDFLAGS="-L${GCC_EXEC_PREFIX} -L${GNATBOOTINST}"
+ local CC="${GNATBOOT}/bin/gcc"
+
+ # Configure gcc
+ cd "${GNATBUILD}"
+ "${S}"/configure --prefix=/usr \
+ --program-prefix=gnat \
+ --enable-languages="c,ada" \
+ --disable-nls \
+ --libdir=/usr/lib/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
+
+ # Compile it by first using the bootstrap compiler and then bootstrapping
+ # our own version. Finally compile the libraries and tools.
+ cd "${GNATBUILD}"
+ sed -i -e "s|-laddr2line|${GNATBOOTINST}/libaddr2line.a|" gcc/ada/Makefile
+ 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!"
+ cd "${GNATBUILD}/gcc"
+ einfo "Building shared gnatlib"
+ make CC="gcc" CFLAGS="${CFLAGS}" GNATLIBCFLAGS="${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() {
+ # Do allow symlinks in /usr/lib/gcc-lib/${CHOST}/3.2.3/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" install \
+ # || die "installing"
+ make prefix=${D}/usr \
+ libdir=${D}/usr/lib/ada \
+ mandir=${D}/usr/share/man \
+ infodir=${D}/usr/share/info \
+ install || die "died while installing"
+
+ # These are all provided by gcc
+ rm -rf ${D}/usr/share/info
+ rm -rf ${D}/usr/share/man
+ rm -rf ${D}/usr/share/make
+
+ dodir "/usr/lib/ada/gcc-lib/${CHOST}/3.2.3/rts-native"
+
+ # Move the native threads library
+ cd "${D}/usr/lib/ada/gcc-lib/${CHOST}/3.2.3"
+ 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 "This is a snapshot of the coming GNAT-5.0 based on GCC 3.2.3. It is"
+ einfo "not stable and I wouldn't recommend using this version unless you"
+ einfo "have a good reason to use it."
+ einfo "The version of GNAT in GCC is based on an old patch of GNAT-5.0"
+ einfo "which has been crippled by the GCC team to make it less intrusive"
+ einfo "in respect of other languages supported by GCC. This snapshot"
+ einfo "is the real thing and there is no point whatsoever to compile"
+ einfo "GCC with Ada support."
+ 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-5.0 has updated to a version of"
+ einfo "GCC which is not backwards compatible with 2.8.1."
+ einfo ""
+}