index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
author | Andreas Baumann <mail@andreasbaumann.cc> | 2025-03-23 14:58:41 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2025-03-23 14:58:41 +0100 |
commit | 88c052a933c5c72be1dd29a2ba2c4315bd666387 (patch) | |
tree | 9d4143d07595a6092f40e405de6710c272add602 | |
parent | b8e951250bdfc18832fbfa7fdf070bec53ad1ece (diff) |
-rw-r--r-- | build-support/pacman-static/PKGBUILD | 112 |
diff --git a/build-support/pacman-static/PKGBUILD b/build-support/pacman-static/PKGBUILD index 3fada20d..9a2f0ca0 100644 --- a/build-support/pacman-static/PKGBUILD +++ b/build-support/pacman-static/PKGBUILD @@ -338,7 +338,7 @@ build() { package() { cd "${srcdir}"/pacman - DESTDIR="${pkgdir}" meson install -C build + DESTDIR="${pkgdir}" ninja install -C build rm -rf "${pkgdir}"/usr/share "${pkgdir}"/etc for exe in "${pkgdir}"/usr/bin/*; do @@ -354,3 +354,113 @@ package() { "${pkgdir}"/usr/lib/pacman/lib/pkgconfig/*.pc \ "${pkgdir}"/usr/lib/pacman/bin/* } +# upstream git revision: 1a52f2e1d641587a1514c99b96d839368076288d + +depends+=(archlinux32-keyring) + +# fail if upstream changes makepkg.conf or pacman.conf +for ((i=0; i<${#sha256sums[@]}; i++)); do + # pacman.conf + if [ "${sha256sums[${i}]}" = 'bc80e9d0439caddd29b99a69b5060b5589cad2398c23abc5b2b8b990fae6ad8c' ]; then + sha256sums[${i}]='3e482ca4e98386679cec02b51e32c6a13caf3dee365a850567547f616a69408f' + fi + # makepkg.conf + if [ "${sha256sums[${i}]}" = 'd99c1f9608362fff9ab3a2ca0a3096a317927b42a6725bc86599da6849c9c67c' ]; then + sha256sums[${i}]='82e963060a02c9a04cf5296bb4c5e732d3c3d0666d221ddaf2b3367989b9d894' + fi + # rust.conf (for now keep the upstream one) +done + +if [ ! "${CARCH}" = "i686" ]; then + # patch architecture where needed + eval "$( + declare -f package | \ + sed ' + /install.*makepkg.conf/ a \ + sed -i "s@i686@'"${CARCH}"'@g; /^CHOST/ s/pentium4-/i686-/" "$pkgdir/etc/makepkg.conf" + ' + )" +fi + +# patch pacman for automatic architecture detection (applied in wildcard patch above) +source+=('replace-i686-by-pentium4-when-architecture-is-auto.patch') +sha256sums+=('6a7906bd28a57cbcff58d856ffefbbb9096a163aaff79913b4fac69d75d0028a') + +# not supported on i486 -fcf-protection +# LTO currently no available on i486 +if [ "${CARCH}" = "i486" ]; then + eval "$( + { + declare -f package || \ + printf 'package() {\n}\n' + } \ + | sed ' + $i sed -i "s/-fcf-protection//g" "$pkgdir/etc/makepkg.conf" + $i sed -i "s/LTOFLAGS.*/LTOFLAGS=\\\"-fno-lto\\\"/" "$pkgdir/etc/makepkg.conf" + ' + )" +fi + +# If this still applies, it only does for i486: +# (while not having Python, it's not working on any CARCH) +makedepends=(${makedepends[@]//doxygen/}) +#if [ "${CARCH}" = "i486" ]; then +# broken Python/asciidoc + eval "$( + declare -f build | \ + sed ' + /meson/s/-Ddoc=enabled/-Ddoc=disabled/ + /meson/s/-DDdoxygen=enabled/-DDdoxygen=disabled/ + ' + )" +#fi + +# gettext is linked against old ICU verison on i486, use ICU 72 stub +#if [ "${CARCH}" = "i486" ]; then +# makedepends+=(icu72) +#fi + +# git on i486 problem, cannot make sums of git checkout (yet?) +if [ "${CARCH}" = "i486" ]; then + sha256sums[0]='SKIP' +fi + +# use muon instead of meson, no python (and meson needs python) +makedepends=(${makedepends[@]//meson/}) +makedepends+=(muon-meson) + +source+=(pacman-trailing-slash-muon.patch) +sha256sums+=(f295ff9967d38117bb5a29237716abb997197c69d8d2eeb449db49b85582be02) + +eval "$( + declare -f build | \ + sed ' + /meson compile/ i \ + cd $srcdir/pacman/build + s/meson compile.*/muon samu -v -j1/ + s/meson\(.* build\)/muon meson setup -D default_library=shared \1/ + ' + declare -f check | \ + sed ' + /meson test/ i \ + cd $srcdir/pacman/build + s/meson.*/muon test -v/ + ' + declare -f package | \ + sed ' + /meson install/ i \ + cd $srcdir/pacman/build + /meson install/ a \ + cd .. + s/DESTDIR="$pkgdir" meson install -C build/muon install -d "$pkgdir"/ + ' +)" + +# fails happilly at the moment, going full risk now and installing it anyway.. +unset check +unset checkdepends + +# overwrite wrong checksum on rust.conf? does't work in buildmaster, works +# in chroot?! Disabling again.. +#sha256sums[5]='6fe03e6ea3f69d99d59a48847a8ae97c2160fca847c7aedf7b89d05e4aa9386d' + |