summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-02-16 00:29:11 +0000
committerMike Frysinger <vapier@gentoo.org>2009-02-16 00:29:11 +0000
commit4c2d8fa7868bc75b60f9b29001239bf494f6599e (patch)
treee49fa9aa524583c4d7df5d7cff74dbc49e941744 /sys-libs/libstdc++-v3
parentAdd gcc-4.3 patch per bug 255604. Thanks to Arttu Valo <arttuv69@gmail.com> f... (diff)
downloadhistorical-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/ChangeLog5
-rw-r--r--sys-libs/libstdc++-v3/Manifest10
-rw-r--r--sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild187
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
}