# Description: The GNU Compiler Collection version 5.5.0 # URL: https://gcc.gnu.org/gcc-5/ # Maintainer: Petar Petrov, slackalaxy at gmail dot com name=gcc5 version=5.5.0 _islver=0.18 release=2 source=(http://gcc.gnu.org/pub/gcc/releases/gcc-${version}/gcc-${version}.tar.xz https://libisl.sourceforge.io/isl-${_islver}.tar.bz2 glibc2.28-ustat.patch glibc2.30-ipc_perm.patch) build() { # Adapted from Arch Linux: # https://aur.archlinux.org/packages/gcc5 cd gcc-$version ln -s ../isl-${_islver} isl sed -e 's@\./fixinc\.sh@-c true@' -i 'gcc/Makefile.in' patch -Nup0 -i $SRC/glibc2.28-ustat.patch patch -Nup0 -i $SRC/glibc2.30-ipc_perm.patch echo "$version" > gcc/BASE-VER rm -rf gcc-build mkdir gcc-build cd gcc-build ../configure --prefix=/usr \ --build="x86_64-pc-linux-gnu" \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-libunwind-exceptions \ --disable-multilib \ --disable-werror \ --enable-__cxa_atexit \ --enable-checking='release' \ --enable-clocale='gnu' \ --with-isl \ --enable-gnu-indirect-function \ --enable-gnu-unique-object \ --enable-languages='c,c++,fortran,lto' \ --enable-libmpx \ --enable-linker-build-id \ --enable-lto \ --enable-plugin \ --enable-shared \ --enable-threads='posix' \ --enable-version-specific-runtime-libs \ --infodir='/usr/share/info' \ --libdir='/usr/lib' \ --libexecdir='/usr/lib' \ --mandir='/usr/share/man' \ --program-suffix="-5" \ --with-linker-hash-style='gnu' \ --with-system-zlib sed -e 's/^STAGE1_CXXFLAGS.*$/& -std=gnu++11/' -i 'Makefile' LD_PRELOAD='/usr/lib/libstdc++.so' \ nice make -s LD_PRELOAD='/usr/lib/libstdc++.so' \ make -j1 DESTDIR=$PKG install # do not conflict with system's gcc rm -rf $PKG/usr/share/{info,locale,man} cp -a $PKG/usr/lib64 $PKG/usr/lib/gcc/x86_64-pc-linux-gnu/$version/ cp -a $PKG/usr/lib/gcc/x86_64-pc-linux-gnu/lib64/* $PKG/usr/lib/gcc/x86_64-pc-linux-gnu/$version/lib64 rm -rf $PKG/usr/lib64 rm -r $PKG/usr/lib/gcc/x86_64-pc-linux-gnu/lib64 # empty rm -rf $PKG/usr/include # duplicates rm -rf $PKG/usr/bin/x86_64-pc-linux-gnu-* # remove junk find $PKG/ -name "README" -delete }