summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Rojas2018-11-28 21:45:01 +0000
committerAntonio Rojas2018-11-28 21:45:01 +0000
commitb37a747180aea519e8c6e9ab27d603112141fa9a (patch)
tree5cf8e9875ca40c83e4f58f4cb266ce9cbc3c711a
downloadaur-b37a747180aea519e8c6e9ab27d603112141fa9a.tar.gz
Dropped from repos
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD63
-rw-r--r--gcc-3.4.3-no_multilib_amd64.patch11
-rw-r--r--gcc-3.4.6-ucontext.patch21
-rw-r--r--siginfo.patch14
5 files changed, 134 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..c5ab07c51780
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,25 @@
+pkgbase = lib32-libstdc++5
+ pkgdesc = Legacy GNU Standard C++ library version 3 (32 bit)
+ pkgver = 3.3.6
+ pkgrel = 7
+ url = http://gcc.gnu.org
+ arch = x86_64
+ license = GPL
+ license = LGPL
+ makedepends = gcc-multilib
+ makedepends = binutils
+ depends = lib32-gcc-libs
+ options = !makeflags
+ source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.3.6/gcc-core-3.3.6.tar.bz2
+ source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-3.3.6/gcc-g++-3.3.6.tar.bz2
+ source = gcc-3.4.3-no_multilib_amd64.patch
+ source = gcc-3.4.6-ucontext.patch
+ source = siginfo.patch
+ md5sums = 18c52e6fb8966b7700665dca289d077f
+ md5sums = 6b3d00b8d079805be1b895f7f6ce47a0
+ md5sums = 8504bb22dae9d49e8b6d70d7e6910f1b
+ md5sums = 982ec78eed2887657189aefbe0c642d0
+ md5sums = bf36b281a9fc81f624f31f2623a3ad0e
+
+pkgname = lib32-libstdc++5
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c6ab77f4d6cd
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+
+pkgname=lib32-libstdc++5
+pkgver=3.3.6
+pkgrel=7
+pkgdesc="Legacy GNU Standard C++ library version 3 (32 bit)"
+arch=(x86_64)
+url="http://gcc.gnu.org"
+license=('GPL' 'LGPL')
+depends=('lib32-gcc-libs')
+makedepends=('gcc-multilib' 'binutils')
+options=('!makeflags')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2
+ gcc-3.4.3-no_multilib_amd64.patch
+ gcc-3.4.6-ucontext.patch
+ siginfo.patch)
+md5sums=('18c52e6fb8966b7700665dca289d077f'
+ '6b3d00b8d079805be1b895f7f6ce47a0'
+ '8504bb22dae9d49e8b6d70d7e6910f1b'
+ '982ec78eed2887657189aefbe0c642d0'
+ 'bf36b281a9fc81f624f31f2623a3ad0e')
+
+prepare() {
+ cd ${srcdir}/gcc-${pkgver}
+
+ patch -Np1 -i $srcdir/gcc-3.4.3-no_multilib_amd64.patch
+ patch -Np1 -i $srcdir/gcc-3.4.6-ucontext.patch
+ patch -Np0 -i $srcdir/siginfo.patch
+
+ # fix build issue with recent gcc
+ sed -i "s#O_CREAT#O_CREAT, 0666#" gcc/collect2.c
+ # No fixincludes
+ sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+}
+
+build(){
+ export CC="gcc -m32"
+ export CPP="cpp -m32"
+ export CXX="g++ -m32"
+ export CFLAGS="-march=${CARCH/_/-} -O2 -pipe"
+ export CPPFLAGS="-march=${CARCH/_/-} -O2 -pipe"
+ export CXXFLAGS="-march=${CARCH/_/-} -O2 -pipe"
+ cd ${srcdir}/gcc-${pkgver}
+
+ mkdir ../gcc-build
+ cd ../gcc-build
+ # We build the full multilib libstdc++5 here, no idea how to restrict
+ # the build process to the 32 bit version only.
+ ../gcc-${pkgver}/configure --prefix=/usr --enable-shared \
+ --enable-languages=c++ --enable-threads=posix --enable-__cxa_atexit \
+ --enable-multilib --libdir=/usr/lib32
+ make all-target-libstdc++-v3 BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O"
+}
+
+package() {
+ cd ${srcdir}/gcc-build
+ make DESTDIR=${pkgdir} install-target-libstdc++-v3
+
+ # Only install the lib32 files
+ rm -rf ${pkgdir}/usr/{include,share,lib}
+ rm -f ${pkgdir}/usr/lib32/*.a
+ rm -f ${pkgdir}/usr/lib32/libstdc++.so
+}
diff --git a/gcc-3.4.3-no_multilib_amd64.patch b/gcc-3.4.3-no_multilib_amd64.patch
new file mode 100644
index 000000000000..1ceff7678cfe
--- /dev/null
+++ b/gcc-3.4.3-no_multilib_amd64.patch
@@ -0,0 +1,11 @@
+--- gcc-3.4.3/gcc/config/i386/t-linux64
++++ gcc-3.4.3/gcc/config/i386/t-linux64
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 ../lib
++MULTILIB_OSDIRNAMES = . ../lib
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/gcc-3.4.6-ucontext.patch b/gcc-3.4.6-ucontext.patch
new file mode 100644
index 000000000000..536186d169f4
--- /dev/null
+++ b/gcc-3.4.6-ucontext.patch
@@ -0,0 +1,21 @@
+--- gcc-3.4.6/gcc/config/i386/linux64.h
++++ gcc-3.4.6/gcc/config/i386/linux64.h
+@@ -90,7 +90,7 @@
+ if (*(unsigned char *)(pc_+0) == 0x48 \
+ && *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7) \
+ { \
+- struct ucontext *uc_ = (CONTEXT)->cfa; \
++ ucontext_t *uc_ = (CONTEXT)->cfa; \
+ sc_ = (struct sigcontext *) &uc_->uc_mcontext; \
+ } \
+ else \
+@@ -160,7 +160,7 @@
+ struct siginfo *pinfo; \
+ void *puc; \
+ struct siginfo info; \
+- struct ucontext uc; \
++ ucontext_t uc; \
+ } *rt_ = (CONTEXT)->cfa; \
+ sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; \
+ } \
+
diff --git a/siginfo.patch b/siginfo.patch
new file mode 100644
index 000000000000..4292c1aff49c
--- /dev/null
+++ b/siginfo.patch
@@ -0,0 +1,14 @@
+--- gcc/config/i386/linux.h.orig 2014-04-28 10:00:16.556121683 +0000
++++ gcc/config/i386/linux.h 2014-04-28 10:00:43.105959247 +0000
+@@ -257,9 +257,9 @@
+ { \
+ struct rt_sigframe { \
+ int sig; \
+- struct siginfo *pinfo; \
++ siginfo_t *pinfo; \
+ void *puc; \
+- struct siginfo info; \
++ siginfo_t info; \
+ struct ucontext uc; \
+ } *rt_ = (CONTEXT)->cfa; \
+ sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext; \