index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
author | Andreas Baumann <mail@andreasbaumann.cc> | 2025-03-22 11:12:46 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2025-03-22 11:12:46 +0100 |
commit | a36a6b8efebfab70f743f1ca5a6a8f50e96f9c8e (patch) | |
tree | f371a24b05ba3b7517205edfaabaa99cdaa01689 /build-support/pacman-static/PKGBUILD | |
parent | 02da7644999c1e98e055162fc9eae21238475eda (diff) |
-rw-r--r-- | build-support/pacman-static/PKGBUILD | 203 |
diff --git a/build-support/pacman-static/PKGBUILD b/build-support/pacman-static/PKGBUILD index 6ee24a60..a8caac83 100644 --- a/build-support/pacman-static/PKGBUILD +++ b/build-support/pacman-static/PKGBUILD @@ -3,50 +3,66 @@ # All my PKGBUILDs are managed at https://github.com/eli-schwartz/pkgbuilds pkgname=pacman-static -pkgver=6.0.1 -_cares_ver=1.17.2 -_nghttp2_ver=1.45.1 -_curlver=7.78.0 -_sslver=1.1.1l -_zlibver=1.2.11 -_xzver=5.2.5 +pkgver=7.0.0.r6.gc685ae6 +_cares_ver=1.34.4 +_nghttp2_ver=1.64.0 +_curlver=8.12.1 +_sslver=3.4.1 +_zlibver=1.3.1 +_xzver=5.6.4 _bzipver=1.0.8 -_zstdver=1.5.0 -_libarchive_ver=3.5.2 -_gpgerrorver=1.42 -_libassuanver=2.5.5 -_gpgmever=1.16.0 -pkgrel=1 +_zstdver=1.5.6 +_libarchive_ver=3.7.7 +_gpgerrorver=1.51 +_libassuanver=3.0.0 +_gpgmever=1.24.2 +pkgrel=15 +# use annotated tag and patch level commit from release branch (can be empty for no patches) +_git_tag=7.0.0 +_git_patch_level_commit=c685ae6412af04cae1eaa5d6bda8c277c7ffb8c8 pkgdesc="Statically-compiled pacman (to fix or install systems without libc)" arch=('i486' 'i686' 'pentium4' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') url="https://www.archlinux.org/pacman/" -license=('GPL') +license=('GPL-2.0-or-later') depends=('pacman') -makedepends=('meson' 'musl' 'kernel-headers-musl') -options=('!emptydirs') +makedepends=('meson' 'musl' 'kernel-headers-musl' 'git') +options=('!emptydirs' '!lto') # pacman -source=("https://sources.archlinux.org/other/pacman/pacman-${pkgver}.tar.xz"{,.sig}) +source=("git+https://gitlab.archlinux.org/pacman/pacman.git#tag=v${_git_tag}?signed" + pacman-revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch) + validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org> 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org> # nghttp2 source+=("https://github.com/nghttp2/nghttp2/releases/download/v$_nghttp2_ver/nghttp2-$_nghttp2_ver.tar.xz") # c-ares -source+=("https://c-ares.haxx.se/download/c-ares-${_cares_ver}.tar.gz"{,.asc}) -validpgpkeys+=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg <daniel@haxx.se> +source+=("https://github.com/c-ares/c-ares/releases/download/v${_cares_ver}/c-ares-${_cares_ver}.tar.gz"{,.asc}) +validpgpkeys+=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg <daniel@haxx.se> + 'DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA') # Brad House <brad@brad-house.com> # curl source+=("https://curl.haxx.se/download/curl-${_curlver}.tar.gz"{,.asc}) +validpgpkeys+=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg # openssl -source+=("https://www.openssl.org/source/openssl-${_sslver}.tar.gz"{,.asc} - "ca-dir.patch") +source+=("https://github.com/openssl/openssl/releases/download/openssl-${_sslver}/openssl-${_sslver}.tar.gz"{,.asc} + "ca-dir.patch" + "openssl-3.0.7-no-atomic.patch") +validpgpkeys+=('8657ABB260F056B1E5190839D9C4D26D0E604491' + '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C' + 'A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C' + 'EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5' + 'BA5473A2B0587B07FB27CF2D216094DFD0CB81EF') + validpgpkeys+=('8657ABB260F056B1E5190839D9C4D26D0E604491' # Matt Caswell <matt@openssl.org> - '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C') # Richard Levitte <levitte@openssl.org> + '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C' # Matt Caswell <matt@openssl.org> + 'A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C' # Tomá? Mráz <tm@t8m.info> + 'EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5') # OpenSSL security team key # zlib source+=("https://zlib.net/zlib-${_zlibver}.tar.gz"{,.asc}) validpgpkeys+=('5ED46A6721D365587791E2AA783FCD8E58BCAFBA') # Mark Adler <madler@alumni.caltech.edu> # xz -source+=("https://tukaani.org/xz/xz-${_xzver}.tar.gz"{,.sig}) -validpgpkeys+=('3690C240CE51B4670D30AD1C38EE757D69184620') # Lasse Collin <lasse.collin@tukaani.org> +source+=("git+https://github.com/tukaani-project/xz#tag=v${_xzver}") +validpgpkeys+=('3690C240CE51B4670D30AD1C38EE757D69184620') # Lasse Collin <lasse.collin@tukaani.org> # bzip2 source+=("https://sourceware.org/pub/bzip2/bzip2-${_bzipver}.tar.gz"{,.sig}) validpgpkeys+=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A') # Mark Wielaard <mark@klomp.org> @@ -55,68 +71,45 @@ source+=("https://github.com/facebook/zstd/releases/download/v${_zstdver}/zstd-$ validpgpkeys+=('4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD') # Zstandard Release Signing Key <signing@zstd.net> # libgpg-error source+=("https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${_gpgerrorver}.tar.bz2"{,.sig}) -validpgpkeys+=('6DAA6E64A76D2840571B4902528897B826403ADA' # "Werner Koch (dist signing 2020)" - '031EC2536E580D8EA286A9F22071B08A33BD3F06') # NIIBE Yutaka (GnuPG Release Key) <gniibe@fsij.org> +validpgpkeys+=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch + '031EC2536E580D8EA286A9F22071B08A33BD3F06' # NIIBE Yutaka (GnuPG Release Key) <gniibe@fsij.org> + '6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" # libassuan source+=("https://gnupg.org/ftp/gcrypt/libassuan/libassuan-${_libassuanver}.tar.bz2"{,.sig}) # gpgme source+=("https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-${_gpgmever}.tar.bz2"{,.sig}) +validpgpkeys+=('AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key) # libarchive source+=("https://github.com/libarchive/libarchive/releases/download/v${_libarchive_ver}/libarchive-${_libarchive_ver}.tar.xz"{,.asc}) -validpgpkeys+=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E') # Martin Matuska <mm@FreeBSD.org> +validpgpkeys+=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E' # Martin Matuska <mm@FreeBSD.org> + 'DB2C7CF1B4C265FAEF56E3FC5848A18B8F14184B') # Martin Matuska <martin@matuska.org> -sha512sums=('d17b9aea9f8d51a5a02fc9faa8e36227c0edea73957cc8a8174a23a81ca42737ecfce630aa86008ab26daec584004b772cd2eb3527aeef9e098b445edaa21f6f' - 'SKIP' - '320a8c9f29b58c55df98be4312d415bc406edbdfb0765aa37570cdb472a84f40c4f95a51c44c5488363c16ad6815c75b5503b32e43d94724c54117ff583c7150' - 'f625e0ef8508af6475d3e83b51ab29be8a4878e2a87e7f518bea046b76a74bfde7043ca6ec2a9e714c898ab9e5d4a5a678c3347a9f9eb68980438f7ca8ae3fc8' +sha512sums=('44e00c2bc259fe6a85de71f7fd8a43fcfd1b8fb7d920d2267bd5b347e02f1dab736b3d96e31faf7b535480398e2348f7c0b9914e51ca7e12bab2d5b8003926b4' + '1a108c4384b6104e627652488659de0b1ac3330640fc3250f0a283af7c5884daab187c1efc024b2545262da1911d2b0b7b0d5e4e5b68bb98db25a760c9f1fb1a' + 'b544196c3b7a55faacd11700d11e2fe4f16a7418282c9abb24a668544a15293580fd1a2cc5f93367c8a17c7ee45335c6d2f5c68a72dd176d516fd033f203eeec' + '3285e14d94bc736d6caddfe7ad7e3c6a6e69d49b079c989bb3e8aba4da62c022e38229d1e691aaa030b7d3bcd89e458d203f260806149a71ad9adb31606eae02' 'SKIP' - '3d74343e06dd3d699f4c883758775554956f7f27de470b71f4af0d7f56ff5e4d7c534ab958c8926fae69cd0ded90c173ac3d5a6ad5518d88c2f39f31f8bba2f3' + '9fcdcceab8bce43e888db79a38c775ff15790a806d3cc5cc96f396a829c6da2383b258481b5642153da14087943f6ef607af0aa3b75df6f41b95c6cd61d835eb' 'SKIP' - 'd9611f393e37577cca05004531388d3e0ebbf714894cab9f95f4903909cd4f45c214faab664c0cbc3ad3cca309d500b9e6d0ecbf9a0a0588d1677dc6b047f9e0' + '1de6307c587686711f05d1e96731c43526fa3af51e4cd94c06c880954b67f6eb4c7db3177f0ea5937d41bc1f8cadcf5bce75025b5c1a46a469376960f1001c5f' 'SKIP' - '3857c298663728a465b5f95a3ef44547efbfb420d755e9dde7f20aa3905171b400e1c126d8db5c2b916c733bbd0724d8753cad16c9baf7b12dcd225a3ee04a97' - '73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae' - 'SKIP' - '7443674247deda2935220fbc4dfc7665e5bb5a260be8ad858c8bd7d7b9f0f868f04ea45e62eb17c0a5e6a2de7c7500ad2d201e2d668c48ca29bd9eea5a73a3ce' + 'b1873dbb7a49460b007255689102062756972de5cc2d38b12cc9f389b6be412da6797579b1acd3717a8cd2ee118fd9801b94e55f063d4328f050f0876a5eb53c' + 'b5887ea77417fae49b6cb1e9fa782d3021f268d5219701d87a092235964f73fa72a31428b630445517f56f2bb69dcbbb24119ef9dbf8b4e40a753369a9f9a16f' + '580677aad97093829090d4b605ac81c50327e74a6c2de0b85dd2e8525553f3ddde17556ea46f8f007f89e435493c9a20bc997d1ef1c1c2c23274528e3c46b94f' 'SKIP' + 'e3216eca5fae2c9ce419e698bfbe186903088dad0a579749cb49bcde8f9d4073b98bf1570fe69190a9a41feb2a7c9814498ec9b867527de1c74ff75a1cbdfc17' '083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3' 'SKIP' - '071b4596afbb290fdfab0021b1ddda3e24f508680c643259ced683ec4685fca186f6c9c111097594d2d2911976df1a2f92a321ae71a0d5b9734c9f8e2c1bff76' + '21f9da445afd76acaf3acb22d216c2b584d95e8c68e00f5cb3f6673f2d556dd14a7593344adf8ffd194bba3314387ee0e486d6248f6c935abca2edd8a4cf95ed' 'SKIP' - 'f6d95712a874edefc39a7746062c8037a62801a550560c5b2eab08b5b86987c1de5be60eba5fcb56d35a37db109aa32d07b7eff2bb99800c1c47d2227421a8f4' + '4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b' 'SKIP' - '70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403' + '7c5c95c1b85bef2d4890c068a5a8ea8a1fe0d8def6ab09e5f34fc2746d8808bbb0fc168e3bd66d52ee5ed799dcf9f258f4125cda98c8384f6411bcad8d8b3139' 'SKIP' - '69487be69612e9bf0221ff56ae687248bd13635db1b7087130e93c1670e38f3c810bbca17723555c04fe207976c35871bbc3da005179ce099504321cf33636e4' + 'ad69101d1fceef6cd1dd6d5348f6f2be06912da6b6a7d0fece3ce08cf35054e6953b80ca9c4748554882892faa44e7c54e705cf25bbf2b796cd4ad12b09da185' 'SKIP' - 'ac7c47f9ddfe5d4d5db6ca9c1bcba788af95662bf0e54ca5426fe66cd8262896e12acc426eecdf0e0d6681c180bcd37f4c4469619273607e95399c7f49b61c7c' + '2524f71f4c2ebc254a1927279be3394e820d0a0c6dec7ef835a862aa08c35756edaa4208bcdc710dd092872b59c200b555b78670372e2830822e278ff1ec4e4a' 'SKIP') -b2sums=('907c39bb368beea037dcb4b32c56b04a86580123d23ddfe5a1d30ed53143a9b6204044d74040e5bcfe80061673d59597ad2e033525561d6b195a95a104203fa9' - 'SKIP' - '17bc5e0a6270494a0296da7f1394d0b89666ca42ad04bcce097740da2b30cdc575f17e681a8320dc2a2161eeebb753f22f228a340fc7cd690fa883d29149bcd8' - 'c6f5ad65ca75f8467b624daf3caaee2f35d6e4714ce46ebe1bbf79447feecf8615915b00fa5e7bd1e97c6232864e06c53a792fbadf36a5399883529769273e24' - 'SKIP' - '053ec771b15082b153868d70182d61a59ac94553867f153304542ae7e083825c729882044a627016723cd3bbd831f6f3dfe12e12b079da42bc7587e934f04d55' - 'SKIP' - '9e8739015db63a013c05587e3d164d67c3f65f1f6c5fc75e4592bcd038c036cde88a7bc95fbc1f1b4ed876f6124ca4dabcd4f5dbb45d1b84299f2efe1a59431a' - 'SKIP' - 'e2ff99e8236487f43171c771d0ee89137b73f3d0b2756bcb0d6525c810ffa9f5a3763c3744327fb47cef21eabfc50fff96632f4bbe2cd244206a99daffa0c25a' - '6bfc4bca5dcadba8a0d4121a2b3ed0bfe440c261003521862c8e6381f1a6f0a72d3fc037351d30afd7ef321e8e8d2ec817c046ac749f2ca0c97fbdc2f7e840b7' - 'SKIP' - 'aded57324e129572c41646b3cc3b0b59a459452d9338d9245663b63dac2a463fb1f1b2b1d2d4ad3c09cb71fb8439df52cd94f24db99e782fc899b94a288a3043' - 'SKIP' - '22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad' - 'SKIP' - 'cfea18b2347bf893d9bd461e57113d0a141040a1f7a42db6221ed9662f84023f45b058df3382cc06d82596f8eb98e0806f3abe1e79155fafd46da2a8b746bfbe' - 'SKIP' - 'eb3381ec7106cfe5dca333391f473e97b03df83f247d3067e9f933ed7206f826e59d2b74b8c28d41e785ffe1c2980b680470064eb2fa2ff1ee3d8fa8be5b81a8' - 'SKIP' - '24952e97c757b97c387ab4c2c4bf7b040f2874e9326c129805c7f5326fa14d80e083b0842e336a635531a2c8d4a66d428c816bae6b175f1c4518add1ffa3554d' - 'SKIP' - 'da55e695b148e949a1c0770d0298d7a8c9f87d7a1f9e45d380f8c13c472bd44cb4266adb9a113e2b1dcc2596291744f48fdf998ff2de876059d89d184dc87f3a' - 'SKIP' - '161ac11115a80c21233e4dbe52f92201fa3372e5750cff38b3f49d60f2440b560c4c9a55dfca8f6313750eb2b65a6b0a8427619c382085bcc24cdfe45f6d6233' - 'SKIP') export LDFLAGS="$LDFLAGS -static" export CC=musl-gcc @@ -132,10 +125,55 @@ if [[ $CARCH = i686 || $CARCH = pentium4 || $CARCH = i486 ]]; then export CXXFLAGS="${CXXFLAGS/-fstack-protector-strong/}" fi +# to enable func64 interface in musl for 64-bit file system functions +export CFLAGS+=' -D_LARGEFILE64_SOURCE' +export CXXFLAGS+=' -D_LARGEFILE64_SOURCE' + # keep using xz-compressed packages, because one use of the package is to # recover on systems with broken zstd support in libarchive [[ $PKGEXT = .pkg.tar.zst ]] && PKGEXT=.pkg.tar.xz +prepare() { + cd "${srcdir}/pacman" + + # apply patch level commits on top of annotated tag for pacman + if [[ -n ${_git_patch_level_commit} ]]; then + if [[ v${_git_tag} != $(git describe --tags --abbrev=0 "${_git_patch_level_commit}") ]] then + error "patch level commit ${_git_patch_level_commit} is not a descendant of v${_git_tag}" + exit 1 + fi + git rebase "${_git_patch_level_commit}" + fi + + # handle local pacman patches + local -a patches + patches=($(printf '%s\n' "${source[@]}" | grep 'pacman-.*.patch')) + patches=("${patches[@]%%::*}") + patches=("${patches[@]##*/}") + + if (( ${#patches[@]} != 0 )); then + for patch in "${patches[@]}"; do + if [[ $patch =~ revertme-* ]]; then + msg2 "Reverting patch $patch..." + patch -RNp1 < "../$patch" + else + msg2 "Applying patch $patch..." + patch -Np1 < "../$patch" + fi + done + fi + + # openssl + cd "${srcdir}"/openssl-${_sslver} + patch -Np1 -i "${srcdir}/ca-dir.patch" + case ${CARCH} in + arm|armv6h|armv7h) + # special patch to omit -latomic when installing pkgconfig files + msg2 "Applying openssl patch openssl-3.0.7-no-atomic.patch..." + patch -Np1 -i "${srcdir}/openssl-3.0.7-no-atomic.patch" + esac +} + build() { export PKG_CONFIG_PATH="${srcdir}"/temp/usr/lib/pkgconfig export PATH="${srcdir}/temp/usr/bin:${PATH}" @@ -157,7 +195,7 @@ build() { ;; i486) openssltarget='linux-elf' - optflags='386' + optflags='386 no-threads' ;; arm|armv6h|armv7h) openssltarget='linux-armv4' @@ -181,7 +219,8 @@ build() { make install_dev # xz - cd "${srcdir}"/xz-${_xzver} + cd "${srcdir}"/xz + ./autogen.sh --no-po4a --no-doxygen ./configure --prefix="${srcdir}"/temp/usr \ --disable-shared cd src/liblzma @@ -212,7 +251,7 @@ build() { ./configure --prefix="${srcdir}"/temp/usr \ --without-xml2 \ --without-nettle \ - --disable-{bsdtar,bsdcat,bsdcpio} \ + --disable-{bsdtar,bsdcat,bsdcpio,bsdunzip} \ --without-expat \ --disable-shared make @@ -244,8 +283,8 @@ build() { ./configure --prefix="${srcdir}"/temp/usr \ --disable-shared \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \ - --disable-{dict,gopher,imap,imaps,ldap,ldaps,manual,pop3,pop3s,rtsp,scp,sftp,smb,smbs,smtp,smtps,telnet,tftp} \ - --without-{brotli,libidn2,librtmp,libssh2} \ + --disable-{dict,gopher,imap,ldap,ldaps,manual,pop3,rtsp,smb,smtp,telnet,tftp} \ + --without-{brotli,libidn2,librtmp,libssh2,libpsl} \ --disable-libcurl-option \ --with-openssl \ --enable-ares="${srcdir}"/temp/usr @@ -259,7 +298,7 @@ build() { ./configure --prefix="${srcdir}"/temp/usr \ --disable-shared make -C src - make -C src install-{{,dist_}binSCRIPTS,libLTLIBRARIES,nodist_includeHEADERS,pkgconfigDATA} + make -C src install-{binSCRIPTS,libLTLIBRARIES,nodist_includeHEADERS,pkgconfigDATA} # libassuan cd "${srcdir}"/libassuan-${_libassuanver} @@ -281,25 +320,25 @@ build() { rm "${srcdir}"/temp/usr/lib/lib*.la # Finally, it's a pacman! - mkdir -p "${srcdir}"/pacman-${pkgver}/builddir - cd "${srcdir}"/pacman-${pkgver}/builddir - meson setup \ - --prefix=/usr \ + mkdir -p "${srcdir}"/pacman + cd "${srcdir}"/pacman + meson --prefix=/usr \ --includedir=lib/pacman/include \ --libdir=lib/pacman/lib \ --buildtype=plain \ -Dbuildstatic=true \ -Ddefault_library=static \ -Ddoc=disabled \ + -Ddoxygen=disabled \ -Dldconfig=/usr/bin/ldconfig \ -Dscriptlet-shell=/usr/bin/bash \ - .. - ninja + build + meson compile -C build } package() { - cd "${srcdir}"/pacman-${pkgver}/builddir - DESTDIR="${pkgdir}" ninja install + cd "${srcdir}"/pacman + DESTDIR="${pkgdir}" meson install -C build rm -rf "${pkgdir}"/usr/share "${pkgdir}"/etc for exe in "${pkgdir}"/usr/bin/*; do |