🔒 Repository is read-only – file editing is disabled.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
pkgname: gcc
pkgver: '16.2.0'
pkgrel: '1'
pkgdesc: GNU compiler collection, which includes the C, C++, fortran and objc compilers.
url: 'https://gcc.gnu.org'
arch: x86_64
depends: []
makedepends:
- gmp
- mpfr
- mpc
- tar
- flex
source:
- 'https://ftp.gnu.org/gnu/gcc/gcc-${pkgver}/gcc-${pkgver}.tar.xz'
sha256sums:
- e6738e29597f733270731aa90600f37ffdc045079dfc27ec7e8192cc81085c3e
# Szybki patch w locie – usuwa '-f ' z pliku budującego zanim ten wystartuje
pre_build:
- sed -i 's/-f \${PKGDIR}/${PKGDIR}/g' ./PAGBUILD
- sed -i 's/-f \${PKGDIR}/${PKGDIR}/g' ./build.sh
build: |
cd gcc-${pkgver}
# GCC 16 wymaga C23 (bool jako słowo kluczowe); narzucone przez pagbuild
# CFLAGS=-std=gnu17 wywalały libgcc ("unknown type name 'bool'" w i386.h).
unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
#sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
case $(uname -m) in
x86_64)
sed -i.orig '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
;;
esac
mkdir -v build
cd build
../configure --prefix=/usr \
--libdir=/usr/lib \
--enable-languages=c,c++,fortran,objc,obj-c++ \
--disable-multilib \
--disable-bootstrap \
--with-system-zlib \
--disable-fixincludes \
--enable-default-pie \
--enable-default-ssp
make
make DESTDIR=${PKGDIR} install
rm -rf ${PKGDIR}/usr/lib/gcc/$(gcc -dumpmachine)/${pkgver}/include-fixed/bits/
mkdir ${PKGDIR}/lib
ln -sv ../usr/bin/cpp ${PKGDIR}/lib/cpp
ln -sv gcc ${PKGDIR}/usr/bin/cc
install -dm755 ${PKGDIR}/usr/share/gdb/auto-load/usr/lib
install -dm755 ${PKGDIR}/usr/lib/bfd-plugins
cd ${PKGDIR}/usr/lib/bfd-plugins
sed -i "s|-L.[^ ]* ||g" \
-f ${PKGDIR}/usr/lib/{libstdc++.la,libsupc++.la}
mv -v ${PKGDIR}/usr/lib/*gdb.py \
${PKGDIR}/usr/share/gdb/auto-load/usr/lib
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/${pkgver}/liblto_plugin.so
package: |
true