diff options
author | Christian Hesse | 2022-02-10 15:16:17 +0100 |
---|---|---|
committer | Christian Hesse | 2022-02-10 15:16:17 +0100 |
commit | d2e4796f2f1e9caf9f275efb6ce705dac9fad51a (patch) | |
tree | 92ce2b3ae37957d23c897735c2170e22e70bc2d1 | |
download | aur-d2e4796f2f1e9caf9f275efb6ce705dac9fad51a.tar.gz |
initial commit to AUR, dropping from [extra]
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 60 | ||||
-rw-r--r-- | gcc-3.4.3-no_multilib_amd64.patch | 11 | ||||
-rw-r--r-- | gcc-3.4.6-ucontext.patch | 21 | ||||
-rw-r--r-- | siginfo.patch | 14 |
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; \ |