diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-02-16 00:29:11 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-02-16 00:29:11 +0000 |
commit | 4c2d8fa7868bc75b60f9b29001239bf494f6599e (patch) | |
tree | e49fa9aa524583c4d7df5d7cff74dbc49e941744 /sys-libs/libstdc++-v3 | |
parent | Add gcc-4.3 patch per bug 255604. Thanks to Arttu Valo <arttuv69@gmail.com> f... (diff) | |
download | historical-4c2d8fa7868bc75b60f9b29001239bf494f6599e.tar.gz historical-4c2d8fa7868bc75b60f9b29001239bf494f6599e.tar.bz2 historical-4c2d8fa7868bc75b60f9b29001239bf494f6599e.zip |
Simplify ebuild greatly by removing all the extraneous gcc cruft.
Package-Manager: portage-2.2_rc23/cvs/Linux x86_64
Diffstat (limited to 'sys-libs/libstdc++-v3')
-rw-r--r-- | sys-libs/libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | sys-libs/libstdc++-v3/Manifest | 10 | ||||
-rw-r--r-- | sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild | 187 |
3 files changed, 33 insertions, 169 deletions
diff --git a/sys-libs/libstdc++-v3/ChangeLog b/sys-libs/libstdc++-v3/ChangeLog index 9b26a8d48012..664c5282398b 100644 --- a/sys-libs/libstdc++-v3/ChangeLog +++ b/sys-libs/libstdc++-v3/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for sys-libs/libstdc++-v3 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/ChangeLog,v 1.57 2009/02/15 22:58:32 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/ChangeLog,v 1.58 2009/02/16 00:29:11 vapier Exp $ + + 16 Feb 2009; Mike Frysinger <vapier@gentoo.org> libstdc++-v3-3.3.6.ebuild: + Simplify ebuild greatly by removing all the extraneous gcc cruft. 15 Feb 2009; Mike Frysinger <vapier@gentoo.org> -files/libstdc++-v3-open_missing_mode.patch, libstdc++-v3-3.3.6.ebuild: diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest index 045321917450..2c294f12a850 100644 --- a/sys-libs/libstdc++-v3/Manifest +++ b/sys-libs/libstdc++-v3/Manifest @@ -3,13 +3,13 @@ Hash: SHA1 DIST gcc-3.3.6-patches-1.6.tar.bz2 48814 RMD160 3f25b67015c6e4d874690c48d23292a670501e0c SHA1 aba4661d50787aad26849497d45194804bf21b73 SHA256 c692f8f00d16947e13dd86ca974e419c35d1befee9ee915fa6c50a741487ef63 DIST gcc-3.3.6.tar.bz2 23972413 RMD160 b32c7a08c690857f0ac52dda3deb47cf5775d967 SHA1 2cc43978bb09af6c2ccfdf74797d10d7cc2596fb SHA256 1c1aa533c67e9da5e55ed4f5736258dc753466bd716bdae3fb88fb66e6ff1d7f -EBUILD libstdc++-v3-3.3.6.ebuild 8491 RMD160 4da36125577f9dea2cc76392ce4b3a5dceb2ff7d SHA1 6899fd852b84cf847f62926377704938af130818 SHA256 92fbe03d6e7218c76b39367efedcf2592555fe09953eca427a209865d84a3206 -MISC ChangeLog 8633 RMD160 cb04f4f606d8ffaf6b57a6d12b40f80e5d37b5d2 SHA1 c9ada16753702394e835e6d91dc97612a6a222ff SHA256 f2e4336da5dc376adc05676fac0b06bcc35507a1921bd1d369e141f4dcc0f0ce +EBUILD libstdc++-v3-3.3.6.ebuild 4330 RMD160 df621a08e514ca41f79141925c7295789825a339 SHA1 d971dd3f866c21d365466496015dfcc48f7bc812 SHA256 f187c0f94ea6b9c77de08a9197c1b59c584fa4dcc29f53bdc7d1647f35ffeed5 +MISC ChangeLog 8779 RMD160 a351fda796bb0e3918bd36683bbd047f5eee8591 SHA1 0315f0c5ca5feeeae28c12f8dbd42b284c33faac SHA256 b7e8210000afe3c1c96723d103b5adf80eee779c365ffa7e6c7a0aeadabc2e20 MISC metadata.xml 162 RMD160 d002486a43522f2116b1d9d59828c484956d66e2 SHA1 d6b4923897f6ae673b4f93646f5b4ba61d5a2c3c SHA256 65a915d44de1f01d4b7f72d313b4192c38374a9835d24988c00c1e73dca5805a -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) -iEYEARECAAYFAkmYnh4ACgkQn/5bYzqsSmE2SwCeJa/fvIwrcu17z4Dc7gnx+oM6 -HSAAnAkCVWTQEVCGRStLJGydrF2zK/1i -=jlzj +iEYEARECAAYFAkmYs1wACgkQn/5bYzqsSmGMMACguNXIPoSc0Ye8yIcsvD57rSEx +bx4AnioErGRgaZoYX49bWCln56+vvLvm +=37tp -----END PGP SIGNATURE----- diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild index 71cdb541060f..db6e94da2b3b 100644 --- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild +++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild,v 1.21 2009/02/15 22:58:32 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild,v 1.22 2009/02/16 00:29:11 vapier Exp $ -inherit eutils flag-o-matic libtool gnuconfig versionator +inherit eutils flag-o-matic libtool multilib transform_known_flags() { declare setting @@ -100,117 +100,32 @@ do_filter_flags() { strip-flags } -S=${WORKDIR}/gcc-${PV} - -# Theoretical cross compiler support -[ ! -n "${CCHOST}" ] && export CCHOST="${CHOST}" - PATCH_VER="1.6" -LOC="/usr" -#MY_PV="`echo ${PV} | awk -F. '{ gsub(/_pre.*|_alpha.*/, ""); print $1 "." $2 }'`" -#MY_PV_FULL="`echo ${PV} | awk '{ gsub(/_pre.*|_alpha.*/, ""); print $0 }'`" -MY_PV="$(get_version_component_range 1-2)" -MY_PV_FULL="$(get_version_component_range 1-3)" - -LIBPATH="${LOC}/lib/gcc-lib/${CCHOST}/${MY_PV_FULL}" -BINPATH="${LOC}/${CCHOST}/gcc-bin/${MY_PV}" -DATAPATH="${LOC}/share/gcc-data/${CCHOST}/${MY_PV}" -# 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${MY_PV/\.*/}" - -SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 - mirror://gentoo/gcc-${PV}-patches-${PATCH_VER}.tar.bz2" DESCRIPTION="Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++" HOMEPAGE="http://gcc.gnu.org/libstdc++/" +SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 + mirror://gentoo/gcc-${PV}-patches-${PATCH_VER}.tar.bz2" LICENSE="GPL-2 LGPL-2.1" - +SLOT="5" KEYWORDS="amd64 hppa ~mips ppc -ppc64 sparc x86 ~x86-fbsd" -IUSE="multilib nls nptl build" - -# 3.2.3 -> 3.3.x install .so.5, so lets slot to 5 -if [ "${CHOST}" == "${CCHOST}" ] -then - SLOT="5" -else - SLOT="${CCHOST}-5" -fi - -DEPEND="virtual/libc - !nptl? ( elibc_glibc? ( >=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 - >=sys-devel/gcc-3.3.3_pre20040130 - !build? ( >=sys-libs/ncurses-5.2-r2 - nls? ( sys-devel/gettext ) )" - -RDEPEND="virtual/libc - !nptl? ( elibc_glibc? ( >=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" +IUSE="multilib nls" + +S=${WORKDIR}/gcc-${PV} src_unpack() { unpack ${A} - cd "${S}" EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch - - # Fixup libtool to correctly generate .la files with portage elibtoolize --portage --shallow - - if (has_multilib_profile || use multilib) ; then - sed -i \ - -e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \ - "${S}"/gcc/config/i386/t-linux64 \ - || die "sed failed!" - fi - - # Misdesign in libstdc++ (Redhat) - cp -pPR "${S}"/libstdc++-v3/config/cpu/i{4,3}86/atomicity.h - - cd "${S}"; ./contrib/gcc_update --touch &> /dev/null - gnuconfig_update + ./contrib/gcc_update --touch } src_compile() { - - local myconf= - - if ! use nls || use build - then - myconf="${myconf} --disable-nls" - else - myconf="${myconf} --enable-nls --without-included-gettext" - fi - - (has_multilib_profile || use multilib) || myconf="${myconf} --disable-multilib" - do_filter_flags - einfo "CFLAGS=\"${CFLAGS}\"" - einfo "CXXFLAGS=\"${CXXFLAGS}\"" - - # Build in a separate build tree - mkdir -p "${WORKDIR}"/build - cd "${WORKDIR}"/build - - einfo "Configuring libstdc++..." - addwrite "/dev/zero" - "${S}"/configure --prefix=${LOC} \ - --bindir=${BINPATH} \ - --includedir=${LIBPATH}/include \ - --datadir=${DATAPATH} \ - --mandir=${DATAPATH}/man \ - --infodir=${DATAPATH}/info \ + econf \ --enable-shared \ - --host=${CHOST} \ - --target=${CCHOST} \ --with-system-zlib \ --enable-languages=c++ \ --enable-threads=posix \ @@ -218,78 +133,24 @@ src_compile() { --disable-checking \ --enable-cstdio=stdio \ --enable-__cxa_atexit \ - --enable-version-specific-runtime-libs \ - --with-gxx-include-dir=${STDCXX_INCDIR} \ - --with-local-prefix=${LOC}/local \ - ${myconf} || die + $(use_enable multilib) \ + $(use_enable nls) \ + $(use_with !nls included-gettext) \ + || die touch "${S}"/gcc/c-gperf.h - einfo "Compiling libstdc++..." - S="${WORKDIR}/build" \ - emake all-target-libstdc++-v3 \ - LIBPATH="${LIBPATH}" \ - BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O" || die + emake all-target-libstdc++-v3 || die } 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 libstdc++..." - # 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-target-libstdc++-v3 || die - - # we'll move this into a directory we can put at the end of ld.so.conf - # other than the normal versioned directory, so that it doesnt conflict - # with gcc 3.3.3 - mkdir -p "${D}"/${LOC}/lib/libstdc++-v3/ - mv "${D}"/${LIBPATH}/lib* "${D}"/${LOC}/lib/libstdc++-v3/ - # we dont want the headers... - rm -rf "${D}"/${LOC}/lib/gcc* - # or locales... - rm -rf "${D}"/${LOC}/share - # or anything other than the .so files, really. - find "${D}" | grep -e c++.la$ -e c++.a$ | xargs rm -f - # we dont even want the un-versioned .so symlink, as it confuses some - # apps and also causes others to link against the old libstdc++... - rm "${D}"/${LOC}/lib/libstdc++-v3/libstdc++.so - - # and it's much easier to just move around the result than it is to - # configure libstdc++-v3 to use CONF_LIDIR - if [ "$(get_libdir)" != "lib" ] ; then - mv "${D}"/${LOC}/lib "${D}"/${LOC}/$(get_libdir) - fi - - mkdir -p "${D}"/etc/env.d/ - echo "LDPATH=\"${LOC}/$(get_libdir)/libstdc++-v3/\"" >> "${D}"/etc/env.d/99libstdc++ + emake -j1 DESTDIR="${D}" install-target-libstdc++-v3 || die + + # scrub everything but the library we care about + pushd "${D}" >/dev/null + mv usr/lib* . || die + rm -rf usr + rm -f lib*/*.{a,la,so} || die + dodir /usr + mv lib* usr/ || die } |