summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-09-05 16:34:39 +0000
committerTravis Tilley <lv@gentoo.org>2004-09-05 16:34:39 +0000
commitb0cd369a2c66eae43888d625d856f89915ce1ac9 (patch)
tree401e83436a915f5a02b26904722ffab4f5c09fbe /sys-libs/libstdc++-v3
parentmisc fixes required to convert sys-libs/libstdc++-v3 over to using the toolch... (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--sys-libs/libstdc++-v3/Manifest9
-rw-r--r--sys-libs/libstdc++-v3/files/digest-libstdc++-v3-3.3.4-r12
-rw-r--r--sys-libs/libstdc++-v3/libstdc++-v3-3.3.4-r1.ebuild131
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++
+}