diff options
author | Travis Tilley <lv@gentoo.org> | 2004-09-05 16:34:39 +0000 |
---|---|---|
committer | Travis Tilley <lv@gentoo.org> | 2004-09-05 16:34:39 +0000 |
commit | b0cd369a2c66eae43888d625d856f89915ce1ac9 (patch) | |
tree | 401e83436a915f5a02b26904722ffab4f5c09fbe /sys-libs/libstdc++-v3 | |
parent | misc fixes required to convert sys-libs/libstdc++-v3 over to using the toolch... (diff) | |
download | gentoo-2-b0cd369a2c66eae43888d625d856f89915ce1ac9.tar.gz gentoo-2-b0cd369a2c66eae43888d625d856f89915ce1ac9.tar.bz2 gentoo-2-b0cd369a2c66eae43888d625d856f89915ce1ac9.zip |
new libstdc++-v3 ebuild with stack smashing protection. converted to using toolchain.eclass
Diffstat (limited to 'sys-libs/libstdc++-v3')
-rw-r--r-- | sys-libs/libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | sys-libs/libstdc++-v3/Manifest | 9 | ||||
-rw-r--r-- | sys-libs/libstdc++-v3/files/digest-libstdc++-v3-3.3.4-r1 | 2 | ||||
-rw-r--r-- | sys-libs/libstdc++-v3/libstdc++-v3-3.3.4-r1.ebuild | 131 |
4 files changed, 146 insertions, 4 deletions
diff --git a/sys-libs/libstdc++-v3/ChangeLog b/sys-libs/libstdc++-v3/ChangeLog index 32320631d11f..3c514051be49 100644 --- a/sys-libs/libstdc++-v3/ChangeLog +++ b/sys-libs/libstdc++-v3/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-libs/libstdc++-v3 # Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/ChangeLog,v 1.23 2004/09/03 18:24:08 pvdabeel Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libstdc++-v3/ChangeLog,v 1.24 2004/09/05 16:34:39 lv Exp $ + +*libstdc++-v3-3.3.4-r1 (05 Sep 2004) + + 05 Sep 2004; Travis Tilley <lv@gentoo.org> +libstdc++-v3-3.3.4-r1.ebuild: + added stack smashing protection and converted the ebuild over to using the new + toolchain.eclass 03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org> libstdc++-v3-3.3.3-r1.ebuild: diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest index d8c80c4c7341..0884f77a0b3d 100644 --- a/sys-libs/libstdc++-v3/Manifest +++ b/sys-libs/libstdc++-v3/Manifest @@ -1,7 +1,10 @@ -MD5 6ef3b97a4c2b310e739a17853c8c6a5f ChangeLog 3706 MD5 5029c9bfb023c2edf837e23bbf03ef93 libstdc++-v3-3.3.3-r1.ebuild 6503 MD5 d23ea34903cd7ac097e17b7d9098c88a libstdc++-v3-3.3.4.ebuild 6534 +MD5 6ef3b97a4c2b310e739a17853c8c6a5f ChangeLog 3706 MD5 b6c1db1060c4e856b248a22adec1ff53 metadata.xml 220 -MD5 14f4d6619c938dbb907e2420c0eeefd9 files/digest-libstdc++-v3-3.3.3-r1 64 -MD5 4068b84d9ce9d440b063718549cfc354 files/digest-libstdc++-v3-3.3.4 64 +MD5 ae8517ba502b5a31ed83dbdd7e0b0709 .libstdc++-v3-3.3.4-r1.ebuild.swp 20480 +MD5 4d30aa77198ae84ef32bdb83bd60426c libstdc++-v3-3.3.4-r1.ebuild 3342 MD5 b2a96584f4cee72362695ba44c911c40 files/libstdc++_amd64_multilib_hack.patch 350 +MD5 c263049b090c1aad375bf722001a2708 files/digest-libstdc++-v3-3.3.4 211 +MD5 14f4d6619c938dbb907e2420c0eeefd9 files/digest-libstdc++-v3-3.3.3-r1 64 +MD5 7b6b2c30c0686800de46293052e071d5 files/digest-libstdc++-v3-3.3.4-r1 132 diff --git a/sys-libs/libstdc++-v3/files/digest-libstdc++-v3-3.3.4-r1 b/sys-libs/libstdc++-v3/files/digest-libstdc++-v3-3.3.4-r1 new file mode 100644 index 000000000000..3a291b99359c --- /dev/null +++ b/sys-libs/libstdc++-v3/files/digest-libstdc++-v3-3.3.4-r1 @@ -0,0 +1,2 @@ +MD5 a1c267b34f05c8660b24251865614d8b gcc-3.3.4.tar.bz2 23331664 +MD5 c24398a6d67954d467cbf2fc6c9dc3f9 protector-3.3.2-2.tar.gz 27258 diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.4-r1.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.4-r1.ebuild new file mode 100644 index 000000000000..63d2a6e67fa7 --- /dev/null +++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.4-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2004 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.4-r1.ebuild,v 1.1 2004/09/05 16:34:39 lv Exp $ + +inherit eutils flag-o-matic libtool gnuconfig toolchain + +DESCRIPTION="Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++" +HOMEPAGE="http://gcc.gnu.org/libstdc++/" +LICENSE="GPL-2 LGPL-2.1" +#KEYWORDS="-* ~x86 ~mips ~amd64 ~ppc64 ~ppc" +# just until i know for sure the toolchain eclass is done +KEYWORDS="-*" + + +PP_VER="3_3_2" +PP_FVER="${PP_VER//_/.}-2" +GCC_MANPAGE_VERSION="none" + +SRC_URI="$(get_gcc_src_uri)" +S="$(gcc_get_s_dir)" + + +if [ "${CHOST}" == "${CCHOST}" ] +then + SLOT="3.3.3" +else + SLOT="${CCHOST}-3.3.3" +fi + +DEPEND="virtual/libc + !nptl? ( !uclibc? ( >=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? ( !uclibc? ( >=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" + + +do_filter_flags() { + declare setting + + strip-flags + + # In general gcc does not like optimization, and add -O2 where + # it is safe. This is especially true for gcc 3.3 + 3.4 + replace-flags -O? -O2 + + # we need to filter the 3.4 specific amd64 -marchs + filter-flags -march=k8 + filter-flags -march=athlon64 + filter-flags -march=opteron + + # gcc 3.3 doesn't support -march=pentium-m + replace-flags -march=pentium-m -march=pentium3 + + # gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail + if use x86 || use amd64 ; then + setting="`get-flag mtune`" + [ ! -z "${setting}" ] && filter-flags -mtune="${setting}" + fi + + # xgcc wont understand gcc 3.4 flags... + filter-flags -fno-unit-at-a-time + filter-flags -funit-at-a-time + filter-flags -fweb + filter-flags -fno-web + + # xgcc isnt patched with the gcc symbol visibility patch + filter-flags -fvisibility-inlines-hidden + filter-flags -fvisibility=hidden + + # ...sure, why not? + strip-unsupported-flags +} + + +pkg_setup() { + gcc_setup_variables non-versioned +} + + +src_unpack() { + gcc_src_unpack +} + +src_compile() { + 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++..." + GCC_TARGET_NO_MULTILIB="true" + GCC_LANG="c,c++" + gcc_do_configure non-versioned + + touch ${S}/gcc/c-gperf.h + + einfo "Compiling libstdc++..." + gcc_do_make all-target-libstdc++-v3 +} + +src_install() { + einfo "Installing libstdc++..." + # Do the 'make install' from the build directory + cd ${WORKDIR}/build + S="${WORKDIR}/build" \ + make DESTDIR="${WORKDIR}/tmpimage" install-target-libstdc++-v3 || die + + # for some reason gcc insists on installing crap that has nothing to do + # with our target, so lets copy over what we actually want. + mkdir -p ${D}/${LOC}/$(get_libdir)/libstdc++-v3/ + cp -R ${WORKDIR}/tmpimage/usr/*/libstdc++.so.* ${D}/${LOC}/$(get_libdir)/libstdc++-v3/ + add_version_to_shared + + mkdir -p ${D}/etc/env.d/ + echo "LDPATH=\"${LOC}/$(get_libdir)/libstdc++-v3/\"" >> ${D}/etc/env.d/99libstdc++ +} |