summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Hesse2022-02-10 15:16:17 +0100
committerChristian Hesse2022-02-10 15:16:17 +0100
commitd2e4796f2f1e9caf9f275efb6ce705dac9fad51a (patch)
tree92ce2b3ae37957d23c897735c2170e22e70bc2d1
downloadaur-d2e4796f2f1e9caf9f275efb6ce705dac9fad51a.tar.gz
initial commit to AUR, dropping from [extra]
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD60
-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, 130 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..94002fe03c73
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = libstdc++5
+ pkgdesc = GNU Standard C++ library version 3
+ pkgver = 3.3.6
+ pkgrel = 7
+ url = https://gcc.gnu.org
+ arch = x86_64
+ license = GPL
+ license = LGPL
+ makedepends = binutils
+ makedepends = gcc
+ depends = 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 = libstdc++5
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e5a84c9ca662
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libstdc++5
+pkgver=3.3.6
+pkgrel=7
+pkgdesc="GNU Standard C++ library version 3"
+arch=('x86_64')
+url="https://gcc.gnu.org"
+license=('GPL' 'LGPL')
+depends=('gcc-libs')
+makedepends=('binutils' 'gcc')
+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 gcc-$pkgver
+
+ patch -Np1 -i $srcdir/gcc-3.4.3-no_multilib_amd64.patch
+ patch -Np1 -i $srcdir/gcc-3.4.6-ucontext.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
+
+ patch -Np0 -i ../siginfo.patch
+
+ mkdir ../gcc-build
+}
+
+build(){
+ export CFLAGS="-march=${CARCH/_/-} -O2"
+ export CXXFLAGS="-march=${CARCH/_/-} -O2"
+ unset CPPFLAGS
+
+ cd gcc-build
+ CPP=/usr/bin/cpp ../gcc-${pkgver}/configure --prefix=/usr --enable-shared \
+ --enable-languages=c++ --enable-threads=posix --enable-__cxa_atexit \
+ --disable-multilib --libdir=/usr/lib
+ make all-target-libstdc++-v3 BOOT_CFLAGS="${CFLAGS}" STAGE1_CFLAGS="-O"
+}
+
+package() {
+ cd gcc-build
+ make DESTDIR="${pkgdir}" install-target-libstdc++-v3
+
+ # Remove includefiles and libs provided by gcc
+ rm -rf "${pkgdir}"/usr/{include,share/locale}
+ rm -f "${pkgdir}"/usr/lib/*.a
+ rm -f "${pkgdir}"/usr/lib/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; \