diff options
author | Chris Severance | 2017-03-18 19:33:35 -0400 |
---|---|---|
committer | Chris Severance | 2017-03-18 19:33:35 -0400 |
commit | f87b0f98bfd70f78a56667dd195c0e56332b26f1 (patch) | |
tree | 6e3c08343041892ef6060e5f4ae5d96dbc8069f7 | |
parent | f05be3e0cbd172615011677fce87f6e02c931ad7 (diff) | |
download | aur-f87b0f98bfd70f78a56667dd195c0e56332b26f1.tar.gz |
Build with gcc49
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 169 |
2 files changed, 118 insertions, 77 deletions
@@ -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 @@ -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 |