🔒 Repository is read-only – file editing is disabled.

recipes/core/gcc/PAGBUILD.yaml main

73 linii Raw ← Powrót
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