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

recipes/core/glibc/PAGBUILD.yaml main

125 linii Raw ← Powrót
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
pkgname: glibc
pkgver: '2.44'
pkgrel: '2'
pkgdesc: The Glibc package contains the main C library.
url: 'https://www.gnu.org/software/libc/'
arch: x86_64
depends: []
makedepends:
- python
- gawk
- bison
- grep
source:
- 'https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.18.43.tar.xz'
- fhs-1.patch
- upstream_fixes-1.patch
- 'https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz'
- glibc.locales.supported
- glibc-2.44-upstream_fix-1.patch
sha256sums:
- a1aeb926c7c4a1564368200b1082e45bb958007682d804aff88abbc3a7a47b5d
- 643552db030e2f2d7ffde4f558e0f5f83d3fabf34a2e0e56ebdb49750ac27b0d
- dd4b9d3b03e98a48d2094401ec6b70d669a89173685958e4b84b894065fdd70c
- 37f600f2bef3c5e8300147059568b2a2e40a7ad6ccc65ce942556d49429cc667
- c7b18d94f98c927a8f6c893801bc19193de563bea19d9db2e9bbd5bc12adcc3c
- 9269f003da492cafba0c3275d0a7c45f37b5c15303f1f0a9afc2c4a19eaa9238
hooks:
  post-install: |
    name=glibc
    version=2.44
    release=1
    if [ -f usr/lib/locale/locale-archive ]; then
      [ -z $LANG ] || localedef --replace -i ${LANG/.utf-8/} -f UTF-8 $LANG
    fi
  pre-install: |
    name=glibc
    version=2.44
    release=1
    # Usuniete kasowanie /etc/nsswitch.conf: plik jest w pakiecie, a pag
    # chroni zmiany uzytkownika (zapisuje .pacnew) - rm byl zbedny.
build: |
  # Headers Linux 6.18
  cd linux-6.18.43
  make mrproper
  make headers
  find usr/include -name '.*' -delete
  rm usr/include/Makefile
  mkdir -p ${PKGDIR}/usr/include
  cp -rv usr/include/* ${PKGDIR}/usr/include

  cd ../glibc-${pkgver}

  # Unset flags imposed by builder
  unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS

  patch -Np1 -i ../fhs-1.patch
  patch -Np1 -i ../glibc-2.44-upstream_fix-1.patch

  # Copy locale file BEFORE entering build directory
  cp ../glibc.locales.supported localedata/SUPPORTED

  mkdir ${PKGDIR}/lib64
  ln -s ../lib/ld-linux-x86-64.so.2 ${PKGDIR}/lib64
  ln -s ../lib/ld-linux-x86-64.so.2 ${PKGDIR}/lib64/ld-lsb-x86-64.so.3

  mkdir -v build
  cd build

  echo "rootsbindir=/usr/bin" > configparms
  echo "sbindir=/usr/bin" >> configparms

  ../configure --prefix=/usr                                    \
  --with-bugurl=https://github.com/NuTyX/x86_64/issues \
  --disable-werror                 \
  --enable-kernel=5.4              \
  --with-headers=/usr/include     \
  --enable-stack-protector=strong \
  --disable-nscd                   \
  libc_cv_slibdir=/lib

  make || make -j1

  make install_root=${PKGDIR} install

  mkdir -p ${PKGDIR}/etc
  cp -v ../nscd/nscd.conf ${PKGDIR}/etc/nscd.conf
  mkdir -pv ${PKGDIR}/var/cache/nscd

  touch ${PKGDIR}/etc/ld.so.conf

  mkdir -pv ${PKGDIR}/usr/lib/locale

  make install_root=${PKGDIR} localedata/install-locales

  cat > ${PKGDIR}/etc/nsswitch.conf << "EOF"
  # Begin /etc/nsswitch.conf

  passwd: files systemd
  group: files systemd
  shadow: files systemd

  hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
  networks: files

  protocols: files
  services: files
  ethers: files
  rpc: files

  # End /etc/nsswitch.conf
  EOF

  cat > ${PKGDIR}/etc/ld.so.conf << "EOF"
  # Begin /etc/ld.so.conf
  /usr/local/lib
  /opt/lib

  # Add an include directory
  include /etc/ld.so.conf.d/*.conf
  # End of /etc/ld.so.conf
  EOF

  mkdir ${PKGDIR}/etc/ld.so.conf.d
package: |
  true