diff options
author | George Shapovalov <george@gentoo.org> | 2005-12-15 09:44:31 +0000 |
---|---|---|
committer | George Shapovalov <george@gentoo.org> | 2005-12-15 09:44:31 +0000 |
commit | 1288de98b79b9da2a26a93f695f3c18eca2959ea (patch) | |
tree | d4d1fb13cd6271c90340b8e3fec558444641f099 /dev-lang | |
parent | version bump. remove old version (diff) | |
download | gentoo-2-1288de98b79b9da2a26a93f695f3c18eca2959ea.tar.gz gentoo-2-1288de98b79b9da2a26a93f695f3c18eca2959ea.tar.bz2 gentoo-2-1288de98b79b9da2a26a93f695f3c18eca2959ea.zip |
fixed shared library build in 3.44, issuing a new revision
(Portage version: 2.0.51.22-r3)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/gnat/Manifest | 33 | ||||
-rw-r--r-- | dev-lang/gnat/files/digest-gnat-3.44-r1 | 5 | ||||
-rw-r--r-- | dev-lang/gnat/files/gnat-3.44-amd64-Make-lang.in.patch | 14 | ||||
-rw-r--r-- | dev-lang/gnat/gnat-3.44-r1.ebuild | 191 |
4 files changed, 228 insertions, 15 deletions
diff --git a/dev-lang/gnat/Manifest b/dev-lang/gnat/Manifest index 8b52905e02f4..19ee30e1d9df 100644 --- a/dev-lang/gnat/Manifest +++ b/dev-lang/gnat/Manifest @@ -1,23 +1,26 @@ +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 aaebb25b05cabb7ca0c2d7900eb46afa gnat-3.44-r1.ebuild 5384 +MD5 140f94774ca1df5f61298c4a7982bf3a gnat-3.43.ebuild 4041 +MD5 7d626d97f619615a5722cf1e86d673b2 gnat-3.15p-r4.ebuild 5760 MD5 e4f4bcb22759655ce164c0b5a903d677 ChangeLog 5452 -MD5 59500f81e672cff22232586fc278547b files/digest-gnat-3.14p 213 -MD5 737e39907fb4f28640a1b4cbbc1cdc78 files/digest-gnat-3.15p 216 +MD5 608766ca2b3f1891c60dc4bf831bf14a gnat-3.15p.ebuild 5655 +MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927 +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 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 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 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 f9e686a899e7d173784d4aaee898c0fe gnat-3.44.ebuild 5446 -MD5 4b8299d1078b0c3a88969f43c9ae6a64 metadata.xml 927 diff --git a/dev-lang/gnat/files/digest-gnat-3.44-r1 b/dev-lang/gnat/files/digest-gnat-3.44-r1 new file mode 100644 index 000000000000..4b5680dea1cd --- /dev/null +++ b/dev-lang/gnat/files/digest-gnat-3.44-r1 @@ -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 57c060cd1ccef8b1ae9165b11d98780a gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz 13482938 +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/files/gnat-3.44-amd64-Make-lang.in.patch b/dev-lang/gnat/files/gnat-3.44-amd64-Make-lang.in.patch new file mode 100644 index 000000000000..ccb4e273d6e1 --- /dev/null +++ b/dev-lang/gnat/files/gnat-3.44-amd64-Make-lang.in.patch @@ -0,0 +1,14 @@ +--- Make-lang.in-orig 2005-12-14 19:11:41.538266250 +0100 ++++ Make-lang.in 2005-12-14 19:12:50.358567250 +0100 +@@ -341,9 +341,9 @@ + gnatlib-shared: force + $(MAKE) -C ada $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ +- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ ++ GNATLIBCFLAGS="$(GNATLIBCFLAGS) -fPIC" \ + GNATLIBLDFLAGS="$(GNATLIBLDFLAGS)" \ +- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ ++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS) -fPIC" \ + THREAD_KIND="$(THREAD_KIND)" \ + TRACE="$(TRACE)" \ + gnatlib-shared diff --git a/dev-lang/gnat/gnat-3.44-r1.ebuild b/dev-lang/gnat/gnat-3.44-r1.ebuild new file mode 100644 index 000000000000..58ce8b76782a --- /dev/null +++ b/dev-lang/gnat/gnat-3.44-r1.ebuild @@ -0,0 +1,191 @@ +# 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-r1.ebuild,v 1.1 2005/12/15 09:44:31 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" + GCC_EXEC_BASE="${GNATBOOT}/lib/gcc-lib" + ;; + ppc) + GNATBOOT="${WORKDIR}/gnat-3.15p-powerpc-unknown-linux-gnu" + GNATBOOTINST="${GNATBOOT}" + GCC_EXEC_BASE="${GNATBOOT}/lib/gcc-lib" + ;; + amd64) + GNATBOOT="${WORKDIR}/usr" + GCC_EXEC_BASE="${GNATBOOT}/lib/gcc" +esac + +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 + elif [ "${ARCH}" = "amd64" ]; 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}" + + # hopefully this will 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 \ + --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" + echo "bootstrap done" >> ${WORKDIR}/status + + einfo "building gnatlib_and_tools" + # make rts honor user defined CFLAGS + MAKEOPTS=-j1 emake -C gcc gnatlib_and_tools || die "gnatlib_and_tools failed" + echo "gnatlib_and_tools done" >> ${WORKDIR}/status + + einfo "building shared lib" + rm -f gcc/ada/rts/*.{o,ali} || die + MAKEOPTS=-j1 emake -C gcc gnatlib-shared LIBRARY_VERSION=3.4 || die "gnatlib-shared failed" + echo "gnatlib-shared done" >> ${WORKDIR}/status +} + +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 "" +} |