diff --git a/sys-dev/gcc-15.2.0.PKGBUILD b/sys-dev/gcc-15.2.0.PKGBUILD new file mode 100644 index 0000000..f17c8df --- /dev/null +++ b/sys-dev/gcc-15.2.0.PKGBUILD @@ -0,0 +1,84 @@ +pkgname="gcc" +pkgver="15.2.0" +pkgdesc="The GNU Compiler Collection (PGO+LTO rebuild)" +homepage="https://gcc.gnu.org" +sources=("${pkgname}-${pkgver}.tar.xz") +urls=("https://ftp.gnu.org/gnu/gcc/${pkgname}-${pkgver}/${sources[0]}") +md5sums=("b861b092bf1af683c46a8aa2e689a6fd") + +export GCC_BOOT_CFLAGS="-march=native -O2 -pipe -flto=auto" +export GCC_BOOT_LDFLAGS="-Wl,-O1 -Wl,--as-needed -flto=auto" +export GCC_MAKE_JOBS="${PARALLEL_JOBS}" + +src_prepare() { + tar -xf "${distdir}/${sources[0]}" --strip-components=1 + case $(uname -m) in + x86_64) + sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 + ;; + esac +} + +src_build() { + leaf_clear_flags + + export CFLAGS="-march=native -O2 -pipe" + export CXXFLAGS="${CFLAGS}" + export LDFLAGS="-Wl,-O1 -Wl,--as-needed" + + mkdir -v build + pushd build > /dev/null + + ../configure --prefix=/usr \ + LD=ld \ + --enable-languages=c,c++ \ + --enable-bootstrap \ + --enable-lto \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-host-pie \ + --disable-multilib \ + --disable-fixincludes \ + --with-system-zlib + + make -j"${GCC_MAKE_JOBS}" \ + BOOT_CFLAGS="${GCC_BOOT_CFLAGS}" \ + BOOT_CXXFLAGS="${GCC_BOOT_CFLAGS}" \ + BOOT_LDFLAGS="${GCC_BOOT_LDFLAGS}" \ + profiledbootstrap + + popd > /dev/null +} + +src_check() { + pushd build > /dev/null + ulimit -s -H unlimited + + sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp + + chown -R leaf . + su leaf -c "PATH=$PATH make -k check" + ../contrib/test_summary | grep -A7 Summ + popd > /dev/null +} + +src_install() { + pushd build > /dev/null + make DESTDIR="$pkgdir" install + + chown -R root:root \ + "$pkgdir"/usr/lib/gcc/$(${pkgdir}/usr/bin/gcc -dumpmachine)/${pkgver}/include{,-fixed} + + ln -sv ../bin/cpp "$pkgdir"/usr/lib + ln -sv gcc.1 "$pkgdir"/usr/share/man/man1/cc.1 + + install -d -v -m755 "$pkgdir/usr/lib/bfd-plugins" + ln -sfv ../../libexec/gcc/$(${pkgdir}/usr/bin/gcc -dumpmachine)/${pkgver}/liblto_plugin.so \ + "$pkgdir"/usr/lib/bfd-plugins/ + + mkdir -pv "$pkgdir"/usr/share/gdb/auto-load/usr/lib + mv -v "$pkgdir"/usr/lib/*gdb.py "$pkgdir"/usr/share/gdb/auto-load/usr/lib + + popd > /dev/null +} +