diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2005-07-08 19:54:15 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2005-07-08 19:54:15 +0000 |
commit | 4b88ba4183aed41a391fe8bd9a68f59b13e915e3 (patch) | |
tree | f287e9ab472035d415c6e0a6782f7bc833a8b885 | |
parent | Adding latest RC (diff) | |
download | historical-4b88ba4183aed41a391fe8bd9a68f59b13e915e3.tar.gz historical-4b88ba4183aed41a391fe8bd9a68f59b13e915e3.tar.bz2 historical-4b88ba4183aed41a391fe8bd9a68f59b13e915e3.zip |
Removing old ebuilds.
Package-Manager: portage-2.0.51.22-r1
-rw-r--r-- | sys-devel/gcc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-devel/gcc/Manifest | 18 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-2.95.3-r8 | 2 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.3.2 | 2 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.3.2-r5 | 5 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.3.5.20050130 | 7 | ||||
-rw-r--r-- | sys-devel/gcc/files/digest-gcc-3.4.3.20050110-r1 | 8 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-2.95.3-r8.ebuild | 265 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.2-r5.ebuild | 705 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.2.ebuild | 595 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.3.5.20050130.ebuild | 113 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-3.4.3.20050110-r1.ebuild | 151 |
12 files changed, 10 insertions, 1868 deletions
diff --git a/sys-devel/gcc/ChangeLog b/sys-devel/gcc/ChangeLog index 43e816e72ffc..896628ba748c 100644 --- a/sys-devel/gcc/ChangeLog +++ b/sys-devel/gcc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/gcc # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.429 2005/07/08 19:07:22 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.430 2005/07/08 19:54:14 eradicator Exp $ + + 08 Jul 2005; Jeremy Huddleston <eradicator@gentoo.org> + -gcc-2.95.3-r8.ebuild, -gcc-3.3.2.ebuild, -gcc-3.3.2-r5.ebuild, + -gcc-3.3.5.20050130.ebuild, -gcc-3.4.3.20050110-r1.ebuild: + Removing old ebuilds. *gcc-4.0.1 (08 Jul 2005) diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest index 4e8f7cee3720..6451e79ee397 100644 --- a/sys-devel/gcc/Manifest +++ b/sys-devel/gcc/Manifest @@ -1,41 +1,32 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 32233b4175cc076b602394c34d4b4ee1 gcc-2.95.3-r8.ebuild 7485 MD5 71b180bed94dca00dddf253f7bd6508f gcc-3.2.3-r4.ebuild 19841 -MD5 37ae28535bb42708bc729e53512ad369 gcc-3.3.2-r5.ebuild 21306 MD5 3e3bc1c3e3953428824c0fd3f206c48b gcc-3.3.2-r7.ebuild 21757 -MD5 db8f65e7648911fb9d8484c13e77676e gcc-3.3.2.ebuild 16816 MD5 9d31ca0f3aa6e4c9ed4df4f342615787 gcc-3.3.5.20050130-r2.ebuild 3175 MD5 132db30725738320a534b435169be631 gcc-3.4.3.20050110-r2.ebuild 5082 MD5 026ee7f9ea3d2a4dc997ddefe12a1d0c gcc-3.3.5-r1.ebuild 3743 -MD5 3301062e0eb044b7ee2002b463809cb9 gcc-3.3.5.20050130.ebuild 3649 MD5 22583bfbc351f0715fefcf199efa7c79 gcc-3.4.1-r3.ebuild 31176 -MD5 8ed2d989327fa1e568011e77ed569f44 ChangeLog 88629 +MD5 b01cb5fafdacb16281ade692b0e737f5 ChangeLog 88838 MD5 ec4d020f30921c19267414cec2a27c39 gcc-3.4.3-r1.ebuild 5321 MD5 3196c90905902891b12b4d08372c0eb5 gcc-2.95.3-r9.ebuild 7524 MD5 575e7bd3eccd6af2f423baaab72e5c1f gcc-3.3.6.ebuild 2946 MD5 6b3b255516f6a2161fca2e5601f114db gcc-3.4.4.ebuild 4907 MD5 567094e03359ffc1c95af7356395228d metadata.xml 162 MD5 fed903625b7d13e97bbf24d6f674fe88 gcc-3.3.5.20050130-r1.ebuild 3174 -MD5 f6a4f9b3e5b6756497eb96a470d65600 gcc-3.4.3.20050110-r1.ebuild 5274 MD5 37f3db1694d592dc3a3db07507390b76 gcc-3.1.1-r2.ebuild 9270 MD5 b5a3dccc2f77c3de018bbb99d22f61b0 gcc-4.0.1.ebuild 1563 MD5 9718cbc7f6f1b2f19ff801f4c2e62721 gcc-3.2.2.ebuild 511 MD5 60f7202f7f70578eb97feacb18317467 gcc-4.1.0_beta20050702.ebuild 1525 MD5 f7e7042c2ddf66e344b30cbc66ebaf73 files/cc 24 MD5 80d122265d3062847a4a1b161abe1d26 files/cpp 24 -MD5 a570da9000df56c70620ec2e36e864a3 files/digest-gcc-2.95.3-r8 137 MD5 40e6872c09149a81973f01a78c80bbb7 files/digest-gcc-3.2.3-r4 279 -MD5 cf81ae4b2da79c34a005da1182c40134 files/digest-gcc-3.3.2 130 MD5 ff954c73734d765713723f0f1e02e666 files/digest-gcc-4.0.1 149 -MD5 01c41c9e6857eb40d402f2acb2bd96f9 files/digest-gcc-3.3.2-r5 361 MD5 e58b6c1f3122b79a5d0d273acc3c008c files/digest-gcc-3.3.2-r7 361 MD5 a65e98e8b76d80e5b505c4ee358a27f3 files/digest-gcc-4.1.0_beta20050702 71 MD5 9e216fb231a24884fe548b31864296b8 files/digest-gcc-3.3.5.20050130-r2 620 MD5 7f5fa2200b2cf37fb9f59af9cfd3f845 files/digest-gcc-3.4.3.20050110-r2 616 MD5 a3edf5e9d8bb500178f8dd29c1f9eadd files/digest-gcc-3.3.5-r1 442 -MD5 456037b22f0662c84d2360c7a15a6d75 files/digest-gcc-3.3.5.20050130 540 MD5 c6ea8a92bac6d2638c54c011f98bc5b8 files/digest-gcc-3.4.1-r3 442 MD5 4ecf0f5cb735c81ca4b61a9c6db74269 files/digest-gcc-2.95.3-r9 139 MD5 98ad527286a6b39ce8c72f5c61362469 files/digest-gcc-3.3.6 453 @@ -50,7 +41,6 @@ MD5 ea2cf3df0d89a26d5fdc1a531176e395 files/pro-police-docs.patch 3287 MD5 07b57d62aa1a8cd4d1cd37984ebe2053 files/scan_libgcc_linked_ssp.sh 861 MD5 0d683280daf95e6bb9712549352a200c files/digest-gcc-3.1.1-r2 140 MD5 b29f3bde3e23f17cd9a9bb4a5b026ea1 files/digest-gcc-3.3.5.20050130-r1 620 -MD5 125ce7f7ee7fa825a7a3f84c22a0d45c files/digest-gcc-3.4.3.20050110-r1 616 MD5 50f1f564c568b9e28231c592d4df2f36 files/3.4.4/gcc-3.4.4-cross-compile.patch 1728 MD5 f6e2d11b3bbcf00592a73033be5bd264 files/3.4.4/gcc-3.4_x-avr-news-devs2.patch 5454 MD5 8ec9b0352d226e4693cabffe0fa5bba6 files/3.2.1/gcc31-loop-load-final-value.patch 3324 @@ -133,7 +123,7 @@ MD5 d71c91009df788366867cb67fc875d6d files/stubs/gcc-4.0-ssp-stub.patch 1068 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) -iD8DBQFCztA+ArHZZzCEUG0RAuI9AJ40pNP9q0sE2zr7HAg+asSjT/ZpZACggHqc -VcTuI59fXvAJypLGZTNnxOk= -=fB8x +iD8DBQFCztoFArHZZzCEUG0RAloaAJsGVcuJBrzlUTyKwpP1EcjQsrEqygCeP3IC +XmEOTwHFrOvw28vc14LxvRU= +=0ijp -----END PGP SIGNATURE----- diff --git a/sys-devel/gcc/files/digest-gcc-2.95.3-r8 b/sys-devel/gcc/files/digest-gcc-2.95.3-r8 deleted file mode 100644 index 9362be7addb8..000000000000 --- a/sys-devel/gcc/files/digest-gcc-2.95.3-r8 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 f3ad4f32c2296fad758ed051b5ac8e28 gcc-2.95.3.tar.gz 12911721 -MD5 48792aed1fb395bbc28d48789c3b871d gcc-2.95.3-patches-1.1.tar.bz2 9474 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.2 b/sys-devel/gcc/files/digest-gcc-3.3.2 deleted file mode 100644 index 13eca5f7b129..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.2 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 65999f654102f5438ac8562d13a6eced gcc-3.3.2.tar.bz2 23585904 -MD5 539c7d69b7be10a3f36bebced52e918a protector-3.3-4.tar.gz 24768 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.2-r5 b/sys-devel/gcc/files/digest-gcc-3.3.2-r5 deleted file mode 100644 index 403807972991..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.2-r5 +++ /dev/null @@ -1,5 +0,0 @@ -MD5 65999f654102f5438ac8562d13a6eced gcc-3.3.2.tar.bz2 23585904 -MD5 4b757459fb3d0e69031a86de80320ad9 gcc-3.3.2-patches-1.0.tar.bz2 23675 -MD5 2646f5a09661faf07f783fd7b67dda6e gcc-3.3.2-branch-update-20031218.patch.bz2 242688 -MD5 b62b5856753294821c4cea8bd28ffe1d protector-3.3-7.tar.gz 25068 -MD5 cfaa61a61372f486160cdba32081fb3e gcc-3.3.2-manpages.tar.bz2 137196 diff --git a/sys-devel/gcc/files/digest-gcc-3.3.5.20050130 b/sys-devel/gcc/files/digest-gcc-3.3.5.20050130 deleted file mode 100644 index 3eb86df4b919..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.3.5.20050130 +++ /dev/null @@ -1,7 +0,0 @@ -MD5 70ee088b498741bb08c779f9617df3a5 gcc-3.3.5.tar.bz2 23833856 -MD5 a158a57134253df324270f99e5b4a612 gcc-3.3.5-branch-update-20050130.patch.bz2 38618 -MD5 407883749eddbe6baae77f722c6e77d7 protector-3.3.5.20050130-1.tar.gz 24324 -MD5 aa0868ecce2185884c618de9a15eb40d gcc-3.3.5-manpages.tar.bz2 214965 -MD5 178ce42465c1514e5e58b34a109b3834 gcc-3.3.5-patches-1.2.tar.bz2 60098 -MD5 9ffa098b60ba4e6eadcbbe50900fa295 gcc-3.3.5-piepatches-v8.7.7.1.tar.bz2 25970 -MD5 f75ad40c0340ff23aba1dd4961285516 bounds-checking-gcc-3.3.5-1.00-r2.patch.bz2 827126 diff --git a/sys-devel/gcc/files/digest-gcc-3.4.3.20050110-r1 b/sys-devel/gcc/files/digest-gcc-3.4.3.20050110-r1 deleted file mode 100644 index 199e7a3ccf8f..000000000000 --- a/sys-devel/gcc/files/digest-gcc-3.4.3.20050110-r1 +++ /dev/null @@ -1,8 +0,0 @@ -MD5 e744b30c834360fccac41eb7269a3011 gcc-3.4.3.tar.bz2 27425338 -MD5 62c219356eebc464fedff69e922065ea gcc-3.4.3-branch-update-20050110.patch.bz2 737240 -MD5 43eb812f851d70b069a4e430c91f224a protector-3.4.3.20050110-0.tar.gz 32691 -MD5 42444520909f9b0438d12240534119ed gcc-3.4.3-uclibc-patches-1.1.tar.bz2 19799 -MD5 7e13ac1ac8a87cc5bffee82e0436230d gcc-3.4.3-manpages.tar.bz2 264998 -MD5 99e2ba40e6fc529e3824c17f23f65653 gcc-3.4.3-patches-1.2.tar.bz2 81893 -MD5 652429381625f8637c7a8957a98676a6 gcc-3.4.3-piepatches-v8.7.7.tar.bz2 14306 -MD5 b1040fff7d8cd069347080b8ec3e87b7 bounds-checking-gcc-3.4.2-1.00.patch.bz2 815369 diff --git a/sys-devel/gcc/gcc-2.95.3-r8.ebuild b/sys-devel/gcc/gcc-2.95.3-r8.ebuild deleted file mode 100644 index fb7b55922080..000000000000 --- a/sys-devel/gcc/gcc-2.95.3-r8.ebuild +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.3-r8.ebuild,v 1.40 2005/03/14 23:06:54 eradicator Exp $ - -inherit eutils flag-o-matic toolchain-funcs versionator fixheadtails - -# The next command strips most flags from CFLAGS/CXXFLAGS. If you do -# not like it, comment it out, but do not file bugreports if you run into -# problems. -do_filter_flags() { - strip-flags - - # In general gcc does not like optimization ... we'll add -O2 where safe - filter-flags -O? - - # Compile problems with these (bug #6641 among others)... - filter-flags -fno-exceptions -fomit-frame-pointer -ggdb - - # Are we trying to compile with gcc3 ? CFLAGS and CXXFLAGS needs to be - # valid for gcc-2.95.3 ... - gcc2-flags -} - -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} = ${CHOST} ]] ; then - if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then - export CTARGET=${CATEGORY/cross-} - fi -fi - -LOC="/usr" -GCC_BRANCH_VER="$(get_version_component_range 1-2)" -GCC_RELEASE_VER="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CTARGET}/${GCC_RELEASE_VER}" -BINPATH="${LOC}/${CTARGET}/gcc-bin/${GCC_BRANCH_VER}" -DATAPATH="${LOC}/share/gcc-data/${CTARGET}/${GCC_BRANCH_VER}" -# Dont install in /usr/include/g++/, but in gcc internal directory. -# We will handle /usr/include/g++/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++" - -PATCH_VER=1.1 -DESCRIPTION="Modern C/C++ compiler written by the GNU people" -HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${P}.tar.gz - mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2" - -LICENSE="GPL-2 LGPL-2.1" -KEYWORDS="x86 ppc sparc alpha" -IUSE="static nls build multislot nocxx fortran" - -if use multislot ; then - SLOT="${CTARGET}-${GCC_CONFIG_VER}" -elif [[ ${CTARGET} != ${CHOST} ]] ; then - SLOT="${CTARGET}-${GCC_BRANCH_VER}" -else - SLOT="${GCC_BRANCH_VER}" -fi - -RDEPEND="virtual/libc - >=sys-devel/gcc-config-1.2.3 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4 - !build? ( >=sys-libs/ncurses-5.2-r2 )" -DEPEND="${RDEPEND} - !build? ( nls? ( sys-devel/gettext ) )" - -# Hack used to patch Makefiles to install into the build dir -FAKE_ROOT="" - -src_unpack() { - unpack ${P}.tar.gz - cd ${S} - - # Fixup libtool to correctly generate .la files with portage - libtoolize --copy --force - - unpack ${P}-patches-${PATCH_VER}.tar.bz2 - [[ $(tc-arch ${CTARGET}) == "alpha" ]] \ - && epatch 2.95.3/${P}-alpha.diff \ - || epatch 2.95.3/${P}-new-atexit.diff - - epatch 2.95.3/${P}-gcc34compile.diff - - # Fix outdated head/tails format #65668 - ht_fix_file configure gcc/Makefile.in - - # Currently if any path is changed via the configure script, it breaks - # installing into ${D}. We should not patch it in src_install() with - # absolute paths, as some modules then gets rebuild with the wrong - # paths. Thus we use $FAKE_ROOT. - for x in $(find . -name Makefile.in) ; do - sed -i \ - -e 's:datadir = @datadir@:datadir = $(FAKE_ROOT)@datadir@:' \ - -e 's:bindir = @bindir@:bindir = $(FAKE_ROOT)@bindir@:' \ - -e 's:gxx_include_dir=${includedir}:gxx_include_dir=$(FAKE_ROOT)${includedir}:' \ - ${x} || die "could not sed $x" - done -} - -src_compile() { - # Make sure we have sane CFLAGS - do_filter_flags - - # Build in a separate build tree - mkdir -p "${WORKDIR}"/build - cd "${WORKDIR}"/build - - local gcclangs="c" - local myconf="" - if use build ; then - myconf="--disable-nls" - else - myconf="" - use !nocxx && gcclangs="${gcclangs},c++" - use fortran && gcclangs="${gcclangs},f77" - use nls && myconf="${myconf} --enable-nls --without-included-gettext" - fi - [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}" - myconf="--prefix=${LOC} \ - --bindir=${BINPATH} \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CTARGET} \ - --with-system-zlib \ - --enable-threads=posix \ - --enable-long-long \ - --enable-version-specific-runtime-libs \ - --with-local-prefix=${LOC}/local \ - --enable-languages=${gcclangs} \ - ${myconf} \ - ${EXTRA_ECONF}" - echo ${S}/configure ${myconf} - addwrite "/dev/zero" - ${S}/configure ${myconf} || die "configure failed" - - touch ${S}/gcc/c-gperf.h - - if ! use static ; then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - LIBPATH="${LIBPATH}" STAGE1_CFLAGS="-O" || die "make failed" - # Above FLAGS optimize and speedup build, thanks - # to Jeff Garzik <jgarzik@mandrakesoft.com> - else - S="${WORKDIR}/build" \ - emake LDFLAGS=-static bootstrap \ - LIBPATH="${LIBPATH}" STAGE1_CFLAGS="-O" || die "make static failed" - fi -} - -src_install() { - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* ; do - [[ -L ${x} ]] && rm -f "${x}" - done - - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make \ - prefix=${D}${LOC} \ - bindir=${D}${BINPATH} \ - datadir=${D}${DATAPATH} \ - mandir=${D}${DATAPATH}/man \ - infodir=${D}${DATAPATH}/info \ - LIBPATH="${LIBPATH}" \ - FAKE_ROOT="${D}" \ - install || die - - [[ -r ${D}${BINPATH}/gcc ]] || die "gcc not found in ${D}" - - dodir /lib /usr/bin - dodir /etc/env.d/gcc - cat << EOF > ${D}/etc/env.d/gcc/${CTARGET}-${GCC_RELEASE_VER} -PATH="${BINPATH}" -ROOTPATH="${BINPATH}" -LDPATH="${LIBPATH}" -MANPATH="${DATAPATH}/man" -INFOPATH="${DATAPATH}/info" -STDCXX_INCDIR="${STDCXX_INCDIR##*/}" -EOF - - # Make sure we dont have stuff lying around that - # can nuke multiple versions of gcc - if ! use build ; then - cd "${D}"${LIBPATH} - - # Tell libtool files where real libraries are - for LA in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la ; do - if [[ -f ${LA} ]] ; then - sed -i -e "s:/usr/lib:${LIBPATH}:" "${LA}" - mv "${LA}" "${D}"${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* ; do - [[ -f ${x} ]] && mv -f "${x}" "${D}"${LIBPATH} - done - - # These should be symlinks - cd "${D}"${BINPATH} - for x in gcc g++ c++ g77 gcj ; do - # For some reason, g77 gets made instead of ${CTARGET}-g77... this makes it safe - [[ -f ${x} ]] && mv ${x} ${CTARGET}-${x} - - if [[ ${CHOST} == ${CTARGET} ]] && [[ -f ${CTARGET}-${x} ]] ; then - [[ ! -f ${x} ]] && mv ${CTARGET}-${x} ${x} - ln -sf ${x} ${CTARGET}-${x} - fi - done - fi - - # This one comes with binutils - rm -f ${D}${LOC}/lib/libiberty.a - - cd ${S} - if use build ; then - rm -r "${D}"/usr/share/{man,info} - rm -r "${D}"/${DATAPATH}/{man,info} - elif ! has nodoc ${FEATURES} ; then - cd ${S} - docinto / - dodoc README* FAQ MAINTAINERS - docinto html - dodoc faq.html - docinto gcc - cd ${S}/gcc - dodoc BUGS ChangeLog* FSFChangeLog* LANGUAGES NEWS PROBLEMS README* SERVICE TESTS.FLUNK - cd ${S}/libchill - docinto libchill - dodoc ChangeLog - cd ${S}/libf2c - docinto libf2c - dodoc ChangeLog changes.netlib README TODO - cd ${S}/libio - docinto libio - dodoc ChangeLog NEWS README - cd dbz - docinto libio/dbz - dodoc README - cd ../stdio - docinto libio/stdio - dodoc ChangeLog* - cd ${S}/libobjc - docinto libobjc - dodoc ChangeLog README* THREADS* - cd ${S}/libstdc++ - docinto libstdc++ - dodoc ChangeLog NEWS - fi - has noman ${FEATURES} && rm -r "${D}"/${DATAPATH}/man - has noinfo ${FEATURES} && rm -r "${D}"/${DATAPATH}/info -} - -pkg_postinst() { - [[ ${ROOT} != "/" ]] && return 0 - gcc-config --use-portage-chost ${CTARGET}-${GCC_RELEASE_VER} -} diff --git a/sys-devel/gcc/gcc-3.3.2-r5.ebuild b/sys-devel/gcc/gcc-3.3.2-r5.ebuild deleted file mode 100644 index ef6d2589997e..000000000000 --- a/sys-devel/gcc/gcc-3.3.2-r5.ebuild +++ /dev/null @@ -1,705 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.2-r5.ebuild,v 1.30 2005/05/24 04:28:09 vapier Exp $ - -IUSE="static nls bootstrap java build X multilib gcj emul-linux-x86" - -inherit eutils flag-o-matic libtool versionator - -# Compile problems with these (bug #6641 among others)... -#filter-flags "-fno-exceptions -fomit-frame-pointer -fforce-addr" - -# Recently there has been a lot of stability problem in Gentoo-land. Many -# things can be the cause to this, but I believe that it is due to gcc3 -# still having issues with optimizations, or with it not filtering bad -# combinations (protecting the user maybe from himeself) yet. -# -# This can clearly be seen in large builds like glibc, where too aggressive -# CFLAGS cause the tests to fail miserbly. -# -# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion -# knows what he is talking about: -# -# People really shouldn't force code-specific options on... It's a -# bad idea. The -march options aren't just to look pretty. They enable -# options that are sensible (and include sse,mmx,3dnow when apropriate). -# -# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If -# you do not like it, comment it, but do not bugreport if you run into -# problems. -# -# <azarah@gentoo.org> (13 Oct 2002) -strip-flags - -# gcc produce unstable binaries if compiled with a different CHOST. -[ "${ARCH}" = "hppa" ] && export CHOST="hppa-unknown-linux-gnu" - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -#GCC_BRANCH_VER="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" -#GCC_RELEASE_VER="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" -GCC_BRANCH_VER="$(get_version_component_range 1-2)" -GCC_RELEASE_VER="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${GCC_RELEASE_VER}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${GCC_BRANCH_VER}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${GCC_BRANCH_VER/\.*/}" - -# ProPolice version -PP_VER="3_3" -PP_FVER="${PP_VER//_/.}-7" - -# Patch tarball support ... -#PATCH_VER="1.0" -PATCH_VER="1.0" - -# Snapshot support ... -#SNAPSHOT="2002-08-12" -SNAPSHOT= - -# Branch update support ... -GCC_RELEASE_VER="${PV}" # Tarball, etc used ... - -#BRANCH_UPDATE="20021208" -BRANCH_UPDATE="20031218" - -if [ -z "${SNAPSHOT}" ] -then - S="${WORKDIR}/${PN}-${GCC_RELEASE_VER}" - SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${GCC_RELEASE_VER}.tar.bz2" - - if [ -n "${PATCH_VER}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2" - fi - - if [ -n "${BRANCH_UPDATE}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2" - fi -else - S="${WORKDIR}/gcc-${SNAPSHOT//-}" - SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" -fi -if [ -n "${PP_VER}" ] -then - SRC_URI="${SRC_URI} - mirror://gentoo/protector-${PP_FVER}.tar.gz - http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz" -fi -SRC_URI="${SRC_URI} - mirror://gentoo/${P}-manpages.tar.bz2" - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++ and java compilers" -HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" - -LICENSE="GPL-2 LGPL-2.1" - -KEYWORDS="x86 mips ~sparc ~amd64 -hppa alpha -ia64 ppc64" - -# Ok, this is a hairy one again, but lets assume that we -# are not cross compiling, than we want SLOT to only contain -# $PV, as people upgrading to new gcc layout will not have -# their old gcc unmerged ... -SLOT="3.3" - -# We need the later binutils for support of the new cleanup attribute. -# 'make check' fails for about 10 tests (if I remember correctly) less -# if we use later bison. -# This one depends on glibc-2.3.2-r3 containing the __guard in glibc -# we scan for Guard@@libgcc and then apply the function moving patch. -# If using NPTL, we currently cannot however depend on glibc-2.3.2-r3, -# else bootstap will break. -DEPEND="virtual/libc - !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - >=sys-devel/gcc-config-1.3.1 - amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) ) - !build? ( >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) )" - -RDEPEND="virtual/libc - !nptl? ( >=sys-libs/glibc-2.3.2-r3 ) - >=sys-devel/gcc-config-1.3.1 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4 - !build? ( >=sys-libs/ncurses-5.2-r2 )" - -PDEPEND="sys-devel/gcc-config" - - -chk_gcc_version() { - # This next bit is for updating libtool linker scripts ... - local OLD_GCC_VERSION="`gcc -dumpversion`" - local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ - sed -e 's:^.*/gcc-lib/\([^/]*\)/[0-9]\+.*$:\1:')" - - if [ "${OLD_GCC_VERSION}" != "${GCC_RELEASE_VER}" ] - then - echo "${OLD_GCC_VERSION}" > "${WORKDIR}/.oldgccversion" - fi - - if [ -n "${OLD_GCC_CHOST}" ] - then - if [ "${CHOST}" = "${CCHOST}" -a "${OLD_GCC_CHOST}" != "${CHOST}" ] - then - echo "${OLD_GCC_CHOST}" > "${WORKDIR}/.oldgccchost" - fi - fi - - # Did we check the version ? - touch "${WORKDIR}/.chkgccversion" -} - -version_patch() { - [ ! -f "$1" ] && return 1 - [ -z "$2" ] && return 1 - - sed -e "s:@GENTOO@:$2:g" ${1} > ${T}/${1##*/} - epatch ${T}/${1##*/} -} - -check_glibc_ssp() { - # Check for the glibc to have the guard - if [ "$(readelf -s /lib/libc.so.6 2>/dev/null | \ - grep GLOBAL | grep OBJECT | grep '__guard')" ] && \ - [ "$(readelf -s /lib/libc.so.6 2>/dev/null | \ - grep GLOBAL | grep FUNC | grep '__stack_smash_handler')" ] - then - if [ -n "${GLIBC_SSP_CHECKED}" ] && \ - [ -z "$(readelf -s "$(gcc-config -L)/libgcc_s.so" 2>/dev/null | \ - grep GLOBAL | grep OBJECT | grep '__guard')" ] - then - sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -D_LIBC_PROVIDES_SSP_|' \ - -i ${S}/gcc/Makefile.in - - touch ${WORKDIR}/.glibc_ssp_checked - - return 0 - fi - - echo - ewarn "This sys-libs/glibc has __guard object and __stack_smash_handler functions" - ewarn "scanning the system for binaries with __guard - this may take 5-10 minutes" - ewarn "Please do not press ctrl-C or ctrl-Z during this period - it will continue" - echo - if ! bash ${FILESDIR}/scan_libgcc_linked_ssp.sh - then - echo - eerror "Found binaries that are dynamically linked to the libgcc with __guard@@GCC" - eerror "You need to compile these binaries without CFLAGS -fstack-protector/hcc -r" - echo - eerror "Also, you have to make sure that using ccache needs the cache to be flushed" - eerror "wipe out /var/tmp/ccache or /root/.ccache. This will remove possible saved" - eerror "-fstack-protector arguments that still may reside in such a compiler cache" - echo - eerror "When such binaries are found, gcc cannot remove libgcc propolice functions" - eerror "leading to gcc -static -fstack-protector breaking, see gentoo bug #25299" - echo - einfo "To do a full scan on your system, enter this following command in a shell" - einfo "(Please keep running and remerging broken packages until it do not report" - einfo " any breakage anymore!):" - echo - einfo " # ${FILESDIR}/scan_libgcc_linked_ssp.sh" - echo - die "Binaries with libgcc __guard@GCC dependencies detected!" - else - echo - einfo "No binaries with suspicious libgcc __guard@GCC dependencies detected" - echo - sed -e 's|^\(LIBGCC2_CFLAGS.*\)$|\1 -D_LIBC_PROVIDES_SSP_|' \ - -i ${S}/gcc/Makefile.in - - touch ${WORKDIR}/.glibc_ssp_checked - fi - fi -} - -src_unpack() { - if [ -z "${SNAPSHOT}" ] - then - unpack ${PN}-${GCC_RELEASE_VER}.tar.bz2 - - if [ -n "${PATCH_VER}" ] - then - unpack ${P}-patches-${PATCH_VER}.tar.bz2 - fi - else - unpack gcc-${SNAPSHOT//-}.tar.bz2 - fi - - if [ -n "${PP_VER}" ] - then - unpack protector-${PP_FVER}.tar.gz - fi - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - echo - - # Branch update ... - if [ -n "${BRANCH_UPDATE}" ] - then - epatch ${DISTDIR}/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2 - fi - - # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 - if [ -n "${PATCH_VER}" ] - then - mkdir -p ${WORKDIR}/patch/exclude -# mv -f ${WORKDIR}/patch/{40,41}* ${WORKDIR}/patch/exclude/ - - if use multilib && [ "${ARCH}" = "amd64" ] - then - mv -f ${WORKDIR}/patch/06* ${WORKDIR}/patch/exclude/ - bzip2 -c ${FILESDIR}/gcc331_use_multilib.amd64.patch > \ - ${WORKDIR}/patch/06_amd64_gcc331-use-multilib.patch.bz2 - fi - - epatch ${WORKDIR}/patch - fi - - if [ "${ARCH}" = "ppc" -o "${ARCH}" = "ppc64" ] - then - epatch ${FILESDIR}/3.3.2/gcc332-altivec-fix.patch - fi - - if [ -z "${PP_VER}" ] - then - # Make gcc's version info specific to Gentoo - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR})" || die "Failed Branding" - fi - - if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] - then - # ProPolice Stack Smashing protection - EPATCH_OPTS="${EPATCH_OPTS} ${WORKDIR}/protector.dif" \ - epatch ${FILESDIR}/3.3.1/gcc331-pp-fixup.patch - epatch ${WORKDIR}/protector.dif - cp ${WORKDIR}/protector.c ${WORKDIR}/${P}/gcc/ || die "protector.c not found" - cp ${WORKDIR}/protector.h ${WORKDIR}/${P}/gcc/ || die "protector.h not found" - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR}, propolice-${PP_FVER})" \ - || die "Failed Branding" - - # Check for the glibc to have the guard - check_glibc_ssp - fi - - # Install our pre generated manpages if we do not have perl ... - if [ ! -x /usr/bin/perl ] - then - cd ${S}; unpack ${P}-manpages.tar.bz2 - fi - - # Misdesign in libstdc++ (Redhat) - cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null -} - -src_compile() { - - local myconf= - local gcc_lang= - - if ! use build - then - myconf="${myconf} --enable-shared" - gcc_lang="c,c++,f77,objc" - else - gcc_lang="c" - fi - if ! use nls || use build - then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - if use java && use gcj && ! use build - then - gcc_lang="${gcc_lang},java" - fi - - # Enable building of the gcj Java AWT & Swing X11 backend - # if we have X as a use flag and are not in a build stage. - # X11 support is still very experimental but enabling it is - # quite innocuous... [No, gcc is *not* linked to X11...] - # <dragon@gentoo.org> (15 May 2003) - if use java && use gcj && use X && ! use build && [ -f /usr/X11R6/include/X11/Xlib.h ] - then - myconf="${myconf} --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib" - myconf="${myconf} --enable-interpreter --enable-java-awt=xlib --with-x" - fi - - # Multilib not yet supported - if use multilib && [ "${ARCH}" = "amd64" ] - then - einfo "WARNING: Multilib support enabled. This is still experimental." - myconf="${myconf} --enable-multilib" - else - if [ "${ARCH}" = "amd64" ] - then - einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries." - fi - myconf="${myconf} --disable-multilib" - fi - - # Fix linking problem with c++ apps which where linkedi - # agains a 3.2.2 libgcc - [ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions" - - # In general gcc does not like optimization, and add -O2 where - export CFLAGS="$(echo "${CFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "CFLAGS=\"${CFLAGS}\"" - export CXXFLAGS="$(echo "${CXXFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - export GCJFLAGS="$(echo "${GCJFLAGS}" | sed -e 's|-O[0-9s]\?|-O2|g')" - einfo "GCJFLAGS=\"${GCJFLAGS}\"" - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring GCC..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=${gcc_lang} \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-clocale=generic \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - # Do not make manpages if we do not have perl ... - if [ ! -x /usr/bin/perl ] - then - find ${S} -name '*.[17]' -exec touch {} \; || : - fi - - einfo "Building GCC..." - # Only build it static if we are just building the C frontend, else - # a lot of things break because there are not libstdc++.so .... - if use static && [ "${gcc_lang}" = "c" ] - then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake LDFLAGS="-static" bootstrap \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - # Above FLAGS optimize and speedup build, thanks - # to Jeff Garzik <jgarzik@mandrakesoft.com> - else - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - - fi -} - -src_install() { - local x= - - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - continue - fi - done - # Remove generated headers, as they can cause things to break - # (ncurses, openssl, etc). - for x in `find ${WORKDIR}/build/gcc/include/ -name '*.h'` - do - if grep -q 'It has been auto-edited by fixincludes from' ${x} - then - rm -f ${x} - fi - done - - einfo "Installing GCC..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install || die - - [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" - - dodir /lib /usr/bin - dodir /etc/env.d/gcc - echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - if use multilib && [ "${ARCH}" = "amd64" ] - then - # amd64 is a bit unique because of multilib. Add some other paths - echo "LDPATH=\"${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32\"" >> \ - ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - else - echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - fi - echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - # Also set CC and CXX - echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - # Make sure we do not check glibc for ssp again, as we did already - if [ -f "${WORKDIR}/.glibc_ssp_checked" -o \ - -f "${ROOT}/etc/env.d/99glibc_spp" ] - then - echo "GLIBC_SSP_CHECKED=1" > ${D}/etc/env.d/99glibc_spp - fi - - # Make sure we dont have stuff lying around that - # can nuke multiple versions of gcc - if ! use build - then - cd ${D}${LIBPATH} - - # Tell libtool files where real libraries are - for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la - do - if [ -f "${x}" ] - then - sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} - mv ${x} ${D}${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* - do - [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} - done - - # Move Java headers to compiler-specific dir - for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h - do - [ -f "${x}" ] && mv -f ${x} ${D}${LIBPATH}/include/ - done - for x in gcj gnu java javax org - do - if [ -d "${D}${LOC}/include/${x}" ] - then - dodir /${LIBPATH}/include/${x} - mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ - rm -rf ${D}${LOC}/include/${x} - fi - done - - if [ -d "${D}${LOC}/lib/security" ] - then - dodir /${LIBPATH}/security - mv -f ${D}${LOC}/lib/security/* ${D}${LIBPATH}/security - rm -rf ${D}${LOC}/lib/security - fi - - # Move libgcj.spec to compiler-specific directories - [ -f "${D}${LOC}/lib/libgcj.spec" ] && \ - mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec - - # Rename jar because it could clash with Kaffe's jar if this gcc is - # primary compiler (aka don't have the -<version> extension) - cd ${D}${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER} - [ -f jar ] && mv -f jar gcj-jar - - # Move <cxxabi.h> to compiler-specific directories - [ -f "${D}${STDCXX_INCDIR}/cxxabi.h" ] && \ - mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ - - # These should be symlinks - cd ${D}${BINPATH} - for x in gcc g++ c++ g77 gcj - do - rm -f ${CCHOST}-${x} - [ -f "${x}" ] && ln -sf ${x} ${CCHOST}-${x} - - if [ -f "${CCHOST}-${x}-${PV}" ] - then - rm -f ${CCHOST}-${x}-${PV} - ln -sf ${x} ${CCHOST}-${x}-${PV} - fi - done - fi - - # This one comes with binutils - if [ -f "${D}${LOC}/lib/libiberty.a" ] - then - rm -f ${D}${LOC}/lib/libiberty.a - fi - - cd ${S} - if ! use build - then - cd ${S} - docinto /${CCHOST} - dodoc COPYING COPYING.LIB ChangeLog* FAQ MAINTAINERS README - docinto ${CCHOST}/html - dohtml *.html - cd ${S}/boehm-gc - docinto ${CCHOST}/boehm-gc - dodoc ChangeLog doc/{README*,barrett_diagram} - docinto ${CCHOST}/boehm-gc/html - dohtml doc/*.html - cd ${S}/gcc - docinto ${CCHOST}/gcc - dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE - cd ${S}/libf2c - docinto ${CCHOST}/libf2c - dodoc ChangeLog* README TODO *.netlib - cd ${S}/libffi - docinto ${CCHOST}/libffi - dodoc ChangeLog* LICENSE README - cd ${S}/libiberty - docinto ${CCHOST}/libiberty - dodoc ChangeLog* COPYING.LIB README - cd ${S}/libobjc - docinto ${CCHOST}/libobjc - dodoc ChangeLog* README* THREADS* - cd ${S}/libstdc++-v3 - docinto ${CCHOST}/libstdc++-v3 - dodoc ChangeLog* README - docinto ${CCHOST}/libstdc++-v3/html - dohtml -r -a css,diff,html,txt,xml docs/html/* - cp -f docs/html/17_intro/[A-Z]* \ - ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ - - if use java && use gcj - then - cd ${S}/fastjar - docinto ${CCHOST}/fastjar - dodoc AUTHORS CHANGES COPYING ChangeLog* NEWS README - cd ${S}/libjava - docinto ${CCHOST}/libjava - dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS - fi - - prepman ${DATAPATH} - prepinfo ${DATAPATH} - else - rm -rf ${D}/usr/share/{man,info} - rm -rf ${D}${DATAPATH}/{man,info} - fi - - # Rather install the script, else portage with changing $FILESDIR - # between binary and source package borks things .... - insinto /lib/rcscripts/awk - doins ${FILESDIR}/awk/fixlafiles.awk - exeinto /sbin - doexe ${FILESDIR}/fix_libtool_files.sh - - if use multilib && [ "${ARCH}" = "amd64" ] - then - # If using multilib, GCC has a bug, where it doesn't know where to find - # -lgcc_s when linking while compiling with g++ . ${LIBPATH} is in - # it's path though, so ln the 64bit and 32bit versions of -lgcc_s - # to that directory. - ln -sf ${LIBPATH}/../lib64/libgcc_s.so ${D}/${LIBPATH}/libgcc_s.so - ln -sf ${LIBPATH}/../lib32/libgcc_s_32.so ${D}/${LIBPATH}/libgcc_s_32.so - fi -} - -pkg_preinst() { - - if [ ! -f "${WORKDIR}/.chkgccversion" ] - then - chk_gcc_version - fi - - # Make again sure that the linker "should" be able to locate - # libstdc++.so ... - if use multilib && [ "${ARCH}" = "amd64" ] - then - # Can't always find libgcc_s.so.1, make it find it - export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" - else - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - fi - ${ROOT}/sbin/ldconfig -} - -pkg_postinst() { - - if use multilib && [ "${ARCH}" = "amd64" ] - then - # Can't always find libgcc_s.so.1, make it find it - export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" - else - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - fi - if [ "${ROOT}" = "/" -a "${CHOST}" = "${CCHOST}" ] - then - gcc-config --use-portage-chost ${CCHOST}-${GCC_RELEASE_VER} - fi - - # Update libtool linker scripts to reference new gcc version ... - if [ "${ROOT}" = "/" ] && \ - [ -f "${WORKDIR}/.oldgccversion" -o -f "${WORKDIR}/.oldgccchost" ] - then - local OLD_GCC_VERSION= - local OLD_GCC_CHOST= - - if [ -f "${WORKDIR}/.oldgccversion" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccversion")" ] - then - OLD_GCC_VERSION="$(cat "${WORKDIR}/.oldgccversion")" - else - OLD_GCC_VERSION="${GCC_RELEASE_VER}" - fi - - if [ -f "${WORKDIR}/.oldgccchost" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccchost")" ] - then - OLD_GCC_CHOST="--oldarch $(cat "${WORKDIR}/.oldgccchost")" - fi - - /sbin/fix_libtool_files.sh ${OLD_GCC_VERSION} ${OLD_GCC_CHOST} - fi - - # http://dev.gentoo.org/~pappy/hardened-gcc/docs/etdyn-ssp.html - if has_version '>=sys-devel/hardened-gcc-1.2' - then - [ "${ROOT}" = "/" ] && hardened-gcc -A - fi -} - diff --git a/sys-devel/gcc/gcc-3.3.2.ebuild b/sys-devel/gcc/gcc-3.3.2.ebuild deleted file mode 100644 index 3891ee419c66..000000000000 --- a/sys-devel/gcc/gcc-3.3.2.ebuild +++ /dev/null @@ -1,595 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.2.ebuild,v 1.24 2005/05/24 04:28:09 vapier Exp $ - -inherit eutils flag-o-matic libtool versionator - -# The next command strips most flags from CFLAGS/CXXFLAGS. If you do -# not like it, comment it out, but do not file bugreports if you run into -# problems. -do_filter_flags() { - strip-flags - - # In general gcc does not like optimization ... we'll add -O2 where safe - filter-flags -O? - - # Compile problems with these (bug #6641 among others)... - #filter-flags -fno-exceptions -fomit-frame-pointer -fforce-addr -} - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - -LOC="/usr" -#GCC_BRANCH_VER="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" -#GCC_RELEASE_VER="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" -GCC_BRANCH_VER="$(get_version_component_range 1-2)" -GCC_RELEASE_VER="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${GCC_RELEASE_VER}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${GCC_BRANCH_VER}" -# Dont install in /usr/include/g++-v3/, but in gcc internal directory. -# We will handle /usr/include/g++-v3/ with gcc-config ... -STDCXX_INCDIR="${LIBPATH}/include/g++-v${GCC_BRANCH_VER/\.*/}" - -# ProPolice version -PP_VER="3_3" -PP_FVER="${PP_VER//_/.}-4" - -# Patch tarball support ... -#PATCH_VER="1.0" -PATCH_VER= - -# Snapshot support ... -#SNAPSHOT="2002-08-12" -SNAPSHOT= - -# Branch update support ... -GCC_RELEASE_VER="${PV}" # Tarball, etc used ... - -#BRANCH_UPDATE="20021208" -BRANCH_UPDATE= - -if [ -z "${SNAPSHOT}" ] -then - S="${WORKDIR}/${PN}-${GCC_RELEASE_VER}" - SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/${P}/${PN}-${GCC_RELEASE_VER}.tar.bz2" - - if [ -n "${PATCH_VER}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2" - fi - - if [ -n "${BRANCH_UPDATE}" ] - then - SRC_URI="${SRC_URI} - mirror://gentoo/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2" - fi -else - S="${WORKDIR}/gcc-${SNAPSHOT//-}" - SRC_URI="ftp://sources.redhat.com/pub/gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT//-}.tar.bz2" -fi -if [ -n "${PP_VER}" ] -then - SRC_URI="${SRC_URI} - mirror://gentoo/protector-${PP_FVER}.tar.gz - http://www.research.ibm.com/trl/projects/security/ssp/gcc${PP_VER}/protector-${PP_FVER}.tar.gz" -fi -#SRC_URI="${SRC_URI} -# mirror://gentoo/${P}-manpages.tar.bz2" - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++ and java compilers" -HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" - -LICENSE="GPL-2 LGPL-2.1" -KEYWORDS="-* hppa" -IUSE="static nls bootstrap java build X multilib emul-linux-x86" - -# Ok, this is a hairy one again, but lets assume that we -# are not cross compiling, than we want SLOT to only contain -# $PV, as people upgrading to new gcc layout will not have -# their old gcc unmerged ... -SLOT="3.3" - -# We need the later binutils for support of the new cleanup attribute. -# 'make check' fails for about 10 tests (if I remember correctly) less -# if we use later bison. -DEPEND="virtual/libc - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - >=sys-devel/gcc-config-1.3.1 - amd64? ( multilib? ( >=app-emulation/emul-linux-x86-baselibs-1.0 ) ) - !build? ( >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) )" - -RDEPEND="virtual/libc - >=sys-devel/gcc-config-1.3.1 - >=sys-libs/zlib-1.1.4 - >=sys-apps/texinfo-4.2-r4 - !build? ( >=sys-libs/ncurses-5.2-r2 )" - -PDEPEND="sys-devel/gcc-config" - - -chk_gcc_version() { - # This next bit is for updating libtool linker scripts ... - local OLD_GCC_VERSION="`gcc -dumpversion`" - local OLD_GCC_CHOST="$(gcc -v 2>&1 | egrep '^Reading specs' |\ - sed -e 's:^.*/gcc-lib/\([^/]*\)/[0-9]\+.*$:\1:')" - - if [ "${OLD_GCC_VERSION}" != "${GCC_RELEASE_VER}" ] - then - echo "${OLD_GCC_VERSION}" > "${WORKDIR}/.oldgccversion" - fi - - if [ -n "${OLD_GCC_CHOST}" ] - then - if [ "${CHOST}" = "${CCHOST}" -a "${OLD_GCC_CHOST}" != "${CHOST}" ] - then - echo "${OLD_GCC_CHOST}" > "${WORKDIR}/.oldgccchost" - fi - fi - - # Did we check the version ? - touch "${WORKDIR}/.chkgccversion" -} - -version_patch() { - [ ! -f "$1" ] && return 1 - [ -z "$2" ] && return 1 - - sed -e "s:@GENTOO@:$2:g" ${1} > ${T}/${1##*/} - epatch ${T}/${1##*/} -} - -src_unpack() { - if [ -z "${SNAPSHOT}" ] - then - unpack ${PN}-${GCC_RELEASE_VER}.tar.bz2 - - if [ -n "${PATCH_VER}" ] - then - unpack ${P}-patches-${PATCH_VER}.tar.bz2 - fi - else - unpack gcc-${SNAPSHOT//-}.tar.bz2 - fi - - if [ -n "${PP_VER}" ] - then - unpack protector-${PP_FVER}.tar.gz - fi - - cd ${S} - # Fixup libtool to correctly generate .la files with portage - elibtoolize --portage --shallow - - echo - - # Branch update ... - if [ -n "${BRANCH_UPDATE}" ] - then - epatch ${DISTDIR}/${PN}-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2 - fi - - # Do bulk patches included in ${P}-patches-${PATCH_VER}.tar.bz2 - if [ -n "${PATCH_VER}" ] - then - mkdir -p ${WORKDIR}/patch/exclude - - epatch ${WORKDIR}/patch - fi - - if use multilib && [ "${ARCH}" = "amd64" ] - then - epatch ${FILESDIR}/gcc331_use_multilib.amd64.patch - fi - - - if [ -z "${PP_VER}" ] - then - # Make gcc's version info specific to Gentoo - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR})" || die "Failed Branding" - fi - - if [ -n "${PP_VER}" ] && [ "${ARCH}" != "hppa" ] - then - # ProPolice Stack Smashing protection - epatch ${WORKDIR}/protector.dif - cp ${WORKDIR}/protector.c ${WORKDIR}/${P}/gcc/ || die "protector.c not found" - cp ${WORKDIR}/protector.h ${WORKDIR}/${P}/gcc/ || die "protector.h not found" - version_patch ${FILESDIR}/3.3.2/gcc332-gentoo-branding.patch \ - "${BRANCH_UPDATE} (Gentoo Linux ${PVR}, propolice)" \ - || die "Failed Branding" - fi - - # Install our pre generated manpages if we do not have perl ... -# if [ ! -x /usr/bin/perl ] -# then -# cd ${S}; unpack ${P}-manpages.tar.bz2 -# fi - - # Misdesign in libstdc++ (Redhat) - cp -a ${S}/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h - - cd ${S}; ./contrib/gcc_update --touch &> /dev/null -} - -src_compile() { - - local myconf= - local gcc_lang= - - if ! use build - then - myconf="${myconf} --enable-shared" - gcc_lang="c,c++,f77,objc" - else - gcc_lang="c" - fi - if ! use nls || use build - then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - if use java && ! use build - then - gcc_lang="${gcc_lang},java" - fi - - # Enable building of the gcj Java AWT & Swing X11 backend - # if we have X as a use flag and are not in a build stage. - # X11 support is still very experimental but enabling it is - # quite innocuous... [No, gcc is *not* linked to X11...] - # <dragon@gentoo.org> (15 May 2003) - if use java && use X && ! use build && [ -f /usr/X11R6/include/X11/Xlib.h ] - then - myconf="${myconf} --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib" - myconf="${myconf} --enable-interpreter --enable-java-awt=xlib --with-x" - fi - - # Multilib not yet supported - if use multilib && [ "${ARCH}" = "amd64" ] - then - einfo "WARNING: Multilib support enabled. This is still experimental." - myconf="${myconf} --enable-multilib" - else - if [ "${ARCH}" = "amd64" ] - then - einfo "WARNING: Multilib not enabled. You will not be able to build 32bit binaries." - fi - myconf="${myconf} --disable-multilib" - fi - - #Fix linking problem with c++ apps which where linked agains a 3.2.2 libgcc - [ "${ARCH}" = "hppa" ] && myconf="${myconf} --enable-sjlj-exceptions" - - # Make sure we have sane CFLAGS - do_filter_flags - - # Build in a separate build tree - mkdir -p ${WORKDIR}/build - cd ${WORKDIR}/build - - einfo "Configuring GCC..." - addwrite "/dev/zero" - ${S}/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ - --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ - --with-system-zlib \ - --enable-languages=${gcc_lang} \ - --enable-threads=posix \ - --enable-long-long \ - --disable-checking \ - --enable-cstdio=stdio \ - --enable-clocale=generic \ - --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die - - touch ${S}/gcc/c-gperf.h - - # Do not make manpages if we do not have perl ... - if [ ! -x /usr/bin/perl ] - then - find ${S} -name '*.[17]' -exec touch {} \; || : - fi - - einfo "Building GCC..." - # Only build it static if we are just building the C frontend, else - # a lot of things break because there are not libstdc++.so .... - if use static && [ "${gcc_lang}" = "c" ] - then - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake LDFLAGS="-static" bootstrap \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - # Above FLAGS optimize and speedup build, thanks - # to Jeff Garzik <jgarzik@mandrakesoft.com> - else - # Fix for our libtool-portage.patch - S="${WORKDIR}/build" \ - emake bootstrap-lean \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die - - fi -} - -src_install() { - # Do allow symlinks in ${LOC}/lib/gcc-lib/${CHOST}/${PV}/include as - # this can break the build. - for x in cd ${WORKDIR}/build/gcc/include/* - do - if [ -L ${x} ] - then - rm -f ${x} - fi - done - - einfo "Installing GCC..." - # Do the 'make install' from the build directory - cd ${WORKDIR}/build - S="${WORKDIR}/build" \ - make prefix=${LOC} \ - bindir=${BINPATH} \ - includedir=${LIBPATH}/include \ - datadir=${DATAPATH} \ - mandir=${DATAPATH}/man \ - infodir=${DATAPATH}/info \ - DESTDIR="${D}" \ - LIBPATH="${LIBPATH}" \ - install || die - - [ -r ${D}${BINPATH}/gcc ] || die "gcc not found in ${D}" - - dodir /lib /usr/bin - dodir /etc/env.d/gcc - echo "PATH=\"${BINPATH}\"" > ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "ROOTPATH=\"${BINPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - if use multilib && [ "${ARCH}" = "amd64" ] - then - # amd64 is a bit unique because of multilib. Add some other paths - echo "LDPATH=\"${LIBPATH}:${LIBPATH}/32:${LIBPATH}/../lib64:${LIBPATH}/../lib32\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - else - echo "LDPATH=\"${LIBPATH}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - fi - echo "MANPATH=\"${DATAPATH}/man\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "INFOPATH=\"${DATAPATH}/info\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "STDCXX_INCDIR=\"${STDCXX_INCDIR##*/}\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - # Also set CC and CXX - echo "CC=\"gcc\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - echo "CXX=\"g++\"" >> ${D}/etc/env.d/gcc/${CCHOST}-${GCC_RELEASE_VER} - - # Make sure we dont have stuff lying around that - # can nuke multiple versions of gcc - if ! use build - then - cd ${D}${LIBPATH} - - # Tell libtool files where real libraries are - for x in ${D}${LOC}/lib/*.la ${D}${LIBPATH}/../*.la - do - if [ -f "${x}" ] - then - sed -i -e "s:/usr/lib:${LIBPATH}:" ${x} - mv ${x} ${D}${LIBPATH} - fi - done - - # Move all the libraries to version specific libdir. - for x in ${D}${LOC}/lib/*.{so,a}* ${D}${LIBPATH}/../*.{so,a}* - do - [ -f "${x}" -o -L "${x}" ] && mv -f ${x} ${D}${LIBPATH} - done - - # Move Java headers to compiler-specific dir - for x in ${D}${LOC}/include/gc*.h ${D}${LOC}/include/j*.h - do - [ -f "${x}" ] && mv -f ${x} ${D}${LIBPATH}/include/ - done - for x in gcj gnu java javax org - do - if [ -d "${D}${LOC}/include/${x}" ] - then - dodir /${LIBPATH}/include/${x} - mv -f ${D}${LOC}/include/${x}/* ${D}${LIBPATH}/include/${x}/ - rm -rf ${D}${LOC}/include/${x} - fi - done - - if [ -d "${D}${LOC}/lib/security" ] - then - dodir /${LIBPATH}/security - mv -f ${D}${LOC}/lib/security/* ${D}${LIBPATH}/security - rm -rf ${D}${LOC}/lib/security - fi - - # Move libgcj.spec to compiler-specific directories - [ -f "${D}${LOC}/lib/libgcj.spec" ] && \ - mv -f ${D}${LOC}/lib/libgcj.spec ${D}${LIBPATH}/libgcj.spec - - # Rename jar because it could clash with Kaffe's jar if this gcc is - # primary compiler (aka don't have the -<version> extension) - cd ${D}${LOC}/${CCHOST}/gcc-bin/${GCC_BRANCH_VER} - [ -f jar ] && mv -f jar gcj-jar - - # Move <cxxabi.h> to compiler-specific directories - [ -f "${D}${STDCXX_INCDIR}/cxxabi.h" ] && \ - mv -f ${D}${STDCXX_INCDIR}/cxxabi.h ${D}${LIBPATH}/include/ - - # These should be symlinks - cd ${D}${BINPATH} - for x in gcc g++ c++ g77 gcj - do - rm -f ${CCHOST}-${x} - [ -f "${x}" ] && ln -sf ${x} ${CCHOST}-${x} - - if [ -f "${CCHOST}-${x}-${PV}" ] - then - rm -f ${CCHOST}-${x}-${PV} - ln -sf ${x} ${CCHOST}-${x}-${PV} - fi - done - fi - - # This one comes with binutils - if [ -f "${D}${LOC}/lib/libiberty.a" ] - then - rm -f ${D}${LOC}/lib/libiberty.a - fi - - cd ${S} - if ! use build - then - cd ${S} - docinto /${CCHOST} - dodoc COPYING COPYING.LIB ChangeLog* FAQ MAINTAINERS README - docinto ${CCHOST}/html - dohtml *.html - cd ${S}/boehm-gc - docinto ${CCHOST}/boehm-gc - dodoc ChangeLog doc/{README*,barrett_diagram} - docinto ${CCHOST}/boehm-gc/html - dohtml doc/*.html - cd ${S}/gcc - docinto ${CCHOST}/gcc - dodoc ChangeLog* FSFChangeLog* LANGUAGES NEWS ONEWS README* SERVICE - cd ${S}/libf2c - docinto ${CCHOST}/libf2c - dodoc ChangeLog* README TODO *.netlib - cd ${S}/libffi - docinto ${CCHOST}/libffi - dodoc ChangeLog* LICENSE README - cd ${S}/libiberty - docinto ${CCHOST}/libiberty - dodoc ChangeLog* COPYING.LIB README - cd ${S}/libobjc - docinto ${CCHOST}/libobjc - dodoc ChangeLog* README* THREADS* - cd ${S}/libstdc++-v3 - docinto ${CCHOST}/libstdc++-v3 - dodoc ChangeLog* README - docinto ${CCHOST}/libstdc++-v3/html - dohtml -r -a css,diff,html,txt,xml docs/html/* - cp -f docs/html/17_intro/[A-Z]* \ - ${D}/usr/share/doc/${PF}/${DOCDESTTREE}/17_intro/ - - if use java - then - cd ${S}/fastjar - docinto ${CCHOST}/fastjar - dodoc AUTHORS CHANGES COPYING ChangeLog* NEWS README - cd ${S}/libjava - docinto ${CCHOST}/libjava - dodoc ChangeLog* COPYING HACKING LIBGCJ_LICENSE NEWS README THANKS - fi - - prepman ${DATAPATH} - prepinfo ${DATAPATH} - else - rm -rf ${D}/usr/share/{man,info} - rm -rf ${D}${DATAPATH}/{man,info} - fi - - # Rather install the script, else portage with changing $FILESDIR - # between binary and source package borks things .... - insinto /lib/rcscripts/awk - doins ${FILESDIR}/awk/fixlafiles.awk - exeinto /sbin - doexe ${FILESDIR}/fix_libtool_files.sh - - # Fix ncurses b0rking - find ${D}/ -name '*curses.h' -exec rm -f {} \; - - if use multilib && [ "${ARCH}" = "amd64" ] - then - # If using multilib, GCC has a bug, where it doesn't know where to find - # -lgcc_s when linking while compiling with g++ . ${LIBPATH} is in - # it's path though, so ln the 64bit and 32bit versions of -lgcc_s - # to that directory. - ln -sf ${LIBPATH}/../lib64/libgcc_s.so ${D}/${LIBPATH}/libgcc_s.so - ln -sf ${LIBPATH}/../lib32/libgcc_s_32.so ${D}/${LIBPATH}/libgcc_s_32.so - fi -} - -pkg_preinst() { - - if [ ! -f "${WORKDIR}/.chkgccversion" ] - then - chk_gcc_version - fi - - # Make again sure that the linker "should" be able to locate - # libstdc++.so ... - if use multilib && [ "${ARCH}" = "amd64" ] - then - # Can't always find libgcc_s.so.1, make it find it - export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" - else - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - fi - ${ROOT}/sbin/ldconfig -} - -pkg_postinst() { - - if use multilib && [ "${ARCH}" = "amd64" ] - then - # Can't always find libgcc_s.so.1, make it find it - export LD_LIBRARY_PATH="${LIBPATH}:${LIBPATH}/../lib64:${LIBPATH}/../lib32:${LD_LIBRARY_PATH}" - else - export LD_LIBRARY_PATH="${LIBPATH}:${LD_LIBRARY_PATH}" - fi - if [ "${ROOT}" = "/" -a "${CHOST}" = "${CCHOST}" ] - then - gcc-config --use-portage-chost ${CCHOST}-${GCC_RELEASE_VER} - fi - - # Update libtool linker scripts to reference new gcc version ... - if [ "${ROOT}" = "/" ] && \ - [ -f "${WORKDIR}/.oldgccversion" -o -f "${WORKDIR}/.oldgccchost" ] - then - local OLD_GCC_VERSION= - local OLD_GCC_CHOST= - - if [ -f "${WORKDIR}/.oldgccversion" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccversion")" ] - then - OLD_GCC_VERSION="$(cat "${WORKDIR}/.oldgccversion")" - else - OLD_GCC_VERSION="${GCC_RELEASE_VER}" - fi - - if [ -f "${WORKDIR}/.oldgccchost" ] && \ - [ -n "$(cat "${WORKDIR}/.oldgccchost")" ] - then - OLD_GCC_CHOST="--oldarch $(cat "${WORKDIR}/.oldgccchost")" - fi - - /sbin/fix_libtool_files.sh ${OLD_GCC_VERSION} ${OLD_GCC_CHOST} - fi - - # Fix ncurses b0rking (if r5 isn't unmerged) - find ${ROOT}/usr/lib/gcc-lib -name '*curses.h' -exec rm -f {} \; - - # http://dev.gentoo.org/~pappy/hardened-gcc/docs/etdyn-ssp.html - if has_version '>=sys-devel/hardened-gcc-1.2' - then - [ "${ROOT}" = "/" ] && hardened-gcc -A - fi -} - diff --git a/sys-devel/gcc/gcc-3.3.5.20050130.ebuild b/sys-devel/gcc/gcc-3.3.5.20050130.ebuild deleted file mode 100644 index 3083597f830f..000000000000 --- a/sys-devel/gcc/gcc-3.3.5.20050130.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.3.5.20050130.ebuild,v 1.17 2005/06/10 01:29:39 vapier Exp $ - -MAN_VER="3.3.5" -PATCH_VER="1.2" -UCLIBC_VER="" -PIE_VER="8.7.7.1" -PIE_CORE="gcc-3.3.5-piepatches-v${PIE_VER}.tar.bz2" -PP_VER="3_3_5_20050130" -PP_FVER="${PP_VER//_/.}-1" -HTB_VER="1.00-r2" -#HTB_GCC_VER="3.3.5" -HTB_EXCLUSIVE="true" - -ETYPE="gcc-compiler" - -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -SSP_STABLE="x86 sparc amd64" -SSP_UCLIBC_STABLE="arm mips ppc x86" -PIE_GLIBC_STABLE="x86 sparc amd64" -PIE_UCLIBC_STABLE="x86 mips ppc" - -# arch/libc configurations known to be broken with {PIE,SSP}-by-default -SSP_UNSUPPORTED="hppa" -SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" -PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" -PIE_GLIBC_UNSUPPORTED="hppa" - -# whether we should split out specs files for multiple {PIE,SSP}-by-default -# and vanilla configurations. -SPLIT_SPECS=${SPLIT_SPECS:-"true"} - -#GENTOO_PATCH_EXCLUDE="" -#PIEPATCH_EXCLUDE="" - -inherit toolchain eutils - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" - -KEYWORDS="~alpha ~amd64 ~arm ~hppa -ia64 ~mips ~sh sparc ~x86" - -# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper -# .eh_frame ld optimisation and symbol visibility support, but it hasnt been -# well tested in gentoo on any arch other than amd64!! -RDEPEND="virtual/libc - >=sys-devel/gcc-config-1.3.10 - >=sys-libs/zlib-1.1.4 - !sys-devel/hardened-gcc - elibc_glibc? ( >=sys-libs/glibc-2.3.2-r9 ) - >=sys-devel/binutils-2.14.90.0.6-r1 - >=sys-devel/bison-1.875 - amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) ) - sparc? ( hardened? ( >=sys-libs/glibc-2.3.3.20040420 ) ) - !build? ( - gcj? ( - gtk? ( >=x11-libs/gtk+-2.2 ) - >=media-libs/libart_lgpl-2.1 - ) - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - )" - -if [[ ${CATEGORY/cross-} != ${CATEGORY} ]]; then - RDEPEND="${RDEPEND} ${CATEGORY}/binutils" -fi - -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )" -PDEPEND="sys-devel/gcc-config" - -src_unpack() { - gcc_src_unpack - - # bah - sed -e 's/3\.3\.6/3.3.5/' -i ${S}/gcc/version.c - - - if [ -n "${PATCH_VER}" ] && use elibc_uclibc ; then - mv ${S}/gcc-3.3.2/libstdc++-v3/config/os/uclibc ${S}/libstdc++-v3/config/os/ || die - mv ${S}/gcc-3.3.2/libstdc++-v3/config/locale/uclibc ${S}/libstdc++-v3/config/locale/ || die - epatch ${FILESDIR}/3.3.3/gcc-uclibc-3.3-loop.patch - fi - - # misc patches that havent made it into a patch tarball yet - epatch ${FILESDIR}/gcc-spec-env.patch - - # fix an incorrect prototype of ffecom_gfrt_basictype() which causes - # 3.3.5 to not compile on some configurations. - epatch ${FILESDIR}/3.3.5/gcc-3.3.5-ffecom_gfrt_basictype-prototype.patch - - case $(tc-arch ${CTARGET}) in - ppc) - epatch ${FILESDIR}/3.3.3/gcc333_pre20040408-stack-size.patch - ;; - arm) - epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-getoff.patch - epatch ${FILESDIR}/3.3.3/gcc333-debian-arm-ldm.patch - ;; - esac - - # Anything useful and objc will require libffi. Seriously. Lets just force - # libffi to install with USE="objc", even though it normally only installs - # if you attempt to build gcj. - if use !build && use objc && ! use gcj ; then - epatch ${FILESDIR}/3.3.4/libffi-without-libgcj.patch - #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch - fi - - # Don't screw with directories when cross-compiling - epatch ${FILESDIR}/3.3.5/gcc-3.3.5-no-COPYING-cross-compile.patch -} diff --git a/sys-devel/gcc/gcc-3.4.3.20050110-r1.ebuild b/sys-devel/gcc/gcc-3.4.3.20050110-r1.ebuild deleted file mode 100644 index d9cada97649f..000000000000 --- a/sys-devel/gcc/gcc-3.4.3.20050110-r1.ebuild +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-3.4.3.20050110-r1.ebuild,v 1.8 2005/06/24 01:16:08 vapier Exp $ - -MAN_VER="3.4.3" -PATCH_VER="1.2" -UCLIBC_VER="1.1" -PIE_VER="8.7.7" -PIE_CORE="gcc-3.4.3-piepatches-v${PIE_VER}.tar.bz2" -PP_VER="3.4.3.20050110" -PP_FVER="${PP_VER//_/.}-0" -HTB_VER="1.00" -HTB_GCC_VER="3.4.2" -HTB_EXCLUSIVE="true" - -GCC_LIBSSP_SUPPORT="true" - -ETYPE="gcc-compiler" - -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -SSP_STABLE="x86 sparc amd64 ppc ppc64" -SSP_UCLIBC_STABLE="arm mips ppc x86" -PIE_GLIBC_STABLE="x86 sparc amd64 ppc ppc64" -PIE_UCLIBC_STABLE="x86 mips ppc" - -# arch/libc configurations known to be broken with {PIE,SSP}-by-default -SSP_UNSUPPORTED="hppa" -SSP_UCLIBC_UNSUPPORTED="${SSP_UNSUPPORTED}" -PIE_UCLIBC_UNSUPPORTED="alpha amd64 arm hppa ia64 m68k ppc64 s390 sh sparc" -PIE_GLIBC_UNSUPPORTED="hppa" - -# whether we should split out specs files for multiple {PIE,SSP}-by-default -# and vanilla configurations. -SPLIT_SPECS=${SPLIT_SPECS:-true} - -#GENTOO_PATCH_EXCLUDE="" -#PIEPATCH_EXCLUDE="" - -inherit toolchain eutils - -DESCRIPTION="The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking" - -KEYWORDS="-* ~amd64 ~mips ~ppc64 ~x86 -hppa ~ppc ~sparc ~ia64" - -# we need a proper glibc version for the Scrt1.o provided to the pie-ssp specs -# NOTE: we SHOULD be using at least binutils 2.15.90.0.1 everywhere for proper -# .eh_frame ld optimisation and symbol visibility support, but it hasnt been -# well tested in gentoo on any arch other than amd64!! -RDEPEND="virtual/libc - >=sys-devel/gcc-config-1.3.10 - >=sys-libs/zlib-1.1.4 - !sys-devel/hardened-gcc - !elibc_uclibc? ( - >=sys-libs/glibc-2.3.3_pre20040420-r1 - hardened? ( >=sys-libs/glibc-2.3.3_pre20040529 ) - ) - amd64? ( multilib? ( >=app-emulation/emul-linux-x86-glibc-1.1 ) ) - !build? ( - gcj? ( - gtk? ( >=x11-libs/gtk+-2.2 ) - >=media-libs/libart_lgpl-2.1 - ) - >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) - )" - -if [[ ${CATEGORY/cross-} != ${CATEGORY} ]]; then - RDEPEND="${RDEPEND} ${CATEGORY}/binutils" -fi - -DEPEND="${RDEPEND} - >=sys-apps/texinfo-4.2-r4 - >=sys-devel/bison-1.875 - >=sys-devel/binutils-2.14.90.0.8-r1 - amd64? ( >=sys-devel/binutils-2.15.90.0.1.1-r1 )" -PDEPEND="sys-devel/gcc-config - !nocxx? ( !mips? ( !ia64? ( !elibc_uclibc? ( !build? ( sys-libs/libstdc++-v3 ) ) ) ) )" - -src_unpack() { - gcc_src_unpack - - # bah - sed -e 's/3\.4\.4/3.4.3/' -i ${S}/gcc/version.c - - # misc patches that havent made it into a patch tarball yet - epatch ${FILESDIR}/gcc-spec-env.patch - - # nothing in the tree provides libssp.so, so nothing will ever trigger this - # logic, but having the patch in the tree makes life so much easier for me - # since I dont have to also have an overlay for this. - want_libssp && epatch ${FILESDIR}/3.4.3/libssp.patch - - # Anything useful and objc will require libffi. Seriously. Lets just force - # libffi to install with USE="objc", even though it normally only installs - # if you attempt to build gcj. - if use !build && use objc && ! use gcj ; then - epatch ${FILESDIR}/3.4.3/libffi-without-libgcj.patch - #epatch ${FILESDIR}/3.4.3/libffi-nogcj-lib-path-fix.patch - fi - - # hack around some ugly 32bit sse2 wrong-code bugs - epatch ${FILESDIR}/3.4.2/gcc34-m32-no-sse2.patch - epatch ${FILESDIR}/3.4.2/gcc34-fix-sse2_pinsrw.patch - - # Fix cross-compiling - epatch ${FILESDIR}/3.4.3/gcc-3.4.3-cross-compile.patch - - # Upstream fix for ia64 - epatch ${FILESDIR}/3.4.3/35_all_pr18987-fix.patch - - # Arch stuff - case $(tc-arch) in - mips) - # If mips, and we DON'T want multilib, then rig gcc to only use n32 OR n64 - if ! is_multilib; then - use n32 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n32only.patch - use n64 && epatch ${FILESDIR}/3.4.1/gcc-3.4.1-mips-n64only.patch - fi - - # Patch forward-ported from a gcc-3.0.x patch that adds -march=r10000 and - # -mtune=r10000 support to gcc (Allows the compiler to generate code to - # take advantage of R10k's second ALU, perform shifts, etc.. - # - # Needs re-porting to DFA in gcc-4.0 - Any Volunteers? :) - epatch ${FILESDIR}/3.4.2/gcc-3.4.x-mips-add-march-r10k.patch - - # This is a very special patch -- it allows us to build semi-usable kernels - # on SGI IP28 (Indigo2 Impact R10000) systems. The patch is henceforth - # regarded as a kludge by upstream, and thus, it will never get accepted upstream, - # but for our purposes of building a kernel, it works. - # Unless you're building an IP28 kernel, you really don't need care about what - # this patch does, because if you are, you are probably already aware of what - # it does. - # All that said, the abilities of this patch are disabled by default and need - # to be enabled by passing -mip28-cache-barrier. Only used to build kernels, - # There is the possibility it may be used for very specific userland apps too. - if use ip28; then - epatch ${FILESDIR}/3.4.2/gcc-3.4.2-mips-ip28_cache_barriers-v2.patch - fi - ;; - amd64) - if is_multilib; then - epatch ${FILESDIR}/3.4.1/gcc-3.4.1-glibc-is-native.patch - cd ${S}/libstdc++-v3 - einfo "running autoreconf..." - autoreconf 2> /dev/null - cd ${S} - fi - ;; - esac -} |