public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2017-08-06 10:05 Andreas Hüttel
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas Hüttel @ 2017-08-06 10:05 UTC (permalink / raw
  To: gentoo-commits

commit:     011cc2eeddbf56159e64e92787a0e8337ecf4e0a
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 10:04:42 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 10:05:05 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=011cc2ee

sys-libs/libstdc++-v3: Remove old

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 sys-libs/libstdc++-v3/Manifest                  |   1 -
 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild | 177 ------------------------
 2 files changed, 178 deletions(-)

diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest
index ee4212437ab..6e4a5d2c2c1 100644
--- a/sys-libs/libstdc++-v3/Manifest
+++ b/sys-libs/libstdc++-v3/Manifest
@@ -1,3 +1,2 @@
-DIST gcc-3.3.6-patches-1.6.tar.bz2 48814 SHA256 c692f8f00d16947e13dd86ca974e419c35d1befee9ee915fa6c50a741487ef63 SHA512 d40fbabbb7ed9ecc660f191bea1f56dd607a7aa978ecb4cb57b2fcc0dc3c57e6f3bda33ae012ab0f119615097c54651b8b8efe06ba252327ffb8affebab07af2 WHIRLPOOL 821003faa9953e8443a37e07fc5b5e04fe538fd79873b68ce413db151037de08e77558ca0751155248183af183e3e698bcba25efa4598dbb812973143888bb81
 DIST gcc-3.3.6-patches-1.9.tar.bz2 51760 SHA256 9759a4dc139c9c739a179fdabff484c8b2d036707f0be03ca54fdb7f7d4ffdb4 SHA512 306220c537c5cd90af7638431e6547ee9a80199c384629b5fbda06c28b2d6168fcf1dd448c0e178b104f41e03a8ebda4f389489d205b9e66ade6637e4747196c WHIRLPOOL 0a49ae8fe42f24c8c0e1a9d7671c462219e501bbe2fb27c78a723889cb084632899403d78230e7618899d2cb639bdeada0d5c577949a87c1d249891cd22a5b01
 DIST gcc-3.3.6.tar.bz2 23972413 SHA256 1c1aa533c67e9da5e55ed4f5736258dc753466bd716bdae3fb88fb66e6ff1d7f SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed WHIRLPOOL 27372f9d12cdedaad38e75c3efea3430d6873d92f85ec0024e2cc5ad986c710ed940edecc926a4c25ce14d14cddc1aec3eb35ac2c29e8c85309685d525a99cf1

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild
deleted file mode 100644
index 5463a127c38..00000000000
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-inherit eutils flag-o-matic libtool multilib
-
-transform_known_flags() {
-	declare setting
-
-	# and on x86, we just need to filter the 3.4 specific amd64 -marchs
-	replace-cpu-flags k8 athlon64 opteron x86-64
-
-	# gcc 3.3 doesn't support -march=pentium-m
-	replace-cpu-flags pentium-m pentium3m pentium3
-
-	#GCC 3.3 does not understand G3, G4, G5 on ppc
-	replace-cpu-flags G3 750
-	replace-cpu-flags G4 7400
-	replace-cpu-flags G5 7400
-}
-
-is_arch_allowed() {
-	i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \
-		winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \
-		nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \
-		athlon-mp"
-
-	for proc in ${i386_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \
-		r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \
-		r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1"
-
-	for proc in ${mips_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	rs6000_processor_table="common power power2 power3 power4 powerpc \
-		powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \
-		603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \
-		860"
-
-	for proc in ${rs6000_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	return 1
-}
-
-do_filter_flags() {
-	declare setting
-
-	# 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
-
-	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
-	setting="`get-flag mtune`"
-	[ ! -z "${setting}" ] && filter-flags -mtune="${setting}"
-
-	# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used
-	# the compiler incorrectly assumes the code you are about to build
-	# is 32 bit
-	use ppc64 && setting="`get-flag mcpu`"
-	[ ! -z "${setting}" ] && filter-flags -mcpu="${setting}"
-
-	# only allow the flags that we -know- are supported
-	transform_known_flags
-	setting="`get-flag march`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
-	fi
-	setting="`get-flag mcpu`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -mcpu="${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
-	filter-flags -mno-tls-direct-seg-refs
-
-	# xgcc isnt patched with propolice
-	filter-flags -fstack-protector-all
-	filter-flags -fno-stack-protector-all
-	filter-flags -fstack-protector
-	filter-flags -fno-stack-protector
-
-	# xgcc isnt patched with the gcc symbol visibility patch
-	filter-flags -fvisibility-inlines-hidden
-	filter-flags -fvisibility=hidden
-
-	# Bug #269433 & #290202
-	filter-flags -fno-strict-overflow
-	filter-flags -fstrict-overflow
-
-	# Bug #442784
-	filter-flags '-W*'
-
-	# ...sure, why not?
-	strip-unsupported-flags
-
-	strip-flags
-}
-
-PATCH_VER="1.6"
-
-DESCRIPTION="Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++"
-HOMEPAGE="https://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 ~mips ppc -ppc64 sparc x86 ~x86-fbsd"
-IUSE="multilib nls"
-
-S=${WORKDIR}/gcc-${PV}
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
-	elibtoolize --portage --shallow
-	./contrib/gcc_update --touch
-	mkdir -p "${WORKDIR}"/build
-
-	if use multilib ; then
-		# ugh, this shit has to match the way we've hacked gcc else
-		# the build falls apart #259215
-		sed -i \
-			-e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \
-			"${S}"/gcc/config/i386/t-linux64 \
-			|| die "sed failed!"
-	fi
-}
-
-src_compile() {
-	cd "${WORKDIR}"/build
-	do_filter_flags
-	ECONF_SOURCE=${S}
-	econf \
-		--enable-shared \
-		--with-system-zlib \
-		--enable-languages=c++ \
-		--enable-threads=posix \
-		--enable-long-long \
-		--disable-checking \
-		--enable-cstdio=stdio \
-		--enable-__cxa_atexit \
-		$(use_enable multilib) \
-		$(use_enable nls) \
-		$(use_with !nls included-gettext) \
-		|| die
-
-	touch "${S}"/gcc/c-gperf.h
-
-	emake all-target-libstdc++-v3 || die
-}
-
-src_install() {
-	emake -j1 \
-		-C "${WORKDIR}"/build \
-		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
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2017-09-02  8:08 David Seifert
  0 siblings, 0 replies; 12+ messages in thread
From: David Seifert @ 2017-09-02  8:08 UTC (permalink / raw
  To: gentoo-commits

commit:     01e9edb299858c6d9f57f1f332d5b41b6f4833ba
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  2 07:54:11 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Sep  2 07:56:32 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01e9edb2

sys-libs/libstdc++-v3: Filter '-fdiagnostics-color' from CFLAGS

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
index 8223a953337..53ec501f081 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 inherit eutils flag-o-matic libtool multilib
@@ -101,6 +101,7 @@ do_filter_flags() {
 	filter-flags '-W*'
 
 	filter-flags -frecord-gcc-switches
+	filter-flags '-fdiagnostics-color*'
 
 	# ...sure, why not?
 	strip-unsupported-flags
@@ -110,7 +111,7 @@ do_filter_flags() {
 
 PATCH_VER="1.9"
 
-DESCRIPTION="Compatibility package for running binaries linked against a pre gcc 3.4 libstdc++"
+DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
 HOMEPAGE="https://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"


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2019-02-17 10:01 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-02-17 10:01 UTC (permalink / raw
  To: gentoo-commits

commit:     c493332f845a954ff0174577678a2dbff19f7bea
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 17 09:55:28 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Feb 17 10:01:23 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c493332f

sys-libs/libstdc++-v3: bump up to EAPI=6

Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild | 189 +++++++++++++++++++++
 1 file changed, 189 insertions(+)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
new file mode 100644
index 00000000000..463c97dfdc0
--- /dev/null
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils flag-o-matic libtool multilib
+
+PATCH_VER="1.10"
+
+DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
+HOMEPAGE="https://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 ~mips ~ppc -ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="multilib nls"
+
+DEPEND="sys-devel/bison"
+RDEPEND=""
+
+transform_known_flags() {
+	declare setting
+
+	# and on x86, we just need to filter the 3.4 specific amd64 -marchs
+	replace-cpu-flags k8 athlon64 opteron x86-64
+
+	# gcc 3.3 doesn't support -march=pentium-m
+	replace-cpu-flags pentium-m pentium3m pentium3
+
+	#GCC 3.3 does not understand G3, G4, G5 on ppc
+	replace-cpu-flags G3 750
+	replace-cpu-flags G4 7400
+	replace-cpu-flags G5 7400
+
+	filter-flags -fdiagnostics-show-option
+}
+
+is_arch_allowed() {
+	i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \
+		winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \
+		nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \
+		athlon-mp"
+
+	for proc in ${i386_processor_table} ; do
+		[ "${proc}" == "${1}" ] && return 0
+	done
+
+	mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \
+		r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \
+		r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1"
+
+	for proc in ${mips_processor_table} ; do
+		[ "${proc}" == "${1}" ] && return 0
+	done
+
+	rs6000_processor_table="common power power2 power3 power4 powerpc \
+		powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \
+		603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \
+		860"
+
+	for proc in ${rs6000_processor_table} ; do
+		[ "${proc}" == "${1}" ] && return 0
+	done
+
+	return 1
+}
+
+do_filter_flags() {
+	declare setting
+
+	# 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
+
+	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
+	setting="`get-flag mtune`"
+	[ ! -z "${setting}" ] && filter-flags -mtune="${setting}"
+
+	# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used
+	# the compiler incorrectly assumes the code you are about to build
+	# is 32 bit
+	use ppc64 && setting="`get-flag mcpu`"
+	[ ! -z "${setting}" ] && filter-flags -mcpu="${setting}"
+
+	# only allow the flags that we -know- are supported
+	transform_known_flags
+	setting="`get-flag march`"
+	if [ ! -z "${setting}" ] ; then
+		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
+	fi
+	setting="`get-flag mcpu`"
+	if [ ! -z "${setting}" ] ; then
+		is_arch_allowed "${setting}" || filter-flags -mcpu="${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
+	filter-flags -mno-tls-direct-seg-refs
+
+	# xgcc isnt patched with propolice
+	filter-flags -fstack-protector-all
+	filter-flags -fno-stack-protector-all
+	filter-flags -fstack-protector
+	filter-flags -fno-stack-protector
+
+	# xgcc isnt patched with the gcc symbol visibility patch
+	filter-flags -fvisibility-inlines-hidden
+	filter-flags -fvisibility=hidden
+
+	# Bug #269433 & #290202
+	filter-flags -fno-strict-overflow
+	filter-flags -fstrict-overflow
+
+	# Bug #442784
+	filter-flags '-W*'
+
+	filter-flags -frecord-gcc-switches
+	filter-flags '-fdiagnostics-color*'
+
+	# ...sure, why not?
+	strip-unsupported-flags
+
+	strip-flags
+}
+
+S=${WORKDIR}/gcc-${PV}
+
+src_prepare() {
+	EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
+
+	default
+
+	elibtoolize --portage --shallow
+	./contrib/gcc_update --touch
+
+	if use multilib && [[ ${SYMLINK_LIB} == "yes" ]] ; then
+		# ugh, this shit has to match the way we've hacked gcc else
+		# the build falls apart #259215
+		sed -i \
+			-e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \
+			"${S}"/gcc/config/i386/t-linux64 \
+			|| die "sed failed!"
+	fi
+}
+
+src_configure() {
+	mkdir -p "${WORKDIR}"/build
+	cd "${WORKDIR}"/build
+	do_filter_flags
+	ECONF_SOURCE=${S} \
+	econf \
+		--enable-shared \
+		--with-system-zlib \
+		--enable-languages=c++ \
+		--enable-threads=posix \
+		--enable-long-long \
+		--disable-checking \
+		--enable-cstdio=stdio \
+		--enable-__cxa_atexit \
+		$(use_enable multilib) \
+		$(use_enable nls) \
+		$(use_with !nls included-gettext)
+
+	touch "${S}"/gcc/c-gperf.h
+}
+
+src_compile() {
+	emake -C "${WORKDIR}"/build all-target-libstdc++-v3
+}
+
+src_install() {
+	emake -j1 \
+		-C "${WORKDIR}"/build \
+		DESTDIR="${D}" \
+		install-target-libstdc++-v3
+
+	# 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
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2019-02-17 10:23 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-02-17 10:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ef75d16985c942c1856bcbdaf1c15d222fe1c1ee
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 17 10:23:33 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Feb 17 10:23:33 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef75d169

sys-libs/libstdc++-v3: filter out unsupported -fstack-check, bug #610064

gcc-3.3 does not support -fstack-check* flags.

Reported-by: Toralf Förster
Closes: https://bugs.gentoo.org/610064
Package-Manager: Portage-2.3.60, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild | 5 ++++-
 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild | 3 +++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
index 65b417750fc..76f9525d87d 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=0
@@ -107,6 +107,9 @@ do_filter_flags() {
 	filter-flags -frecord-gcc-switches
 	filter-flags '-fdiagnostics-color*'
 
+	# Bug #610064
+	filter-flags '-fstack-check*'
+
 	# ...sure, why not?
 	strip-unsupported-flags
 

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
index 463c97dfdc0..b89d40642ec 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
@@ -122,6 +122,9 @@ do_filter_flags() {
 	filter-flags -frecord-gcc-switches
 	filter-flags '-fdiagnostics-color*'
 
+	# Bug #610064
+	filter-flags '-fstack-check*'
+
 	# ...sure, why not?
 	strip-unsupported-flags
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2019-09-28 13:10 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-09-28 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     67bc0d1d03b1fd7be475343c632cbeeab430486f
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 28 13:06:38 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Sep 28 13:06:38 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67bc0d1d

sys-libs/libstdc++-v3: drop old

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild | 190 ---------------------
 1 file changed, 190 deletions(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
deleted file mode 100644
index 76f9525d87d..00000000000
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
+++ /dev/null
@@ -1,190 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils flag-o-matic libtool multilib
-
-transform_known_flags() {
-	declare setting
-
-	# and on x86, we just need to filter the 3.4 specific amd64 -marchs
-	replace-cpu-flags k8 athlon64 opteron x86-64
-
-	# gcc 3.3 doesn't support -march=pentium-m
-	replace-cpu-flags pentium-m pentium3m pentium3
-
-	#GCC 3.3 does not understand G3, G4, G5 on ppc
-	replace-cpu-flags G3 750
-	replace-cpu-flags G4 7400
-	replace-cpu-flags G5 7400
-
-	filter-flags -fdiagnostics-show-option
-}
-
-is_arch_allowed() {
-	i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \
-		winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \
-		nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \
-		athlon-mp"
-
-	for proc in ${i386_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \
-		r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \
-		r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1"
-
-	for proc in ${mips_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	rs6000_processor_table="common power power2 power3 power4 powerpc \
-		powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \
-		603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \
-		860"
-
-	for proc in ${rs6000_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	return 1
-}
-
-do_filter_flags() {
-	declare setting
-
-	# 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
-
-	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
-	setting="`get-flag mtune`"
-	[ ! -z "${setting}" ] && filter-flags -mtune="${setting}"
-
-	# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used
-	# the compiler incorrectly assumes the code you are about to build
-	# is 32 bit
-	use ppc64 && setting="`get-flag mcpu`"
-	[ ! -z "${setting}" ] && filter-flags -mcpu="${setting}"
-
-	# only allow the flags that we -know- are supported
-	transform_known_flags
-	setting="`get-flag march`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
-	fi
-	setting="`get-flag mcpu`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -mcpu="${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
-	filter-flags -mno-tls-direct-seg-refs
-
-	# xgcc isnt patched with propolice
-	filter-flags -fstack-protector-all
-	filter-flags -fno-stack-protector-all
-	filter-flags -fstack-protector
-	filter-flags -fno-stack-protector
-
-	# xgcc isnt patched with the gcc symbol visibility patch
-	filter-flags -fvisibility-inlines-hidden
-	filter-flags -fvisibility=hidden
-
-	# Bug #269433 & #290202
-	filter-flags -fno-strict-overflow
-	filter-flags -fstrict-overflow
-
-	# Bug #442784
-	filter-flags '-W*'
-
-	filter-flags -frecord-gcc-switches
-	filter-flags '-fdiagnostics-color*'
-
-	# Bug #610064
-	filter-flags '-fstack-check*'
-
-	# ...sure, why not?
-	strip-unsupported-flags
-
-	strip-flags
-}
-
-PATCH_VER="1.10"
-
-DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
-HOMEPAGE="https://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 ~mips ppc -ppc64 sparc x86 ~x86-fbsd"
-IUSE="multilib nls"
-
-DEPEND="sys-devel/bison"
-RDEPEND=""
-
-S=${WORKDIR}/gcc-${PV}
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
-
-	elibtoolize --portage --shallow
-	./contrib/gcc_update --touch
-	mkdir -p "${WORKDIR}"/build
-
-	if use multilib && [[ ${SYMLINK_LIB} == "yes" ]] ; then
-		# ugh, this shit has to match the way we've hacked gcc else
-		# the build falls apart #259215
-		sed -i \
-			-e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \
-			"${S}"/gcc/config/i386/t-linux64 \
-			|| die "sed failed!"
-	fi
-}
-
-src_compile() {
-	cd "${WORKDIR}"/build
-	do_filter_flags
-	ECONF_SOURCE=${S} \
-	econf \
-		--enable-shared \
-		--with-system-zlib \
-		--enable-languages=c++ \
-		--enable-threads=posix \
-		--enable-long-long \
-		--disable-checking \
-		--enable-cstdio=stdio \
-		--enable-__cxa_atexit \
-		$(use_enable multilib) \
-		$(use_enable nls) \
-		$(use_with !nls included-gettext)
-
-	touch "${S}"/gcc/c-gperf.h
-
-	emake all-target-libstdc++-v3 || die
-}
-
-src_install() {
-	emake -j1 \
-		-C "${WORKDIR}"/build \
-		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
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2019-09-28 13:10 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2019-09-28 13:10 UTC (permalink / raw
  To: gentoo-commits

commit:     cee306f864690142e7c447a5d5f1e7efedaf8567
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 28 13:07:30 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Sep 28 13:07:30 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cee306f8

sys-libs/libstdc++-v3: drop most keywords

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
index b89d40642ec..1860117b0d5 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="5"
-KEYWORDS="~amd64 ~mips ~ppc -ppc64 ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
 IUSE="multilib nls"
 
 DEPEND="sys-devel/bison"


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2021-07-24  9:22 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2021-07-24  9:22 UTC (permalink / raw
  To: gentoo-commits

commit:     41fa2e689f53efe62986696bf4324aca16bc874a
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 24 09:21:45 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jul 24 09:21:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41fa2e68

sys-libs/libstdc++-v3: use user's AR and NM

Reported-by: Agostino Sarubbo
Closes: https://bugs.gentoo.org/724726
Closes: https://bugs.gentoo.org/792987
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild
index 2e11d8135f0..0bf6a4ade8c 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=6
 
-inherit epatch flag-o-matic libtool multilib
+inherit epatch flag-o-matic libtool multilib toolchain-funcs
 
 PATCH_VER="1.10"
 
@@ -151,6 +151,8 @@ src_prepare() {
 			"${S}"/gcc/config/i386/t-linux64 \
 			|| die "sed failed!"
 	fi
+
+	tc-export AR CC RANLIB NM
 }
 
 src_configure() {
@@ -175,12 +177,17 @@ src_configure() {
 }
 
 src_compile() {
-	emake -C "${WORKDIR}"/build all-target-libstdc++-v3
+	emake \
+		-C "${WORKDIR}"/build all-target-libstdc++-v3 \
+		AR="$(tc-getAR)" \
+		NM="$(tc-getNM)"
 }
 
 src_install() {
 	emake -j1 \
 		-C "${WORKDIR}"/build \
+		AR="$(tc-getAR)" \
+		NM="$(tc-getNM)" \
 		DESTDIR="${D}" \
 		install-target-libstdc++-v3
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2021-07-24  9:57 Sergei Trofimovich
  0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2021-07-24  9:57 UTC (permalink / raw
  To: gentoo-commits

commit:     57b8b219ded860cbb2a9857fd172878442f609ba
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 24 09:56:25 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jul 24 09:57:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57b8b219

sys-libs/libstdc++-v3: bump up to EAPI=8

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-libs/libstdc++-v3/Manifest                     |   1 +
 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild | 201 +++++++++++++++++++++
 2 files changed, 202 insertions(+)

diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest
index 816a3df55a0..584ab64a4d9 100644
--- a/sys-libs/libstdc++-v3/Manifest
+++ b/sys-libs/libstdc++-v3/Manifest
@@ -1,2 +1,3 @@
 DIST gcc-3.3.6-patches-1.10.tar.bz2 53739 BLAKE2B d22772d30c432669299e3e6df350920408c510a241a20e6795dcc680227342a16c3b6d2e477a17d6c49794005b42972ed30b4efe5b2d69398d283f50efdeb459 SHA512 be6cc8fae217f789982e324e0d3ad12d527e43ca4c168bce613397aaf3d86219b125e7b39c2b236638a68112cfee0e06c1b297fead712d92b3923b7195299d0a
+DIST gcc-3.3.6-patches-4.tar.bz2 53437 BLAKE2B 372ff1fcfcfacca43b420d2cda7fccb2ede4917408e1fcceb6c094694de8ae21148fa9c5ab8663cf6fb9ad858e3d0cbb3f20c91020db7b627828403444c2fd66 SHA512 1ff4563956d2f3af1240a14cd1ec126ff75dcf24e1cec39d32a17d6be92b94aeb081605ceb04b138ba905cea8ccbe204dce4b42a02ef55383fcfa91643f73faf
 DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
new file mode 100644
index 00000000000..f120d101172
--- /dev/null
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic libtool multilib toolchain-funcs
+
+PATCH_VER="4"
+
+DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
+HOMEPAGE="https://gcc.gnu.org/libstdc++/"
+SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2
+	https://dev.gentoo.org/~slyfox/distfiles/gcc-${PV}-patches-${PATCH_VER}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="5"
+KEYWORDS="~amd64 ~x86"
+IUSE="multilib nls"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="
+	${RDEPEND}
+	sys-devel/bison"
+
+transform_known_flags() {
+	declare setting
+
+	# and on x86, we just need to filter the 3.4 specific amd64 -marchs
+	replace-cpu-flags k8 athlon64 opteron x86-64
+
+	# gcc 3.3 doesn't support -march=pentium-m
+	replace-cpu-flags pentium-m pentium3m pentium3
+
+	#GCC 3.3 does not understand G3, G4, G5 on ppc
+	replace-cpu-flags G3 750
+	replace-cpu-flags G4 7400
+	replace-cpu-flags G5 7400
+
+	filter-flags -fdiagnostics-show-option
+}
+
+is_arch_allowed() {
+	i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \
+		winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \
+		nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \
+		athlon-mp"
+
+	for proc in ${i386_processor_table} ; do
+		[[ "${proc}" == "${1}" ]] && return 0
+	done
+
+	mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \
+		r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \
+		r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1"
+
+	for proc in ${mips_processor_table} ; do
+		[[ "${proc}" == "${1}" ]] && return 0
+	done
+
+	rs6000_processor_table="common power power2 power3 power4 powerpc \
+		powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \
+		603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \
+		860"
+
+	for proc in ${rs6000_processor_table} ; do
+		[[ "${proc}" == "${1}" ]] && return 0
+	done
+
+	return 1
+}
+
+do_filter_flags() {
+	declare setting
+
+	# 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
+
+	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
+	setting="`get-flag mtune`"
+	[[ ! -z "${setting}" ]] && filter-flags -mtune="${setting}"
+
+	# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used
+	# the compiler incorrectly assumes the code you are about to build
+	# is 32 bit
+	use ppc64 && setting="`get-flag mcpu`"
+	[[ ! -z "${setting}" ]] && filter-flags -mcpu="${setting}"
+
+	# only allow the flags that we -know- are supported
+	transform_known_flags
+	setting="`get-flag march`"
+	if [[ ! -z "${setting}" ]] ; then
+		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
+	fi
+	setting="`get-flag mcpu`"
+	if [[ ! -z "${setting}" ]] ; then
+		is_arch_allowed "${setting}" || filter-flags -mcpu="${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
+	filter-flags -mno-tls-direct-seg-refs
+
+	# xgcc isnt patched with propolice
+	filter-flags -fstack-protector-all
+	filter-flags -fno-stack-protector-all
+	filter-flags -fstack-protector
+	filter-flags -fno-stack-protector
+
+	# xgcc isnt patched with the gcc symbol visibility patch
+	filter-flags -fvisibility-inlines-hidden
+	filter-flags -fvisibility=hidden
+
+	# Bug #269433 & #290202
+	filter-flags -fno-strict-overflow
+	filter-flags -fstrict-overflow
+
+	# Bug #442784
+	filter-flags '-W*'
+
+	filter-flags -frecord-gcc-switches
+	filter-flags '-fdiagnostics-color*'
+
+	# Bug #610064
+	filter-flags '-fstack-check*'
+
+	# ...sure, why not?
+	strip-unsupported-flags
+
+	strip-flags
+}
+
+S=${WORKDIR}/gcc-${PV}
+
+src_prepare() {
+	eapply "${WORKDIR}"/patch/*.patch
+
+	default
+
+	elibtoolize --portage --shallow
+	./contrib/gcc_update --touch
+
+	if use multilib && [[ ${SYMLINK_LIB} == "yes" ]] ; then
+		# ugh, this shit has to match the way we've hacked gcc else
+		# the build falls apart #259215
+		sed -i \
+			-e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \
+			"${S}"/gcc/config/i386/t-linux64 \
+			|| die "sed failed!"
+	fi
+
+	tc-export AR CC RANLIB NM
+}
+
+src_configure() {
+	mkdir -p "${WORKDIR}"/build
+	cd "${WORKDIR}"/build
+	do_filter_flags
+	ECONF_SOURCE=${S} \
+	econf \
+		--enable-shared \
+		--with-system-zlib \
+		--enable-languages=c++ \
+		--enable-threads=posix \
+		--enable-long-long \
+		--disable-checking \
+		--enable-cstdio=stdio \
+		--enable-__cxa_atexit \
+		$(use_enable multilib) \
+		$(use_enable nls) \
+		$(use_with !nls included-gettext)
+
+	touch "${S}"/gcc/c-gperf.h
+}
+
+src_compile() {
+	emake \
+		-C "${WORKDIR}"/build all-target-libstdc++-v3 \
+		AR="$(tc-getAR)" \
+		NM="$(tc-getNM)"
+}
+
+src_install() {
+	emake -j1 \
+		-C "${WORKDIR}"/build \
+		AR="$(tc-getAR)" \
+		NM="$(tc-getNM)" \
+		DESTDIR="${D}" \
+		install-target-libstdc++-v3
+
+	# 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
+}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2021-10-01  7:14 Sam James
  0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2021-10-01  7:14 UTC (permalink / raw
  To: gentoo-commits

commit:     0b10549d295977838f68726e95cf43c30e7bae3f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  1 07:13:32 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct  1 07:13:32 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b10549d

sys-libs/libstdc++-v3: update SRC_URI

slyfox@ has retired and I've archived the distfiles
in my devspace.

Package-Manager: Portage-3.0.26, Repoman-3.0.3
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
index f120d101172..9650ef069fa 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
@@ -10,7 +10,7 @@ PATCH_VER="4"
 DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
 HOMEPAGE="https://gcc.gnu.org/libstdc++/"
 SRC_URI="ftp://gcc.gnu.org/pub/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2
-	https://dev.gentoo.org/~slyfox/distfiles/gcc-${PV}-patches-${PATCH_VER}.tar.bz2"
+	https://dev.gentoo.org/~sam/distfiles/gcc-${PV}-patches-${PATCH_VER}.tar.bz2"
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="5"


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2022-04-17 18:32 Sam James
  0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2022-04-17 18:32 UTC (permalink / raw
  To: gentoo-commits

commit:     d454d175153ef74e59707dc1efcf546b90773853
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 17 18:24:23 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Apr 17 18:24:23 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d454d175

sys-libs/libstdc++-v3: drop 3.3.6-r3

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libstdc++-v3/Manifest                     |   1 -
 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild | 201 ---------------------
 2 files changed, 202 deletions(-)

diff --git a/sys-libs/libstdc++-v3/Manifest b/sys-libs/libstdc++-v3/Manifest
index 584ab64a4d90..614374a5e9d0 100644
--- a/sys-libs/libstdc++-v3/Manifest
+++ b/sys-libs/libstdc++-v3/Manifest
@@ -1,3 +1,2 @@
-DIST gcc-3.3.6-patches-1.10.tar.bz2 53739 BLAKE2B d22772d30c432669299e3e6df350920408c510a241a20e6795dcc680227342a16c3b6d2e477a17d6c49794005b42972ed30b4efe5b2d69398d283f50efdeb459 SHA512 be6cc8fae217f789982e324e0d3ad12d527e43ca4c168bce613397aaf3d86219b125e7b39c2b236638a68112cfee0e06c1b297fead712d92b3923b7195299d0a
 DIST gcc-3.3.6-patches-4.tar.bz2 53437 BLAKE2B 372ff1fcfcfacca43b420d2cda7fccb2ede4917408e1fcceb6c094694de8ae21148fa9c5ab8663cf6fb9ad858e3d0cbb3f20c91020db7b627828403444c2fd66 SHA512 1ff4563956d2f3af1240a14cd1ec126ff75dcf24e1cec39d32a17d6be92b94aeb081605ceb04b138ba905cea8ccbe204dce4b42a02ef55383fcfa91643f73faf
 DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild
deleted file mode 100644
index 0bf6a4ade8c8..000000000000
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r3.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit epatch flag-o-matic libtool multilib toolchain-funcs
-
-PATCH_VER="1.10"
-
-DESCRIPTION="Compatibility package for binaries linked against a pre gcc 3.4 libstdc++"
-HOMEPAGE="https://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 ~x86"
-IUSE="multilib nls"
-
-RDEPEND="sys-libs/zlib"
-DEPEND="
-	${RDEPEND}
-	sys-devel/bison"
-
-transform_known_flags() {
-	declare setting
-
-	# and on x86, we just need to filter the 3.4 specific amd64 -marchs
-	replace-cpu-flags k8 athlon64 opteron x86-64
-
-	# gcc 3.3 doesn't support -march=pentium-m
-	replace-cpu-flags pentium-m pentium3m pentium3
-
-	#GCC 3.3 does not understand G3, G4, G5 on ppc
-	replace-cpu-flags G3 750
-	replace-cpu-flags G4 7400
-	replace-cpu-flags G5 7400
-
-	filter-flags -fdiagnostics-show-option
-}
-
-is_arch_allowed() {
-	i386_processor_table="i386 i486 i586 pentium pentium-mmx winchip-c6 \
-		winchip2 c3 i686 pentiumpro pentium2 pentium3 pentium4 prescott \
-		nocona k6 k6-2 k6-3 athlon athlon-tbird x86-64 athlon-4 athlon-xp \
-		athlon-mp"
-
-	for proc in ${i386_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	mips_processor_table="mips1 mips2 mips3 mips4 mips32 mips64 r3000 r2000 \
-		r3900 r6000 r4000 vr4100 vr4111 vr4120 vr4300 r4400 r4600 orion \
-		r4650 r8000 vr5000 vr5400 vr5500 4kc 4kp 5kc 20kc sr71000 sb1"
-
-	for proc in ${mips_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	rs6000_processor_table="common power power2 power3 power4 powerpc \
-		powerpc64 rios rios1 rsc rsc1 rios2 rs64a 401 403 405 505 601 602 \
-		603 603e ec603e 604 604e 620 630 740 750 7400 7450 8540 801 821 823 \
-		860"
-
-	for proc in ${rs6000_processor_table} ; do
-		[ "${proc}" == "${1}" ] && return 0
-	done
-
-	return 1
-}
-
-do_filter_flags() {
-	declare setting
-
-	# 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
-
-	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
-	setting="`get-flag mtune`"
-	[ ! -z "${setting}" ] && filter-flags -mtune="${setting}"
-
-	# in gcc 3.3 there is a bug on ppc64 where if -mcpu is used
-	# the compiler incorrectly assumes the code you are about to build
-	# is 32 bit
-	use ppc64 && setting="`get-flag mcpu`"
-	[ ! -z "${setting}" ] && filter-flags -mcpu="${setting}"
-
-	# only allow the flags that we -know- are supported
-	transform_known_flags
-	setting="`get-flag march`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
-	fi
-	setting="`get-flag mcpu`"
-	if [ ! -z "${setting}" ] ; then
-		is_arch_allowed "${setting}" || filter-flags -mcpu="${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
-	filter-flags -mno-tls-direct-seg-refs
-
-	# xgcc isnt patched with propolice
-	filter-flags -fstack-protector-all
-	filter-flags -fno-stack-protector-all
-	filter-flags -fstack-protector
-	filter-flags -fno-stack-protector
-
-	# xgcc isnt patched with the gcc symbol visibility patch
-	filter-flags -fvisibility-inlines-hidden
-	filter-flags -fvisibility=hidden
-
-	# Bug #269433 & #290202
-	filter-flags -fno-strict-overflow
-	filter-flags -fstrict-overflow
-
-	# Bug #442784
-	filter-flags '-W*'
-
-	filter-flags -frecord-gcc-switches
-	filter-flags '-fdiagnostics-color*'
-
-	# Bug #610064
-	filter-flags '-fstack-check*'
-
-	# ...sure, why not?
-	strip-unsupported-flags
-
-	strip-flags
-}
-
-S=${WORKDIR}/gcc-${PV}
-
-src_prepare() {
-	EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
-
-	default
-
-	elibtoolize --portage --shallow
-	./contrib/gcc_update --touch
-
-	if use multilib && [[ ${SYMLINK_LIB} == "yes" ]] ; then
-		# ugh, this shit has to match the way we've hacked gcc else
-		# the build falls apart #259215
-		sed -i \
-			-e 's:\(MULTILIB_OSDIRNAMES = \).*:\1../lib64 ../lib32:' \
-			"${S}"/gcc/config/i386/t-linux64 \
-			|| die "sed failed!"
-	fi
-
-	tc-export AR CC RANLIB NM
-}
-
-src_configure() {
-	mkdir -p "${WORKDIR}"/build
-	cd "${WORKDIR}"/build
-	do_filter_flags
-	ECONF_SOURCE=${S} \
-	econf \
-		--enable-shared \
-		--with-system-zlib \
-		--enable-languages=c++ \
-		--enable-threads=posix \
-		--enable-long-long \
-		--disable-checking \
-		--enable-cstdio=stdio \
-		--enable-__cxa_atexit \
-		$(use_enable multilib) \
-		$(use_enable nls) \
-		$(use_with !nls included-gettext)
-
-	touch "${S}"/gcc/c-gperf.h
-}
-
-src_compile() {
-	emake \
-		-C "${WORKDIR}"/build all-target-libstdc++-v3 \
-		AR="$(tc-getAR)" \
-		NM="$(tc-getNM)"
-}
-
-src_install() {
-	emake -j1 \
-		-C "${WORKDIR}"/build \
-		AR="$(tc-getAR)" \
-		NM="$(tc-getNM)" \
-		DESTDIR="${D}" \
-		install-target-libstdc++-v3
-
-	# 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
-}


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2024-01-08 12:28 Sam James
  0 siblings, 0 replies; 12+ messages in thread
From: Sam James @ 2024-01-08 12:28 UTC (permalink / raw
  To: gentoo-commits

commit:     f4ad9dd5fd25c929fb02634bac406126f45425f6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  8 12:09:39 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan  8 12:25:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4ad9dd5

sys-libs/libstdc++-v3: sys-devel/bison -> app-alternatives/yacc

All of these will be using app-alternatives/yacc anyway as they're not unsetting

YACC or LEX, so make the dep reflect reality.

(Included both YACC and LEX out of conservatism.)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
index 9650ef069fa5..7c20c6524879 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -20,7 +20,7 @@ IUSE="multilib nls"
 RDEPEND="sys-libs/zlib"
 DEPEND="
 	${RDEPEND}
-	sys-devel/bison"
+	app-alternatives/yacc"
 
 transform_known_flags() {
 	declare setting


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/
@ 2024-09-25  3:22 Eli Schwartz
  0 siblings, 0 replies; 12+ messages in thread
From: Eli Schwartz @ 2024-09-25  3:22 UTC (permalink / raw
  To: gentoo-commits

commit:     ac3c099a82ddf6c98eab39db95c31e7d7db5e7df
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 02:58:46 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 03:17:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac3c099a

sys-libs/libstdc++-v3: disable custom user flags entirely

This is ancient brittle code -- an ancient, unmaintained version of GCC.
It exists solely to provide access to an ancient, unmaintained version
of libstdc++.so for ancient, unmaintained binaries that cannot be
rebuilt.

It doesn't need to be fast, or have cool CFLAGS. People shouldn't even
be using it at all. The people who do use it care about compatibility
more than anything else, so successfully compiling it should be taken as
the gift that it is.

With that in mind, we basically strip all flags. We preserve some
existing logic to handle -march= values known to exist in this old gcc,
and we continue to support -O levels, but we go no further. It's
entirely impractical to support arbitrary flags, since every gcc release
adds more flags that old versions don't support and then this fails
because GCC 3's internal xgcc build cannot handle them.

We also take this opportunity to add a workaround for modern C. New
versions of GCC barf on some of the code here because it is not legal
C99, but again, the point of this package is to provide legacy
compatibility for ancient binaries, so... we assume if it ever worked
before, it still works. :) Thus, suppress the errors. In order to
suppress the errors, we make a wrapper script around the external
compiler (not the xgcc one) so that we can apply flags that only affect
modern compilers, and aren't parsed by xgcc which would choke on them
due to those flags being too new.

Closes: https://bugs.gentoo.org/879775
Closes: https://bugs.gentoo.org/919184
Closes: https://bugs.gentoo.org/832016
Closes: https://bugs.gentoo.org/923112
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild | 75 +++++++++++-----------
 1 file changed, 37 insertions(+), 38 deletions(-)

diff --git a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
index 7c20c6524879..9ebe0e98eb7e 100644
--- a/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
+++ b/sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r4.ebuild
@@ -70,11 +70,13 @@ is_arch_allowed() {
 }
 
 do_filter_flags() {
-	declare setting
+	declare setting newflags
 
 	# 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
+	if is-flagq -O?; then
+		newflags+=" -O2"
+	fi
 
 	# gcc 3.3 doesn't support -mtune on numerous archs, so xgcc will fail
 	setting="`get-flag mtune`"
@@ -90,47 +92,28 @@ do_filter_flags() {
 	transform_known_flags
 	setting="`get-flag march`"
 	if [[ ! -z "${setting}" ]] ; then
-		is_arch_allowed "${setting}" || filter-flags -march="${setting}"
+		is_arch_allowed "${setting}" && newflags+=" -march=${setting}"
 	fi
 	setting="`get-flag mcpu`"
 	if [[ ! -z "${setting}" ]] ; then
-		is_arch_allowed "${setting}" || filter-flags -mcpu="${setting}"
+		is_arch_allowed "${setting}" && newflags+=" -mcpu=${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
-	filter-flags -mno-tls-direct-seg-refs
-
-	# xgcc isnt patched with propolice
-	filter-flags -fstack-protector-all
-	filter-flags -fno-stack-protector-all
-	filter-flags -fstack-protector
-	filter-flags -fno-stack-protector
-
-	# xgcc isnt patched with the gcc symbol visibility patch
-	filter-flags -fvisibility-inlines-hidden
-	filter-flags -fvisibility=hidden
-
-	# Bug #269433 & #290202
-	filter-flags -fno-strict-overflow
-	filter-flags -fstrict-overflow
-
-	# Bug #442784
-	filter-flags '-W*'
-
-	filter-flags -frecord-gcc-switches
-	filter-flags '-fdiagnostics-color*'
-
-	# Bug #610064
-	filter-flags '-fstack-check*'
-
-	# ...sure, why not?
-	strip-unsupported-flags
-
-	strip-flags
+	# There is lots of brittle old code that violates the aliasing rules. GCC
+	# 3.3 supports disabling this optimization.
+	newflags+=" -fno-strict-aliasing"
+
+	# xgcc wont understand gcc 3.4 flags... in fact it won't understand most
+	# things or have most patches, regardless of what the real GCC understands.
+	# A random collection of bugs:
+	# #269433 #290202 #442784 #610064 #879775 #919184 #832016
+	#
+	# There's some extensive discussion at bug #923112, ultimately the only
+	# practical approach is to simply reject *all* flags unless we handpicked
+	# them to allow them. Check in "${S}"/gcc/doc/gcc.1 before proceeding.
+	export CFLAGS="${newflags}"
+	export CXXFLAGS="${newflags}"
+	unset LDFLAGS
 }
 
 S=${WORKDIR}/gcc-${PV}
@@ -153,6 +136,22 @@ src_prepare() {
 	fi
 
 	tc-export AR CC RANLIB NM
+
+	# newer versions of GCC add default werrors that we need to disable for
+	# this very old and brittle code. But adding it to CFLAGS doesn't work,
+	# since GCC creates xgcc and uses that to compile libstdc++, and the
+	# ancient xgcc doesn't understand the flags we need.
+	mkdir "${T}/conservative-compiler" || die
+	export PATH="${$}/conservative-compiler:${PATH}"
+
+	local realcc=$(type -P "${CC}") || die
+	export CC="${T}/conservative-compiler/${CC##*/}"
+	cat > "${CC}" <<- __EOF__ || die
+		#!/bin/sh
+		"${realcc}" -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=int-conversion -Wno-error=incompatible-pointer-types "\$@"
+	__EOF__
+
+	chmod +x "${CC}" || die
 }
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-09-25  3:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-17 18:32 [gentoo-commits] repo/gentoo:master commit in: sys-libs/libstdc++-v3/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-09-25  3:22 Eli Schwartz
2024-01-08 12:28 Sam James
2021-10-01  7:14 Sam James
2021-07-24  9:57 Sergei Trofimovich
2021-07-24  9:22 Sergei Trofimovich
2019-09-28 13:10 Sergei Trofimovich
2019-09-28 13:10 Sergei Trofimovich
2019-02-17 10:23 Sergei Trofimovich
2019-02-17 10:01 Sergei Trofimovich
2017-09-02  8:08 David Seifert
2017-08-06 10:05 Andreas Hüttel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox