Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/core/pacman
diff options
context:
space:
mode:
Diffstat (limited to 'core/pacman')
-rw-r--r--core/pacman/PKGBUILD31
-rw-r--r--core/pacman/disabled/PKGBUILD-muon-mininmal110
-rw-r--r--core/pacman/disabled/pacman-trailing-slash-muon.patch22
3 files changed, 132 insertions, 31 deletions
diff --git a/core/pacman/PKGBUILD b/core/pacman/PKGBUILD
index 2efb1da1..562d68ec 100644
--- a/core/pacman/PKGBUILD
+++ b/core/pacman/PKGBUILD
@@ -69,34 +69,3 @@ 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)
-
-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
diff --git a/core/pacman/disabled/PKGBUILD-muon-mininmal b/core/pacman/disabled/PKGBUILD-muon-mininmal
new file mode 100644
index 00000000..6bb4e067
--- /dev/null
+++ b/core/pacman/disabled/PKGBUILD-muon-mininmal
@@ -0,0 +1,110 @@
+# 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'
+
diff --git a/core/pacman/disabled/pacman-trailing-slash-muon.patch b/core/pacman/disabled/pacman-trailing-slash-muon.patch
new file mode 100644
index 00000000..4b3c393f
--- /dev/null
+++ b/core/pacman/disabled/pacman-trailing-slash-muon.patch
@@ -0,0 +1,22 @@
+diff -rauN pacman-orig/meson.build pacman-trailing-slash-muon-patch/meson.build
+--- pacman-orig/meson.build 2025-03-20 17:46:34.979754357 +0100
++++ pacman-trailing-slash-muon-patch/meson.build 2025-03-20 17:47:38.620712716 +0100
+@@ -68,13 +68,13 @@
+ conf.set_quoted('SCRIPTLET_SHELL', get_option('scriptlet-shell'))
+ conf.set_quoted('LDCONFIG', LDCONFIG)
+ conf.set_quoted('LIB_VERSION', libalpm_version)
+-conf.set_quoted('SYSHOOKDIR', join_paths(DATAROOTDIR, 'libalpm/hooks/'))
++conf.set_quoted('SYSHOOKDIR', join_paths(DATAROOTDIR, 'libalpm/hooks/') + '/')
+ conf.set_quoted('CONFFILE', join_paths(SYSCONFDIR, 'pacman.conf'))
+-conf.set_quoted('DBPATH', join_paths(LOCALSTATEDIR, 'lib/pacman/'))
+-conf.set_quoted('GPGDIR', join_paths(SYSCONFDIR, 'pacman.d/gnupg/'))
++conf.set_quoted('DBPATH', join_paths(LOCALSTATEDIR, 'lib/pacman/') + '/')
++conf.set_quoted('GPGDIR', join_paths(SYSCONFDIR, 'pacman.d/gnupg/') + '/')
+ conf.set_quoted('LOGFILE', join_paths(LOCALSTATEDIR, 'log/pacman.log'))
+-conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'))
+-conf.set_quoted('HOOKDIR', join_paths(SYSCONFDIR, 'pacman.d/hooks/'))
++conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/') +'/')
++conf.set_quoted('HOOKDIR', join_paths(SYSCONFDIR, 'pacman.d/hooks/') + '/')
+ conf.set_quoted('ROOTDIR', ROOTDIR)
+
+ libintl = dependency('', required: false)