Added libstdc++-v3 with patch.
This commit is contained in:
parent
b79623db8b
commit
af0acdcdd9
6
sys-libs/libstdc++-v3/Manifest
Normal file
6
sys-libs/libstdc++-v3/Manifest
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
AUX libstdc++-v3-3.3.6-glibc226.patch 1349 BLAKE2B e16351bae2539fac5d71b1cec43e0869f079c34e1bc59a170b7ff699e6c9aff95dbde09b07c17f3ec4a66f02548a3c78e4679eab38244aa5a2ddde12856fb1fc SHA512 05e2195c385b8cfbeb7b4978a70c3dbcee02210ff7b1785ad736f6c2cbbb8bf3abefec93417c427c2719b2bf6ebe565f432f45e5e17a4c51672785ed5b650a22
|
||||||
|
AUX libstdc++-v3-3.3.6-skip-testsuite-build.patch 2077 BLAKE2B 2a8123ee34ccaf986591f27984253851a57b9eadb29b7aefc7574e23c2a42de9bc3dfdc1b7e349b0227faf430dd07a53e21f33931106670815937d19dae8b58c SHA512 cad0c0d231b5609ad06ccd0ef25386c6088f67d9c4ea0e5af7b6271245b2feff8680311f22dc5fe2eb27af6729c06209299bad72c760e04f42fe2921cd9307d9
|
||||||
|
DIST gcc-3.3.6-patches-1.9.tar.bz2 51760 BLAKE2B 68704c1ddb73d2966746dd1a57b9699c3130d9165dd990b0b70f13b0dc4c7c4503afcbb268fd54242e17bdd571d5d0a20c172ee431c3c772e7c3412d3f0ac884 SHA512 306220c537c5cd90af7638431e6547ee9a80199c384629b5fbda06c28b2d6168fcf1dd448c0e178b104f41e03a8ebda4f389489d205b9e66ade6637e4747196c
|
||||||
|
DIST gcc-3.3.6.tar.bz2 23972413 BLAKE2B e7b33edcdbbb13b0be41a41156bf6fb6dcfe4f5ad75c41de86cb37f854be6b7a6a8dda0e65d331461469848cd912e25920e8aa2dcb142cb661731ba571cb5de1 SHA512 576b88e2fa675314a79a85f180684fe5af370c596476a0bf02e33e8ae0e2be838417ea80675ce4194a8213792cf7ada50cae5131149e4b890ab61e0b8d50d0ed
|
||||||
|
EBUILD libstdc++-v3-3.3.6-r1.ebuild 4984 BLAKE2B 6602db47baaea95722b580977c0558a1ac58c7a077fb549ec0d3cdeb3cc73f01e9d268ce678ed6cbc9ab6d3af1960c7d7f55b3cede86408844c12cca5725baa9 SHA512 5cb110c7ea48614cc09455838d7a6f43cdca6bb912256ac8e346205dfc34b1309b4fabcf4687186c39072ddf1bd23627752b5a068b8d6b5b7eb6bb1c94f638a7
|
||||||
|
MISC metadata.xml 257 BLAKE2B 468bd91200194cf2104205cb18f54d629954ed0d86d85a5d3e90af1942eb199d777a0ebc17d1f610f69326d3e0caa686255709f165466f5e0a675380373b30f9 SHA512 fd85d9cf15f6b7db96e4d184e32ae6f1503a5b70cb4cb1ce930ba13a1d5d4c4b24971781e95b7f3f9ead58b31760f84c368bc6fa2a793b4b5baf78259b047ff1
|
|
@ -0,0 +1,33 @@
|
||||||
|
diff -ruN gcc-3.3.6.orig/gcc/config/i386/linux.h gcc-3.3.6/gcc/config/i386/linux.h
|
||||||
|
--- gcc-3.3.6.orig/gcc/config/i386/linux.h 2018-01-01 20:14:36.311860098 +0100
|
||||||
|
+++ gcc-3.3.6/gcc/config/i386/linux.h 2018-01-01 20:16:05.912287579 +0100
|
||||||
|
@@ -261,7 +261,7 @@
|
||||||
|
siginfo_t *pinfo; \
|
||||||
|
void *puc; \
|
||||||
|
siginfo_t info; \
|
||||||
|
- struct ucontext uc; \
|
||||||
|
+ struct ucontext_t uc; \
|
||||||
|
} *rt_ = (CONTEXT)->cfa; \
|
||||||
|
sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; \
|
||||||
|
} \
|
||||||
|
diff -ruN gcc-3.3.6.orig/gcc/config/i386/linux64.h gcc-3.3.6/gcc/config/i386/linux64.h
|
||||||
|
--- gcc-3.3.6.orig/gcc/config/i386/linux64.h 2018-01-01 20:14:36.271859907 +0100
|
||||||
|
+++ gcc-3.3.6/gcc/config/i386/linux64.h 2018-01-01 20:16:05.912287579 +0100
|
||||||
|
@@ -112,7 +112,7 @@
|
||||||
|
if (*(unsigned char *)(pc_+0) == 0x48 \
|
||||||
|
&& *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7) \
|
||||||
|
{ \
|
||||||
|
- struct ucontext *uc_ = (CONTEXT)->cfa; \
|
||||||
|
+ struct ucontext_t *uc_ = (CONTEXT)->cfa; \
|
||||||
|
sc_ = (struct sigcontext *) &uc_->uc_mcontext; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
@@ -182,7 +182,7 @@
|
||||||
|
siginfo_t *pinfo; \
|
||||||
|
void *puc; \
|
||||||
|
siginfo_t info; \
|
||||||
|
- struct ucontext uc; \
|
||||||
|
+ struct ucontext_t uc; \
|
||||||
|
} *rt_ = (CONTEXT)->cfa; \
|
||||||
|
sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; \
|
||||||
|
} \
|
|
@ -0,0 +1,57 @@
|
||||||
|
diff -urpN gcc-3.3.6.orig/libstdc++-v3/Makefile.am gcc-3.3.6/libstdc++-v3/Makefile.am
|
||||||
|
--- gcc-3.3.6.orig/libstdc++-v3/Makefile.am 2003-07-04 12:53:54.000000000 -0700
|
||||||
|
+++ gcc-3.3.6/libstdc++-v3/Makefile.am 2018-06-07 20:33:51.747397861 -0700
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
AUTOMAKE_OPTIONS = 1.3 cygnus
|
||||||
|
MAINT_CHARSET = latin1
|
||||||
|
|
||||||
|
-SUBDIRS = include libio libmath libsupc++ src po testsuite
|
||||||
|
+SUBDIRS = include libio libmath libsupc++ src po
|
||||||
|
|
||||||
|
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
|
||||||
|
|
||||||
|
@@ -38,13 +38,11 @@ PWD_COMMAND = $${PWDCMD-pwd}
|
||||||
|
# compile time, execution time, and binary size.
|
||||||
|
check-script: $(top_builddir)/mkcheck
|
||||||
|
-(chmod + $(top_builddir)/mkcheck; \
|
||||||
|
- cd testsuite; \
|
||||||
|
- @glibcpp_builddir@/mkcheck 0)
|
||||||
|
+ cd testsuite
|
||||||
|
|
||||||
|
check-script-install: $(top_builddir)/mkcheck
|
||||||
|
-(chmod + $(top_builddir)/mkcheck; \
|
||||||
|
- cd testsuite; \
|
||||||
|
- @glibcpp_builddir@/mkcheck 1)
|
||||||
|
+ cd testsuite
|
||||||
|
|
||||||
|
# These rules are messy, but are hella worth it.
|
||||||
|
doxygen:
|
||||||
|
Binary files gcc-3.3.6.orig/libstdc++-v3/.Makefile.am.swp and gcc-3.3.6/libstdc++-v3/.Makefile.am.swp differ
|
||||||
|
diff -urpN gcc-3.3.6.orig/libstdc++-v3/Makefile.in gcc-3.3.6/libstdc++-v3/Makefile.in
|
||||||
|
--- gcc-3.3.6.orig/libstdc++-v3/Makefile.in 2003-07-04 12:53:54.000000000 -0700
|
||||||
|
+++ gcc-3.3.6/libstdc++-v3/Makefile.in 2018-06-07 20:34:32.451011377 -0700
|
||||||
|
@@ -147,7 +147,7 @@ toplevel_srcdir = @toplevel_srcdir@
|
||||||
|
AUTOMAKE_OPTIONS = 1.3 cygnus
|
||||||
|
MAINT_CHARSET = latin1
|
||||||
|
|
||||||
|
-SUBDIRS = include libio libmath libsupc++ src po testsuite
|
||||||
|
+SUBDIRS = include libio libmath libsupc++ src po
|
||||||
|
|
||||||
|
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
|
||||||
|
|
||||||
|
@@ -488,13 +488,11 @@ mostlyclean distclean maintainer-clean
|
||||||
|
# compile time, execution time, and binary size.
|
||||||
|
check-script: $(top_builddir)/mkcheck
|
||||||
|
-(chmod + $(top_builddir)/mkcheck; \
|
||||||
|
- cd testsuite; \
|
||||||
|
- @glibcpp_builddir@/mkcheck 0)
|
||||||
|
+ cd testsuite
|
||||||
|
|
||||||
|
check-script-install: $(top_builddir)/mkcheck
|
||||||
|
-(chmod + $(top_builddir)/mkcheck; \
|
||||||
|
- cd testsuite; \
|
||||||
|
- @glibcpp_builddir@/mkcheck 1)
|
||||||
|
+ cd testsuite
|
||||||
|
|
||||||
|
# These rules are messy, but are hella worth it.
|
||||||
|
doxygen:
|
190
sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
Normal file
190
sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
# Copyright 1999-2018 Gentoo Foundation
|
||||||
|
# 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
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
PATCH_VER="1.9"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# bug 637608
|
||||||
|
has_version '>=sys-libs/glibc-2.26' && epatch "${FILESDIR}/${P}-glibc226.patch"
|
||||||
|
|
||||||
|
epatch "${FILESDIR}/${P}-skip-testsuite-build.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
|
||||||
|
}
|
8
sys-libs/libstdc++-v3/metadata.xml
Normal file
8
sys-libs/libstdc++-v3/metadata.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>toolchain@gentoo.org</email>
|
||||||
|
<name>Gentoo Toolchain Project</name>
|
||||||
|
</maintainer>
|
||||||
|
</pkgmetadata>
|
Loading…
Reference in a new issue