summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2017-03-18 19:33:35 -0400
committerChris Severance2017-03-18 19:33:35 -0400
commitf87b0f98bfd70f78a56667dd195c0e56332b26f1 (patch)
tree6e3c08343041892ef6060e5f4ae5d96dbc8069f7
parentf05be3e0cbd172615011677fce87f6e02c931ad7 (diff)
downloadaur-f87b0f98bfd70f78a56667dd195c0e56332b26f1.tar.gz
Build with gcc49
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD169
2 files changed, 118 insertions, 77 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d0f7505308cf..5af89b988a2a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,7 @@
+# Generated by mksrcinfo v8
+# Sat Mar 18 23:32:42 UTC 2017
pkgbase = gcc43
- pkgdesc = The GNU Compiler Collection
+ pkgdesc = The GNU Compiler Collection (4.3.x)
pkgver = 4.3.6
pkgrel = 8
url = http://gcc.gnu.org
@@ -7,15 +9,21 @@ pkgbase = gcc43
arch = x86_64
license = GPL
license = LGPL
+ makedepends = flex
+ makedepends = bison
makedepends = setconf
+ makedepends = gcc49
+ depends = glibc
+ depends = gmp
depends = binutils
depends = mpfr
depends = cloog
depends = zlib
depends = elfutils
- options = !libtool
+ conflicts = gcc43-multilib
options = !buildflags
options = staticlibs
+ options = !libtool
source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.3.6/gcc-core-4.3.6.tar.bz2
source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.3.6/gcc-g++-4.3.6.tar.bz2
source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.3.6/gcc-fortran-4.3.6.tar.bz2
@@ -23,13 +31,13 @@ pkgbase = gcc43
source = ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.3.6/gcc-java-4.3.6.tar.bz2
source = gcc_pure64.patch
source = siginfo_t_fix.patch
- md5sums = 43df9ad8b4bb314a46bac12f5aefaec2
- md5sums = ee7dc01b6e1a6a92a6e8d66adb8d2ab9
- md5sums = c6eeee73007015c52043716fbe8ffdc7
- md5sums = 3fdb8158eabb765d1711f894bf71f7f5
- md5sums = b5c12ad38048c354686747d640f5d621
- md5sums = 4030ee1c08dd1e843c0225b772360e76
- md5sums = edce21b2ce295478d14d5dd988eb3287
+ sha256sums = 86af1703be5cc7f40270a66ac15ebcf6088706a789ae1bf18488dc070777f979
+ sha256sums = 0e765849e5ea09a662889b323b69955aac06d9a5bc1b1246ffa7ac90d2f8bd80
+ sha256sums = 21dee6ef25fac3df42704465865266e895955db23b8000ade4196e388adb7889
+ sha256sums = 0c3c552320d5e052eec8471bd3bf89b3fd10f2ed129ae89861828b24d10c21ce
+ sha256sums = da1d5fa9431457d39841991465f1825fc49f09a7999ca31309bbd5972c95860f
+ sha256sums = 2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9
+ sha256sums = 24cb033fa363148952b5ed7cdff635fbee0ae55ecafe5dfa32206e97cb0c4af3
pkgname = gcc43
diff --git a/PKGBUILD b/PKGBUILD
index e0e5ed6a4e2b..c0f906adb5e2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,96 +1,129 @@
-# Maintainer: Pedro Nariyoshi <pedro.nariyoshi@gmail.com>
+# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
+# Contributor: Pedro Nariyoshi <pedro.nariyoshi@gmail.com>
# Prev-Maintainer: Carson Reynolds <carson@k2.t.u-tokyo.ac.jp>
# Contributor: kristianlm2 <kristanlein@gmail.com>
# Contributor: progtologist <arissynod@gmail.com>
-pkgname=gcc43
-_ver=4.3
-pkgver=4.3.6
-pkgrel=8
-pkgdesc="The GNU Compiler Collection"
+set -u
+_pkgver='4.3'
+pkgname="gcc${_pkgver//\./}"
+pkgver="${_pkgver}.6"
+pkgrel='8'
+pkgdesc="The GNU Compiler Collection (${_pkgver}.x)"
arch=('i686' 'x86_64')
+url='http://gcc.gnu.org'
license=('GPL' 'LGPL')
-url="http://gcc.gnu.org"
-depends=('binutils' 'mpfr' 'cloog' 'zlib' 'elfutils')
-makedepends=('setconf')
-options=('!libtool' '!buildflags' 'staticlibs')
-
-source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-{core,g++,fortran,objc,java}-${pkgver}.tar.bz2
- gcc_pure64.patch
- siginfo_t_fix.patch)
-
-md5sums=('43df9ad8b4bb314a46bac12f5aefaec2'
- 'ee7dc01b6e1a6a92a6e8d66adb8d2ab9'
- 'c6eeee73007015c52043716fbe8ffdc7'
- '3fdb8158eabb765d1711f894bf71f7f5'
- 'b5c12ad38048c354686747d640f5d621'
- '4030ee1c08dd1e843c0225b772360e76'
- 'edce21b2ce295478d14d5dd988eb3287')
+depends=('glibc' 'gmp' 'binutils' 'mpfr' 'cloog' 'zlib' 'elfutils')
+makedepends=('flex' 'bison' 'setconf')
+makedepends+=('gcc49')
+conflicts=("gcc${_pkgver//\./}-multilib")
+options=('!buildflags' 'staticlibs' '!libtool') # libiberty builds with all flags removed
+source=(
+ "ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}"/gcc-{core,g++,fortran,objc,java}-"${pkgver}.tar.bz2"
+ 'gcc_pure64.patch'
+ 'siginfo_t_fix.patch'
+)
+sha256sums=('86af1703be5cc7f40270a66ac15ebcf6088706a789ae1bf18488dc070777f979'
+ '0e765849e5ea09a662889b323b69955aac06d9a5bc1b1246ffa7ac90d2f8bd80'
+ '21dee6ef25fac3df42704465865266e895955db23b8000ade4196e388adb7889'
+ '0c3c552320d5e052eec8471bd3bf89b3fd10f2ed129ae89861828b24d10c21ce'
+ 'da1d5fa9431457d39841991465f1825fc49f09a7999ca31309bbd5972c95860f'
+ '2d369cf93c6e15c3559c3560bce581e0ae5f1f34dc86bca013ac67ef1c1a9ff9'
+ '24cb033fa363148952b5ed7cdff635fbee0ae55ecafe5dfa32206e97cb0c4af3')
+PKGEXT='.pkg.tar.gz'
+
+ _basedir="gcc-${pkgver}"
prepare() {
- cd ${srcdir}/gcc-${pkgver}
- # Don't install libiberty
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+ set -u
+ cd "${_basedir}"
+
+ # Do not install libiberty
+ sed -i -e 's:install_to_$(INSTALL_DEST) ::' 'libiberty/Makefile.in'
# Disables generating documentation (new texinfo does not like the old .texi files)
- echo "MAKEINFO = :" >> ${srcdir}/gcc-${pkgver}/Makefile.in
+ echo 'MAKEINFO = :' >> 'Makefile.in'
- patch -Np1 -i "$srcdir/siginfo_t_fix.patch"
- if [[ "$CARCH" == "x86_64" ]]; then
- patch -Np1 -i "$srcdir/gcc_pure64.patch"
- fi
- echo "$pkgver" > gcc/BASE-VER
+ # Do not run fixincludes
+ sed -i -e 's@\./fixinc\.sh@-c true@' 'gcc/Makefile.in'
- # Don't run fixincludes
- sed -i -e 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ patch -Np1 -i "${srcdir}/siginfo_t_fix.patch"
+ case "${CARCH}" in
+ 'x86_64') patch -Np1 -i '../gcc_pure64.patch';;
+ esac
- rm -rf build
- mkdir build
-}
+ echo "${pkgver}" > 'gcc/BASE-VER'
-build()
-{
- cd ${srcdir}/gcc-${pkgver}/build
+ rm -rf 'gcc-build'
+ mkdir 'gcc-build'
+ cd 'gcc-build'
+
+ # The following options are one per line, mostly sorted so they are easy to diff compare to other gcc packages.
../configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --program-suffix=-${_ver} \
- --enable-shared \
- --enable-languages=c,c++ \
- --enable-__cxa_atexit \
- --disable-libstdcxx-pch \
- --disable-multilib \
+ --build="${CHOST}" \
--enable-libgomp \
--disable-libmudflap \
--disable-libssp \
- --enable-clocale=gnu \
- --with-tune=generic \
+ --disable-libstdcxx-pch \
+ --disable-multilib \
+ --disable-werror \
+ --enable-__cxa_atexit \
+ --enable-clocale='gnu' \
+ --enable-languages='c,c++' \
+ --enable-shared \
+ --infodir='/usr/share/info' \
+ --libdir='/usr/lib' \
+ --libexecdir='/usr/lib' \
+ --mandir='/usr/share/man' \
+ --program-suffix="-${_pkgver}" \
--with-cloog \
--with-ppl \
--with-system-zlib \
- --disable-werror
+ --with-tune='generic' \
+ --prefix='/usr' \
+ CXX='g++-4.9' CC='gcc-4.9'
# --enable-checking=release \
- make || return 1
+ set +u
+}
+
+build() {
+ set -u
+ cd "${_basedir}/gcc-build"
+ local _nproc="$(nproc)"; _nproc=$((_nproc>8?8:_nproc))
+ #LD_PRELOAD='/usr/lib/libstdc++.so' \\
+ make -s -j "${_nproc}"
+ set +u
}
package() {
- cd "$srcdir/gcc-$pkgver/build"
-
- make DESTDIR="$pkgdir" install
- rm -rf "$pkgdir/usr/share/man/man7"
- rm -rf "$pkgdir/usr/share/locale"
- mv "$pkgdir"/usr/lib/lib* \
- "$pkgdir/usr/lib/gcc/$CHOST/$pkgver/"
-
- # Create links for gcc-4.3 build environment (useful for CUDA)
- mkdir -p "$pkgdir/opt/gcc-$_ver"
- ln -s /usr/bin/gcc-4.3 "$pkgdir/opt/gcc-$_ver/gcc"
- ln -s /usr/bin/g++-4.3 "$pkgdir/opt/gcc-$_ver/g++"
+ set -u
+ cd "${_basedir}/gcc-build"
+
+ #LD_PRELOAD='/usr/lib/libstdc++.so' \\
+ make -s -j1 DESTDIR="${pkgdir}" install
+
+ ## Lazy way of dealing with conflicting man and info pages and locales...
+ rm -rf "${pkgdir}/usr/share/man/man7"
+ rm -rf "${pkgdir}/usr/share/locale"
+
+ # Move potentially conflicting stuff to version specific subdirectory
+ #case "${CARCH}" in
+ #'x86_64') mv "${pkgdir}/usr/lib/gcc/${CHOST}"/lib*/ "${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/" ;;
+ #esac
+ mv "${pkgdir}/usr/lib"/lib* "${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/"
+
+ # Create links for gcc- build environment (useful for CUDA)
+ mkdir -p "${pkgdir}/opt/gcc-${_pkgver}"
+ ln -s "/usr/bin/gcc-${_pkgver}" "${pkgdir}/opt/gcc-${_pkgver}/gcc"
+ ln -s "/usr/bin/g++-${_pkgver}" "${pkgdir}/opt/gcc-${_pkgver}/g++"
+
# Avoid file conflicts when enabling libgomp
- rm -rf "$pkgdir/usr/share/info"
-}
+ rm -rf "${pkgdir}/usr/share/info"
+ # Install Runtime Library Exception
+ install -Dpm644 '../COPYING.RUNTIME' \
+ "${pkgdir}/usr/share/licenses/${pkgname}/RUNTIME.LIBRARY.EXCEPTION" || :
+ set +u
+}
+set +u