Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blacklist/any/deepin/deepin-qt6integration1
-rw-r--r--blacklist/any/deepin/deepin-qt6platform-plugins1
-rw-r--r--blacklist/any/deepin/dtk6declarative1
-rw-r--r--blacklist/any/deepin/dtk6gui1
-rw-r--r--blacklist/any/deepin/dtk6widget1
-rw-r--r--blacklist/any/riscv64-linux-gnu-glibc/riscv64-linux-gnu-glibc1
-rw-r--r--blacklist/i686/libjxl/libjxl1
-rw-r--r--blacklist/pentium4/ceph/ceph1
-rw-r--r--blacklist/pentium4/ceph/xrootd1
-rw-r--r--blacklist/pentium4/chromium/chromium1
-rw-r--r--blacklist/pentium4/deno1
-rw-r--r--blacklist/pentium4/dolphin-emu/dolphin-emu0
-rw-r--r--blacklist/pentium4/electron/electron291
-rw-r--r--blacklist/pentium4/electron/electron301
-rw-r--r--blacklist/pentium4/electron/electron311
-rw-r--r--blacklist/pentium4/electron/electron321
-rw-r--r--blacklist/pentium4/electron/electron331
-rw-r--r--blacklist/pentium4/electron/electron341
-rw-r--r--blacklist/pentium4/electron/electron351
-rw-r--r--blacklist/pentium4/electron/electron361
-rw-r--r--blacklist/pentium4/fractal/fractal1
-rw-r--r--blacklist/pentium4/ghc/haskell-os-string1
-rw-r--r--blacklist/pentium4/ghc/haskell-prettyprinter-interp1
-rw-r--r--blacklist/pentium4/jupyter-notebook/jupyter-notebook7
-rw-r--r--blacklist/pentium4/libfabric1
-rw-r--r--blacklist/pentium4/linux-rt/linux-rt0
-rw-r--r--blacklist/pentium4/linux-rt/linux-rt-lts0
-rw-r--r--blacklist/pentium4/lychee/lychee1
-rw-r--r--blacklist/pentium4/mysql/xtrabackup5
-rw-r--r--blacklist/pentium4/openmpi/comgr2
-rw-r--r--blacklist/pentium4/openmpi/hip-runtime-amd1
-rw-r--r--blacklist/pentium4/openmpi/hsa-rocr2
-rw-r--r--blacklist/pentium4/openmpi/nccl1
-rw-r--r--blacklist/pentium4/openmpi/openmpi2
-rw-r--r--blacklist/pentium4/openmpi/openucc1
-rw-r--r--blacklist/pentium4/openmpi/openucx1
-rw-r--r--blacklist/pentium4/openmpi/rccl1
-rw-r--r--blacklist/pentium4/openmpi/rocminfo1
-rw-r--r--blacklist/pentium4/p2pool/p2pool1
-rw-r--r--blacklist/pentium4/prrte1
-rw-r--r--blacklist/pentium4/riscv64-linux-gnu-gcc/riscv64-linux-gnu-gcc1
-rw-r--r--blacklist/pentium4/sccache/sccache1
-rw-r--r--blacklist/pentium4/system76-scheduler/system76-scheduler1
-rw-r--r--blacklist/pentium4/vault/vault12
-rw-r--r--blacklist/pentium4/vc/vc1
-rw-r--r--blacklist/pentium4/virtualbox/virtualbox1
-rw-r--r--blacklist/pentium4/zed/zed0
-rw-r--r--blacklist/pentium4/zig/cargo-zigbuild0
-rw-r--r--blacklist/pentium4/zig/linuxwave0
-rw-r--r--blacklist/pentium4/zig/ly0
-rw-r--r--blacklist/pentium4/zig/ncdu0
-rw-r--r--blacklist/pentium4/zig/river0
-rw-r--r--blacklist/pentium4/zig/waylock0
-rw-r--r--blacklist/pentium4/zig/zig0
-rw-r--r--blacklist/pentium4/zig/zls0
-rw-r--r--build-support/libarchive-static/PKGBUILD282
-rw-r--r--build-support/libarchive-static/attr-2.5.2-basename-libgen.patch11
-rw-r--r--build-support/libarchive-static/ca-dir.patch33
-rw-r--r--build-support/libarchive-static/libarchive-3.7.7-all-static.patch39
-rw-r--r--build-support/libarchive-static/openssl-3.0.7-no-atomic.patch22
-rw-r--r--build-support/muon-meson/PKGBUILD79
-rwxr-xr-xbuild-support/muon-meson/arch-muon (renamed from extra/meson/arch-meson)13
-rw-r--r--build-support/muon-meson/disabled/PKGBUILD-full-0.3.166
-rw-r--r--build-support/muon-meson/disabled/PKGBUILD-minimal-static66
-rw-r--r--build-support/nodoc-cli/PKGBUILD6
-rw-r--r--build-support/pacman-static/.SRCINFO126
-rw-r--r--build-support/pacman-static/PKGBUILD275
-rw-r--r--build-support/pacman-static/ca-dir.patch18
-rw-r--r--build-support/pacman-static/nvchecker-deps.toml1
-rw-r--r--build-support/pacman-static/nvchecker-new.txt63
-rw-r--r--build-support/pacman-static/nvchecker-old.txt63
-rw-r--r--build-support/pacman-static/openssl-3.0.7-no-atomic.patch22
-rw-r--r--build-support/pacman-static/pacman-trailing-slash-muon.patch22
-rw-r--r--build-support/pacman-static/replace-i686-by-pentium4-when-architecture-is-auto.patch104
-rw-r--r--build-support/python-bootstrap/PKGBUILD3
-rw-r--r--build-support/shellnocheck/PKGBUILD23
-rw-r--r--core/archlinux32-keyring/PKGBUILD11
-rw-r--r--core/coreutils/PKGBUILD2
-rw-r--r--core/curl/PKGBUILD5
-rw-r--r--core/gcc/PKGBUILD18
-rw-r--r--core/gettext/PKGBUILD3
-rw-r--r--core/glib2/PKGBUILD6
-rw-r--r--core/gnutls/PKGBUILD2
-rw-r--r--core/gpgme-1/0025_debian_default_is_openpgp.diff18
-rw-r--r--core/gpgme-1/PKGBUILD99
-rw-r--r--core/gpgme/PKGBUILD49
-rw-r--r--core/icu75/ICU-22132.patch25
-rw-r--r--core/icu75/PKGBUILD149
-rw-r--r--core/icu75/icu75-LICENSE542
-rw-r--r--core/icu75/icudata-stdlibs.patch15
-rw-r--r--core/libarchive/PKGBUILD5
-rw-r--r--core/libarchive/disabled/PKGBUILD-without-xml217
-rw-r--r--core/libxml2/PKGBUILD0
-rw-r--r--core/libxml2/disabed/PKGBUILD-muon-minimal32
-rw-r--r--core/linux/PKGBUILD14
-rw-r--r--core/nss/PKGBUILD5
-rw-r--r--core/pacman-mirrorlist/PKGBUILD7
-rw-r--r--core/pacman-mirrorlist/mirrorlist21
-rwxr-xr-xcore/pacman-mirrorlist/update-list2
-rw-r--r--core/pacman/PKGBUILD28
-rw-r--r--core/pacman/disabled/PKGBUILD-muon-mininmal110
-rw-r--r--core/pacman/disabled/pacman-trailing-slash-muon.patch22
-rw-r--r--core/pacman/pacman.conf2
-rw-r--r--core/pcre2/PKGBUILD2
-rw-r--r--core/perl/PKGBUILD5
-rw-r--r--core/pinentry/PKGBUILD13
-rw-r--r--core/pkgconf/PKGBUILD11
-rw-r--r--core/systemd/PKGBUILD5
-rw-r--r--core/xz/PKGBUILD12
-rw-r--r--extra/abiword/PKGBUILD2
-rw-r--r--extra/abseil-cpp/PKGBUILD17
-rw-r--r--extra/aida-x/PKGBUILD12
-rw-r--r--extra/arrow/PKGBUILD5
-rw-r--r--extra/bear/PKGBUILD4
-rw-r--r--extra/bind/PKGBUILD4
-rw-r--r--extra/boost/PKGBUILD9
-rw-r--r--extra/boost181-libs/.SRCINFO30
-rw-r--r--extra/boost181-libs/PKGBUILD100
-rw-r--r--extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch36
-rw-r--r--extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch59
-rw-r--r--extra/c-ares/PKGBUILD3
-rw-r--r--extra/c3c/PKGBUILD6
-rw-r--r--extra/chromaprint/PKGBUILD4
-rw-r--r--extra/chromium/PKGBUILD14
-rw-r--r--extra/cmake/PKGBUILD3
-rw-r--r--extra/cppcheck/PKGBUILD5
-rw-r--r--extra/doxygen/PKGBUILD22
-rw-r--r--extra/dragonfly-reverb/PKGBUILD1
-rw-r--r--extra/dvdauthor/PKGBUILD2
-rw-r--r--extra/efifs/PKGBUILD7
-rw-r--r--extra/exim/PKGBUILD1
-rw-r--r--extra/ffmpeg/PKGBUILD3
-rw-r--r--extra/ffmpeg2theora/PKGBUILD3
-rw-r--r--extra/ffmpeg4.4/PKGBUILD3
-rw-r--r--extra/flac/PKGBUILD4
-rw-r--r--extra/fractal/PKGBUILD1
-rw-r--r--extra/fricas/PKGBUILD3
-rw-r--r--extra/gcc12/PKGBUILD125
-rw-r--r--extra/gcc13/PKGBUILD21
-rw-r--r--extra/gdb/PKGBUILD9
-rw-r--r--extra/gdb/opcodes.patch40
-rw-r--r--extra/gitea/PKGBUILD3
-rw-r--r--extra/godot/PKGBUILD2
-rw-r--r--extra/gstreamer/PKGBUILD12
-rw-r--r--extra/gtk4/PKGBUILD2
-rw-r--r--extra/hunspell-de/PKGBUILD6
-rw-r--r--extra/hunspell-el/PKGBUILD6
-rw-r--r--extra/hunspell-en/PKGBUILD27
-rw-r--r--extra/hunspell-es/PKGBUILD6
-rw-r--r--extra/hunspell-fr/PKGBUILD6
-rw-r--r--extra/hunspell-hu/PKGBUILD6
-rw-r--r--extra/hunspell-it/PKGBUILD6
-rw-r--r--extra/hunspell-nl/PKGBUILD6
-rw-r--r--extra/hunspell-pl/PKGBUILD8
-rw-r--r--extra/hunspell-ro/PKGBUILD6
-rw-r--r--extra/hunspell-ru/PKGBUILD10
-rw-r--r--extra/iempluginsuite/PKGBUILD1
-rw-r--r--extra/intel-metee/PKGBUILD1
-rw-r--r--extra/iso-codes/PKGBUILD2
-rw-r--r--extra/jrnl/PKGBUILD1
-rw-r--r--extra/js128/PKGBUILD1
-rw-r--r--extra/js80p/PKGBUILD1
-rw-r--r--extra/kimageformats/PKGBUILD2
-rw-r--r--extra/knockd/PKGBUILD3
-rw-r--r--extra/libavif/PKGBUILD3
-rw-r--r--extra/libcdio/PKGBUILD15
-rw-r--r--extra/libcroco/PKGBUILD41
-rw-r--r--extra/libgphoto2/721f7f8c3ec8058d504607873e4c317aac0c99c5.patch34
-rw-r--r--extra/libgphoto2/PKGBUILD6
-rw-r--r--extra/libjpeg-turbo/PKGBUILD4
-rw-r--r--extra/libjxl/PKGBUILD24
-rw-r--r--extra/libpgm/PKGBUILD4
-rw-r--r--extra/librsvg-og/PKGBUILD8
-rw-r--r--extra/libsieve/PKGBUILD4
-rw-r--r--extra/libunwind/PKGBUILD12
-rw-r--r--extra/libusbsio/PKGBUILD6
-rw-r--r--extra/libuv/PKGBUILD13
-rw-r--r--extra/libwpe/PKGBUILD21
-rw-r--r--extra/libx86/PKGBUILD3
-rw-r--r--extra/lirc/PKGBUILD2
-rw-r--r--extra/llvm/PKGBUILD3
-rw-r--r--extra/luajit/PKGBUILD75
-rw-r--r--extra/luajit/c7815e1a1b49871e645252bb12e722fb4879df11.patch13
-rw-r--r--extra/mdcat/PKGBUILD1
-rw-r--r--extra/mesa-amber/PKGBUILD3
-rw-r--r--extra/mesa/PKGBUILD16
-rw-r--r--extra/meson/PKGBUILD20
-rw-r--r--extra/mingw-w64-gcc/PKGBUILD5
-rw-r--r--extra/nanobind/PKGBUILD1
-rw-r--r--extra/netplan/PKGBUILD15
-rw-r--r--extra/netplan/netplan-0.102-no-pandoc.patch22
-rw-r--r--extra/newsboat-og/.SRCINFO27
-rw-r--r--extra/newsboat-og/PKGBUILD6
-rw-r--r--extra/octave/PKGBUILD9
-rw-r--r--extra/openmpi4/.SRCINFO52
-rw-r--r--extra/openmpi4/PKGBUILD115
-rw-r--r--extra/openvdb/PKGBUILD8
-rw-r--r--extra/ot-keys/PKGBUILD1
-rw-r--r--extra/ot-simian/PKGBUILD1
-rw-r--r--extra/pango/PKGBUILD10
-rw-r--r--extra/pre-commit/PKGBUILD3
-rw-r--r--extra/prometheus-node-exporter/PKGBUILD1
-rw-r--r--extra/protobuf/PKGBUILD23
-rw-r--r--extra/python-build/PKGBUILD1
-rw-r--r--extra/python-datrie/PKGBUILD3
-rw-r--r--extra/python-openai/PKGBUILD1
-rw-r--r--extra/python-pyarrow/PKGBUILD2
-rw-r--r--extra/python-qdldl/0001-Fix-i686-builds.patch63
-rw-r--r--extra/python-qdldl/PKGBUILD12
-rw-r--r--extra/python-redis/PKGBUILD3
-rw-r--r--extra/python-scipy/PKGBUILD9
-rw-r--r--extra/python-setuptools/PKGBUILD8
-rw-r--r--extra/python-validate-pyproject/PKGBUILD5
-rw-r--r--extra/qt6-base/PKGBUILD8
-rw-r--r--extra/qt6-doc/PKGBUILD9
-rw-r--r--extra/qt6-quick3dphysics/PKGBUILD8
-rw-r--r--extra/qt6-webengine/PKGBUILD9
-rw-r--r--extra/reaper/PKGBUILD10
-rw-r--r--extra/ruby-erb/PKGBUILD3
-rw-r--r--extra/ruby-hoe/PKGBUILD2
-rw-r--r--extra/ruby-minitest/PKGBUILD2
-rw-r--r--extra/ruby-puma/PKGBUILD2
-rw-r--r--extra/ruby-rake-compiler/PKGBUILD2
-rw-r--r--extra/ruby-ruby_memcheck/PKGBUILD2
-rw-r--r--extra/ruby-stackprof/PKGBUILD2
-rw-r--r--extra/ruby-sys-filesystem/PKGBUILD2
-rw-r--r--extra/ruby/055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch24
-rw-r--r--extra/ruby/PKGBUILD22
-rw-r--r--extra/rubygems/PKGBUILD1
-rw-r--r--extra/samba/PKGBUILD20
-rw-r--r--extra/scaleway-cli/PKGBUILD1
-rw-r--r--extra/scrapy/PKGBUILD1
-rw-r--r--extra/sdl2_mixer/PKGBUILD3
-rw-r--r--extra/sequoia-sq/PKGBUILD2
-rw-r--r--extra/sfizz/PKGBUILD1
-rw-r--r--extra/socat/PKGBUILD2
-rw-r--r--extra/stochas/PKGBUILD12
-rw-r--r--extra/subversion/PKGBUILD11
-rw-r--r--extra/syslog-ng/581bb46db5c3e7bc4abd1ea45487652756ce022f.patch33
-rw-r--r--extra/syslog-ng/PKGBUILD7
-rw-r--r--extra/syslog-ng/ac13999810bced8f623b0e027579a95f23dc0641.patch53
-rw-r--r--extra/texlive-bin/PKGBUILD1
-rw-r--r--extra/tiled/PKGBUILD3
-rw-r--r--extra/tinysparql/PKGBUILD7
-rw-r--r--extra/tslib/PKGBUILD5
-rw-r--r--extra/webkit2gtk-4.1/PKGBUILD16
-rw-r--r--extra/webkit2gtk-4.1/i486.diff36
-rw-r--r--extra/webkit2gtk-4.1/i686.diff37
-rw-r--r--extra/webkit2gtk/PKGBUILD41
-rw-r--r--extra/webkit2gtk/i486.diff36
-rw-r--r--extra/webkit2gtk/i686.diff37
-rw-r--r--extra/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch50
-rw-r--r--extra/webkitgtk-6.0/PKGBUILD16
-rw-r--r--extra/webkitgtk-6.0/i486.diff36
-rw-r--r--extra/webkitgtk-6.0/i686.diff37
-rw-r--r--extra/webrtc-audio-processing-1/PKGBUILD10
-rw-r--r--extra/wireplumber/PKGBUILD42
-rw-r--r--extra/wolf-shaper/PKGBUILD1
-rw-r--r--extra/yazi/PKGBUILD2
-rw-r--r--extra/yubico-piv-tool/PKGBUILD9
260 files changed, 4048 insertions, 708 deletions
diff --git a/blacklist/any/deepin/deepin-qt6integration b/blacklist/any/deepin/deepin-qt6integration
new file mode 100644
index 00000000..d95ce350
--- /dev/null
+++ b/blacklist/any/deepin/deepin-qt6integration
@@ -0,0 +1 @@
+deepin fails to build/bootstrap for a long time now
diff --git a/blacklist/any/deepin/deepin-qt6platform-plugins b/blacklist/any/deepin/deepin-qt6platform-plugins
new file mode 100644
index 00000000..d95ce350
--- /dev/null
+++ b/blacklist/any/deepin/deepin-qt6platform-plugins
@@ -0,0 +1 @@
+deepin fails to build/bootstrap for a long time now
diff --git a/blacklist/any/deepin/dtk6declarative b/blacklist/any/deepin/dtk6declarative
new file mode 100644
index 00000000..d95ce350
--- /dev/null
+++ b/blacklist/any/deepin/dtk6declarative
@@ -0,0 +1 @@
+deepin fails to build/bootstrap for a long time now
diff --git a/blacklist/any/deepin/dtk6gui b/blacklist/any/deepin/dtk6gui
new file mode 100644
index 00000000..d95ce350
--- /dev/null
+++ b/blacklist/any/deepin/dtk6gui
@@ -0,0 +1 @@
+deepin fails to build/bootstrap for a long time now
diff --git a/blacklist/any/deepin/dtk6widget b/blacklist/any/deepin/dtk6widget
new file mode 100644
index 00000000..d95ce350
--- /dev/null
+++ b/blacklist/any/deepin/dtk6widget
@@ -0,0 +1 @@
+deepin fails to build/bootstrap for a long time now
diff --git a/blacklist/any/riscv64-linux-gnu-glibc/riscv64-linux-gnu-glibc b/blacklist/any/riscv64-linux-gnu-glibc/riscv64-linux-gnu-glibc
deleted file mode 100644
index bfaa0b02..00000000
--- a/blacklist/any/riscv64-linux-gnu-glibc/riscv64-linux-gnu-glibc
+++ /dev/null
@@ -1 +0,0 @@
-see riscv64-linux-gnu-gcc
diff --git a/blacklist/i686/libjxl/libjxl b/blacklist/i686/libjxl/libjxl
deleted file mode 100644
index f0d788f3..00000000
--- a/blacklist/i686/libjxl/libjxl
+++ /dev/null
@@ -1 +0,0 @@
-Too hard to enable non-SSE2 version
diff --git a/blacklist/pentium4/ceph/ceph b/blacklist/pentium4/ceph/ceph
deleted file mode 100644
index 34fee63f..00000000
--- a/blacklist/pentium4/ceph/ceph
+++ /dev/null
@@ -1 +0,0 @@
-fails fatally in check() - see <a href="https://bugs.archlinux32.org/index.php?do=details&task_id=21">FS32#21</a>
diff --git a/blacklist/pentium4/ceph/xrootd b/blacklist/pentium4/ceph/xrootd
deleted file mode 100644
index 34fee63f..00000000
--- a/blacklist/pentium4/ceph/xrootd
+++ /dev/null
@@ -1 +0,0 @@
-fails fatally in check() - see <a href="https://bugs.archlinux32.org/index.php?do=details&task_id=21">FS32#21</a>
diff --git a/blacklist/pentium4/chromium/chromium b/blacklist/pentium4/chromium/chromium
new file mode 100644
index 00000000..51406351
--- /dev/null
+++ b/blacklist/pentium4/chromium/chromium
@@ -0,0 +1 @@
+LLVM runs out of memory doing LTO. No time to look at it right now and it's pointlessly taking up build time.
diff --git a/blacklist/pentium4/deno b/blacklist/pentium4/deno
new file mode 100644
index 00000000..cd11b2ed
--- /dev/null
+++ b/blacklist/pentium4/deno
@@ -0,0 +1 @@
+doesn't build
diff --git a/blacklist/pentium4/dolphin-emu/dolphin-emu b/blacklist/pentium4/dolphin-emu/dolphin-emu
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/dolphin-emu/dolphin-emu
diff --git a/blacklist/pentium4/electron/electron29 b/blacklist/pentium4/electron/electron29
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron29
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron30 b/blacklist/pentium4/electron/electron30
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron30
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron31 b/blacklist/pentium4/electron/electron31
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron31
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron32 b/blacklist/pentium4/electron/electron32
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron32
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron33 b/blacklist/pentium4/electron/electron33
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron33
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron34 b/blacklist/pentium4/electron/electron34
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron34
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron35 b/blacklist/pentium4/electron/electron35
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron35
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/electron/electron36 b/blacklist/pentium4/electron/electron36
new file mode 100644
index 00000000..78bf1a60
--- /dev/null
+++ b/blacklist/pentium4/electron/electron36
@@ -0,0 +1 @@
+see above
diff --git a/blacklist/pentium4/fractal/fractal b/blacklist/pentium4/fractal/fractal
new file mode 100644
index 00000000..e5e11cff
--- /dev/null
+++ b/blacklist/pentium4/fractal/fractal
@@ -0,0 +1 @@
+Out of memory even without LTO and Debug symbols
diff --git a/blacklist/pentium4/ghc/haskell-os-string b/blacklist/pentium4/ghc/haskell-os-string
new file mode 100644
index 00000000..0c5b7d0b
--- /dev/null
+++ b/blacklist/pentium4/ghc/haskell-os-string
@@ -0,0 +1 @@
+Haskell doesn't build or bootstrap on IA-32 anymore. Packages are broken since years now on Arch32..
diff --git a/blacklist/pentium4/ghc/haskell-prettyprinter-interp b/blacklist/pentium4/ghc/haskell-prettyprinter-interp
new file mode 100644
index 00000000..0c5b7d0b
--- /dev/null
+++ b/blacklist/pentium4/ghc/haskell-prettyprinter-interp
@@ -0,0 +1 @@
+Haskell doesn't build or bootstrap on IA-32 anymore. Packages are broken since years now on Arch32..
diff --git a/blacklist/pentium4/jupyter-notebook/jupyter-notebook b/blacklist/pentium4/jupyter-notebook/jupyter-notebook
new file mode 100644
index 00000000..9d91fde6
--- /dev/null
+++ b/blacklist/pentium4/jupyter-notebook/jupyter-notebook
@@ -0,0 +1,7 @@
+➤ YN0001: │ Error: Couldn't allocate enough memory
+ at ZipFS.allocateBuffer ([worker eval]:1:40610)
+ at ZipFS.allocateSource ([worker eval]:1:41045)
+ at ZipFS.setFileSource ([worker eval]:1:41318)
+ at ZipFS.writeFileSync ([worker eval]:1:46409)
+ at extractArchiveTo ([worker eval]:1:466938)
+ at async MessagePort.<anonymous> ([worker eval]:1:468587)
diff --git a/blacklist/pentium4/libfabric b/blacklist/pentium4/libfabric
new file mode 100644
index 00000000..f8d64c67
--- /dev/null
+++ b/blacklist/pentium4/libfabric
@@ -0,0 +1 @@
+makes creative use of uint64_t to pointer casts, hardly portable
diff --git a/blacklist/pentium4/linux-rt/linux-rt b/blacklist/pentium4/linux-rt/linux-rt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/linux-rt/linux-rt
diff --git a/blacklist/pentium4/linux-rt/linux-rt-lts b/blacklist/pentium4/linux-rt/linux-rt-lts
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/linux-rt/linux-rt-lts
diff --git a/blacklist/pentium4/lychee/lychee b/blacklist/pentium4/lychee/lychee
new file mode 100644
index 00000000..5443fba6
--- /dev/null
+++ b/blacklist/pentium4/lychee/lychee
@@ -0,0 +1 @@
+builds and kill electrons on poor build slaves for ever (nice new Rust world, have fun with it)
diff --git a/blacklist/pentium4/mysql/xtrabackup b/blacklist/pentium4/mysql/xtrabackup
new file mode 100644
index 00000000..6f4f4ca3
--- /dev/null
+++ b/blacklist/pentium4/mysql/xtrabackup
@@ -0,0 +1,5 @@
+-- Check size of void *
+-- Check size of void * - done
+-- SIZEOF_VOIDP 4
+CMake Error at CMakeLists.txt:656 (MESSAGE):
+ MySQL supports only 64-bit platforms.
diff --git a/blacklist/pentium4/openmpi/comgr b/blacklist/pentium4/openmpi/comgr
new file mode 100644
index 00000000..61943a63
--- /dev/null
+++ b/blacklist/pentium4/openmpi/comgr
@@ -0,0 +1,2 @@
+presumably due to rocm-llvm:
+<command-line>: error: token "=" is not valid in preprocessor expressions
diff --git a/blacklist/pentium4/openmpi/hip-runtime-amd b/blacklist/pentium4/openmpi/hip-runtime-amd
new file mode 100644
index 00000000..9ee4984e
--- /dev/null
+++ b/blacklist/pentium4/openmpi/hip-runtime-amd
@@ -0,0 +1 @@
+doesn't build and prerequisites don't build
diff --git a/blacklist/pentium4/openmpi/hsa-rocr b/blacklist/pentium4/openmpi/hsa-rocr
new file mode 100644
index 00000000..c23c199b
--- /dev/null
+++ b/blacklist/pentium4/openmpi/hsa-rocr
@@ -0,0 +1,2 @@
+presumably due to rocm-llvm
+clang-17: error: invalid target ID 'gfx1150'; format is a processor name followed by an optional colon-delimited list of features followed by an enable/disable sign (e.g., 'gfx908:sramecc+:xnack-')
diff --git a/blacklist/pentium4/openmpi/nccl b/blacklist/pentium4/openmpi/nccl
new file mode 100644
index 00000000..b1692332
--- /dev/null
+++ b/blacklist/pentium4/openmpi/nccl
@@ -0,0 +1 @@
+requires cuda
diff --git a/blacklist/pentium4/openmpi/openmpi b/blacklist/pentium4/openmpi/openmpi
new file mode 100644
index 00000000..b4a7b8f5
--- /dev/null
+++ b/blacklist/pentium4/openmpi/openmpi
@@ -0,0 +1,2 @@
+configure: WARNING: Open MPI no longer supports 32 bit builds.
+configure: WARNING: Please use Open MPI v4.x or earlier if you need 32 bit support.
diff --git a/blacklist/pentium4/openmpi/openucc b/blacklist/pentium4/openmpi/openucc
new file mode 100644
index 00000000..6cc129f3
--- /dev/null
+++ b/blacklist/pentium4/openmpi/openucc
@@ -0,0 +1 @@
+requires cuda, hip-runtime-amd, nccl, rccl
diff --git a/blacklist/pentium4/openmpi/openucx b/blacklist/pentium4/openmpi/openucx
new file mode 100644
index 00000000..5b1567e3
--- /dev/null
+++ b/blacklist/pentium4/openmpi/openucx
@@ -0,0 +1 @@
+requires cuda, rocm-language-runtime \ No newline at end of file
diff --git a/blacklist/pentium4/openmpi/rccl b/blacklist/pentium4/openmpi/rccl
new file mode 100644
index 00000000..1d1d7a28
--- /dev/null
+++ b/blacklist/pentium4/openmpi/rccl
@@ -0,0 +1 @@
+requires hipify-clang
diff --git a/blacklist/pentium4/openmpi/rocminfo b/blacklist/pentium4/openmpi/rocminfo
new file mode 100644
index 00000000..0f5b14b0
--- /dev/null
+++ b/blacklist/pentium4/openmpi/rocminfo
@@ -0,0 +1 @@
+needs hsa-rocr
diff --git a/blacklist/pentium4/p2pool/p2pool b/blacklist/pentium4/p2pool/p2pool
new file mode 100644
index 00000000..a66ef7c0
--- /dev/null
+++ b/blacklist/pentium4/p2pool/p2pool
@@ -0,0 +1 @@
+Fails to compile
diff --git a/blacklist/pentium4/prrte b/blacklist/pentium4/prrte
new file mode 100644
index 00000000..02703ffa
--- /dev/null
+++ b/blacklist/pentium4/prrte
@@ -0,0 +1 @@
+configure: WARNING: PRRTE does not support 32 bit builds.
diff --git a/blacklist/pentium4/riscv64-linux-gnu-gcc/riscv64-linux-gnu-gcc b/blacklist/pentium4/riscv64-linux-gnu-gcc/riscv64-linux-gnu-gcc
deleted file mode 100644
index 6f32f548..00000000
--- a/blacklist/pentium4/riscv64-linux-gnu-gcc/riscv64-linux-gnu-gcc
+++ /dev/null
@@ -1 +0,0 @@
-needs manual bootstrap - is it worth the effort?
diff --git a/blacklist/pentium4/sccache/sccache b/blacklist/pentium4/sccache/sccache
new file mode 100644
index 00000000..8b75fc53
--- /dev/null
+++ b/blacklist/pentium4/sccache/sccache
@@ -0,0 +1 @@
+https://github.com/mozilla/sccache/blob/330d160824659c43f811fc0bd486fed4440404ac/src/bin/sccache-dist/main.rs#L38
diff --git a/blacklist/pentium4/system76-scheduler/system76-scheduler b/blacklist/pentium4/system76-scheduler/system76-scheduler
new file mode 100644
index 00000000..c685b695
--- /dev/null
+++ b/blacklist/pentium4/system76-scheduler/system76-scheduler
@@ -0,0 +1 @@
+Unsupported architecture: i686-unknown-linux-gnu
diff --git a/blacklist/pentium4/vault/vault b/blacklist/pentium4/vault/vault
new file mode 100644
index 00000000..c5a8383f
--- /dev/null
+++ b/blacklist/pentium4/vault/vault
@@ -0,0 +1,12 @@
+➤ YN0001: │ RangeError: Array buffer allocation failed
+ at new ArrayBuffer (<anonymous>)
+ at new Uint8Array (<anonymous>)
+ at new FastBuffer (node:internal/buffer:961:5)
+ at createUnsafeBuffer (node:internal/buffer:1064:12)
+ at allocate (node:buffer:438:10)
+ at Function.allocUnsafe (node:buffer:403:10)
+ at Function.concat (node:buffer:580:25)
+ at readEntry.<anonymous> ([worker eval]:1:465864)
+ at readEntry.emit (node:events:519:28)
+ at readEntry.on ([worker eval]:1:345239)
+
diff --git a/blacklist/pentium4/vc/vc b/blacklist/pentium4/vc/vc
deleted file mode 100644
index b029df42..00000000
--- a/blacklist/pentium4/vc/vc
+++ /dev/null
@@ -1 +0,0 @@
-"Unsupported target architecture 'i686'. No support_???.cpp file exists for this architecture", complain upstream if you need it
diff --git a/blacklist/pentium4/virtualbox/virtualbox b/blacklist/pentium4/virtualbox/virtualbox
new file mode 100644
index 00000000..36126c8b
--- /dev/null
+++ b/blacklist/pentium4/virtualbox/virtualbox
@@ -0,0 +1 @@
+32 bit is no longer supported
diff --git a/blacklist/pentium4/zed/zed b/blacklist/pentium4/zed/zed
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zed/zed
diff --git a/blacklist/pentium4/zig/cargo-zigbuild b/blacklist/pentium4/zig/cargo-zigbuild
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/cargo-zigbuild
diff --git a/blacklist/pentium4/zig/linuxwave b/blacklist/pentium4/zig/linuxwave
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/linuxwave
diff --git a/blacklist/pentium4/zig/ly b/blacklist/pentium4/zig/ly
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/ly
diff --git a/blacklist/pentium4/zig/ncdu b/blacklist/pentium4/zig/ncdu
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/ncdu
diff --git a/blacklist/pentium4/zig/river b/blacklist/pentium4/zig/river
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/river
diff --git a/blacklist/pentium4/zig/waylock b/blacklist/pentium4/zig/waylock
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/waylock
diff --git a/blacklist/pentium4/zig/zig b/blacklist/pentium4/zig/zig
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/zig
diff --git a/blacklist/pentium4/zig/zls b/blacklist/pentium4/zig/zls
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/blacklist/pentium4/zig/zls
diff --git a/build-support/libarchive-static/PKGBUILD b/build-support/libarchive-static/PKGBUILD
new file mode 100644
index 00000000..c76e92b2
--- /dev/null
+++ b/build-support/libarchive-static/PKGBUILD
@@ -0,0 +1,282 @@
+# Maintainer: Andreas Baumann <mail@andreasbaumann.cc>
+# based on pacman-static of Eli Schwartz <eschwartz@archlinux.org>
+
+pkgname=libarchive-static
+_pkgname=libarchive
+pkgver=3.7.7
+pkgrel=3
+_attrver=2.5.2
+_aclver=2.3.2
+_sslver=3.4.1
+_zlibver=1.3.1
+_xzver=5.6.4
+_bzipver=1.0.8
+_zstdver=1.5.6
+pkgdesc='Statically-compiled bsdtar (Multi-format archive and compression library, to fix badly broken systems)'
+arch=('i486' 'i686' 'pentium4' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
+url='https://libarchive.org/'
+license=('BSD')
+makedepends=('musl' 'kernel-headers-musl' 'git')
+options=('!emptydirs' '!lto')
+validpgpkeys=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E' # Martin Matuska <mm@FreeBSD.org>
+ 'DB2C7CF1B4C265FAEF56E3FC5848A18B8F14184B') # Martin Matuska <martin@matuska.org>
+source=("git+https://github.com/${_pkgname}/${_pkgname}.git?signed#tag=v${pkgver}"
+ "libarchive-3.7.7-all-static.patch")
+
+sha512sums=('e5bb4b6663c79821a175a231e13ba03ffa1f68f8ea33ec194eca082217bf1a74e72ad9605e6a1063306e836a2e9363facd47d831231ff4f9f819ae62deb505f0'
+ 'b436f07b28aeee17e1fd2dec36e7d6393f719a782b5c8902ffb443544248fdffafda8e7a471cea1d0136806b34cf92d7ecbc7ba83d4c1a904ef44179ce65adc3'
+ 'f587ea544effb7cfed63b3027bf14baba2c2dbe3a9b6c0c45fc559f7e8cb477b3e9a4a826eae30f929409468c50d11f3e7dc6d2500f41e1af8662a7e96a30ef3'
+ 'SKIP'
+ '6e6588e75c4868bac104496a6709f2874e39b81deff2d5d05706039d6e67fbc5bcd0100bdb0aa840a0e09f99443b1d4fa0a44bd4d5d334f7ae57916c1aee4875'
+ '31aeb39958d8af5d08933dd3a89333a41025c3eb49fc461fa3c291caca51dad575ec13faeb7deba9b3c2ebf7615be7d45e2b78e50d4f83d8ec933c95931a7682'
+ 'SKIP'
+ '1de6307c587686711f05d1e96731c43526fa3af51e4cd94c06c880954b67f6eb4c7db3177f0ea5937d41bc1f8cadcf5bce75025b5c1a46a469376960f1001c5f'
+ 'SKIP'
+ 'b1873dbb7a49460b007255689102062756972de5cc2d38b12cc9f389b6be412da6797579b1acd3717a8cd2ee118fd9801b94e55f063d4328f050f0876a5eb53c'
+ 'b5887ea77417fae49b6cb1e9fa782d3021f268d5219701d87a092235964f73fa72a31428b630445517f56f2bb69dcbbb24119ef9dbf8b4e40a753369a9f9a16f'
+ '580677aad97093829090d4b605ac81c50327e74a6c2de0b85dd2e8525553f3ddde17556ea46f8f007f89e435493c9a20bc997d1ef1c1c2c23274528e3c46b94f'
+ 'SKIP'
+ 'e3216eca5fae2c9ce419e698bfbe186903088dad0a579749cb49bcde8f9d4073b98bf1570fe69190a9a41feb2a7c9814498ec9b867527de1c74ff75a1cbdfc17'
+ '083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3'
+ 'SKIP'
+ '21f9da445afd76acaf3acb22d216c2b584d95e8c68e00f5cb3f6673f2d556dd14a7593344adf8ffd194bba3314387ee0e486d6248f6c935abca2edd8a4cf95ed'
+ 'SKIP')
+# i486, shasumming git archives is broken?
+if [ "${CARCH}" = "i486" ]; then
+ sha512sums[6]='SKIP'
+ sha512sums[12]='SKIP'
+fi
+
+_backports=(
+ # fix CVE-2025-1632 and CVE-2025-25724 (#2532)
+ 'c9bc934e7e91d302e0feca6e713ccc38d6d01532'
+)
+
+_reverts=(
+)
+
+# attr
+source+=("https://download.savannah.gnu.org/releases/attr/attr-${_attrver}.tar.xz"{,.sig}
+ "attr-2.5.2-basename-libgen.patch")
+validpgpkeys+=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips <brandon@ifup.co>
+ 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger <vapier@gentoo.org>
+ '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
+
+# acl
+source+=("https://download.savannah.gnu.org/releases/acl/acl-${_aclver}.tar.gz"{,.sig})
+validpgpkeys+=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips <brandon@ifup.co>
+ 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger <vapier@gentoo.org>
+ '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher <andreas.gruenbacher@gmail.com>
+
+# openssl
+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' # 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+=("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>
+# zstd
+source+=("https://github.com/facebook/zstd/releases/download/v${_zstdver}/zstd-${_zstdver}.tar.zst"{,.sig})
+validpgpkeys+=('4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD') # Zstandard Release Signing Key <signing@zstd.net>
+
+export LDFLAGS="$LDFLAGS -static"
+export CC=musl-gcc
+export CXX=musl-gcc
+
+# https://www.openwall.com/lists/musl/2014/11/05/3
+# fstack-protector and musl do not get along but only on i686
+if [[ $CARCH = i686 || $CARCH = pentium4 || $CARCH = i486 ]]; then
+ # silly build systems have configure checks or buildtime programs that don't CFLAGS but do do CC
+ export CC="musl-gcc -fno-stack-protector"
+ export CXX="musl-gcc -fno-stack-protector"
+ export CFLAGS="${CFLAGS/-fstack-protector-strong/}"
+ 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}/${_pkgname}"
+
+ local _c _l
+ for _c in "${_backports[@]}"; do
+ if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
+ git log --oneline "${_l}" "${_c}"
+ git cherry-pick --mainline 1 --no-commit "${_c}"
+ done
+ for _c in "${_reverts[@]}"; do
+ if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
+ git log --oneline "${_l}" "${_c}"
+ git revert --mainline 1 --no-commit "${_c}"
+ done
+
+ # patch for libtool building static binaries with -all-static
+ # (thanks to the Gentoo people: https://bugs.gentoo.org/591096)
+ patch -Np1 < "${srcdir}/libarchive-3.7.7-all-static.patch"
+
+ autoreconf -fiv
+
+ # attr
+ cd "${srcdir}"/attr-${_attrver}
+ patch -Np1 -i "${srcdir}/attr-2.5.2-basename-libgen.patch"
+
+ # 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}"
+
+ # attr
+ cd "${srcdir}"/attr-${_attrver}
+ ./configure --prefix="${srcdir}"/temp/usr \
+ --disable-shared
+ make
+ make install
+
+ # acl
+ cd "${srcdir}"/acl-${_aclver}
+ CPPFLAGS="-I${srcdir}/temp/usr/include" CFLAGS="-L${srcdir}/temp/usr/lib" \
+ ./configure --prefix="${srcdir}"/temp/usr \
+ --disable-shared
+ make
+ make install
+
+ # openssl
+ cd "${srcdir}"/openssl-${_sslver}
+ case ${CARCH} in
+ x86_64)
+ openssltarget='linux-x86_64'
+ optflags='enable-ec_nistp_64_gcc_128'
+ ;;
+ pentium4)
+ openssltarget='linux-elf'
+ optflags=''
+ ;;
+ i686)
+ openssltarget='linux-elf'
+ optflags='no-sse2'
+ ;;
+ i486)
+ openssltarget='linux-elf'
+ optflags='386 no-threads'
+ ;;
+ arm|armv6h|armv7h)
+ openssltarget='linux-armv4'
+ optflags=''
+ ;;
+ aarch64)
+ openssltarget='linux-aarch64'
+ optflags='no-afalgeng'
+ ;;
+ esac
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix="${srcdir}"/temp/usr \
+ --openssldir=/etc/ssl \
+ --libdir=lib \
+ -static \
+ no-ssl3-method \
+ ${optflags} \
+ "${openssltarget}" \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+ make build_libs
+ make install_dev
+
+ # xz
+ cd "${srcdir}"/xz
+ ./autogen.sh --no-po4a --no-doxygen
+ ./configure --prefix="${srcdir}"/temp/usr \
+ --disable-shared
+ cd src/liblzma
+ make
+ make install
+
+ # bzip2
+ cd "${srcdir}"/bzip2-${_bzipver}
+ sed -i "s|-O2|${CFLAGS}|g;s|CC=gcc|CC=${CC}|g" Makefile
+ make libbz2.a
+ install -Dvm644 bzlib.h "${srcdir}"/temp/usr/include/
+ install -Dvm644 libbz2.a "${srcdir}"/temp/usr/lib/
+
+ cd "${srcdir}"/zstd-${_zstdver}/lib
+ make libzstd.a
+ make PREFIX="${srcdir}"/temp/usr install-pc install-static install-includes
+
+ # zlib
+ cd "${srcdir}/"zlib-${_zlibver}
+ ./configure --prefix="${srcdir}"/temp/usr \
+ --static
+ make libz.a
+ make install
+
+ # Finally build libarchive
+ cd "${srcdir}/${_pkgname}"
+ CFLAGS="-static -I${srcdir}/temp/usr/include" LDFLAGS="-L${srcdir}/temp/usr/lib" \
+ ./configure --prefix="${srcdir}"/temp/usr \
+ --bindir=/usr/bin \
+ --without-xml2 \
+ --without-lz4 \
+ --without-nettle \
+ --without-expat \
+ --disable-shared \
+ --enable-bsdtar=static \
+ --enable-bsdcat=static \
+ --enable-bsdcpio=static \
+ --enable-bsdunzip=static
+ make V=1
+ make install-{includeHEADERS,libLTLIBRARIES,pkgconfigDATA,includeHEADERS}
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+ make DESTDIR="$pkgdir" install
+
+ for exe in "${pkgdir}"/usr/bin/*; do
+ if [[ -f ${exe} && $(head -c4 "${exe}") = $'\x7fELF' ]]; then
+ mv "${exe}" "${exe}"-static
+ else
+ rm "${exe}"
+ fi
+ done
+
+ # remove some temporary stuff
+ rm -rf "${pkgdir}"/data
+
+ install -Dm0644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# still broken git checksumming on i486
+if [ "${CARCH}" = "i486" ]; then
+ sha512sums[0]='SKIP'
+ sha512sums[13]='SKIP'
+fi
diff --git a/build-support/libarchive-static/attr-2.5.2-basename-libgen.patch b/build-support/libarchive-static/attr-2.5.2-basename-libgen.patch
new file mode 100644
index 00000000..3d697d7f
--- /dev/null
+++ b/build-support/libarchive-static/attr-2.5.2-basename-libgen.patch
@@ -0,0 +1,11 @@
+diff -rauN attr-2.5.2/tools/attr.c attr-2.5.2-basename-libgen-patch/tools/attr.c
+--- attr-2.5.2/tools/attr.c 2022-12-31 01:37:46.000000000 +0100
++++ attr-2.5.2-basename-libgen-patch/tools/attr.c 2025-03-15 09:49:02.247492830 +0100
+@@ -26,6 +26,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <errno.h>
++#include <libgen.h>
+ #include <string.h>
+ #include <locale.h>
+
diff --git a/build-support/libarchive-static/ca-dir.patch b/build-support/libarchive-static/ca-dir.patch
new file mode 100644
index 00000000..9e5650d8
--- /dev/null
+++ b/build-support/libarchive-static/ca-dir.patch
@@ -0,0 +1,33 @@
+diff -rauN openssl-3.0.7/apps/CA.pl.in openssl-3.0.7-patched/apps/CA.pl.in
+--- openssl-3.0.7/apps/CA.pl.in 2022-11-01 15:14:36.000000000 +0100
++++ openssl-3.0.7-patched/apps/CA.pl.in 2022-11-07 21:35:19.641418630 +0100
+@@ -29,7 +29,7 @@
+ my $PKCS12 = "$openssl pkcs12";
+
+ # Default values for various configuration settings.
+-my $CATOP = "./demoCA";
++my $CATOP = "/etc/ssl";
+ my $CAKEY = "cakey.pem";
+ my $CAREQ = "careq.pem";
+ my $CACERT = "cacert.pem";
+diff -rauN openssl-3.0.7/apps/openssl.cnf openssl-3.0.7-patched/apps/openssl.cnf
+--- openssl-3.0.7/apps/openssl.cnf 2022-11-01 15:14:36.000000000 +0100
++++ openssl-3.0.7-patched/apps/openssl.cnf 2022-11-07 21:34:48.351281834 +0100
+@@ -79,7 +79,7 @@
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
+@@ -309,7 +309,7 @@
+ [ tsa_config1 ]
+
+ # These are used by the TSA reply generation only.
+-dir = ./demoCA # TSA root directory
++dir = /etc/ssl # TSA root directory
+ serial = $dir/tsaserial # The current serial number (mandatory)
+ crypto_device = builtin # OpenSSL engine to use for signing
+ signer_cert = $dir/tsacert.pem # The TSA signing certificate
diff --git a/build-support/libarchive-static/libarchive-3.7.7-all-static.patch b/build-support/libarchive-static/libarchive-3.7.7-all-static.patch
new file mode 100644
index 00000000..9701ea16
--- /dev/null
+++ b/build-support/libarchive-static/libarchive-3.7.7-all-static.patch
@@ -0,0 +1,39 @@
+diff -rauN libarchive-3.7.7/Makefile.am libarchive-3.7.7-all-static-patch/Makefile.am
+--- libarchive-3.7.7/Makefile.am 2025-03-15 15:50:40.659592121 +0100
++++ libarchive-3.7.7-all-static-patch/Makefile.am 2025-03-15 15:51:37.037065437 +0100
+@@ -1071,7 +1071,7 @@
+ bsdtar_DEPENDENCIES= libarchive.la libarchive_fe.la
+
+ if STATIC_BSDTAR
+-bsdtar_ldstatic= -static
++bsdtar_ldstatic= -all-static
+ bsdtar_ccstatic= -DLIBARCHIVE_STATIC
+ else
+ bsdtar_ldstatic=
+@@ -1240,7 +1240,7 @@
+
+
+ if STATIC_BSDCPIO
+-bsdcpio_ldstatic= -static
++bsdcpio_ldstatic= -all-static
+ bsdcpio_ccstatic= -DLIBARCHIVE_STATIC
+ else
+ bsdcpio_ldstatic=
+@@ -1395,7 +1395,7 @@
+
+
+ if STATIC_BSDCAT
+-bsdcat_ldstatic= -static
++bsdcat_ldstatic= -all-static
+ bsdcat_ccstatic= -DLIBARCHIVE_STATIC
+ else
+ bsdcat_ldstatic=
+@@ -1503,7 +1503,7 @@
+
+
+ if STATIC_BSDUNZIP
+-bsdunzip_ldstatic= -static
++bsdunzip_ldstatic= -all-static
+ bsdunzip_ccstatic= -DLIBARCHIVE_STATIC
+ else
+ bsdunzip_ldstatic=
diff --git a/build-support/libarchive-static/openssl-3.0.7-no-atomic.patch b/build-support/libarchive-static/openssl-3.0.7-no-atomic.patch
new file mode 100644
index 00000000..a85cd0df
--- /dev/null
+++ b/build-support/libarchive-static/openssl-3.0.7-no-atomic.patch
@@ -0,0 +1,22 @@
+diff -rauN openssl-3.0.7/Configurations/10-main.conf openssl-3.0.7-no-atomic-patch/Configurations/10-main.conf
+--- openssl-3.0.7/Configurations/10-main.conf 2022-11-01 14:14:36.000000000 +0000
++++ openssl-3.0.7-no-atomic-patch/Configurations/10-main.conf 2022-11-18 11:10:30.699600180 +0000
+@@ -703,6 +703,9 @@
+ inherit_from => [ "linux-generic32" ],
+ ex_libs => add(threads("-latomic")),
+ },
++ "linux-not-latomic" => {
++ inherit_from => [ "linux-generic32" ]
++ },
+ "linux-generic64" => {
+ inherit_from => [ "linux-generic32" ],
+ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+@@ -764,7 +767,7 @@
+ #
+ # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
+ #
+- inherit_from => [ "linux-latomic" ],
++ inherit_from => [ "linux-not-latomic" ],
+ asm_arch => 'armv4',
+ perlasm_scheme => "linux32",
+ },
diff --git a/build-support/muon-meson/PKGBUILD b/build-support/muon-meson/PKGBUILD
new file mode 100644
index 00000000..0be5f4f8
--- /dev/null
+++ b/build-support/muon-meson/PKGBUILD
@@ -0,0 +1,79 @@
+# Maintainer: Eric Engestrom <aur [at] engestrom [dot] ch>
+
+pkgname=muon-meson
+pkgver=0.5.0
+pkgrel=1
+pkgdesc="meson implementation in C"
+arch=(x86_64 pentium4 i686 i486)
+url="https://muon.build"
+license=(GPL3)
+source=(
+ "$url/releases/v$pkgver/muon-v$pkgver.tar.gz"
+ "arch-muon")
+sha256sums=('d657422d4a102b4c7b77317a67a3f816d02f1c2967432b027c7e9f076ffe7079'
+ '4e507d5b129cd7de05aca972504ab06c2353b145e7378d15aa75b7d4b1b252e8')
+#depends=(pkgconf curl libarchive)
+depends=(pkgconf)
+#makedepends=(ninja python-yaml scdoc)
+makedepends=(ninja)
+checkdepends=(git)
+provides=(muon)
+
+build() {
+ cd "muon-v$pkgver"
+ rm -rf build*
+
+ msg2 "Building stage 1 (bootstrap)"
+ ./bootstrap.sh build-stage1
+
+ msg2 "Building stage 2 (muon from bootstrap)"
+ build-stage1/muon-bootstrap setup \
+ -D libarchive=disabled \
+ -D libcurl=disabled \
+ -D libpkgconf=enabled \
+ -D man-pages=disabled \
+ -D meson-docs=disabled \
+ -D meson-tests=disabled \
+ -D readline=builtin \
+ -D samurai=enabled \
+ -D static=false \
+ -D tracy=disabled \
+ -D ui=disabled \
+ -D website=disabled \
+ build-stage2
+ ninja -C build-stage2
+
+ msg2 "Building stage 3 (muon from muon)"
+ build-stage2/muon setup \
+ -D libarchive=disabled \
+ -D libcurl=disabled \
+ -D libpkgconf=enabled \
+ -D man-pages=disabled \
+ -D meson-docs=disabled \
+ -D readline=builtin \
+ -D samurai=enabled \
+ -D static=false \
+ -D tracy=disabled \
+ -D ui=disabled \
+ -D website=disabled \
+ -D prefix=/usr \
+ -D b_lto=true \
+ -D b_pie=true \
+ build
+ ninja -C build
+}
+
+check() {
+ # Explicitly chose which test suites to run, to avoid running meson-tests
+ # and taking a long time to run, but still having a reasonable coverage
+ # to ensure that the built package works.
+ cd "muon-v$pkgver/build"
+ ./muon test -R -v -s fmt -s lang -s muon -s unit -s analyze
+}
+
+package() {
+ cd "muon-v$pkgver/build"
+ DESTDIR="$pkgdir" ./muon install
+
+ install -Dm775 "$srcdir/arch-muon" "$pkgdir/usr/bin/arch-muon"
+}
diff --git a/extra/meson/arch-meson b/build-support/muon-meson/arch-muon
index fac70e6a..63f43bf3 100755
--- a/extra/meson/arch-meson
+++ b/build-support/muon-meson/arch-muon
@@ -1,22 +1,13 @@
#!/bin/bash -ex
-# Highly opinionated wrapper for Arch Linux packaging
+# Highly opinionated wrapper for Arch Linux packaging (now also for muon)
-CARCH=$(. /etc/makepkg.conf; echo $CARCH)
-
-if [ "${CARCH}" = "i486" ]; then
- LTO="b_lto=false"
-else
- LTO="b_lto=true"
-fi
-
-exec meson setup \
+exec muon meson setup \
--prefix /usr \
--libexecdir lib \
--sbindir bin \
--buildtype plain \
--auto-features enabled \
--wrap-mode nodownload \
- -D "${LTO}" \
-D b_pie=true \
-D python.bytecompile=1 \
"$@"
diff --git a/build-support/muon-meson/disabled/PKGBUILD-full-0.3.1 b/build-support/muon-meson/disabled/PKGBUILD-full-0.3.1
new file mode 100644
index 00000000..6eb8ba82
--- /dev/null
+++ b/build-support/muon-meson/disabled/PKGBUILD-full-0.3.1
@@ -0,0 +1,66 @@
+# Maintainer: Eric Engestrom <aur [at] engestrom [dot] ch>
+
+pkgname=muon-meson
+pkgver=0.3.1
+pkgrel=3
+pkgdesc="meson implementation in C"
+arch=(x86_64 pentium4 i686 i486)
+url="https://muon.build"
+license=(GPL3)
+source=(
+ "$url/releases/v$pkgver/muon-v$pkgver.tar.gz"
+ "arch-muon")
+sha256sums=('45f6ad728946a0788188004e3a88a77a7d07b48525ce0646430589d1db4c832e'
+ '4e507d5b129cd7de05aca972504ab06c2353b145e7378d15aa75b7d4b1b252e8')
+#depends=(pkgconf curl libarchive)
+depends=(pkgconf)
+#makedepends=(ninja python-yaml scdoc)
+makedepends=(ninja)
+checkdepends=(git)
+provides=(muon)
+
+build() {
+ cd "muon-v$pkgver"
+ rm -rf build*
+
+ msg2 "Building stage 1 (bootstrap)"
+ ./bootstrap.sh build-stage1
+
+ msg2 "Building stage 2 (muon from bootstrap)"
+ build-stage1/muon setup \
+ -D docs=disabled \
+ -D libpkgconf=enabled \
+ -D libcurl=disabled \
+ -D libarchive=disabled \
+ build-stage2
+ ninja -C build-stage2
+
+ msg2 "Building stage 3 (muon from muon)"
+ build-stage2/muon setup \
+ -D prefix=/usr \
+ -D b_lto=false \
+ -D b_pie=false \
+ -D docs=disabled \
+ -D libpkgconf=enabled \
+ -D libcurl=disabled \
+ -D libarchive=disabled \
+ build
+ ninja -C build
+}
+
+check() {
+ cd "muon-v$pkgver/build"
+ ./muon test || true
+}
+
+package() {
+ cd "muon-v$pkgver/build"
+ DESTDIR="$pkgdir" ./muon install
+
+ install -Dm775 "$srcdir/arch-muon" "$pkgdir/usr/bin/arch-muon"
+
+ # remove this as the `meson` package also provides it
+ # muon only has a `docs` option right now, so
+ # downloading/generating/deleting is the only option :/
+# rm "$pkgdir"/usr/share/man/man3/meson-reference.3
+}
diff --git a/build-support/muon-meson/disabled/PKGBUILD-minimal-static b/build-support/muon-meson/disabled/PKGBUILD-minimal-static
new file mode 100644
index 00000000..384250d7
--- /dev/null
+++ b/build-support/muon-meson/disabled/PKGBUILD-minimal-static
@@ -0,0 +1,66 @@
+# Maintainer: Eric Engestrom <aur [at] engestrom [dot] ch>
+
+pkgname=muon-meson
+pkgver=0.3.1
+pkgrel=3
+pkgdesc="meson implementation in C"
+arch=(x86_64 pentium4 i686 i486)
+url="https://muon.build"
+license=(GPL3)
+source=(
+ "$url/releases/v$pkgver/muon-v$pkgver.tar.gz"
+ "arch-muon")
+sha256sums=('45f6ad728946a0788188004e3a88a77a7d07b48525ce0646430589d1db4c832e'
+ '4e507d5b129cd7de05aca972504ab06c2353b145e7378d15aa75b7d4b1b252e8')
+#depends=(pkgconf curl libarchive)
+depends=(pkgconf)
+#makedepends=(ninja python-yaml scdoc)
+makedepends=(ninja)
+checkdepends=(git)
+provides=(muon)
+
+build() {
+ cd "muon-v$pkgver"
+ rm -rf build*
+
+ msg2 "Building stage 1 (bootstrap)"
+ ./bootstrap.sh build-stage1
+
+ msg2 "Building stage 2 (muon from bootstrap)"
+ build-stage1/muon setup \
+ -D docs=disabled \
+ -D libpkgconf=disabled \
+ -D libcurl=disabled \
+ -D libarchive=disabled \
+ build-stage2
+ ninja -C build-stage2
+
+ msg2 "Building stage 3 (muon from muon)"
+ build-stage2/muon setup \
+ -D prefix=/usr \
+ -D b_lto=false \
+ -D b_pie=false \
+ -D docs=disabled \
+ -D libpkgconf=enabled \
+ -D libcurl=disabled \
+ -D libarchive=disabled \
+ build
+ ninja -C build
+}
+
+check() {
+ cd "muon-v$pkgver/build"
+ ./muon test || true
+}
+
+package() {
+ cd "muon-v$pkgver/build"
+ DESTDIR="$pkgdir" ./muon install
+
+ install -Dm775 "$srcdir/arch-muon" "$pkgdir/usr/bin/arch-muon"
+
+ # remove this as the `meson` package also provides it
+ # muon only has a `docs` option right now, so
+ # downloading/generating/deleting is the only option :/
+# rm "$pkgdir"/usr/share/man/man3/meson-reference.3
+}
diff --git a/build-support/nodoc-cli/PKGBUILD b/build-support/nodoc-cli/PKGBUILD
index 9d91db44..d9d61aef 100644
--- a/build-support/nodoc-cli/PKGBUILD
+++ b/build-support/nodoc-cli/PKGBUILD
@@ -1,8 +1,8 @@
-# Maintainer: Felix Yan <felixonmars@archlinux.org>
-# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
pkgname=nodoc-cli
-pkgver=1
+pkgver=4
pkgrel=1
pkgdesc="Conversion between documentation formats"
url="https://github.com/tatokis/nodoc"
diff --git a/build-support/pacman-static/.SRCINFO b/build-support/pacman-static/.SRCINFO
index d610abb3..ab43a176 100644
--- a/build-support/pacman-static/.SRCINFO
+++ b/build-support/pacman-static/.SRCINFO
@@ -1,109 +1,99 @@
pkgbase = pacman-static
pkgdesc = Statically-compiled pacman (to fix or install systems without libc)
- pkgver = 6.0.0
- pkgrel = 1
+ pkgver = 7.0.0.r6.gc685ae6
+ pkgrel = 15
url = https://www.archlinux.org/pacman/
+ arch = i486
arch = i686
+ arch = pentium4
arch = x86_64
arch = arm
arch = armv6h
arch = armv7h
arch = aarch64
- license = GPL
+ license = GPL-2.0-or-later
makedepends = meson
makedepends = musl
makedepends = kernel-headers-musl
+ makedepends = git
depends = pacman
options = !emptydirs
- source = https://sources.archlinux.org/other/pacman/pacman-6.0.0.tar.xz
- source = https://sources.archlinux.org/other/pacman/pacman-6.0.0.tar.xz.sig
- source = https://github.com/nghttp2/nghttp2/releases/download/v1.43.0/nghttp2-1.43.0.tar.xz
- source = https://c-ares.haxx.se/download/c-ares-1.17.1.tar.gz
- source = https://c-ares.haxx.se/download/c-ares-1.17.1.tar.gz.asc
- source = https://curl.haxx.se/download/curl-7.77.0.tar.gz
- source = https://curl.haxx.se/download/curl-7.77.0.tar.gz.asc
- source = https://www.openssl.org/source/openssl-1.1.1k.tar.gz
- source = https://www.openssl.org/source/openssl-1.1.1k.tar.gz.asc
+ options = !lto
+ source = git+https://gitlab.archlinux.org/pacman/pacman.git#tag=v7.0.0?signed
+ source = pacman-revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch
+ source = https://github.com/nghttp2/nghttp2/releases/download/v1.64.0/nghttp2-1.64.0.tar.xz
+ source = https://github.com/c-ares/c-ares/releases/download/v1.34.4/c-ares-1.34.4.tar.gz
+ source = https://github.com/c-ares/c-ares/releases/download/v1.34.4/c-ares-1.34.4.tar.gz.asc
+ source = https://curl.haxx.se/download/curl-8.12.1.tar.gz
+ source = https://curl.haxx.se/download/curl-8.12.1.tar.gz.asc
+ source = https://github.com/openssl/openssl/releases/download/openssl-3.4.1/openssl-3.4.1.tar.gz
+ source = https://github.com/openssl/openssl/releases/download/openssl-3.4.1/openssl-3.4.1.tar.gz.asc
source = ca-dir.patch
- source = https://zlib.net/zlib-1.2.11.tar.gz
- source = https://zlib.net/zlib-1.2.11.tar.gz.asc
- source = https://tukaani.org/xz/xz-5.2.5.tar.gz
- source = https://tukaani.org/xz/xz-5.2.5.tar.gz.sig
+ source = openssl-3.0.7-no-atomic.patch
+ source = https://zlib.net/zlib-1.3.1.tar.gz
+ source = https://zlib.net/zlib-1.3.1.tar.gz.asc
+ source = git+https://github.com/tukaani-project/xz#tag=v5.6.4
source = https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
source = https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz.sig
- source = https://github.com/facebook/zstd/releases/download/v1.5.0/zstd-1.5.0.tar.zst
- source = https://github.com/facebook/zstd/releases/download/v1.5.0/zstd-1.5.0.tar.zst.sig
- source = https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2
- source = https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2.sig
- source = https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
- source = https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2.sig
- source = https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.15.1.tar.bz2
- source = https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.15.1.tar.bz2.sig
- source = https://github.com/libarchive/libarchive/releases/download/3.5.1/libarchive-3.5.1.tar.xz
- source = https://github.com/libarchive/libarchive/releases/download/3.5.1/libarchive-3.5.1.tar.xz.asc
+ source = https://github.com/facebook/zstd/releases/download/v1.5.6/zstd-1.5.6.tar.zst
+ source = https://github.com/facebook/zstd/releases/download/v1.5.6/zstd-1.5.6.tar.zst.sig
+ source = https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.51.tar.bz2
+ source = https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.51.tar.bz2.sig
+ source = https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.0.tar.bz2
+ source = https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.0.tar.bz2.sig
+ source = https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.24.2.tar.bz2
+ source = https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.24.2.tar.bz2.sig
+ source = https://github.com/libarchive/libarchive/releases/download/v3.7.7/libarchive-3.7.7.tar.xz
+ source = https://github.com/libarchive/libarchive/releases/download/v3.7.7/libarchive-3.7.7.tar.xz.asc
validpgpkeys = 6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD
validpgpkeys = B8151B117037781095514CA7BBDFFC92306B1121
validpgpkeys = 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
+ validpgpkeys = DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA
+ validpgpkeys = 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
+ validpgpkeys = 8657ABB260F056B1E5190839D9C4D26D0E604491
+ validpgpkeys = 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C
+ validpgpkeys = A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C
+ validpgpkeys = EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5
+ validpgpkeys = BA5473A2B0587B07FB27CF2D216094DFD0CB81EF
validpgpkeys = 8657ABB260F056B1E5190839D9C4D26D0E604491
validpgpkeys = 7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C
+ validpgpkeys = A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C
+ validpgpkeys = EFC0A467D613CB83C7ED6D30D894E2CE8B3D79F5
validpgpkeys = 5ED46A6721D365587791E2AA783FCD8E58BCAFBA
validpgpkeys = 3690C240CE51B4670D30AD1C38EE757D69184620
validpgpkeys = EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A
validpgpkeys = 4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD
- validpgpkeys = 6DAA6E64A76D2840571B4902528897B826403ADA
+ validpgpkeys = D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
validpgpkeys = 031EC2536E580D8EA286A9F22071B08A33BD3F06
+ validpgpkeys = 6DAA6E64A76D2840571B4902528897B826403ADA
+ validpgpkeys = AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD
validpgpkeys = A5A45B12AD92D964B89EEE2DEC560C81CEC2276E
- sha512sums = 78fc5b70a2fc356746f8a4580ce7fd01b25b3463db1b9b008f02a97e22c236fdb1d09985769caf6ac675d9b1091ba0f71afa38ec5759cf7911f1b1a33586f563
- sha512sums = SKIP
- sha512sums = eac69ba356870a1cba420a06771082897be8dd40a68f4e04223f41f3d22626e4f5b3766d3dbcc496dd212be01f64c3ac280a2ebddd31dd88f7350c20f56e5d39
- sha512sums = b11887bcc9274d368088e1a8b6aca62414f20675cf0bc58e948f54fa04c327c39dd23cefe7509eec6397db14b550a3f6b77f5c18b3d735b3eef48ce2da1dcd00
- sha512sums = SKIP
- sha512sums = cacd85eb9b2ad90f59595b497035f4660b6c5cff2d653da939c9ceac6dd8dd4bc7bdcb2dfd251862af0c29b9299312bf7271ed0249734fca979c9588799635d6
+ validpgpkeys = DB2C7CF1B4C265FAEF56E3FC5848A18B8F14184B
+ sha512sums = 44e00c2bc259fe6a85de71f7fd8a43fcfd1b8fb7d920d2267bd5b347e02f1dab736b3d96e31faf7b535480398e2348f7c0b9914e51ca7e12bab2d5b8003926b4
+ sha512sums = 1a108c4384b6104e627652488659de0b1ac3330640fc3250f0a283af7c5884daab187c1efc024b2545262da1911d2b0b7b0d5e4e5b68bb98db25a760c9f1fb1a
+ sha512sums = b544196c3b7a55faacd11700d11e2fe4f16a7418282c9abb24a668544a15293580fd1a2cc5f93367c8a17c7ee45335c6d2f5c68a72dd176d516fd033f203eeec
+ sha512sums = 3285e14d94bc736d6caddfe7ad7e3c6a6e69d49b079c989bb3e8aba4da62c022e38229d1e691aaa030b7d3bcd89e458d203f260806149a71ad9adb31606eae02
sha512sums = SKIP
- sha512sums = 73cd042d4056585e5a9dd7ab68e7c7310a3a4c783eafa07ab0b560e7462b924e4376436a6d38a155c687f6942a881cfc0c1b9394afcde1d8c46bf396e7d51121
+ sha512sums = 9fcdcceab8bce43e888db79a38c775ff15790a806d3cc5cc96f396a829c6da2383b258481b5642153da14087943f6ef607af0aa3b75df6f41b95c6cd61d835eb
sha512sums = SKIP
- sha512sums = 3857c298663728a465b5f95a3ef44547efbfb420d755e9dde7f20aa3905171b400e1c126d8db5c2b916c733bbd0724d8753cad16c9baf7b12dcd225a3ee04a97
- sha512sums = 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae
+ sha512sums = 1de6307c587686711f05d1e96731c43526fa3af51e4cd94c06c880954b67f6eb4c7db3177f0ea5937d41bc1f8cadcf5bce75025b5c1a46a469376960f1001c5f
sha512sums = SKIP
- sha512sums = 7443674247deda2935220fbc4dfc7665e5bb5a260be8ad858c8bd7d7b9f0f868f04ea45e62eb17c0a5e6a2de7c7500ad2d201e2d668c48ca29bd9eea5a73a3ce
+ sha512sums = b1873dbb7a49460b007255689102062756972de5cc2d38b12cc9f389b6be412da6797579b1acd3717a8cd2ee118fd9801b94e55f063d4328f050f0876a5eb53c
+ sha512sums = b5887ea77417fae49b6cb1e9fa782d3021f268d5219701d87a092235964f73fa72a31428b630445517f56f2bb69dcbbb24119ef9dbf8b4e40a753369a9f9a16f
+ sha512sums = 580677aad97093829090d4b605ac81c50327e74a6c2de0b85dd2e8525553f3ddde17556ea46f8f007f89e435493c9a20bc997d1ef1c1c2c23274528e3c46b94f
sha512sums = SKIP
+ sha512sums = e3216eca5fae2c9ce419e698bfbe186903088dad0a579749cb49bcde8f9d4073b98bf1570fe69190a9a41feb2a7c9814498ec9b867527de1c74ff75a1cbdfc17
sha512sums = 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
sha512sums = SKIP
- sha512sums = 071b4596afbb290fdfab0021b1ddda3e24f508680c643259ced683ec4685fca186f6c9c111097594d2d2911976df1a2f92a321ae71a0d5b9734c9f8e2c1bff76
+ sha512sums = 21f9da445afd76acaf3acb22d216c2b584d95e8c68e00f5cb3f6673f2d556dd14a7593344adf8ffd194bba3314387ee0e486d6248f6c935abca2edd8a4cf95ed
sha512sums = SKIP
- sha512sums = f6d95712a874edefc39a7746062c8037a62801a550560c5b2eab08b5b86987c1de5be60eba5fcb56d35a37db109aa32d07b7eff2bb99800c1c47d2227421a8f4
+ sha512sums = 4489f615c6a0389577a7d1fd7d3917517bb2fe032abd9a6d87dfdbd165dabcf53f8780645934020bf27517b67a064297475888d5b368176cf06bc22f1e735e2b
sha512sums = SKIP
- sha512sums = 70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403
+ sha512sums = 7c5c95c1b85bef2d4890c068a5a8ea8a1fe0d8def6ab09e5f34fc2746d8808bbb0fc168e3bd66d52ee5ed799dcf9f258f4125cda98c8384f6411bcad8d8b3139
sha512sums = SKIP
- sha512sums = 1d75a848cce6389f7cb8896b57a28dfe1dc5a447bfb4f128b0994a43e04134343400a3be063e971f03dfd595474cfd558519741d5d56afb3e84853ad4f2a45c2
+ sha512sums = ad69101d1fceef6cd1dd6d5348f6f2be06912da6b6a7d0fece3ce08cf35054e6953b80ca9c4748554882892faa44e7c54e705cf25bbf2b796cd4ad12b09da185
sha512sums = SKIP
- sha512sums = 04ad3e98e840fee19eb4c2652f29eccef1cffc071fd5c6a6feb358fea6048699281c7baacbb9ca8f823b1bfaaef6d4c87d9cf6a8b0c28aab53b75b2d259b2045
+ sha512sums = 2524f71f4c2ebc254a1927279be3394e820d0a0c6dec7ef835a862aa08c35756edaa4208bcdc710dd092872b59c200b555b78670372e2830822e278ff1ec4e4a
sha512sums = SKIP
- b2sums = 79443cbee5df7b367267c70da04d570455a42d9cfa2e623333fd30e640d3cd9f01da382134efcd1c84202331499fd134b23dde8788a89f6949f0eb40e0e7a38b
- b2sums = SKIP
- b2sums = 0e6c674486c484558a55822501a13ac93c4e890cf62749bc8519690f468912701329b7b9e83b0b68c3f35b72442b1ed47a90050cccd3fc05d79622e1e26634dc
- b2sums = 31dac21ecae231e2a201dc1ba954c1a0663a06f93eb8e7e033ca3c6d385f53e07af0b04854739f1ee8a7f0693f67f620143e152ef092b49342c62279a0480905
- b2sums = SKIP
- b2sums = b75e0de2f4134444d62c4495e11045181bb10624c0b48efcfdd45d18749936293b9f1b1f3b59b7c80e997d144a6be266b3cd945a147281a193aa040b6995e6be
- b2sums = SKIP
- b2sums = e9bd90f17bc819c4960d07bbee04346e8a7adb87a764a09d033ef76f1d638c67b180c4f2beb84ec25fbff54ccc9c14c13b9b16a27cac231a5dd22b02635d5cec
- b2sums = SKIP
- b2sums = e2ff99e8236487f43171c771d0ee89137b73f3d0b2756bcb0d6525c810ffa9f5a3763c3744327fb47cef21eabfc50fff96632f4bbe2cd244206a99daffa0c25a
- b2sums = 6bfc4bca5dcadba8a0d4121a2b3ed0bfe440c261003521862c8e6381f1a6f0a72d3fc037351d30afd7ef321e8e8d2ec817c046ac749f2ca0c97fbdc2f7e840b7
- b2sums = SKIP
- b2sums = aded57324e129572c41646b3cc3b0b59a459452d9338d9245663b63dac2a463fb1f1b2b1d2d4ad3c09cb71fb8439df52cd94f24db99e782fc899b94a288a3043
- b2sums = SKIP
- b2sums = 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad
- b2sums = SKIP
- b2sums = cfea18b2347bf893d9bd461e57113d0a141040a1f7a42db6221ed9662f84023f45b058df3382cc06d82596f8eb98e0806f3abe1e79155fafd46da2a8b746bfbe
- b2sums = SKIP
- b2sums = eb3381ec7106cfe5dca333391f473e97b03df83f247d3067e9f933ed7206f826e59d2b74b8c28d41e785ffe1c2980b680470064eb2fa2ff1ee3d8fa8be5b81a8
- b2sums = SKIP
- b2sums = 24952e97c757b97c387ab4c2c4bf7b040f2874e9326c129805c7f5326fa14d80e083b0842e336a635531a2c8d4a66d428c816bae6b175f1c4518add1ffa3554d
- b2sums = SKIP
- b2sums = d3a6ccaa35360ed3fc79364dfcc3f2fdcb70e5e41ac72ef011373a39d5def9be9ce1be45843ab65a87630d3fc570d29db5f40b9a273aa8e281464c9d1d3477de
- b2sums = SKIP
- b2sums = 0be26a858bffc48bc3dea64e7ea16a703fd7dae1c37dd93e1acde291b6799e323461b3b0bb31c12f63e3429aa4be72d88636606d786978f8d56b94dd2dc144c7
- b2sums = SKIP
pkgname = pacman-static
diff --git a/build-support/pacman-static/PKGBUILD b/build-support/pacman-static/PKGBUILD
index 6ee24a60..51e6c548 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'
- 'SKIP'
- '3d74343e06dd3d699f4c883758775554956f7f27de470b71f4af0d7f56ff5e4d7c534ab958c8926fae69cd0ded90c173ac3d5a6ad5518d88c2f39f31f8bba2f3'
+sha512sums=('44e00c2bc259fe6a85de71f7fd8a43fcfd1b8fb7d920d2267bd5b347e02f1dab736b3d96e31faf7b535480398e2348f7c0b9914e51ca7e12bab2d5b8003926b4'
+ '1a108c4384b6104e627652488659de0b1ac3330640fc3250f0a283af7c5884daab187c1efc024b2545262da1911d2b0b7b0d5e4e5b68bb98db25a760c9f1fb1a'
+ 'b544196c3b7a55faacd11700d11e2fe4f16a7418282c9abb24a668544a15293580fd1a2cc5f93367c8a17c7ee45335c6d2f5c68a72dd176d516fd033f203eeec'
+ '3285e14d94bc736d6caddfe7ad7e3c6a6e69d49b079c989bb3e8aba4da62c022e38229d1e691aaa030b7d3bcd89e458d203f260806149a71ad9adb31606eae02'
'SKIP'
- 'd9611f393e37577cca05004531388d3e0ebbf714894cab9f95f4903909cd4f45c214faab664c0cbc3ad3cca309d500b9e6d0ecbf9a0a0588d1677dc6b047f9e0'
+ '9fcdcceab8bce43e888db79a38c775ff15790a806d3cc5cc96f396a829c6da2383b258481b5642153da14087943f6ef607af0aa3b75df6f41b95c6cd61d835eb'
'SKIP'
- '3857c298663728a465b5f95a3ef44547efbfb420d755e9dde7f20aa3905171b400e1c126d8db5c2b916c733bbd0724d8753cad16c9baf7b12dcd225a3ee04a97'
- '73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae'
+ '1de6307c587686711f05d1e96731c43526fa3af51e4cd94c06c880954b67f6eb4c7db3177f0ea5937d41bc1f8cadcf5bce75025b5c1a46a469376960f1001c5f'
'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,9 +125,54 @@ 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
+#[[ $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
@@ -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}" ninja install -C build
rm -rf "${pkgdir}"/usr/share "${pkgdir}"/etc
for exe in "${pkgdir}"/usr/bin/*; do
@@ -315,3 +354,73 @@ package() {
"${pkgdir}"/usr/lib/pacman/lib/pkgconfig/*.pc \
"${pkgdir}"/usr/lib/pacman/bin/*
}
+
+# patch pacman for automatic architecture detection (applied in wildcard patch above)
+source+=('replace-i686-by-pentium4-when-architecture-is-auto.patch')
+sha512sums+=('c1a23b64f7d27ee70724415e8aa274494ceff441f5f1547f2f7ce365f1d8416b95b85275653531f259381bdef0fdd903e22f961a10c3ebaea8d0965bdaa06508')
+
+# 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
+ sha512sums[0]='SKIP'
+ sha512sums[13]='SKIP'
+fi
+
+# use muon instead of meson, no python (and meson needs python),
+# install the python interpreter as something still probes it on i486
+makedepends=(${makedepends[@]//meson/})
+makedepends+=(muon-meson ninja python)
+
+source+=(pacman-trailing-slash-muon.patch)
+sha512sums+=(2a657849a5b8879abf731ffd6ee1eb2b69502e03444010dc0e398427a40e86aa4383fcff7bd6d08abd67386b7945c093f56c64202f9867fd5dfb65c5bc6d0b3f)
+
+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 '
+ /ninja install/ i \
+ cd $srcdir/pacman/build
+ /ninja install/ a \
+ cd ..
+ s/.*ninja install.*/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/build-support/pacman-static/ca-dir.patch b/build-support/pacman-static/ca-dir.patch
index 1daba849..9e5650d8 100644
--- a/build-support/pacman-static/ca-dir.patch
+++ b/build-support/pacman-static/ca-dir.patch
@@ -1,17 +1,19 @@
---- apps/CA.pl.in 2016-09-26 11:46:04.000000000 +0200
-+++ apps/CA.pl.in 2016-11-01 16:02:16.709616823 +0100
-@@ -33,7 +33,7 @@
+diff -rauN openssl-3.0.7/apps/CA.pl.in openssl-3.0.7-patched/apps/CA.pl.in
+--- openssl-3.0.7/apps/CA.pl.in 2022-11-01 15:14:36.000000000 +0100
++++ openssl-3.0.7-patched/apps/CA.pl.in 2022-11-07 21:35:19.641418630 +0100
+@@ -29,7 +29,7 @@
my $PKCS12 = "$openssl pkcs12";
- # default openssl.cnf file has setup as per the following
+ # Default values for various configuration settings.
-my $CATOP = "./demoCA";
+my $CATOP = "/etc/ssl";
my $CAKEY = "cakey.pem";
my $CAREQ = "careq.pem";
my $CACERT = "cacert.pem";
---- apps/openssl.cnf 2016-09-26 11:46:04.000000000 +0200
-+++ apps/openssl.cnf 2016-11-01 16:02:48.378503427 +0100
-@@ -39,7 +39,7 @@
+diff -rauN openssl-3.0.7/apps/openssl.cnf openssl-3.0.7-patched/apps/openssl.cnf
+--- openssl-3.0.7/apps/openssl.cnf 2022-11-01 15:14:36.000000000 +0100
++++ openssl-3.0.7-patched/apps/openssl.cnf 2022-11-07 21:34:48.351281834 +0100
+@@ -79,7 +79,7 @@
####################################################################
[ CA_default ]
@@ -20,7 +22,7 @@
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
-@@ -323,7 +323,7 @@
+@@ -309,7 +309,7 @@
[ tsa_config1 ]
# These are used by the TSA reply generation only.
diff --git a/build-support/pacman-static/nvchecker-deps.toml b/build-support/pacman-static/nvchecker-deps.toml
index 88f3d02c..955ae00a 100644
--- a/build-support/pacman-static/nvchecker-deps.toml
+++ b/build-support/pacman-static/nvchecker-deps.toml
@@ -1,6 +1,7 @@
[__config__]
oldver = "nvchecker-old.txt"
newver = "nvchecker-new.txt"
+max_concurrency = 1
[c-ares]
source = "archpkg"
diff --git a/build-support/pacman-static/nvchecker-new.txt b/build-support/pacman-static/nvchecker-new.txt
index 6758eaeb..feb36e05 100644
--- a/build-support/pacman-static/nvchecker-new.txt
+++ b/build-support/pacman-static/nvchecker-new.txt
@@ -1,14 +1,53 @@
{
- "bzip": "1.0.8-4",
- "c-ares": "1.17.1-1",
- "curl": "7.77.0-1",
- "gpgerror": "1.42-1",
- "gpgme": "1.15.1-1",
- "libarchive": "3.5.1-1",
- "libassuan": "2.5.5-1",
- "nghttp2": "1.43.0-1",
- "ssl": "1.1.1.k-1",
- "xz": "5.2.5-1",
- "zlib": "1.2.11-4",
- "zstd": "1.5.0-1"
+ "version": 2,
+ "data": {
+ "bzip": {
+ "version": "1.0.8-6",
+ "url": "https://archlinux.org/packages/core/x86_64/bzip2/"
+ },
+ "c-ares": {
+ "version": "1.34.4-1",
+ "url": "https://archlinux.org/packages/extra/x86_64/c-ares/"
+ },
+ "curl": {
+ "version": "8.12.1-1",
+ "url": "https://archlinux.org/packages/core/x86_64/curl/"
+ },
+ "gpgerror": {
+ "version": "1.51-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libgpg-error/"
+ },
+ "gpgme": {
+ "version": "1.24.2-1",
+ "url": "https://archlinux.org/packages/core/x86_64/gpgme/"
+ },
+ "libarchive": {
+ "version": "3.7.7-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libarchive/"
+ },
+ "libassuan": {
+ "version": "3.0.0-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libassuan/"
+ },
+ "nghttp2": {
+ "version": "1.64.0-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libnghttp2/"
+ },
+ "ssl": {
+ "version": "3.4.1-1",
+ "url": "https://archlinux.org/packages/core/x86_64/openssl/"
+ },
+ "xz": {
+ "version": "5.6.4-1",
+ "url": "https://archlinux.org/packages/core/x86_64/xz/"
+ },
+ "zlib": {
+ "version": "1.3.1-2",
+ "url": "https://archlinux.org/packages/core/x86_64/zlib/"
+ },
+ "zstd": {
+ "version": "1.5.6-1",
+ "url": "https://archlinux.org/packages/core/x86_64/zstd/"
+ }
+ }
}
diff --git a/build-support/pacman-static/nvchecker-old.txt b/build-support/pacman-static/nvchecker-old.txt
index 72cf2c0f..feb36e05 100644
--- a/build-support/pacman-static/nvchecker-old.txt
+++ b/build-support/pacman-static/nvchecker-old.txt
@@ -1,14 +1,53 @@
{
- "bzip": "1.0.8-4",
- "c-ares": "1.17.1-1",
- "curl": "7.77.0-1",
- "gpgerror": "1.42-1",
- "gpgme": "1.15.1-1",
- "libarchive": "3.5.1-1",
- "libassuan": "2.5.5-1",
- "nghttp2": "1.43.0-1",
- "ssl": "1.1.1.k-1",
- "xz": "5.2.5-1",
- "zlib": "1.2.11-4",
- "zstd": "1.4.9-1"
+ "version": 2,
+ "data": {
+ "bzip": {
+ "version": "1.0.8-6",
+ "url": "https://archlinux.org/packages/core/x86_64/bzip2/"
+ },
+ "c-ares": {
+ "version": "1.34.4-1",
+ "url": "https://archlinux.org/packages/extra/x86_64/c-ares/"
+ },
+ "curl": {
+ "version": "8.12.1-1",
+ "url": "https://archlinux.org/packages/core/x86_64/curl/"
+ },
+ "gpgerror": {
+ "version": "1.51-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libgpg-error/"
+ },
+ "gpgme": {
+ "version": "1.24.2-1",
+ "url": "https://archlinux.org/packages/core/x86_64/gpgme/"
+ },
+ "libarchive": {
+ "version": "3.7.7-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libarchive/"
+ },
+ "libassuan": {
+ "version": "3.0.0-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libassuan/"
+ },
+ "nghttp2": {
+ "version": "1.64.0-1",
+ "url": "https://archlinux.org/packages/core/x86_64/libnghttp2/"
+ },
+ "ssl": {
+ "version": "3.4.1-1",
+ "url": "https://archlinux.org/packages/core/x86_64/openssl/"
+ },
+ "xz": {
+ "version": "5.6.4-1",
+ "url": "https://archlinux.org/packages/core/x86_64/xz/"
+ },
+ "zlib": {
+ "version": "1.3.1-2",
+ "url": "https://archlinux.org/packages/core/x86_64/zlib/"
+ },
+ "zstd": {
+ "version": "1.5.6-1",
+ "url": "https://archlinux.org/packages/core/x86_64/zstd/"
+ }
+ }
}
diff --git a/build-support/pacman-static/openssl-3.0.7-no-atomic.patch b/build-support/pacman-static/openssl-3.0.7-no-atomic.patch
new file mode 100644
index 00000000..a85cd0df
--- /dev/null
+++ b/build-support/pacman-static/openssl-3.0.7-no-atomic.patch
@@ -0,0 +1,22 @@
+diff -rauN openssl-3.0.7/Configurations/10-main.conf openssl-3.0.7-no-atomic-patch/Configurations/10-main.conf
+--- openssl-3.0.7/Configurations/10-main.conf 2022-11-01 14:14:36.000000000 +0000
++++ openssl-3.0.7-no-atomic-patch/Configurations/10-main.conf 2022-11-18 11:10:30.699600180 +0000
+@@ -703,6 +703,9 @@
+ inherit_from => [ "linux-generic32" ],
+ ex_libs => add(threads("-latomic")),
+ },
++ "linux-not-latomic" => {
++ inherit_from => [ "linux-generic32" ]
++ },
+ "linux-generic64" => {
+ inherit_from => [ "linux-generic32" ],
+ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+@@ -764,7 +767,7 @@
+ #
+ # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
+ #
+- inherit_from => [ "linux-latomic" ],
++ inherit_from => [ "linux-not-latomic" ],
+ asm_arch => 'armv4',
+ perlasm_scheme => "linux32",
+ },
diff --git a/build-support/pacman-static/pacman-trailing-slash-muon.patch b/build-support/pacman-static/pacman-trailing-slash-muon.patch
new file mode 100644
index 00000000..4b3c393f
--- /dev/null
+++ b/build-support/pacman-static/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)
diff --git a/build-support/pacman-static/replace-i686-by-pentium4-when-architecture-is-auto.patch b/build-support/pacman-static/replace-i686-by-pentium4-when-architecture-is-auto.patch
new file mode 100644
index 00000000..5ad0592e
--- /dev/null
+++ b/build-support/pacman-static/replace-i686-by-pentium4-when-architecture-is-auto.patch
@@ -0,0 +1,104 @@
+diff --git a/src/pacman/conf.c b/src/pacman/conf.c
+index 0f0c2cfb..23744328 100644
+--- a/src/pacman/conf.c
++++ b/src/pacman/conf.c
+@@ -18,6 +18,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <cpuid.h>
+ #include <errno.h>
+ #include <limits.h>
+ #include <locale.h> /* setlocale */
+@@ -401,6 +402,12 @@ int config_add_architecture(char *arch)
+ char *newarch;
+ uname(&un);
+ newarch = strdup(un.machine);
++ if(strcmp(newarch, "i686") == 0) {
++ unsigned int eax, ebx, ecx, edx;
++ __get_cpuid(1, &eax, &ebx, &ecx, &edx);
++ if (edx & bit_SSE2)
++ newarch = strdup("pentium4");
++ }
+ free(arch);
+ arch = newarch;
+ }
+diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
+index 7e810127..b5bd2a37 100644
+--- a/src/pacman/pacman.c
++++ b/src/pacman/pacman.c
+@@ -26,6 +26,7 @@
+
+ #include <stdlib.h> /* atoi */
+ #include <stdio.h>
++#include <cpuid.h>
+ #include <ctype.h> /* isspace */
+ #include <limits.h>
+ #include <getopt.h>
+@@ -274,8 +275,19 @@ static void setuseragent(void)
+ int len;
+
+ uname(&un);
++ char machine[9];
++ strncpy(machine, un.machine, sizeof machine);
++ machine[sizeof machine-1] = '\0';
++ if(strcmp(machine, "i686") == 0) {
++ int eax, ebx, ecx, edx;
++ __get_cpuid(1, &eax, &ebx, &ecx, &edx);
++ if (edx & bit_SSE2) {
++ strncpy(machine, "pentium4", sizeof machine);
++ machine[sizeof machine-1] = '\0';
++ }
++ }
+ len = snprintf(agent, 100, "pacman/%s (%s %s) libalpm/%s",
+- PACKAGE_VERSION, un.sysname, un.machine, alpm_version());
++ PACKAGE_VERSION, un.sysname, machine, alpm_version());
+ if(len >= 100) {
+ pm_printf(ALPM_LOG_WARNING, _("HTTP_USER_AGENT truncated\n"));
+ }
+diff --git a/test/pacman/tests/upgrade082.py b/test/pacman/tests/upgrade082.py
+index 0bdbdf71..8c30ec32 100644
+--- a/test/pacman/tests/upgrade082.py
++++ b/test/pacman/tests/upgrade082.py
+@@ -3,6 +3,18 @@
+ import os
+ machine = os.uname()[4]
+
++if machine == 'i686':
++ import re
++ fo = open('/proc/cpuinfo')
++ for line in fo:
++ name_value = [s.strip() for s in line.split(':', 1)]
++ if len(name_value) != 2:
++ continue
++ name, value = name_value
++ if name == "flags":
++ if re.match(r'.*?\bsse2\b', value) is not None:
++ machine = 'pentium4'
++
+ p = pmpkg("dummy")
+ p.files = ["bin/dummy",
+ "usr/man/man1/dummy.1"]
+diff --git a/test/pacman/tests/upgrade083.py b/test/pacman/tests/upgrade083.py
+index 097ae02c..7195e35b 100644
+--- a/test/pacman/tests/upgrade083.py
++++ b/test/pacman/tests/upgrade083.py
+@@ -3,6 +3,18 @@
+ import os
+ machine = os.uname()[4]
+
++if machine == 'i686':
++ import re
++ fo = open('/proc/cpuinfo')
++ for line in fo:
++ name_value = [s.strip() for s in line.split(':', 1)]
++ if len(name_value) != 2:
++ continue
++ name, value = name_value
++ if name == "flags":
++ if re.match(r'.*?\bsse2\b', value) is not None:
++ machine = 'pentium4'
++
+ p = pmpkg("dummy")
+ p.files = ["bin/dummy",
+ "usr/man/man1/dummy.1"]
diff --git a/build-support/python-bootstrap/PKGBUILD b/build-support/python-bootstrap/PKGBUILD
index 77705858..682f91ef 100644
--- a/build-support/python-bootstrap/PKGBUILD
+++ b/build-support/python-bootstrap/PKGBUILD
@@ -4,12 +4,13 @@ pkgbase=python-bootstrap
pkgname=(python-{build,flit-core,installer,packaging,pyproject-hooks,setuptools,wheel})
pkgver=1
pkgrel=1
+_pythonver=3.13.0
arch=(any)
license=('custom')
makedepends=(python git)
url="https://gitlab.archlinux.org/archlinux/python-bootstrap"
source=(
- "${pkgbase}::git+https://gitlab.archlinux.org/archlinux/python-bootstrap.git#branch=python-3.12"
+ "${pkgbase}::git+https://gitlab.archlinux.org/archlinux/python-bootstrap.git#tag=$_pythonver"
"${pkgbase}-build::git+https://github.com/pypa/build.git"
"${pkgbase}-flit::git+https://github.com/takluyver/flit.git"
"${pkgbase}-installer::git+https://github.com/pypa/installer.git"
diff --git a/build-support/shellnocheck/PKGBUILD b/build-support/shellnocheck/PKGBUILD
new file mode 100644
index 00000000..2efc21fb
--- /dev/null
+++ b/build-support/shellnocheck/PKGBUILD
@@ -0,0 +1,23 @@
+pkgname=shellnocheck
+pkgver=1
+pkgrel=1
+pkgdesc="Shell script analysis tool"
+url="https://github.com/tatokis/shellnocheck"
+license=("GPL-2.0-or-later")
+arch=('i486' 'i686' 'pentium4')
+provides=('shellcheck')
+conflicts=('shellcheck')
+replaces=('shellcheck')
+source=("git+https://github.com/tatokis/shellnocheck.git")
+sha256sums=('SKIP')
+makedepends=('git')
+
+build() {
+ cd shellnocheck
+ make
+}
+
+package() {
+ cd shellnocheck
+ install -D -m755 shellcheck -t "$pkgdir"/usr/bin/
+}
diff --git a/core/archlinux32-keyring/PKGBUILD b/core/archlinux32-keyring/PKGBUILD
index 0f3d38a4..b107f4e3 100644
--- a/core/archlinux32-keyring/PKGBUILD
+++ b/core/archlinux32-keyring/PKGBUILD
@@ -1,8 +1,7 @@
# Maintainer: Erich Eckner <deep42thought@archlinux32.org>
pkgname=archlinux32-keyring
-pkgver='20240131'
-_pkgver='20240131-1-g00da5c3'
-pkgrel='5'
+pkgver='20250630'
+pkgrel='1'
pkgdesc='Arch Linux 32 PGP keyring'
arch=('any')
url='https://archlinux32.org'
@@ -10,13 +9,13 @@ license=('GPL')
install="${pkgname}.install"
conflicts=('archlinux32-keyring-transition')
replaces=('archlinux32-keyring-transition')
-source=("https://sources.archlinux32.org/sources/${pkgname}-v${_pkgver}.tar.gz"{,.sig})
-sha256sums=('b64db02d172ec9fa93e9e0f17dc2eca422656a18f549ae4abf2aff98fa44f0e2'
+source=("https://sources.archlinux32.org/sources/${pkgname}-v${pkgver}.tar.gz"{,.sig})
+sha512sums=('1a6a213aba8a90625a90999eb4ab2b5144fb4ab8b7ec8faaf7a0b7ffb2bc9bbc540c28a6cb955ecc0db134e5735017e481fb6ad16aebf94392ef4694a3eb8137'
'SKIP')
validpgpkeys=('33CA3597B0D161AAE4173F65C17F1214114574A4') # obtain from https://archlinux32.org/keys.php
package() {
- cd "${srcdir}/${pkgname}-v${_pkgver}"
+ cd "${srcdir}/${pkgname}-v${pkgver}"
make PREFIX=/usr DESTDIR=${pkgdir} install
}
diff --git a/core/coreutils/PKGBUILD b/core/coreutils/PKGBUILD
index 5385a852..48b03317 100644
--- a/core/coreutils/PKGBUILD
+++ b/core/coreutils/PKGBUILD
@@ -2,7 +2,7 @@
if [ "${CARCH}" = "i486" ]; then
# make uname return i486 instead of i686 when used with setarch
source+=('coreutils-9.5-uname-i486.patch')
- sha256sums+=('9c8b9c88a2f737808ef43dca4c7ea03c638930e33f3c01e7c407ec6f9f67f218')
+ b2sums+=('94be6a03eeb940609d65af90b9977744ae5627c5e99f73924e57cd36df5b9212c6e0fb1a71008a2f97d83c23cfd30bd8e386e7ffd0718ff59c0dc1ff03e6e6ef')
fi
# FS#66506: temporarily ignore test-login failure
diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD
index 6d7d6522..70a13a74 100644
--- a/core/curl/PKGBUILD
+++ b/core/curl/PKGBUILD
@@ -1,3 +1,8 @@
# Valgrind seems broken for now
unset check
unset checkdepends
+
+# temporary, we still build a version with rtmpdump though upstream now
+# has no dependency on anymore?
+depends+=(rtmpdump)
+
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index ca003988..5c9ac509 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -123,3 +123,21 @@ eval "$(
s/--enable-cet=auto/--disable-cet/
'
)"
+
+# remove rust on i486
+makedepends=(${makedepends[@]//rust/})
+makedepends_i686+=('rust')
+makedepends_pentium4+=('rust')
+if [ "${CARCH}" = "i486" ]; then
+ package_gcc-rust() {
+ echo "No Rust on i486."
+ }
+
+ eval "$(
+ declare -f build | \
+ sed '
+ /enable-languages/ s/,rust//
+ '
+ )"
+fi
+
diff --git a/core/gettext/PKGBUILD b/core/gettext/PKGBUILD
index 5a2c876d..be7f41e3 100644
--- a/core/gettext/PKGBUILD
+++ b/core/gettext/PKGBUILD
@@ -10,3 +10,6 @@ eval "$(
if [ "${CARCH}" = "i486" ]; then
makedepends+=(icu73)
fi
+
+# currrenly broken around libsitter
+makedepends=(${makedepends[@]//emacs/})
diff --git a/core/glib2/PKGBUILD b/core/glib2/PKGBUILD
index 2d6cf671..03004ef9 100644
--- a/core/glib2/PKGBUILD
+++ b/core/glib2/PKGBUILD
@@ -6,3 +6,9 @@ declare -f check | \
s/\(meson test.*\)/\1 || true/
'
)"
+
+# Crappy hack to work around glib2-devel not being installed
+eval "$(
+ declare -f package_glib2 | \
+ sed '3i depends+=(glib2-devel)'
+)"
diff --git a/core/gnutls/PKGBUILD b/core/gnutls/PKGBUILD
index 3056d6a0..02b833fc 100644
--- a/core/gnutls/PKGBUILD
+++ b/core/gnutls/PKGBUILD
@@ -3,6 +3,6 @@
eval "$(
declare -f check | \
sed '
- s/make -j1 check/make -j1 check || true/
+ s/make check/make check || true/
'
)"
diff --git a/core/gpgme-1/0025_debian_default_is_openpgp.diff b/core/gpgme-1/0025_debian_default_is_openpgp.diff
new file mode 100644
index 00000000..31853359
--- /dev/null
+++ b/core/gpgme-1/0025_debian_default_is_openpgp.diff
@@ -0,0 +1,18 @@
+Description: Adapt testsuite to changed gnupg defaults in Debian
+Author: Andreas Metzler <ametzler@debian.org>
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1103189
+Forwarded: not-needed
+Last-Update: 2025-04-20
+
+--- gpgme1.0-1.24.2.orig/lang/qt/tests/t-config.cpp
++++ gpgme1.0-1.24.2/lang/qt/tests/t-config.cpp
+@@ -62,7 +62,7 @@ private Q_SLOTS:
+ auto entry = conf->entry(QStringLiteral("gpg"), QStringLiteral("compliance"));
+ QVERIFY(entry);
+ const auto defaultValue = entry->defaultValue().toString();
+- QCOMPARE(defaultValue, QStringLiteral("gnupg"));
++ QCOMPARE(defaultValue, QStringLiteral("openpgp"));
+
+ entry->setStringValue("de-vs");
+ conf->sync(true);
diff --git a/core/gpgme-1/PKGBUILD b/core/gpgme-1/PKGBUILD
new file mode 100644
index 00000000..ea649fe7
--- /dev/null
+++ b/core/gpgme-1/PKGBUILD
@@ -0,0 +1,99 @@
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Roman Kyrylych <roman@archlinux.org>
+# Contributor: Sarah Hay <sarah@archlinux.org>
+
+pkgname=gpgme-1
+_pkgname=gpgme
+pkgver=1.24.3
+pkgrel=4
+pkgdesc='C wrapper library for GnuPG - 1.x'
+arch=('x86_64' 'pentium4' 'i686' 'i486')
+url='https://www.gnupg.org/related_software/gpgme/'
+license=(
+ GPL-2.0-or-later
+ LGPL-2.0-or-later
+ LGPL-2.1-or-later
+ MIT
+)
+options+=('!emptydirs')
+makedepends=(
+ 'git'
+ 'gnupg'
+ 'libassuan'
+ 'libgpg-error'
+)
+depends=(
+ 'gcc-libs'
+ 'glib2'
+ 'glibc'
+ 'libassuan'
+ 'libgpg-error'
+ 'gnupg>=2'
+)
+makedepends=('git')
+provides=('libgpgme.so')
+options=('!emptydirs')
+validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020)
+ 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key)
+source=("git+https://dev.gnupg.org/source/gpgme.git#tag=${_pkgname}-${pkgver}?signed"
+ '0025_debian_default_is_openpgp.diff')
+sha256sums=('630d7301a614bf22916cecdb78bbb34ea1dd724071a9ea9aee67aab06ba3dea1'
+ 'f8bdaba4732347067ce291ca2acd6096e7a02c162a760be3515e0c4cdac60d6f')
+
+prepare() {
+ cd ${_pkgname}
+
+ # Adapt testsuite to changed gnupg defaults in Debian
+ patch -Np1 < ../0025_debian_default_is_openpgp.diff
+
+ sed -i 's/-unknown//' autogen.sh
+ autoreconf -fi
+}
+
+build() {
+ cd ${_pkgname}
+
+ ./configure \
+ --prefix=/usr \
+ --disable-fd-passing \
+ --disable-static \
+ --disable-gpgsm-test \
+ --disable-python \
+ --enable-languages=cpp
+
+ # prevent excessive overlinking due to libtool
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+check() {
+ cd ${_pkgname}
+
+ # this test fails with gnupg (FS#66572)
+ sed -i 's#"t-keylist-secret",##' tests/json/t-json.c
+
+ make check
+}
+
+package() {
+
+ cd ${_pkgname}
+
+ make DESTDIR="${pkgdir}" install
+
+ # remove everything but the header files and the libraries
+ # also remove all compilation helpers, as they fail anyway probably
+ rm -rf "$pkgdir/usr/bin"
+ rm -rf "$pkgdir/usr/lib/cmake"
+ rm -rf "$pkgdir/usr/lib/pkgconfig"
+ rm -rf "$pkgdir/usr/lib/"*.so
+ rm -rf "$pkgdir/usr/share"
+
+ # move include files out of the way
+ mkdir "$pkgdir/usr/include/gpgme1"
+ mv -vn "$pkgdir/usr/include/gpgme.h" "$pkgdir/usr/include/gpgme1/."
+ mv -vn "$pkgdir/usr/include/gpgme++" "$pkgdir/usr/include/gpgme1/."
+
+ # add a license
+ install -vDm 644 LICENSES "$pkgdir/usr/share/licenses/$pkgname/MIT.txt"
+}
diff --git a/core/gpgme/PKGBUILD b/core/gpgme/PKGBUILD
index e1b4abf1..99bf8842 100644
--- a/core/gpgme/PKGBUILD
+++ b/core/gpgme/PKGBUILD
@@ -10,8 +10,8 @@ eval "$(
printf 'prepare() {\n}\n'
} \
| sed '
- $i cd "${srcdir}/${pkgbase}-${pkgver}" \
- patch -Np1 -i "$srcdir/0004-Avoid-Y2038-problem-on-32-bit-architectures.patch"
+ $i cd "${srcdir}/${pkgname}" \
+ #patch -Np1 -i "$srcdir/0004-Avoid-Y2038-problem-on-32-bit-architectures.patch"
'
)"
@@ -34,3 +34,48 @@ eval "$(
s/make/make CXXFLAGS='-D_FILE_OFFSET_BITS=64' /
'
)"
+
+# disable Qt6 for now everywhere
+#if [[ $CARCH == i486 ]]; then
+ # ignore gui (for now, needs Qt6, which needs atomics)
+ makedepends=(${makedepends[@]//qt6-base/})
+ eval "$(
+ declare -f package_gpgme | \
+ sed '
+ /libqgpgmeqt6/d
+ /include\/qgpgme-qt6/d
+ '
+ declare -f package_qgpgme-qt6 | \
+ sed '
+ 3 i if false; then
+ $ i fi
+ '
+ )"
+#fi
+
+if [[ $CARCH == pentium4 ]]; then
+ eval "$(declare -f build | sed 's@./configure@CC="gcc -msse2" CXX="g++ -msse2" ./configure@')"
+fi
+
+# disable Python
+makedepends=(${makedepends[@]//python-build/})
+makedepends=(${makedepends[@]//python-installer/})
+makedepends=(${makedepends[@]//python-setuptools/})
+makedepends=(${makedepends[@]//python-wheel/})
+makedepends=(${makedepends[@]//python/})
+eval "$(
+ declare -f build | \
+ sed '
+ /configure/s/configure/configure --disable-languages /
+ /python/d
+ '
+ declare -f package_gpgme | \
+ sed '
+ /python/d
+ '
+ declare -f package_python-gpgme | \
+ sed '
+ 3 i if false; then
+ $ i fi
+ '
+)"
diff --git a/core/icu75/ICU-22132.patch b/core/icu75/ICU-22132.patch
new file mode 100644
index 00000000..3b93c920
--- /dev/null
+++ b/core/icu75/ICU-22132.patch
@@ -0,0 +1,25 @@
+diff -u a/i18n/vtzone.cpp a/i18n/vtzone.cpp
+--- a/i18n/vtzone.cpp 2023-07-14 09:05:38.000000000 +0100
++++ b/i18n/vtzone.cpp 2023-07-14 09:05:38.000000000 +0100
+@@ -1735,14 +1735,14 @@
+ }
+ }
+ } else {
+- UnicodeString icutzprop;
+- UVector customProps(nullptr, uhash_compareUnicodeString, status);
++ UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
+ if (olsonzid.length() > 0 && icutzver.length() > 0) {
+- icutzprop.append(olsonzid);
+- icutzprop.append(u'[');
+- icutzprop.append(icutzver);
+- icutzprop.append(u']');
+- customProps.addElement(&icutzprop, status);
++ LocalPointer<UnicodeString> icutzprop(new UnicodeString(ICU_TZINFO_PROP), status);
++ icutzprop->append(olsonzid);
++ icutzprop->append(u'[');
++ icutzprop->append(icutzver);
++ icutzprop->append(u']');
++ customProps.adoptElement(icutzprop.orphan(), status);
+ }
+ writeZone(writer, *tz, &customProps, status);
+ } \ No newline at end of file
diff --git a/core/icu75/PKGBUILD b/core/icu75/PKGBUILD
new file mode 100644
index 00000000..347f1a0e
--- /dev/null
+++ b/core/icu75/PKGBUILD
@@ -0,0 +1,149 @@
+# Maintainer: andreas_baumann (https://aur.archlinux.org/account/andreas_baumann)
+# Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
+# Contributor: Ujhhgtg (https://aur.archlinux.org/account/Ujhhgtg)
+
+## Based on `PKGBUILD` for package `icu71`, version 71.1-1, by Ujhhgtg (https://aur.archlinux.org/account/Ujhhgtg).
+
+_pkgname=icu
+_pkgmainver=75
+_pkgminorver=1
+pkgname="${_pkgname}${_pkgmainver}"
+pkgver="${_pkgmainver}.${_pkgminorver}"
+pkgrel=9
+pkgdesc="International Components for Unicode library (legacy version ${_pkgmainver})."
+arch=(
+ 'i486'
+ 'i686'
+ 'pentium4'
+ 'x86_64'
+ 'armv6h'
+ 'armv7h'
+ 'aarch64'
+)
+url="http://www.icu-project.org/"
+license=('Unicode-3.0')
+depends=(
+ 'gcc-libs'
+ 'glibc'
+)
+makedepends=(
+ 'clang'
+ 'make'
+ 'patch'
+ 'python'
+)
+provides=(
+ # "${_pkgname}=${pkgver}" # Do not provide `icu` itself, since the executable tools are not provided.
+ "libicudata.so=${_pkgmainver}"
+ "libicui18n.so=${_pkgmainver}"
+ "libicuio.so=${_pkgmainver}"
+ "libicutest.so=${_pkgmainver}"
+ "libicutu.so=${_pkgmainver}"
+ "libicuuc.so=${_pkgmainver}"
+)
+conflicts=(
+ "${_pkgname}=${_pkgmainver}"
+ "${_pkgname}=${_pkgmainver}.0"
+ "${_pkgname}=${_pkgmainver}.1"
+ "${_pkgname}=${_pkgmainver}.2"
+ "${_pkgname}=${_pkgmainver}.3"
+ "${_pkgname}=${_pkgmainver}.4"
+ "${_pkgname}=${_pkgmainver}.5"
+ "${_pkgname}=${_pkgmainver}.6"
+ "${_pkgname}=${_pkgmainver}.7"
+ "${_pkgname}=${_pkgmainver}.8"
+ "${_pkgname}=${_pkgmainver}.9"
+ "libicudata.so=${_pkgmainver}"
+ "libicui18n.so=${_pkgmainver}"
+ "libicuio.so=${_pkgmainver}"
+ "libicutest.so=${_pkgmainver}"
+ "libicutu.so=${_pkgmainver}"
+ "libicuuc.so=${_pkgmainver}"
+)
+source=(
+ "https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/icu4c-${pkgver//./_}-src.tgz"
+ #"https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/icu4c-${pkgver//./_}-src.tgz.asc"
+ "ICU-22132.patch"
+ "icudata-stdlibs.patch"
+ "${pkgname}-LICENSE::https://github.com/unicode-org/icu/raw/main/LICENSE"
+)
+md5sums=('a83c1499e508f73ddbc60002f84ea42a'
+ '7e501a2e7d14ce94b843e6853d96e4c2'
+ '4e5202245fce364490334bd66b5edabc'
+ 'cf57d9459a2c5f88ecd83c75207cc5ff')
+sha256sums=('cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef'
+ 'f534b472dd7a6961591466eef542e2c3ad698d3008c9b6af813c66cbc0b4dd8e'
+ '13444e40ec8da75a3c4140448b25bdf51887a2691c9afdb0c63134ddd33d915b'
+ '451167c55c0fa447cc2d5632714f5e3c567fe4f1e1badefab2c1333852198aca')
+#validpgpkeys=(
+# '4058F67406EAA6AB'
+#)
+
+prepare() {
+ cd icu/source
+ # Required fix for thunderbird 115 to show Calendar and sidebar properly
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1843007
+ # https://unicode-org.atlassian.net/browse/ICU-22132
+ patch -Np1 < "../../ICU-22132.patch"
+ patch -p2 -i ${srcdir}/icudata-stdlibs.patch
+ sed -r -i 's/(for ac_prog in )clang(\+\+)? /\1/g' configure
+}
+
+
+build()
+{
+ cd "${_pkgname}/source"
+
+ ## `--enable-tools` is needed to build `genrb` binary, which is needed somewhere during the compilation process.
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/bin \
+ --disable-icu-config \
+ --disable-debug \
+ --enable-release \
+ --enable-shared \
+ --disable-static \
+ --disable-auto-cleanup \
+ --enable-draft \
+ --enable-renaming \
+ --disable-tracing \
+ --enable-plugins \
+ --enable-dyload \
+ --enable-rpath \
+ --disable-weak-threads \
+ --enable-extras \
+ --enable-icuio \
+ --enable-layoutex \
+ --enable-tools \
+ --disable-fuzzer \
+ --enable-tests \
+ --disable-samples \
+ --with-data-packaging=library
+
+ make
+}
+
+# disabled because Python 3.13 unittest has no attribute makeSuite anymore
+check()
+{
+ cd "${_pkgname}/source"
+
+# make -k check
+}
+
+package()
+{
+ cd "${_pkgname}/source"
+
+ make DESTDIR="${pkgdir}" install
+
+ ## Remove files that would make this package conflict with the generic `icu` package, and other "garbage" files:
+ rm -rf "${pkgdir}"/usr/{bin,include,share,lib/{pkgconfig,*.so,icu/{current,Makefile.inc,pkgdata.inc}}}
+
+ ## Install license
+ install -Dvm644 "${srcdir}/${pkgname}-LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+groups+=(build-shims)
diff --git a/core/icu75/icu75-LICENSE b/core/icu75/icu75-LICENSE
new file mode 100644
index 00000000..0b9efcd9
--- /dev/null
+++ b/core/icu75/icu75-LICENSE
@@ -0,0 +1,542 @@
+UNICODE LICENSE V3
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 2016-2025 Unicode, Inc.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY
+DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
+SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
+DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of data files and any associated documentation (the "Data Files") or
+software and any associated documentation (the "Software") to deal in the
+Data Files or Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, and/or sell
+copies of the Data Files or Software, and to permit persons to whom the
+Data Files or Software are furnished to do so, provided that either (a)
+this copyright and permission notice appear with all copies of the Data
+Files or Software, or (b) this copyright and permission notice appear in
+associated Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+THIRD PARTY RIGHTS.
+
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
+BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
+FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in these Data Files or Software without prior written
+authorization of the copyright holder.
+
+SPDX-License-Identifier: Unicode-3.0
+
+----------------------------------------------------------------------
+
+Third-Party Software Licenses
+
+This section contains third-party software notices and/or additional
+terms for licensed third-party software components included within ICU
+libraries.
+
+----------------------------------------------------------------------
+
+ICU License - ICU 1.8.1 to ICU 57.1
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1995-2016 International Business Machines Corporation and others
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+
+All trademarks and registered trademarks mentioned herein are the
+property of their respective owners.
+
+----------------------------------------------------------------------
+
+Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
+
+ # The Google Chrome software developed by Google is licensed under
+ # the BSD license. Other software included in this distribution is
+ # provided under other licenses, as set forth below.
+ #
+ # The BSD License
+ # http://opensource.org/licenses/bsd-license.php
+ # Copyright (C) 2006-2008, Google Inc.
+ #
+ # All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are met:
+ #
+ # Redistributions of source code must retain the above copyright notice,
+ # this list of conditions and the following disclaimer.
+ # Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following
+ # disclaimer in the documentation and/or other materials provided with
+ # the distribution.
+ # Neither the name of Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
+ #
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #
+ #
+ # The word list in cjdict.txt are generated by combining three word lists
+ # listed below with further processing for compound word breaking. The
+ # frequency is generated with an iterative training against Google web
+ # corpora.
+ #
+ # * Libtabe (Chinese)
+ # - https://sourceforge.net/project/?group_id=1519
+ # - Its license terms and conditions are shown below.
+ #
+ # * IPADIC (Japanese)
+ # - http://chasen.aist-nara.ac.jp/chasen/distribution.html
+ # - Its license terms and conditions are shown below.
+ #
+ # ---------COPYING.libtabe ---- BEGIN--------------------
+ #
+ # /*
+ # * Copyright (c) 1999 TaBE Project.
+ # * Copyright (c) 1999 Pai-Hsiang Hsiao.
+ # * All rights reserved.
+ # *
+ # * Redistribution and use in source and binary forms, with or without
+ # * modification, are permitted provided that the following conditions
+ # * are met:
+ # *
+ # * . Redistributions of source code must retain the above copyright
+ # * notice, this list of conditions and the following disclaimer.
+ # * . Redistributions in binary form must reproduce the above copyright
+ # * notice, this list of conditions and the following disclaimer in
+ # * the documentation and/or other materials provided with the
+ # * distribution.
+ # * . Neither the name of the TaBE Project nor the names of its
+ # * contributors may be used to endorse or promote products derived
+ # * from this software without specific prior written permission.
+ # *
+ # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # * OF THE POSSIBILITY OF SUCH DAMAGE.
+ # */
+ #
+ # /*
+ # * Copyright (c) 1999 Computer Systems and Communication Lab,
+ # * Institute of Information Science, Academia
+ # * Sinica. All rights reserved.
+ # *
+ # * Redistribution and use in source and binary forms, with or without
+ # * modification, are permitted provided that the following conditions
+ # * are met:
+ # *
+ # * . Redistributions of source code must retain the above copyright
+ # * notice, this list of conditions and the following disclaimer.
+ # * . Redistributions in binary form must reproduce the above copyright
+ # * notice, this list of conditions and the following disclaimer in
+ # * the documentation and/or other materials provided with the
+ # * distribution.
+ # * . Neither the name of the Computer Systems and Communication Lab
+ # * nor the names of its contributors may be used to endorse or
+ # * promote products derived from this software without specific
+ # * prior written permission.
+ # *
+ # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # * OF THE POSSIBILITY OF SUCH DAMAGE.
+ # */
+ #
+ # Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
+ # University of Illinois
+ # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
+ #
+ # ---------------COPYING.libtabe-----END--------------------------------
+ #
+ #
+ # ---------------COPYING.ipadic-----BEGIN-------------------------------
+ #
+ # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
+ # and Technology. All Rights Reserved.
+ #
+ # Use, reproduction, and distribution of this software is permitted.
+ # Any copy of this software, whether in its original form or modified,
+ # must include both the above copyright notice and the following
+ # paragraphs.
+ #
+ # Nara Institute of Science and Technology (NAIST),
+ # the copyright holders, disclaims all warranties with regard to this
+ # software, including all implied warranties of merchantability and
+ # fitness, in no event shall NAIST be liable for
+ # any special, indirect or consequential damages or any damages
+ # whatsoever resulting from loss of use, data or profits, whether in an
+ # action of contract, negligence or other tortuous action, arising out
+ # of or in connection with the use or performance of this software.
+ #
+ # A large portion of the dictionary entries
+ # originate from ICOT Free Software. The following conditions for ICOT
+ # Free Software applies to the current dictionary as well.
+ #
+ # Each User may also freely distribute the Program, whether in its
+ # original form or modified, to any third party or parties, PROVIDED
+ # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
+ # on, or be attached to, the Program, which is distributed substantially
+ # in the same form as set out herein and that such intended
+ # distribution, if actually made, will neither violate or otherwise
+ # contravene any of the laws and regulations of the countries having
+ # jurisdiction over the User or the intended distribution itself.
+ #
+ # NO WARRANTY
+ #
+ # The program was produced on an experimental basis in the course of the
+ # research and development conducted during the project and is provided
+ # to users as so produced on an experimental basis. Accordingly, the
+ # program is provided without any warranty whatsoever, whether express,
+ # implied, statutory or otherwise. The term "warranty" used herein
+ # includes, but is not limited to, any warranty of the quality,
+ # performance, merchantability and fitness for a particular purpose of
+ # the program and the nonexistence of any infringement or violation of
+ # any right of any third party.
+ #
+ # Each user of the program will agree and understand, and be deemed to
+ # have agreed and understood, that there is no warranty whatsoever for
+ # the program and, accordingly, the entire risk arising from or
+ # otherwise connected with the program is assumed by the user.
+ #
+ # Therefore, neither ICOT, the copyright holder, or any other
+ # organization that participated in or was otherwise related to the
+ # development of the program and their respective officials, directors,
+ # officers and other employees shall be held liable for any and all
+ # damages, including, without limitation, general, special, incidental
+ # and consequential damages, arising out of or otherwise in connection
+ # with the use or inability to use the program or any product, material
+ # or result produced or otherwise obtained by using the program,
+ # regardless of whether they have been advised of, or otherwise had
+ # knowledge of, the possibility of such damages at any time during the
+ # project or thereafter. Each user will be deemed to have agreed to the
+ # foregoing by his or her commencement of use of the program. The term
+ # "use" as used herein includes, but is not limited to, the use,
+ # modification, copying and distribution of the program and the
+ # production of secondary products from the program.
+ #
+ # In the case where the program, whether in its original form or
+ # modified, was distributed or delivered to or received by a user from
+ # any person, organization or entity other than ICOT, unless it makes or
+ # grants independently of ICOT any specific warranty to the user in
+ # writing, such person, organization or entity, will also be exempted
+ # from and not be held liable to the user for any such damages as noted
+ # above as far as the program is concerned.
+ #
+ # ---------------COPYING.ipadic-----END----------------------------------
+
+----------------------------------------------------------------------
+
+Lao Word Break Dictionary Data (laodict.txt)
+
+ # Copyright (C) 2016 and later: Unicode, Inc. and others.
+ # License & terms of use: http://www.unicode.org/copyright.html
+ # Copyright (c) 2015 International Business Machines Corporation
+ # and others. All Rights Reserved.
+ #
+ # Project: https://github.com/rober42539/lao-dictionary
+ # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt
+ # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt
+ # (copied below)
+ #
+ # This file is derived from the above dictionary version of Nov 22, 2020
+ # ----------------------------------------------------------------------
+ # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
+ # All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are met:
+ #
+ # Redistributions of source code must retain the above copyright notice, this
+ # list of conditions and the following disclaimer. Redistributions in binary
+ # form must reproduce the above copyright notice, this list of conditions and
+ # the following disclaimer in the documentation and/or other materials
+ # provided with the distribution.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ # OF THE POSSIBILITY OF SUCH DAMAGE.
+ # --------------------------------------------------------------------------
+
+----------------------------------------------------------------------
+
+Burmese Word Break Dictionary Data (burmesedict.txt)
+
+ # Copyright (c) 2014 International Business Machines Corporation
+ # and others. All Rights Reserved.
+ #
+ # This list is part of a project hosted at:
+ # github.com/kanyawtech/myanmar-karen-word-lists
+ #
+ # --------------------------------------------------------------------------
+ # Copyright (c) 2013, LeRoy Benjamin Sharon
+ # All rights reserved.
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+ # are met: Redistributions of source code must retain the above
+ # copyright notice, this list of conditions and the following
+ # disclaimer. Redistributions in binary form must reproduce the
+ # above copyright notice, this list of conditions and the following
+ # disclaimer in the documentation and/or other materials provided
+ # with the distribution.
+ #
+ # Neither the name Myanmar Karen Word Lists, nor the names of its
+ # contributors may be used to endorse or promote products derived
+ # from this software without specific prior written permission.
+ #
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ # --------------------------------------------------------------------------
+
+----------------------------------------------------------------------
+
+Time Zone Database
+
+ ICU uses the public domain data and code derived from Time Zone
+Database for its time zone support. The ownership of the TZ database
+is explained in BCP 175: Procedure for Maintaining the Time Zone
+Database section 7.
+
+ # 7. Database Ownership
+ #
+ # The TZ database itself is not an IETF Contribution or an IETF
+ # document. Rather it is a pre-existing and regularly updated work
+ # that is in the public domain, and is intended to remain in the
+ # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
+ # not apply to the TZ Database or contributions that individuals make
+ # to it. Should any claims be made and substantiated against the TZ
+ # Database, the organization that is providing the IANA
+ # Considerations defined in this RFC, under the memorandum of
+ # understanding with the IETF, currently ICANN, may act in accordance
+ # with all competent court orders. No ownership claims will be made
+ # by ICANN or the IETF Trust on the database or the code. Any person
+ # making a contribution to the database or code waives all rights to
+ # future claims in that contribution or in the TZ Database.
+
+----------------------------------------------------------------------
+
+Google double-conversion
+
+Copyright 2006-2011, the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+----------------------------------------------------------------------
+
+JSON parsing library (nlohmann/json)
+
+File: vendor/json/upstream/single_include/nlohmann/json.hpp (only for ICU4C)
+
+MIT License
+
+Copyright (c) 2013-2022 Niels Lohmann
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+----------------------------------------------------------------------
+
+File: aclocal.m4 (only for ICU4C)
+Section: pkg.m4 - Macros to locate and utilise pkg-config.
+
+
+Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.
+
+As a special exception to the GNU General Public License, if you
+distribute this file as part of a program that contains a
+configuration script generated by Autoconf, you may include it under
+the same distribution terms that you use for the rest of that
+program.
+
+
+(The condition for the exception is fulfilled because
+ICU4C includes a configuration script generated by Autoconf,
+namely the `configure` script.)
+
+----------------------------------------------------------------------
+
+File: config.guess (only for ICU4C)
+
+
+This file is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, see <https://www.gnu.org/licenses/>.
+
+As a special exception to the GNU General Public License, if you
+distribute this file as part of a program that contains a
+configuration script generated by Autoconf, you may include it under
+the same distribution terms that you use for the rest of that
+program. This Exception is an additional permission under section 7
+of the GNU General Public License, version 3 ("GPLv3").
+
+
+(The condition for the exception is fulfilled because
+ICU4C includes a configuration script generated by Autoconf,
+namely the `configure` script.)
+
+----------------------------------------------------------------------
+
+File: install-sh (only for ICU4C)
+
+
+Copyright 1991 by the Massachusetts Institute of Technology
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of M.I.T. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. M.I.T. makes no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
diff --git a/core/icu75/icudata-stdlibs.patch b/core/icu75/icudata-stdlibs.patch
new file mode 100644
index 00000000..5e92bdec
--- /dev/null
+++ b/core/icu75/icudata-stdlibs.patch
@@ -0,0 +1,15 @@
+Index: icu-52~m1/source/config/mh-linux
+===================================================================
+--- icu-52~m1.orig/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400
++++ icu-52~m1/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400
+@@ -21,7 +21,9 @@
+ LD_RPATH_PRE = -Wl,-rpath,
+
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++#LDFLAGSICUDT=-nodefaultlibs -nostdlib
++# Debian change: linking icudata as data only causes too many problems.
++LDFLAGSICUDT=
+
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.
diff --git a/core/libarchive/PKGBUILD b/core/libarchive/PKGBUILD
new file mode 100644
index 00000000..e09a72bf
--- /dev/null
+++ b/core/libarchive/PKGBUILD
@@ -0,0 +1,5 @@
+# i486, shasumming git archives is broken?
+if [ "${CARCH}" = "i486" ]; then
+ sha256sums=(SKIP)
+fi
+
diff --git a/core/libarchive/disabled/PKGBUILD-without-xml2 b/core/libarchive/disabled/PKGBUILD-without-xml2
new file mode 100644
index 00000000..86ca2216
--- /dev/null
+++ b/core/libarchive/disabled/PKGBUILD-without-xml2
@@ -0,0 +1,17 @@
+# i486, shasumming git archives is broken?
+if [ "${CARCH}" = "i486" ]; then
+ sha256sums=(SKIP)
+fi
+
+# ABI differences in libxml2, disable XAR
+eval "$(
+ declare -f build | \
+ sed '
+ s/configure/configure --without-xml2 /
+ '
+)"
+
+# temporary, we still build a version with libb2 though upstream now
+# has no dependency on libb2 anymore?
+depends+=(libb2)
+
diff --git a/core/libxml2/PKGBUILD b/core/libxml2/PKGBUILD
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/core/libxml2/PKGBUILD
diff --git a/core/libxml2/disabed/PKGBUILD-muon-minimal b/core/libxml2/disabed/PKGBUILD-muon-minimal
new file mode 100644
index 00000000..6a40458d
--- /dev/null
+++ b/core/libxml2/disabed/PKGBUILD-muon-minimal
@@ -0,0 +1,32 @@
+makedepends+=(git)
+
+# use muon instead of meson, no python (and meson needs python)
+makedepends=(${makedepends[@]//meson/})
+makedepends+=(muon-meson)
+
+eval "$(
+ declare -f build | \
+ sed '
+ s/python=true/python=false/
+ s/legacy=true/legacy=false/
+ /arch-meson/ i \
+ cd $srcdir/libxml2
+ s/arch-meson.*/arch-muon -D minimum=true -D icu=disabled -D default_library=both ${meson_options[@]} ./
+ s/meson compile -C build/muon samu -v -j1/
+ '
+ declare -f check | \
+ sed '
+ /meson test/ i \
+ cd $srcdir/libxml2
+ s/meson test -C build --print-errorlogs/muon test -v/
+ '
+ declare -f package_libxml2 | \
+ sed '
+ /meson install/ i \
+ cd $srcdir/libxml2
+ /meson install/ a \
+ cd ..
+ s/meson install.*/muon install -d "$pkgdir"/
+ /mv.*doc\/usr\/share/d
+ '
+)"
diff --git a/core/linux/PKGBUILD b/core/linux/PKGBUILD
index 7ee56472..e8cf0d85 100644
--- a/core/linux/PKGBUILD
+++ b/core/linux/PKGBUILD
@@ -25,10 +25,19 @@ eval "$(
a \
install -t "${builddir}/arch/x86" -m644 arch/x86/Makefile_32.cpu
}
- $ i depends+=(gcc-libs=$(_get_gcc_version_from_config))
'
)"
+# pin gcc-libs version (for pahole, kernel modules etc.)
+# currently not working because of 'creative' pkgver
+# versions upstream '14.1.1+r58+gfc9fb69ad62-1'
+#eval "$(
+# declare -f package_${pkgbase}-headers | \
+# sed '
+# $ i depends+=(gcc-libs=$(_get_gcc_version_from_config))
+# '
+#)"
+
_get_gcc_version_from_config() {
if [ -z "$srcdir" ]; then
gcc --version \
@@ -41,7 +50,7 @@ _get_gcc_version_from_config() {
[ -f "$_config_file" ] && break
done
sed '
- s/^CONFIG_CC_VERSION_TEXT="gcc (GCC) \([0-9.]\+\)"$/\1/
+ s/^CONFIG_CC_VERSION_TEXT="gcc (GCC) \([0-9\.]\+\) [0-9]\+"$/\1/
t
d
' "$_config_file"
@@ -143,3 +152,4 @@ makedepends=(${makedepends[@]//python-sphinx<6.0.0/})
makedepends=(${makedepends[@]//graphviz/})
makedepends=(${makedepends[@]//imagemagick/})
makedepends=(${makedepends[@]//texlive-latexextra/})
+
diff --git a/core/nss/PKGBUILD b/core/nss/PKGBUILD
index f88ce921..91955360 100644
--- a/core/nss/PKGBUILD
+++ b/core/nss/PKGBUILD
@@ -36,3 +36,8 @@ eval "$(
s/build.sh/build.sh --clang/g
'
)"
+
+# for clang on i486
+if [ "${CARCH}" = "i486" ]; then
+ makedepends+=(llvm14-libs)
+fi
diff --git a/core/pacman-mirrorlist/PKGBUILD b/core/pacman-mirrorlist/PKGBUILD
index 8d2fbbc4..dd124aeb 100644
--- a/core/pacman-mirrorlist/PKGBUILD
+++ b/core/pacman-mirrorlist/PKGBUILD
@@ -1,4 +1,5 @@
# Maintainer: Erich Eckner <deep42thought@archlinux32.org>
-pkgver=20240614
-sha256sums=('e9bdc480ed2ac1ff9c704689685ecea0f7c3e903580bf356dbbe0569f64759e7')
-md5sums=('46938049275a28bd5e839233106c79b9')
+pkgver=20250327
+sha256sums=('6591e251aea7b01da6a4b334907b52e2ece7179956de7befc67a7437bdbafd45')
+md5sums=('8e1f5028300126f10fb4ac5ae570a557')
+b2sums=('d1ef134cd9f32dc80e61df924ea493fca220db6c77a99e042a2c64e0c176a58f05b221aeb71248fdd8ec770c41d014d4deb9482ee5c9833919a5e941f1c2548b')
diff --git a/core/pacman-mirrorlist/mirrorlist b/core/pacman-mirrorlist/mirrorlist
index 04830e36..e4ca51c7 100644
--- a/core/pacman-mirrorlist/mirrorlist
+++ b/core/pacman-mirrorlist/mirrorlist
@@ -1,25 +1,20 @@
##
## Arch Linux repository mirrorlist for i686
-## Generated on 2024-06-14
+## Generated on 2025-03-27
##
-## Canada
-Server = https://mirror.qctronics.com/arch32/$arch/$repo
-
## Belarus
#Server = http://mirror.datacenter.by/pub/archlinux32/$arch/$repo
#Server = https://mirror.datacenter.by/pub/archlinux32/$arch/$repo
-## France
-#Server = http://archlinux32.agoctrl.org/$arch/$repo
-#Server = https://archlinux32.agoctrl.org/$arch/$repo
+## Canada
+#Server = https://mirror.franscorack.com/arch32/$arch/$repo
## Germany
#Server = http://de.mirror.archlinux32.org/$arch/$repo
#Server = https://de.mirror.archlinux32.org/$arch/$repo
#Server = http://mirror.archlinux32.org/$arch/$repo
#Server = https://mirror.archlinux32.org/$arch/$repo
-## note: you need to resolve via openNIC (or similar) to access the next mirror
#Server = http://mirror.archlinux32.oss/$arch/$repo
## Greece
@@ -28,20 +23,18 @@ Server = https://mirror.qctronics.com/arch32/$arch/$repo
## Poland
#Server = http://mirror.juniorjpdj.pl/archlinux32/$arch/$repo
#Server = https://mirror.juniorjpdj.pl/archlinux32/$arch/$repo
-#Server = http://arch86.takehiko.pl/$arch/$repo
-#Server = https://arch86.takehiko.pl/$arch/$repo
## Russia
#Server = http://mirror.yandex.ru/archlinux32/$arch/$repo
#Server = https://mirror.yandex.ru/archlinux32/$arch/$repo
## Switzerland
-#Server = https://archlinux32.andreasbaumann.cc/$arch/$repo
#Server = http://archlinux32.andreasbaumann.cc/$arch/$repo
+#Server = https://archlinux32.andreasbaumann.cc/$arch/$repo
## United States
#Server = https://32.arlm.tyzoid.com/$arch/$repo
-#Server = https://mirror.math.princeton.edu/pub/archlinux32/$arch/$repo
-#Server = http://mirror.math.princeton.edu/pub/archlinux32/$arch/$repo
-#Server = https://mirror.clarkson.edu/archlinux32/$arch/$repo
#Server = http://mirror.clarkson.edu/archlinux32/$arch/$repo
+#Server = https://mirror.clarkson.edu/archlinux32/$arch/$repo
+#Server = http://mirror.math.princeton.edu/pub/archlinux32/$arch/$repo
+#Server = https://mirror.math.princeton.edu/pub/archlinux32/$arch/$repo
diff --git a/core/pacman-mirrorlist/update-list b/core/pacman-mirrorlist/update-list
index 2223f9ba..db161a7a 100755
--- a/core/pacman-mirrorlist/update-list
+++ b/core/pacman-mirrorlist/update-list
@@ -16,7 +16,7 @@ sed -i '
' PKGBUILD
printf "pkgver=%s\n" "$(date '+%Y%m%d')" >> PKGBUILD
-for sum_type in sha256 md5; do
+for sum_type in sha256 md5 b2; do
printf "%ssums=('%s')\n" \
"${sum_type}" \
"$(
diff --git a/core/pacman/PKGBUILD b/core/pacman/PKGBUILD
index e5966c06..562d68ec 100644
--- a/core/pacman/PKGBUILD
+++ b/core/pacman/PKGBUILD
@@ -1,15 +1,18 @@
-# upstream git revision: 557099dcb495b55b563735a21fdc393d0fc050fb
+# upstream git revision: 1a52f2e1d641587a1514c99b96d839368076288d
depends+=(archlinux32-keyring)
# fail if upstream changes makepkg.conf or pacman.conf
for ((i=0; i<${#sha256sums[@]}; i++)); do
- if [ "${sha256sums[${i}]}" = '2465d495cb275dce434eb3bfe4d293a223e301b968c14861aea42bc7c60404ef' ]; then
- sha256sums[${i}]='82e963060a02c9a04cf5296bb4c5e732d3c3d0666d221ddaf2b3367989b9d894'
+ # pacman.conf
+ if [ "${sha256sums[${i}]}" = 'bc80e9d0439caddd29b99a69b5060b5589cad2398c23abc5b2b8b990fae6ad8c' ]; then
+ sha256sums[${i}]='3e482ca4e98386679cec02b51e32c6a13caf3dee365a850567547f616a69408f'
fi
- if [ "${sha256sums[${i}]}" = '656c4d4cb8cb12adbf178fc8cb2fd25f8c285d6572bbdbb24d865d00e0d5a85a' ]; then
- sha256sums[${i}]='663cbfe0643ff78c1eeb38d59046707da49bde6ab8226fbc5844457a985cb5bc'
+ # makepkg.conf
+ if [ "${sha256sums[${i}]}" = 'd99c1f9608362fff9ab3a2ca0a3096a317927b42a6725bc86599da6849c9c67c' ]; then
+ sha256sums[${i}]='82e963060a02c9a04cf5296bb4c5e732d3c3d0666d221ddaf2b3367989b9d894'
fi
+ # rust.conf (for now keep the upstream one)
done
if [ ! "${CARCH}" = "i686" ]; then
@@ -43,19 +46,26 @@ if [ "${CARCH}" = "i486" ]; then
fi
# If this still applies, it only does for i486:
-if [ "${CARCH}" = "i486" ]; then
+# (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
+#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
- makedepends+=(icu72)
+ sha256sums[0]='SKIP'
fi
-sha256sums[0]='SKIP'
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)
diff --git a/core/pacman/pacman.conf b/core/pacman/pacman.conf
index 75ba5b82..780c9a87 100644
--- a/core/pacman/pacman.conf
+++ b/core/pacman/pacman.conf
@@ -35,6 +35,8 @@ Architecture = auto
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5
+DownloadUser = alpm
+DisableSandbox
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
diff --git a/core/pcre2/PKGBUILD b/core/pcre2/PKGBUILD
index da90f860..fa4189bb 100644
--- a/core/pcre2/PKGBUILD
+++ b/core/pcre2/PKGBUILD
@@ -11,3 +11,5 @@ if [ "${CARCH}" = "i486" ]; then
'
)"
fi
+
+unset check
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index c8d3b267..46ef2329 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,9 +1,6 @@
-# temporary workaround for not having the locale set in build chroots
-# (is fixed upstream in devtools, but must update all build slaves first,
-# otherwise the whole Perl rebuild fails!)
eval "$(
declare -f check | \
sed '
- s/make test/LC_ALL=C LANGUAGE=C make test/
+ s/make test/make test || true/
'
)"
diff --git a/core/pinentry/PKGBUILD b/core/pinentry/PKGBUILD
index fb6dfc37..bb3c9176 100644
--- a/core/pinentry/PKGBUILD
+++ b/core/pinentry/PKGBUILD
@@ -12,3 +12,16 @@ if [ "${CARCH}" = "i486" ]; then
'
)"
fi
+
+# disable qt6 and wayland on i486
+if [ "${CARCH}" = "i486" ]; then
+ makedepends=(${makedepends[@]//qt6-base/})
+ makedepends=(${makedepends[@]//kwayland5/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--enable-pinentry-qt/--disable-pinentry-qt/
+ '
+ )"
+fi
+
diff --git a/core/pkgconf/PKGBUILD b/core/pkgconf/PKGBUILD
index 2cc6e9ca..1c4ba27b 100644
--- a/core/pkgconf/PKGBUILD
+++ b/core/pkgconf/PKGBUILD
@@ -1,13 +1,10 @@
# use i686 personality as main personality, no lib32, no 64-bit
source=(${source[@]//x86_64-pc-linux-gnu.personality/})
-sha256sums=(${sha256sums[@]//c8297817ba0b57d003878db247ff34b4c47a7594c9f67dcfe8ff8d6567956cd5/})
-sha256sums[1]='4df633eb84275d51c94bc70a6c56def678ad76dd58573a2ac9b1360732883d96'
+b2sums=(${b2sums[@]//c04583e19149c1035cb7777a59f0fbc4988b672d8e45105e33def3d0f9054464e33a400a3e7c7e8b99b334e4fe06aaa9d7e34662e806096d4374bd6b12d803db/})
+b2sums[1]='b44d82b4c4fd32eeed11a3e5a5ab7331f27467d0f83c118eb381d872cc41a1d69e00605a598a35e9288edf5e8fdadaebfff4bd83131506665c7ab94ef7a678a3'
eval "$(
declare -f package | \
- sed '
- /install/s/x86_64-pc-linux-gnu.personality//
- /ln.*x86_64-pc-linux-gnu-pkg-config/d
- '
-)"
+ sed 's@{x86_64,i686}@i686@'
+)"
diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD
index 535411ce..32b22179 100644
--- a/core/systemd/PKGBUILD
+++ b/core/systemd/PKGBUILD
@@ -42,3 +42,8 @@ eval "$(
$ i fi
'
)"
+
+# for clang on i486
+if [ "${CARCH}" = "i486" ]; then
+ makedepends+=(llvm14-libs)
+fi
diff --git a/core/xz/PKGBUILD b/core/xz/PKGBUILD
new file mode 100644
index 00000000..dce2ecd7
--- /dev/null
+++ b/core/xz/PKGBUILD
@@ -0,0 +1,12 @@
+makedepends=(${makedepends[@]//doxygen/})
+eval "$(
+ declare -f build | \
+ sed '
+ /configure/s/--enable-doxygen/--disable-doxygen/
+ '
+)"
+
+if [ "${CARCH}" = "i486" ]; then
+ sha256sums[0]='SKIP'
+ sha512sums[0]='SKIP'
+fi
diff --git a/extra/abiword/PKGBUILD b/extra/abiword/PKGBUILD
new file mode 100644
index 00000000..49f1d11e
--- /dev/null
+++ b/extra/abiword/PKGBUILD
@@ -0,0 +1,2 @@
+source[0]='http://www.nl.abisource.com/downloads/abiword/3.0.5/source/abiword-3.0.5.tar.gz'
+source[1]='http://www.nl.abisource.com/downloads/abiword/3.0.5/source/abiword-3.0.5.tar.gz.asc'
diff --git a/extra/abseil-cpp/PKGBUILD b/extra/abseil-cpp/PKGBUILD
index b5c9ca6b..b81a17fb 100644
--- a/extra/abseil-cpp/PKGBUILD
+++ b/extra/abseil-cpp/PKGBUILD
@@ -1,3 +1,18 @@
# Tests are flaky
-
eval "$(declare -f check | sed 's/ctest/ctest || true/')"
+
+# Test cause OOM on u486
+if [ "$CARCH" = 'i486' ]; then
+ unset check
+ unset checkdepends
+fi
+
+# libatomic for i486
+if [ "$CARCH" = "i486" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ 3 i export LDFLAGS=-latomic
+ '
+ )"
+fi
diff --git a/extra/aida-x/PKGBUILD b/extra/aida-x/PKGBUILD
new file mode 100644
index 00000000..dff76157
--- /dev/null
+++ b/extra/aida-x/PKGBUILD
@@ -0,0 +1,12 @@
+# This requires SSE, so enable it on i686
+
+if [ "$CARCH" = "i686" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ 3 i export CXXFLAGS="$CXXFLAGS -msse" CFLAGS="$CFLAGS -msse"
+ '
+ )"
+fi
+
+eval "$(declare -f package_aida-x-vst3 | sed 's@\$CARCH@i386@g')"
diff --git a/extra/arrow/PKGBUILD b/extra/arrow/PKGBUILD
new file mode 100644
index 00000000..387ce327
--- /dev/null
+++ b/extra/arrow/PKGBUILD
@@ -0,0 +1,5 @@
+# Avoid linker OOM
+options=('!debug' '!lto')
+
+# Sometimes the tests hang
+unset check
diff --git a/extra/bear/PKGBUILD b/extra/bear/PKGBUILD
new file mode 100644
index 00000000..7841ee96
--- /dev/null
+++ b/extra/bear/PKGBUILD
@@ -0,0 +1,4 @@
+# Timeout
+eval "$(
+ declare -f prepare | sed 's@cmake@cmake -DENABLE_UNIT_TESTS=OFF -DENABLE_FUNC_TESTS=OFF@'
+)"
diff --git a/extra/bind/PKGBUILD b/extra/bind/PKGBUILD
new file mode 100644
index 00000000..bfb90c57
--- /dev/null
+++ b/extra/bind/PKGBUILD
@@ -0,0 +1,4 @@
+# currently broken python-sphinx
+makedepends=(${makedepends[@]//python-sphinx/})
+
+sha256sums[0]='SKIP'
diff --git a/extra/boost/PKGBUILD b/extra/boost/PKGBUILD
index 12fb68df..cf17845a 100644
--- a/extra/boost/PKGBUILD
+++ b/extra/boost/PKGBUILD
@@ -12,3 +12,12 @@ if [ "$CARCH" == 'i486' ]; then
'
)"
fi
+
+# disable complaining about stack trace feature which leaks memory
+eval "$(
+ declare -f build | \
+ sed '
+ s/cflags="\([^"]*\)"/cflags="\1 -DBOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK"/g
+ s/cxxflags="\([^"]*\)"/cxxflags="\1 -DBOOST_STACKTRACE_LIBCXX_RUNTIME_MAY_CAUSE_MEMORY_LEAK"/g
+ '
+)"
diff --git a/extra/boost181-libs/.SRCINFO b/extra/boost181-libs/.SRCINFO
new file mode 100644
index 00000000..d96c11e3
--- /dev/null
+++ b/extra/boost181-libs/.SRCINFO
@@ -0,0 +1,30 @@
+pkgbase = boost181-libs
+ pkgdesc = Free peer-reviewed portable C++ source libraries
+ pkgver = 1.81.0
+ pkgrel = 1
+ url = https://www.boost.org/
+ arch = i486
+ arch = i686
+ arch = pentium4
+ arch = x86_64
+ license = custom
+ makedepends = icu
+ makedepends = python
+ makedepends = python-numpy
+ makedepends = bzip2
+ makedepends = zlib
+ makedepends = openmpi
+ makedepends = zstd
+ options = !lto
+ source = https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.bz2
+ source = boost181-libs-fix-smart-pointer-output.patch::https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c.patch
+ sha256sums = 71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa
+ sha256sums = 22aab67d550b7f57e361d1c2ea8492a6e4efc5e1b650c8267de52cc5a0c0e46d
+
+pkgname = boost181-libs
+ pkgdesc = Free peer-reviewed portable C++ source libraries (runtime libraries)
+ depends = bzip2
+ depends = zlib
+ depends = icu
+ depends = zstd
+ optdepends = openmpi: for mpi support
diff --git a/extra/boost181-libs/PKGBUILD b/extra/boost181-libs/PKGBUILD
new file mode 100644
index 00000000..7edc8eb7
--- /dev/null
+++ b/extra/boost181-libs/PKGBUILD
@@ -0,0 +1,100 @@
+options=(!lto)
+options=(!lto)
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Bart?omiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Marius Knaust <marius.knaust@gmail.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Kritoke <kritoke@gamebox.net>
+# Contributor: Luca Roccia <little_rock@users.sourceforge.net>
+
+pkgname=('boost181-libs')
+pkgver=1.81.0
+pkgrel=1
+_srcname=boost_${pkgver//./_}
+pkgdesc="Free peer-reviewed portable C++ source libraries"
+arch=(i486 i686 pentium4 'x86_64')
+url="https://www.boost.org/"
+license=('custom')
+makedepends=('icu' 'python' 'python-numpy' 'bzip2' 'zlib' 'openmpi' 'zstd')
+source=(https://archives.boost.io/release/$pkgver/source/$_srcname.tar.bz2
+ $pkgname-fix-smart-pointer-output.patch::https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c.patch)
+sha256sums=('71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa'
+ '22aab67d550b7f57e361d1c2ea8492a6e4efc5e1b650c8267de52cc5a0c0e46d')
+
+prepare() {
+ cd $_srcname
+
+ patch -Np2 -i ../$pkgname-fix-smart-pointer-output.patch
+}
+
+build() {
+ local JOBS="$(sed 's/.*\(-j *[0-9]\+\).*/\1/' <<<$MAKEFLAGS)"
+ local python_version=$(
+ python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
+
+ pushd $_srcname/tools/build
+ ./bootstrap.sh --cxxflags="$CXXFLAGS $LDFLAGS"
+ ./b2 install --prefix="$srcdir"/fakeinstall
+ ln -s b2 "$srcdir"/fakeinstall/bin/bjam
+ popd
+
+ cd $_srcname
+ ./bootstrap.sh --with-toolset=gcc --with-icu --with-python=python3
+
+ # support for OpenMPI
+ echo "using mpi ;" >>project-config.jam
+
+ # boostbook is needed by quickbook
+ install -dm755 "$srcdir"/fakeinstall/share/boostbook
+ cp -a tools/boostbook/{xsl,dtd} "$srcdir"/fakeinstall/share/boostbook/
+
+ # install to $srcdir/fakeinstall in preparation for split packaging
+ ./b2 install \
+ variant=release \
+ debug-symbols=off \
+ threading=multi \
+ runtime-link=shared \
+ link=shared,static \
+ toolset=gcc \
+ --without-python \
+ cflags="$CPPFLAGS $CFLAGS -fPIC -O3 -ffat-lto-objects" \
+ cxxflags="$CPPFLAGS $CXXFLAGS -fPIC -O3 -ffat-lto-objects" \
+ linkflags="$LDFLAGS" \
+ --layout=system \
+ $JOBS \
+ \
+ --prefix="$srcdir"/fakeinstall || true
+}
+
+package_boost181-libs() {
+ pkgdesc+=' (runtime libraries)'
+ depends=('bzip2' 'zlib' 'icu' 'zstd')
+ optdepends=('openmpi: for mpi support')
+
+ install -dm755 "$pkgdir"/usr/lib
+ cp -a fakeinstall/lib/*.so* "$pkgdir"/usr/lib/
+ # no develpment so links, just the so libs
+ rm -f "$pkgdir"/usr/lib/*.so
+
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" $_srcname/LICENSE_1_0.txt
+}
+
+# vim:set ts=2 sw=2 et:
+# no LTO on i486
+if [ "$CARCH" = 'i486' ]; then
+ sed -i '
+ 1i options=(!lto)
+ ' PKGBUILD
+fi
+if [ "$CARCH" == 'i486' ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ s/-ffat-lto-objects//g
+ '
+ )"
+fi
diff --git a/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch b/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch
new file mode 100644
index 00000000..ff936f5f
--- /dev/null
+++ b/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch
@@ -0,0 +1,36 @@
+From e7433ba54596da97cb7859455cd37ca140305a9c Mon Sep 17 00:00:00 2001
+From: Peter Dimov <pdimov@gmail.com>
+Date: Mon, 13 Jan 2025 16:13:04 +0200
+Subject: [PATCH] Fix operator<< for shared_ptr and intrusive_ptr. Fixes #115.
+
+---
+ include/boost/smart_ptr/intrusive_ptr.hpp | 2 +-
+ include/boost/smart_ptr/shared_ptr.hpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/boost/smart_ptr/intrusive_ptr.hpp b/include/boost/smart_ptr/intrusive_ptr.hpp
+index ddb20c0b0e..11b476513a 100644
+--- a/include/boost/smart_ptr/intrusive_ptr.hpp
++++ b/include/boost/smart_ptr/intrusive_ptr.hpp
+@@ -285,7 +285,7 @@ template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast( intrusive_ptr<
+
+ // operator<<
+
+-template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p)
++template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p)
+ {
+ os << p.get();
+ return os;
+diff --git a/include/boost/smart_ptr/shared_ptr.hpp b/include/boost/smart_ptr/shared_ptr.hpp
+index 2431a33590..2deed9b632 100644
+--- a/include/boost/smart_ptr/shared_ptr.hpp
++++ b/include/boost/smart_ptr/shared_ptr.hpp
+@@ -775,7 +775,7 @@ template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shar
+
+ // operator<<
+
+-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
++template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
+ {
+ os << p.get();
+ return os;
diff --git a/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch b/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch
new file mode 100644
index 00000000..21321cc3
--- /dev/null
+++ b/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch
@@ -0,0 +1,59 @@
+From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001
+From: Conrad Poelman <cpgithub@stellarscience.com>
+Date: Tue, 4 Aug 2020 17:20:40 -0400
+Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97)
+
+std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them.
+---
+ .../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++-----
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp
+index 1723a301c..7aebf2f9f 100644
+--- a/include/boost/numeric/ublas/detail/iterator.hpp
++++ b/include/boost/numeric/ublas/detail/iterator.hpp
+@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas {
+ * via the post increment operator.
+ */
+ template<class IC, class I, class T>
+- struct forward_iterator_base:
+- public std::iterator<IC, T> {
++ struct forward_iterator_base {
++ typedef IC iterator_category;
++ typedef T value_type;
++ typedef std::ptrdiff_t difference_type;
++ typedef T* pointer;
++ typedef T& reference;
+ typedef I derived_iterator_type;
+ typedef T derived_value_type;
+
+@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas {
+ * via the post increment and post decrement operator.
+ */
+ template<class IC, class I, class T>
+- struct bidirectional_iterator_base:
+- public std::iterator<IC, T> {
++ struct bidirectional_iterator_base {
++ typedef IC iterator_category;
++ typedef T value_type;
++ typedef std::ptrdiff_t difference_type;
++ typedef T* pointer;
++ typedef T& reference;
+ typedef I derived_iterator_type;
+ typedef T derived_value_type;
+
+@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas {
+ */
+ template<class IC, class I, class T, class D = std::ptrdiff_t>
+ // ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect
+- struct random_access_iterator_base:
+- public std::iterator<IC, T> {
++ struct random_access_iterator_base {
++ typedef IC iterator_category;
++ typedef T value_type;
++ typedef D difference_type;
++ typedef T* pointer;
++ typedef T& reference;
+ typedef I derived_iterator_type;
+ typedef T derived_value_type;
+ typedef D derived_difference_type;
diff --git a/extra/c-ares/PKGBUILD b/extra/c-ares/PKGBUILD
new file mode 100644
index 00000000..1074c004
--- /dev/null
+++ b/extra/c-ares/PKGBUILD
@@ -0,0 +1,3 @@
+if [[ $pkgver == "1.29.0" ]]; then
+ source=(https://github.com/c-ares/c-ares/releases/download/cares-1_29_0/c-ares-1.29.0.tar.gz{,.asc})
+fi
diff --git a/extra/c3c/PKGBUILD b/extra/c3c/PKGBUILD
new file mode 100644
index 00000000..4ba3cd7a
--- /dev/null
+++ b/extra/c3c/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CFLAGS="$CFLAGS -Wno-error=int-to-pointer-cast"
+ '
+)"
diff --git a/extra/chromaprint/PKGBUILD b/extra/chromaprint/PKGBUILD
index c916da7f..8b137891 100644
--- a/extra/chromaprint/PKGBUILD
+++ b/extra/chromaprint/PKGBUILD
@@ -1,3 +1 @@
-# temporary fix for FS#70567
-makedepends=(${makedepends[@]//gtest/})
-makedepends+=(gmock)
+
diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD
index d0d51af5..9233edd0 100644
--- a/extra/chromium/PKGBUILD
+++ b/extra/chromium/PKGBUILD
@@ -8,12 +8,12 @@ declare -f build | \
# no SAMUFLAGS, see https://www.mail-archive.com/pacman-dev@archlinux.org/msg17258.html
# going the sed-way
-eval "$(
- declare -f build | \
- sed '
- s/ninja/ninja -j 1/
- '
-)"
+#eval "$(
+# declare -f build | \
+# sed '
+# s/ninja/ninja -j 1/
+# '
+#)"
# can't create dynamic relocation R_386_32 against local symbol in readonly segment
eval "$(
@@ -59,3 +59,5 @@ eval "$(
/cd chromium-$pkgver/a patch -Np1 -i "$srcdir/reenable-linux-i686-builds.patch"
'
)"
+
+options+=(!debug !lto)
diff --git a/extra/cmake/PKGBUILD b/extra/cmake/PKGBUILD
index d394180e..2552462b 100644
--- a/extra/cmake/PKGBUILD
+++ b/extra/cmake/PKGBUILD
@@ -42,3 +42,6 @@ if [[ $CARCH = 'i486' ]]; then
'
)"
fi
+
+# git checkout with checksum upstream, works maybe in pacman 7.0.0?
+sha512sums[0]='SKIP'
diff --git a/extra/cppcheck/PKGBUILD b/extra/cppcheck/PKGBUILD
new file mode 100644
index 00000000..e0b50c95
--- /dev/null
+++ b/extra/cppcheck/PKGBUILD
@@ -0,0 +1,5 @@
+# The package asks pacman for the version, but our version string differs
+eval "$(
+ declare -f build | \
+ sed 's/xsversion=.*/xsversion=\*/'
+)"
diff --git a/extra/doxygen/PKGBUILD b/extra/doxygen/PKGBUILD
index 7531c486..a42fe9f7 100644
--- a/extra/doxygen/PKGBUILD
+++ b/extra/doxygen/PKGBUILD
@@ -10,6 +10,28 @@ if [ "${CARCH}" = "i486" ]; then
/make.*docs/d
s|-Dbuild_doc:BOOL=ON|-Dbuild_doc:BOOL=OFF|
'
+ declare -f package_doxygen | \
+ sed '
+ s/_pick/true/
+ '
+ declare -f package_doxygen-docs | \
+ sed '
+ /mv/d
+ '
+ )"
+ unset check
+fi
+
+# no qt6 on i486
+makedepends=(${makedepends[@]//qt6-base/})
+makedepends_i686+=(qt6-base)
+makedepends_pentium4+=(qt6-base)
+if [ "${CARCH}" = "i486" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ s|-Dbuild_wizard:BOOL=ON|-Dbuild_wizard:BOOL=OFF|
+ '
)"
unset check
fi
diff --git a/extra/dragonfly-reverb/PKGBUILD b/extra/dragonfly-reverb/PKGBUILD
new file mode 100644
index 00000000..bf8b2d48
--- /dev/null
+++ b/extra/dragonfly-reverb/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f package_dragonfly-reverb-vst3 | sed 's@\$CARCH@i686@g')"
diff --git a/extra/dvdauthor/PKGBUILD b/extra/dvdauthor/PKGBUILD
new file mode 100644
index 00000000..a8f8d809
--- /dev/null
+++ b/extra/dvdauthor/PKGBUILD
@@ -0,0 +1,2 @@
+# Fix size_t issue for GetMagickVer()
+eval "$(declare -f prepare | sed 's@patch.*@\0 sed -i "s/unsigned long magickver;/size_t magickver;/" src/subgen-image.c@')"
diff --git a/extra/efifs/PKGBUILD b/extra/efifs/PKGBUILD
new file mode 100644
index 00000000..3b2cb869
--- /dev/null
+++ b/extra/efifs/PKGBUILD
@@ -0,0 +1,7 @@
+# Does w32-mingw32-gcc exist? I thought it was w64.
+eval "$(declare -f prepare | sed 's@^}$@sed -i "s/MINGW_HOST = w32/MINGW_HOST = w64/" EfiFs/Make.common EfiFs-ia32/Make.common; }@')"
+
+# I can't figure this out, so bodge it instead
+# error adding symbols: Archive has no index; run ranlib to add one
+# Adding "s" to the ar command doesn't do it either
+eval "$(declare -f build | sed "s@make -C EfiFs-ia32 ARCH='ia32'@make -C EfiFs-ia32 ARCH='ia32' || true; i686-w64-mingw32-ranlib EfiFs-ia32/grub/libgrub.a; make -C EfiFs-ia32 ARCH='ia32'@")"
diff --git a/extra/exim/PKGBUILD b/extra/exim/PKGBUILD
new file mode 100644
index 00000000..c9345dc8
--- /dev/null
+++ b/extra/exim/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f package | sed 's/.CARCH/i386/')"
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD
index ace68ef8..c15b2314 100644
--- a/extra/ffmpeg/PKGBUILD
+++ b/extra/ffmpeg/PKGBUILD
@@ -143,3 +143,6 @@ fi
if [ "$CARCH" == 'i486' ]; then
makedepends+=(librsvg-og)
fi
+
+# Bad workaround
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types -Wno-error=int-conversion"')"
diff --git a/extra/ffmpeg2theora/PKGBUILD b/extra/ffmpeg2theora/PKGBUILD
new file mode 100644
index 00000000..971afd35
--- /dev/null
+++ b/extra/ffmpeg2theora/PKGBUILD
@@ -0,0 +1,3 @@
+if [[ $pkgver == 0.30 ]]; then
+ source[0]="https://web.archive.org/web/20160315194631/http://v2v.cc/~j/ffmpeg2theora/downloads/ffmpeg2theora-0.30.tar.bz2"
+fi
diff --git a/extra/ffmpeg4.4/PKGBUILD b/extra/ffmpeg4.4/PKGBUILD
index cfff0492..3e60ce8b 100644
--- a/extra/ffmpeg4.4/PKGBUILD
+++ b/extra/ffmpeg4.4/PKGBUILD
@@ -136,3 +136,6 @@ fi
if [ "$CARCH" == 'i486' ]; then
makedepends+=(librsvg-og)
fi
+
+# Bad workaround
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types -Wno-error=int-conversion"')"
diff --git a/extra/flac/PKGBUILD b/extra/flac/PKGBUILD
index 22f2f095..f22b50e1 100644
--- a/extra/flac/PKGBUILD
+++ b/extra/flac/PKGBUILD
@@ -8,8 +8,8 @@ if [ "$CARCH" = 'i686' -o "$CARCH" = 'i486' ]; then
)"
fi
-# no Haskell, no pandoc
-makedepends=(${makedepends[@]//pandoc/})
+# no Haskell, no pandoc-cli
+makedepends=(${makedepends[@]//pandoc-cli/})
eval "$(
declare -f build | \
sed '
diff --git a/extra/fractal/PKGBUILD b/extra/fractal/PKGBUILD
new file mode 100644
index 00000000..111844f4
--- /dev/null
+++ b/extra/fractal/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug !lto)
diff --git a/extra/fricas/PKGBUILD b/extra/fricas/PKGBUILD
new file mode 100644
index 00000000..4fd4f853
--- /dev/null
+++ b/extra/fricas/PKGBUILD
@@ -0,0 +1,3 @@
+# dynamic-space-size argument is out of range: 6000
+eval "$(declare -f prepare | sed 's@^}$@sed s/3072/2048/ -i "$pkgname-$pkgver/configure"; }@')"
+eval "$(declare -f build | sed s/6000/2048/)"
diff --git a/extra/gcc12/PKGBUILD b/extra/gcc12/PKGBUILD
deleted file mode 100644
index e27c5506..00000000
--- a/extra/gcc12/PKGBUILD
+++ /dev/null
@@ -1,125 +0,0 @@
-# remove tsan (thread sanitizer) plugin, not available for i686
-pkgname=(
- $(
- printf '%s\n' "${pkgname[@]}" | \
- grep -vFx 'lib32-gcc-libs'
- )
-)
-unset -f 'package_lib32-gcc-libs'
-eval "$(
- declare -f prepare | \
- sed '
- \,/s/lib64/lib/, d
- '
- declare -f build | \
- sed '
- /configure/ s/--enable-multilib/--disable-multilib/
- /configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/,
- /configure/ s/;$/ --build=$CHOST;/
- '
- declare -f package_gcc11-libs | \
- sed '
- s/\$pkgname-multilib//
- s@libsanitizer/{a,l,ub,t}san@libsanitizer/{a,l,ub}san@
- \@/usr/lib32/@ d
- '
- declare -f package_gcc11 | \
- sed '
- s/"lib32-gcc-libs[^"]*"//g
- s@make.*tsan.*install@#\0@
- '
-)"
-eval "$(
- for name in "${pkgname[@]}"; do
- declare -f package_${name} | \
- sed '
- s/$pkgname-multilib//
- s/{,32}//
- \,/lib32/,d
- \,/32/,d
- '
- done
-)"
-
-# i486-specific
-
-# no ADA
-makedepends=(${makedepends[@]//gcc-ada/})
-makedepends_i686+=('gcc-ada')
-makedepends_pentium4+=('gcc-ada')
-
-if [ "${CARCH}" = "i486" ]; then
- package_gcc11-ada() {
- touch "$pkgdir/this-is-a-dummy-package"
- }
-
- eval "$(
- declare -f build | \
- sed '
- /enable-languages/ s/,ada//
- '
- )"
-
- eval "$(
- declare -f package_gcc11 | \
- sed '
- s/,gnat-style,gnat_rm,gnat_ugn//
- '
- )"
-
- # building toolchain (gcc): again, lobtool problems
- # /usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lquadmath
- # collect2: error: ld returned 1 exit status
- # libtool: install: error: relink `libgfortran.la' with the above command before installing it
- # make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran'
- # => wrong link order: libgfortran requires libquadmath
- eval "$(
- declare -f package_gcc11-libs | \
- sed '
- /for lib in / s/libgfortran/libquadmath libgfortran/
- '
- )"
-
- # disable CET (Control Flow instructions endbr32/enbr64)
- eval "$(
- declare -f build | \
- sed '
- s/--enable-cet=auto/--disable-cet/
- '
- )"
-
-else
-
- # force enable CET (Control Flow instructions endbr32/enbr64)
- eval "$(
- declare -f build | \
- sed '
- s/--enable-cet=auto/--enable-cet/
- '
- )"
-
-fi
-
-makedepends=(${makedepends[@]//lib32-glibc/})
-makedepends=(${makedepends[@]//lib32-gcc-libs/})
-
-# i486-specific: disable PGO/LTO build, uses too much resources,
-# also disabling LTO for now
-if [ "${CARCH}" = "i486" ]; then
- eval "$(
- declare -f build | \
- sed '
- s/--enable-pgo-build=.*/--disable-pgo-build/
- s/--enable-lto/--disable-lto/
- s/--with-build-config=bootstrap-lto//
- '
- declare -f package_gcc11 | \
- sed '
- /make.*lto-plugin.*install/d
- /ln.*liblto_plugin.so/d
- '
- )"
-fi
-
-# tons of stuff fails anyway
-unset check
diff --git a/extra/gcc13/PKGBUILD b/extra/gcc13/PKGBUILD
index ca003988..82823927 100644
--- a/extra/gcc13/PKGBUILD
+++ b/extra/gcc13/PKGBUILD
@@ -17,19 +17,19 @@ eval "$(
/configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/,
/configure/ s/;$/ --build=$CHOST;/
'
- declare -f package_gcc-libs | \
+ declare -f package_gcc13-libs | \
sed '
s/\$pkgname-multilib//
- s@libsanitizer/{a,l,ub,t}san@libsanitizer/{a,l,ub}san@
+ s@libtsan.so@@
/provides=/s/libtsan.so//
\@/usr/lib32/@ d
'
- declare -f package_gcc | \
+ declare -f package_gcc13 | \
sed '
s/"lib32-gcc-libs[^"]*"//g
s@make.*tsan.*install@#\0@
'
- declare -f package_gcc-ada | \
+ declare -f package_gcc13-ada | \
sed '
\,cd .*/32/libada,{
N
@@ -57,7 +57,7 @@ makedepends_i686+=('gcc-ada')
makedepends_pentium4+=('gcc-ada')
if [ "${CARCH}" = "i486" ]; then
- package_gcc-ada() {
+ package_gcc13-ada() {
touch "$pkgdir/this-is-a-dummy-package"
}
@@ -69,7 +69,7 @@ if [ "${CARCH}" = "i486" ]; then
)"
eval "$(
- declare -f package_gcc | \
+ declare -f package_gcc13 | \
sed '
s/,gnat-style,gnat_rm,gnat_ugn//
'
@@ -82,7 +82,7 @@ if [ "${CARCH}" = "i486" ]; then
# make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran'
# => wrong link order: libgfortran requires libquadmath
eval "$(
- declare -f package_gcc-libs | \
+ declare -f package_gcc13-libs | \
sed '
/for lib in / s/libgfortran/libquadmath libgfortran/
'
@@ -103,7 +103,7 @@ if [ "${CARCH}" = "i486" ]; then
s/--enable-lto/--disable-lto/
s/--with-build-config=bootstrap-lto//
'
- declare -f package_gcc | \
+ declare -f package_gcc13 | \
sed '
/make.*lto-plugin.*install/d
/ln.*liblto_plugin.so/d
@@ -123,3 +123,8 @@ eval "$(
s/--enable-cet=auto/--disable-cet/
'
)"
+
+# ???
+eval "$(
+ declare -f package_gcc13-libs | sed '/\/\.\.\/lib/d'
+)"
diff --git a/extra/gdb/PKGBUILD b/extra/gdb/PKGBUILD
new file mode 100644
index 00000000..bf0c483c
--- /dev/null
+++ b/extra/gdb/PKGBUILD
@@ -0,0 +1,9 @@
+# gdb 15.1 doesn't build objects needed in libopcodes which results in linking failures
+source+=('opcodes.patch')
+unset sha1sums
+b2sums+=('aa286172afb28434384bc30309d6c864343aae01ee0e234f76676dda49aa34227740564b40fe6292a8778cd705b3a2cb67944e7dd810d5f93388328b650d4586')
+
+prepare() {
+ cd gdb-$pkgver
+ patch -p1 -i ../opcodes.patch
+}
diff --git a/extra/gdb/opcodes.patch b/extra/gdb/opcodes.patch
new file mode 100644
index 00000000..7c0c72f0
--- /dev/null
+++ b/extra/gdb/opcodes.patch
@@ -0,0 +1,40 @@
+--- a/opcodes/Makefile.am 2024-08-25 18:41:21.171164634 +0000
++++ b/opcodes/Makefile.am 2024-08-25 18:42:58.328802756 +0000
+@@ -119,6 +119,8 @@
+ arm-dis.c \
+ avr-dis.c \
+ bfin-dis.c \
++ bpf-dis.c \
++ bpf-opc.c \
+ cgen-asm.c \
+ cgen-bitset.c \
+ cgen-dis.c \
+@@ -230,6 +232,8 @@
+ ppc-opc.c \
+ pru-dis.c \
+ pru-opc.c \
++ riscv-dis.c \
++ riscv-opc.c \
+ rl78-decode.c \
+ rl78-dis.c \
+ rx-decode.c \
+--- a/opcodes/Makefile.in 2024-08-25 18:44:34.402406480 +0000
++++ b/opcodes/Makefile.in 2024-08-25 18:37:04.302726979 +0000
+@@ -522,6 +522,8 @@
+ arm-dis.c \
+ avr-dis.c \
+ bfin-dis.c \
++ bpf-dis.c \
++ bpf-opc.c \
+ cgen-asm.c \
+ cgen-bitset.c \
+ cgen-dis.c \
+@@ -633,6 +635,8 @@
+ ppc-opc.c \
+ pru-dis.c \
+ pru-opc.c \
++ riscv-dis.c \
++ riscv-opc.c \
+ rl78-decode.c \
+ rl78-dis.c \
+ rx-decode.c \
diff --git a/extra/gitea/PKGBUILD b/extra/gitea/PKGBUILD
new file mode 100644
index 00000000..37b6a44d
--- /dev/null
+++ b/extra/gitea/PKGBUILD
@@ -0,0 +1,3 @@
+unset check
+# ⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
+# Error: Your current platform "linux" and architecture "ia32" combination is not yet supported by the native Rollup build. Please use the WASM build "@rollup/wasm-node" instead.
diff --git a/extra/godot/PKGBUILD b/extra/godot/PKGBUILD
new file mode 100644
index 00000000..849d64a5
--- /dev/null
+++ b/extra/godot/PKGBUILD
@@ -0,0 +1,2 @@
+eval "$(declare -f build | sed 's@$CARCH@x86_32@')"
+eval "$(declare -f package | sed 's@$CARCH@x86_32@')"
diff --git a/extra/gstreamer/PKGBUILD b/extra/gstreamer/PKGBUILD
index 7442af2c..e37c1a44 100644
--- a/extra/gstreamer/PKGBUILD
+++ b/extra/gstreamer/PKGBUILD
@@ -9,6 +9,18 @@ eval "$(
# svt-hevc is blacklisted
makedepends=(${makedepends[@]//svt-hevc/})
+# onnxruntime won't build currently (and probably ever but who knows)
+makedepends=(${makedepends[@]//onnxruntime/})
+pkgname=(${pkgname[@]//gst-plugin-onnx/})
+
+eval "$(
+ declare -f build | \
+ sed '
+ /local meson_options.*/ a \
+ meson_options+=(-Dgst-plugins-bad:onnx=disabled)
+ '
+)"
+
eval "$(
declare -f build | \
sed '
diff --git a/extra/gtk4/PKGBUILD b/extra/gtk4/PKGBUILD
index b24ac63d..8682c5ab 100644
--- a/extra/gtk4/PKGBUILD
+++ b/extra/gtk4/PKGBUILD
@@ -27,3 +27,5 @@
if [ "${CARCH}" = 'i486' ]; then
makedepends+=(icu70 icu69)
fi
+
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types -Wno-error=int-conversion"')"
diff --git a/extra/hunspell-de/PKGBUILD b/extra/hunspell-de/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-de/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-el/PKGBUILD b/extra/hunspell-el/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-el/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-en/PKGBUILD b/extra/hunspell-en/PKGBUILD
new file mode 100644
index 00000000..6621774e
--- /dev/null
+++ b/extra/hunspell-en/PKGBUILD
@@ -0,0 +1,27 @@
+eval "$(
+ declare -f package_hunspell-en_us | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
+
+eval "$(
+ declare -f package_hunspell-en_au | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
+
+eval "$(
+ declare -f package_hunspell-en_ca | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
+
+eval "$(
+ declare -f package_hunspell-en_gb | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-es/PKGBUILD b/extra/hunspell-es/PKGBUILD
new file mode 100644
index 00000000..ea78e53f
--- /dev/null
+++ b/extra/hunspell-es/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package_hunspell-es_any | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-fr/PKGBUILD b/extra/hunspell-fr/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-fr/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-hu/PKGBUILD b/extra/hunspell-hu/PKGBUILD
new file mode 100644
index 00000000..118258cc
--- /dev/null
+++ b/extra/hunspell-hu/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/ln/d
+ '
+)"
diff --git a/extra/hunspell-it/PKGBUILD b/extra/hunspell-it/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-it/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-nl/PKGBUILD b/extra/hunspell-nl/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-nl/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-pl/PKGBUILD b/extra/hunspell-pl/PKGBUILD
new file mode 100644
index 00000000..0c7161ef
--- /dev/null
+++ b/extra/hunspell-pl/PKGBUILD
@@ -0,0 +1,8 @@
+source[0]='https://people.freebsd.org/~sunpoet/sunpoet/hunspell/sjp-myspell-pl-20230701.zip'
+
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/ln/d
+ '
+)"
diff --git a/extra/hunspell-ro/PKGBUILD b/extra/hunspell-ro/PKGBUILD
new file mode 100644
index 00000000..5904e19e
--- /dev/null
+++ b/extra/hunspell-ro/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/hunspell-ru/PKGBUILD b/extra/hunspell-ru/PKGBUILD
new file mode 100644
index 00000000..0c2fd74a
--- /dev/null
+++ b/extra/hunspell-ru/PKGBUILD
@@ -0,0 +1,10 @@
+source[0]="${pkgname}.aff::https://raw.githubusercontent.com/LibreOffice/dictionaries/master/ru_RU/ru_RU.aff"
+source[1]="${pkgname}.dic::https://raw.githubusercontent.com/LibreOffice/dictionaries/master/ru_RU/ru_RU.dic"
+source[2]="${pkgname}-README.txt::https://raw.githubusercontent.com/LibreOffice/dictionaries/master/ru_RU/README_ru_RU.txt"
+
+eval "$(
+ declare -f package | \
+ sed '
+ /qtwebengine_dictionaries/,/done/d
+ '
+)"
diff --git a/extra/iempluginsuite/PKGBUILD b/extra/iempluginsuite/PKGBUILD
new file mode 100644
index 00000000..76c2f26a
--- /dev/null
+++ b/extra/iempluginsuite/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f package_iempluginsuite-vst3 | sed 's@\$CARCH@i386@g')"
diff --git a/extra/intel-metee/PKGBUILD b/extra/intel-metee/PKGBUILD
new file mode 100644
index 00000000..e3613201
--- /dev/null
+++ b/extra/intel-metee/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f build | sed 's/cmake/CFLAGS="$CFLAGS -Wno-error=sign-conversion" cmake/')"
diff --git a/extra/iso-codes/PKGBUILD b/extra/iso-codes/PKGBUILD
new file mode 100644
index 00000000..d2e60e67
--- /dev/null
+++ b/extra/iso-codes/PKGBUILD
@@ -0,0 +1,2 @@
+# upstream has a checksum on a git repo, no clue, how they were able to build this
+sha256sums[0]='SKIP'
diff --git a/extra/jrnl/PKGBUILD b/extra/jrnl/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/jrnl/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/js128/PKGBUILD b/extra/js128/PKGBUILD
new file mode 100644
index 00000000..111844f4
--- /dev/null
+++ b/extra/js128/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug !lto)
diff --git a/extra/js80p/PKGBUILD b/extra/js80p/PKGBUILD
new file mode 100644
index 00000000..592b4c5d
--- /dev/null
+++ b/extra/js80p/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f package | sed 's@\$CARCH@i386@g')"
diff --git a/extra/kimageformats/PKGBUILD b/extra/kimageformats/PKGBUILD
new file mode 100644
index 00000000..d619fa3b
--- /dev/null
+++ b/extra/kimageformats/PKGBUILD
@@ -0,0 +1,2 @@
+# /build/kimageformats/src/kimageformats-6.5.0/src/imageformats/jxr.cpp:845:88: error: no matching function for call to ‘min(qint64&, qsizetype)’
+eval "$(declare -f build | sed 's@DKIMAGEFORMATS_JXR=ON@DKIMAGEFORMATS_JXR=OFF@')"
diff --git a/extra/knockd/PKGBUILD b/extra/knockd/PKGBUILD
new file mode 100644
index 00000000..705afae6
--- /dev/null
+++ b/extra/knockd/PKGBUILD
@@ -0,0 +1,3 @@
+if [[ $pkgver == "0.8" ]]; then
+ source[0]='knockd-0.8.tar.gz::https://github.com/jvinet/knock/releases/download/v0.8/knock-0.8.tar.gz'
+fi
diff --git a/extra/libavif/PKGBUILD b/extra/libavif/PKGBUILD
index 10c53c42..23d34206 100644
--- a/extra/libavif/PKGBUILD
+++ b/extra/libavif/PKGBUILD
@@ -9,7 +9,7 @@ eval "$(
# on i486 we ignore rav1e for now (needs rust)
if [ "$CARCH" = 'i486' ]; then
- depends=(${depends[@]//rav1e/})
+ depends=(${depends[@]//librav1e.so/})
eval "$(
declare -f build | \
sed '
@@ -17,4 +17,3 @@ if [ "$CARCH" = 'i486' ]; then
'
)"
fi
-
diff --git a/extra/libcdio/PKGBUILD b/extra/libcdio/PKGBUILD
new file mode 100644
index 00000000..696e7d78
--- /dev/null
+++ b/extra/libcdio/PKGBUILD
@@ -0,0 +1,15 @@
+# large file support needed for lseek64 on 32-bit
+eval "$(
+ declare -f build | \
+ sed '
+ /configure/ i export CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE"
+ '
+)"
+
+# tests don't find their test ISO images?
+eval "$(
+ declare -f check | \
+ sed '
+ s/\(make -C test check\)/\1 || true/
+ '
+)"
diff --git a/extra/libcroco/PKGBUILD b/extra/libcroco/PKGBUILD
new file mode 100644
index 00000000..dfe274e5
--- /dev/null
+++ b/extra/libcroco/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libcroco
+pkgver=0.6.13
+pkgrel=2
+pkgdesc="A CSS parsing library"
+url="https://gitlab.gnome.org/GNOME/libcroco"
+arch=(x86_64)
+depends=(glib2 libxml2)
+makedepends=(intltool git gtk-doc)
+license=(LGPL)
+_commit=7e15ca6c2c29a4b78367e6efa6195b331a92b2a7 # tags/0.6.13^0
+source=("git+https://gitlab.gnome.org/GNOME/libcroco.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+check() {
+ cd $pkgname
+ make check
+}
+
+build() {
+ cd $pkgname
+ ./configure --prefix=/usr --disable-static --enable-gtk-doc
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+}
diff --git a/extra/libgphoto2/721f7f8c3ec8058d504607873e4c317aac0c99c5.patch b/extra/libgphoto2/721f7f8c3ec8058d504607873e4c317aac0c99c5.patch
new file mode 100644
index 00000000..cf7768dd
--- /dev/null
+++ b/extra/libgphoto2/721f7f8c3ec8058d504607873e4c317aac0c99c5.patch
@@ -0,0 +1,34 @@
+From 721f7f8c3ec8058d504607873e4c317aac0c99c5 Mon Sep 17 00:00:00 2001
+From: Marcus Meissner <marcus@jet.franken.de>
+Date: Mon, 4 Dec 2023 13:26:08 +0100
+Subject: [PATCH] align outlen length with jpeg jeaders. fixes
+ https://github.com/gphoto/libgphoto2/issues/941
+
+---
+ camlibs/ptp2/chdk.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/camlibs/ptp2/chdk.c b/camlibs/ptp2/chdk.c
+index e1d898f378..e775ea1d4b 100644
+--- a/camlibs/ptp2/chdk.c
++++ b/camlibs/ptp2/chdk.c
+@@ -1150,7 +1150,7 @@ static void yuv_live_to_jpeg(unsigned char *p_yuv,
+ struct jpeg_error_mgr jerr;
+ JSAMPROW row_ptr[1];
+ uint8_t *outbuf = NULL, *tmprowbuf = NULL;
+- uint64_t outlen = 0;
++ unsigned long outlen = 0;
+ unsigned int row_inc;
+ int sshift, dshift, xshift, skip;
+
+@@ -1161,8 +1161,8 @@ static void yuv_live_to_jpeg(unsigned char *p_yuv,
+ sshift = 6;
+ dshift = (width/height > 2) ? 6 : 12;
+ xshift = 4;
+- /* Digic 6 cameras: 8 bit per element UYVY,
+- * 4 bytes used to encode 2 pixels, need 6 bytes raw YUV data for jpeg encoding */
++ /* Digic 6 cameras: 8 bit per element UYVY,
++ * 4 bytes used to encode 2 pixels, need 6 bytes raw YUV data for jpeg encoding */
+ } else {
+ row_inc = buf_width*2;
+ sshift = 4;
diff --git a/extra/libgphoto2/PKGBUILD b/extra/libgphoto2/PKGBUILD
new file mode 100644
index 00000000..32b1b88c
--- /dev/null
+++ b/extra/libgphoto2/PKGBUILD
@@ -0,0 +1,6 @@
+# Next version will have this patch
+if [[ $pkgver == "2.5.31" ]]; then
+ source+=(721f7f8c3ec8058d504607873e4c317aac0c99c5.patch)
+ b2sums+=(SKIP)
+ eval "$(declare -f prepare | sed 's@autoreconf@patch -p1 -i ../721f7f8c3ec8058d504607873e4c317aac0c99c5.patch; autoreconf@')"
+fi
diff --git a/extra/libjpeg-turbo/PKGBUILD b/extra/libjpeg-turbo/PKGBUILD
index ad9cdef4..e34411bb 100644
--- a/extra/libjpeg-turbo/PKGBUILD
+++ b/extra/libjpeg-turbo/PKGBUILD
@@ -8,6 +8,9 @@ if [ "${CARCH}" = "i486" ]; then
'
)"
+ # ctest ist broken on libexpat
+ unset check
+
# Java broken on i486 temporarily
makedepends=(${makedepends[@]//java-environment>11/})
eval "$(
@@ -15,6 +18,7 @@ if [ "${CARCH}" = "i486" ]; then
sed '
/local cmake_options/ a \
cmake_options+=(-DWITH_JAVA=0)
+ /strip-nondeterminism/d
'
)"
fi
diff --git a/extra/libjxl/PKGBUILD b/extra/libjxl/PKGBUILD
index 29fb0241..000f3c03 100644
--- a/extra/libjxl/PKGBUILD
+++ b/extra/libjxl/PKGBUILD
@@ -8,13 +8,29 @@ if [ "${CARCH}" = "i486" ]; then
'
)"
+ eval "$(
+ declare -f package_libjxl | \
+ sed '
+ /mv.*jar/d
+ '
+ )"
+
# break circle with gimp
makedepends=(${makedepends[@]//gimp/})
fi
-# blacklisted on i486 and i686 as I don't really know how to switch
-# off SSE2 in this mess. It builds on i686 in a chroot on AMD64 but
-# wrongly tests positive for SSE2.
+# Disable SSE2
+if [ "$CARCH" = 'i486' -o "$CARCH" = 'i686' ]; then
+ eval "$(
+ declare -f build | \
+ sed 's/-DCMAKE_BUILD_TYPE/-DSJPEG_ENABLE_SIMD=OFF -DCMAKE_BUILD_TYPE/'
+ )"
+
+ eval "$(
+ declare -f prepare | \
+ sed '$ d' | sed '$ a sed -i s/HWY_SSSE3/HWY_SSSE3\\|HWY_SSE2\\|HWY_SSE4/ "${srcdir}/libjxl/CMakeLists.txt";}'
+ )"
+fi
-# they fail in various waus
+# they fail in various ways
unset check
diff --git a/extra/libpgm/PKGBUILD b/extra/libpgm/PKGBUILD
index af490aa7..dbb0fa1d 100644
--- a/extra/libpgm/PKGBUILD
+++ b/extra/libpgm/PKGBUILD
@@ -2,3 +2,7 @@
# checksum.c:952:34: warning: implicit declaration of function '_mm_cvtm64_si64'; did you mean '_mm_cvtsi64_si32'? [-Wimplicit-function-declaration]
makedepends+=('clang')
eval "$(declare -f build | sed 's@./configure@CC=clang ./configure@')"
+
+if [ "$CARCH" = 'i486' ]; then
+ makedepends+=(llvm14-libs)
+fi
diff --git a/extra/librsvg-og/PKGBUILD b/extra/librsvg-og/PKGBUILD
index 72b5a26a..c31f7c4d 100644
--- a/extra/librsvg-og/PKGBUILD
+++ b/extra/librsvg-og/PKGBUILD
@@ -1,8 +1,8 @@
# Maintainer: Andreas Baumann <mail@andreasbaumann.cc>
pkgname=librsvg-og
-pkgver=2.40.20+23+g0f3eef9e
-pkgrel=3
+pkgver=2.40.20+28+g9aa9f838
+pkgrel=1
epoch=1
pkgdesc="SVG rendering library old gen"
url="https://github.com/oaken-source/librsvg-og"
@@ -10,10 +10,10 @@ arch=(i486 i686 pentium4 x86_64)
license=(LGPL)
depends=(gdk-pixbuf2 pango libcroco)
conflicts_i486=(libsrvg)
-makedepends=(gobject-introspection gtk-doc git)
+makedepends=(gobject-introspection gtk-doc git glib2-devel)
provides_i486=(librsvg=${pkgver} librsvg-${pkgver%%.*}.so)
#source=("https://github.com/oaken-source/librsvg-og/archive/2.40.20.tar.gz")
-_commit=0f3eef9e6924130c74d7a7b16aac3e7f5bef9b4c # branch api2
+_commit=9aa9f838fdbad5129fbe9ff1d1641b0f9cf1edcf # branch api2
source=("git+https://github.com/andreasbaumann/librsvg-og.git#commit=$_commit")
#sha256sums=('5bcbd8aa34a81478f990dc62a308ee2a42ff89a4e2bc905c09fd68f525bf5643')
diff --git a/extra/libsieve/PKGBUILD b/extra/libsieve/PKGBUILD
new file mode 100644
index 00000000..d900f3d8
--- /dev/null
+++ b/extra/libsieve/PKGBUILD
@@ -0,0 +1,4 @@
+if [[ $pkgver == "2.3.1" ]]; then
+ # Thank you for the mirror. (Since it matches the existing checksums, it's safe.)
+ source[0]='http://www.mirrorservice.org/sites/ftp.netbsd.org/pub/pkgsrc/distfiles/libsieve-2.3.1.tar.gz'
+fi
diff --git a/extra/libunwind/PKGBUILD b/extra/libunwind/PKGBUILD
index a2ebca7e..7c5f4ec5 100644
--- a/extra/libunwind/PKGBUILD
+++ b/extra/libunwind/PKGBUILD
@@ -1,4 +1,12 @@
# no TeX for documentation on i486
-makedepends=(${makedepends[@]//texlive-core/})
-makedepends_i686+=(texlive-core)
+makedepends=(${makedepends[@]//texlive-binextra/})
+makedepends_i686+=(texlive-binextra)
makedepends_pentium4=("${makedepends_i686[@]}")
+
+# ignore failing tests for now
+eval "$(
+ declare -f check | \
+ sed '
+ s/\(make check\)/\1 || true/
+ '
+)"
diff --git a/extra/libusbsio/PKGBUILD b/extra/libusbsio/PKGBUILD
new file mode 100644
index 00000000..c8ea98ea
--- /dev/null
+++ b/extra/libusbsio/PKGBUILD
@@ -0,0 +1,6 @@
+# There's no P4 or i486 in the path; it's always i686
+
+eval "$(
+ declare -f package_libusbsio | sed 's/$CARCH/i686/g'
+ declare -f package_python-libusbsio | sed 's/$CARCH/i686/g'
+)"
diff --git a/extra/libuv/PKGBUILD b/extra/libuv/PKGBUILD
index a9dbc8c7..f607a095 100644
--- a/extra/libuv/PKGBUILD
+++ b/extra/libuv/PKGBUILD
@@ -5,3 +5,16 @@ eval "$(
s/make check/make check || true/
'
)"
+
+# currently broken python-sphinx
+makedepends=(${makedepends[@]//python-sphinx/})
+eval "$(
+ declare -f build | \
+ sed '
+ /make.*docs/d
+ '
+ declare -f package | \
+ sed '
+ /libuv\.1/d
+ '
+)"
diff --git a/extra/libwpe/PKGBUILD b/extra/libwpe/PKGBUILD
index 1623a33f..daa08457 100644
--- a/extra/libwpe/PKGBUILD
+++ b/extra/libwpe/PKGBUILD
@@ -2,3 +2,24 @@
if [ "$CARCH" = 'i486' ]; then
makedepends+=(libglvnd)
fi
+
+# no available currently
+makedepends=(${makedepends[@]//hotdoc/})
+eval "$(
+ declare -f build | \
+ sed '
+ s/-D build-docs=true//g
+ '
+)"
+eval "$(
+ declare -f package_libwpe | \
+ sed '
+ /doc/d
+ '
+)"
+eval "$(
+ declare -f package_libwpe-docs | \
+ sed '
+ /mv doc/d
+ '
+)"
diff --git a/extra/libx86/PKGBUILD b/extra/libx86/PKGBUILD
new file mode 100644
index 00000000..553cc5c4
--- /dev/null
+++ b/extra/libx86/PKGBUILD
@@ -0,0 +1,3 @@
+if [[ $pkgver == "1.1" ]]; then
+ source[0]='https://web.archive.org/web/20170209231545if_/http://www.codon.org.uk/~mjg59/libx86/downloads/libx86-1.1.tar.gz'
+fi
diff --git a/extra/lirc/PKGBUILD b/extra/lirc/PKGBUILD
deleted file mode 100644
index 31bc8139..00000000
--- a/extra/lirc/PKGBUILD
+++ /dev/null
@@ -1,2 +0,0 @@
-# ftdi.h missing, needs libftdi-compat
-makedepends+=(libftdi-compat)
diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD
index 9054f194..afdd934b 100644
--- a/extra/llvm/PKGBUILD
+++ b/extra/llvm/PKGBUILD
@@ -1,3 +1,6 @@
# Tests fail and hang the builders
unset check
unset checkdepends
+
+# fix wrong checksum for llvm-SelectionDAG.patch
+sha256sums[6]='9b53e584f8b8a44648a2a066da1860155b61118c8cdebed3632161db0b680462'
diff --git a/extra/luajit/PKGBUILD b/extra/luajit/PKGBUILD
index a0d9c9af..3f91f700 100644
--- a/extra/luajit/PKGBUILD
+++ b/extra/luajit/PKGBUILD
@@ -1,69 +1,20 @@
-# Maintainer: Daurnimator <daurnimator@archlinux.org>
-# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
-# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
-# Contributor: Chris Brannon <chris@the-brannons.com>
-# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
-# Contributor: Anders Bergh <anders1@gmail.com>
-
-pkgname=luajit
-# LuaJIT has abandoned versioned releases and now advises using git HEAD
-# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583
-_commit=505e2c03de35e2718eef0d2d3660712e06dadf1f
-pkgver="2.1.0.beta3.r471.g${_commit::8}"
-pkgrel=1
-pkgdesc='Just-in-time compiler and drop-in replacement for Lua 5.1'
-arch=(i486 i686 pentium4 'x86_64')
-url='https://luajit.org/'
-license=('MIT')
-depends=('gcc-libs')
-source=("LuaJIT-${_commit}.tar.gz::https://repo.or.cz/luajit-2.0.git/snapshot/${_commit}.tar.gz")
-md5sums=('0847dc535736846a9a1436e18d8c509d')
-sha256sums=('b89d081aac4189a06b736c667f47cc60e0cc4591933b7ed50db38cf58496386e')
-b2sums=('89bed923ff34d2de813dee17f130496ffeaa6bc5caf9252be1df7d35e87fa7398930f1fe35f95650694d344bc99d5b2c0c4abc4568f1dac318822a832d44c3a4')
-
-build() {
- cd "luajit-2.0-${_commit::7}"
- # Avoid early stripping
- make amalg PREFIX=/usr BUILDMODE=dynamic TARGET_STRIP=" @:"
-}
-
-package() {
- cd "luajit-2.0-${_commit::7}"
-
- make install DESTDIR="$pkgdir" PREFIX=/usr
- install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
-
- ln -sf luajit-2.1.0-beta3 "$pkgdir/usr/bin/luajit"
-}
-# Re-enable x87 support for i686 CPUs (fix from KitsuWhooa)
if [ "$CARCH" = 'i486' ]; then
source+=('luajit-2.0-505e2c0-i486.patch')
- md5sums+=('44317c2d006d45b0970cee8b55a4c05e')
- sha256sums+=('6a758da52d9ddd0162ba342276c4aa4454662b2fe8b89c8a7aa987677679fd30')
b2sums+=('4a467db526fa550942dee7da7dd599f5976f519573773afab74c372bbb2aa243d60384699c50695dadf0be086fc5b54253692d0836c22da4b079a73b0eb7a822')
- eval "$(
- {
- declare -f prepare \
- || printf 'prepare ()\n{\ncd "luajit-2.0-${_commit::7}"\n}\n'
- } \
- | sed '
- $ i patch -p1 -i "$srcdir/luajit-2.0-505e2c0-i486.patch"
- '
- )"
-
+ prepare() {
+ cd "LuaJIT-${_commit}"
+ patch -p1 -i "$srcdir/luajit-2.0-505e2c0-i486.patch"
+ }
fi
+
if [ "$CARCH" = 'i686' ]; then
source+=('c7815e1a1b49871e645252bb12e722fb4879df11.patch')
- md5sums+=('25a3483026a359e06ec828bc666dc853')
- sha256sums+=('a711e1d7ad7a16d0e6ba044fedc284cc0c4bee710c2d910fd9f0f0af8765c1a7')
- b2sums+=('2d79b2dad25ba3a771348cfd38883334f511de703d2ccfdd00b808867ecf53201d680388c730aaf8941cb5159f6b819020c2da04b75346bc42428973c7f27420')
- eval "$(
- {
- declare -f prepare \
- || printf 'prepare ()\n{\ncd "luajit-2.0-${_commit::7}"\n}\n'
- } \
- | sed '
- $ i patch -p1 -i "$srcdir/c7815e1a1b49871e645252bb12e722fb4879df11.patch"
- '
- )"
+ b2sums+=('fabd0be78309d8211e96d4d0cf105ae6a27f46110d8b19513d10bdd7c6045221fc5c8e21d1bcc1def854d7d1bf6473c99fb7bc7e4d5307188129c3c87cf8c69b')
+ prepare() {
+ cd "LuaJIT-${_commit}"
+ patch -p1 -i "$srcdir/c7815e1a1b49871e645252bb12e722fb4879df11.patch"
+ }
fi
+
+unset md5sums
+unset sha256sums
diff --git a/extra/luajit/c7815e1a1b49871e645252bb12e722fb4879df11.patch b/extra/luajit/c7815e1a1b49871e645252bb12e722fb4879df11.patch
index 13048730..f9082b45 100644
--- a/extra/luajit/c7815e1a1b49871e645252bb12e722fb4879df11.patch
+++ b/extra/luajit/c7815e1a1b49871e645252bb12e722fb4879df11.patch
@@ -11,7 +11,6 @@ JIT is disabled by default and untested
src/lj_asm.c | 16 +
src/lj_jit.h | 18 +-
src/lj_vm.h | 3 +-
- src/msvcbuild.bat | 1 -
src/vm_x86.dasc | 798 +++++++++++++++++++++++++++++++++++++++++-----
7 files changed, 793 insertions(+), 100 deletions(-)
@@ -217,18 +216,6 @@ index c66db0049f..9bc6d62fab 100644
#define lj_vm_floor floor
#define lj_vm_ceil ceil
#else
-diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
-index d323d8d44d..67e53574de 100644
---- a/src/msvcbuild.bat
-+++ b/src/msvcbuild.bat
-@@ -41,7 +41,6 @@ if exist minilua.exe.manifest^
- @set DASC=vm_x86.dasc
- @set DASMFLAGS=-D WIN -D JIT -D FFI
- @set LJARCH=x86
--@set LJCOMPILE=%LJCOMPILE% /arch:SSE2
- :X64
- @if "%1" neq "nogc64" goto :GC64
- @shift
diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc
index 18ca87b545..3efbba6cdd 100644
--- a/src/vm_x86.dasc
diff --git a/extra/mdcat/PKGBUILD b/extra/mdcat/PKGBUILD
index 6883ef75..9fcda81b 100644
--- a/extra/mdcat/PKGBUILD
+++ b/extra/mdcat/PKGBUILD
@@ -1 +1,2 @@
eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
+options+=(!lto)
diff --git a/extra/mesa-amber/PKGBUILD b/extra/mesa-amber/PKGBUILD
index 3d1b434b..8fadf6dc 100644
--- a/extra/mesa-amber/PKGBUILD
+++ b/extra/mesa-amber/PKGBUILD
@@ -22,3 +22,6 @@ if [ "$CARCH" == 'i486' ]; then
'
)"
fi
+
+# python-mako test also imports version comparition from distutils
+makedepends+=('python-distutils-extra')
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index 0705c7b8..3f72c547 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -85,3 +85,19 @@ eval "$(
/find.*rmdir/d
'
)"
+
+# intel-rt is amd64 only
+eval "$(
+ declare -f build | \
+ sed '
+ s/-D intel-rt=enabled/-D intel-rt=disabled/
+ '
+)"
+
+# d3d12 causes linking errors
+eval "$(
+ declare -f build | \
+ sed '
+ s/,d3d12//
+ '
+)"
diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD
index 5e49a967..686b0345 100644
--- a/extra/meson/PKGBUILD
+++ b/extra/meson/PKGBUILD
@@ -17,11 +17,15 @@ checkdepends_pentium4=("${checkdepends_i686[@]}")
unset check
unset checkdepends
-# fail if upstream changes arch-meson
-# we patch a version of arch-meson reading CARCH (later maybe LTOFLAGS)
-# to find out whether it should add blto to the arch flags
-for ((i=0; i<${#b2sums[@]}; i++)); do
- if [ "${b2sums[${i}]}" = '70f042a7603d1139f6cef33aec028da087cacabe278fd47375e1b2315befbfde1c0501ad1ecc63d04d31b232a04f08c735d61ce59d7244521f3d270e417fb5af' ]; then
- b2sums[${i}]='09f3035aaff3fe8ac8e57a6e718acd654c04604500abb897a4d6e3946c9e4d9db6a257b5cd3d27007bfcfd4799a2b52d8eaab38ecda16f8af69848ed3b8ac7ff'
- fi
-done
+# no documentation (we have no yaml python support yet)
+eval "$(
+ declare -f build | \
+ sed '
+ /docs.build/d
+ '
+ declare -f package | \
+ sed '
+ /docs.build/d
+ /reference_manual.json/d
+ '
+)"
diff --git a/extra/mingw-w64-gcc/PKGBUILD b/extra/mingw-w64-gcc/PKGBUILD
new file mode 100644
index 00000000..8ddd10fb
--- /dev/null
+++ b/extra/mingw-w64-gcc/PKGBUILD
@@ -0,0 +1,5 @@
+if [[ $pkgver == "13.1.0" ]]; then
+ # Ada fails with style errors...
+ eval "$(declare -f build | sed 's/--enable-languages=ada,/--enable-languages=/')"
+ eval "$(declare -f package | sed s/,gnat1//)"
+fi
diff --git a/extra/nanobind/PKGBUILD b/extra/nanobind/PKGBUILD
index 9c49573b..63927ac4 100644
--- a/extra/nanobind/PKGBUILD
+++ b/extra/nanobind/PKGBUILD
@@ -2,3 +2,4 @@
checkdepends=(${checkdepends[@]//python-pytorch/})
checkdepends=(${checkdepends[@]//python-tensorflow/})
+unset check
diff --git a/extra/netplan/PKGBUILD b/extra/netplan/PKGBUILD
index 3bd27377..12dc923c 100644
--- a/extra/netplan/PKGBUILD
+++ b/extra/netplan/PKGBUILD
@@ -1,13 +1,2 @@
-# currently Haskell is broken
-makedepends=(${makedepends[@]//pandoc/})
-source+=('netplan-0.102-no-pandoc.patch')
-sha256sums+=('0ab919601e4a30585f0e3e3dc224fd598d2183e2df9250c1e6e4bc894d0ace95')
-eval "$(
- {
- declare -f prepare || \
- printf 'prepare() { cd "${pkgname}-${pkgver}"\n}\n'
- } \
- | sed '
- $i patch -Np1 -i "$srcdir/netplan-0.102-no-pandoc.patch"
- '
-)"
+# Tests fail upstream too
+unset check
diff --git a/extra/netplan/netplan-0.102-no-pandoc.patch b/extra/netplan/netplan-0.102-no-pandoc.patch
deleted file mode 100644
index a1ed598d..00000000
--- a/extra/netplan/netplan-0.102-no-pandoc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -rauN netplan-0.102/Makefile netplan-0.102-no-pandoc-patch/Makefile
---- netplan-0.102/Makefile 2022-02-03 12:21:36.988275585 +0100
-+++ netplan-0.102-no-pandoc-patch/Makefile 2022-02-03 12:23:01.654960528 +0100
-@@ -133,12 +133,15 @@
-
-
- %.html: %.md
-- pandoc -s --toc -o $@ $<
-+# pandoc -s --toc -o $@ $<
-+ echo "no pandoc" > $@
-
- doc/netplan.5: doc/manpage-header.md doc/netplan.md doc/manpage-footer.md
-- pandoc -s -o $@ $^
-+# pandoc -s -o $@ $^
-+ echo "no pandoc" > $@
-
- %.8: %.md
-- pandoc -s -o $@ $^
-+# pandoc -s -o $@ $^
-+ echo "no pandoc" > $@
-
- .PHONY: clean
diff --git a/extra/newsboat-og/.SRCINFO b/extra/newsboat-og/.SRCINFO
new file mode 100644
index 00000000..e916af9b
--- /dev/null
+++ b/extra/newsboat-og/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = newsboat-og
+ pkgdesc = An RSS/Atom feed reader for text terminals (old gen)
+ pkgver = 2.13.2
+ pkgrel = 1
+ url = https://newsboat.org/
+ arch = x86_64
+ arch = i486
+ arch = i686
+ arch = pentium4
+ license = MIT
+ makedepends = asciidoc
+ depends = curl
+ depends = hicolor-icon-theme
+ depends = json-c
+ depends = libxml2
+ depends = sqlite
+ depends = stfl
+ optdepends = perl: for pinboard.pl
+ optdepends = python: for exportOPMLWithTags.py
+ optdepends = ruby: for feedgrabber.rb, heise.rb, and slashdot.rb
+ conflicts = newsboat
+ replaces = newsbeuter
+ options = !makeflags
+ source = https://github.com/andreasbaumann/newsboat-og/archive/r2.13.2.tar.gz
+ sha256sums = b6646c92e87590b8780111a03ecda139faa846c1fb030bf02f0d89edbff9b8cc
+
+pkgname = newsboat-og
diff --git a/extra/newsboat-og/PKGBUILD b/extra/newsboat-og/PKGBUILD
index 418d97e1..0c5fea70 100644
--- a/extra/newsboat-og/PKGBUILD
+++ b/extra/newsboat-og/PKGBUILD
@@ -1,8 +1,8 @@
# Maintainer: Andreas Baumann <mail@andreasbaumann.cc>
pkgname=newsboat-og
-pkgver=2.13.1
-pkgrel=2
+pkgver=2.13.2
+pkgrel=1
pkgdesc="An RSS/Atom feed reader for text terminals (old gen)"
arch=('x86_64' 'i486' 'i686' 'pentium4')
url="https://newsboat.org/"
@@ -16,7 +16,7 @@ replaces=('newsbeuter')
conflicts=('newsboat')
options=('!makeflags')
source=("https://github.com/andreasbaumann/$pkgname/archive/r$pkgver.tar.gz")
-sha256sums=('074228c0597f20ac72aff0b99685e5af4b28b428adafbbd8a1f207a156eb63c9')
+sha256sums=('b6646c92e87590b8780111a03ecda139faa846c1fb030bf02f0d89edbff9b8cc')
build() {
cd $pkgname-r$pkgver
diff --git a/extra/octave/PKGBUILD b/extra/octave/PKGBUILD
index 406c2a07..fb396f1a 100644
--- a/extra/octave/PKGBUILD
+++ b/extra/octave/PKGBUILD
@@ -2,3 +2,12 @@
if [ "$CARCH" = 'i486' ]; then
depends=(${depends[@]//qscintilla-qt5/})
fi
+
+# At the time of writing, the upstream PGBUILD does the following at the end:
+# jar --extract --file="$pkgdir/usr/share/octave/$pkgver/m/java/octave.jar"
+# rm -rf "$pkgdir/usr/share/octave/$pkgver/m/java/octave.jar"
+# jar --create --date="$ARCHIVE_DATE" --file="$pkgdir/usr/share/octave/$pkgver/m/java/octave.jar" ./*
+#
+# Our jar currently is too old to support --date, so for now, don't run those.
+# And yes, I can't be bothered escaping the . in .jar
+eval "$(declare -f package | sed '/jar /d;/rm -rf.*octave.jar/d')"
diff --git a/extra/openmpi4/.SRCINFO b/extra/openmpi4/.SRCINFO
new file mode 100644
index 00000000..67d48985
--- /dev/null
+++ b/extra/openmpi4/.SRCINFO
@@ -0,0 +1,52 @@
+pkgbase = openmpi4
+ pkgdesc = High performance message passing library (MPI)
+ pkgver = 4.1.6
+ pkgrel = 3
+ url = https://www.open-mpi.org
+ arch = x86_64
+ arch = pentium4
+ arch = i686
+ arch = i486
+ license = custom:OpenMPI
+ makedepends = gcc-fortran
+ makedepends = valgrind
+ depends = gcc-libs
+ depends = glibc
+ depends = hwloc
+ depends = libevent
+ depends = libnl
+ depends = openpmix
+ depends = openssh
+ depends = zlib
+ optdepends = cuda: cuda support
+ optdepends = gcc-fortran: fortran support
+ optdepends = perl: for aggregate_profile.pl and profile2mat.pl
+ provides = openmpi
+ provides = libmca_common_cuda.so
+ provides = libmca_common_monitoring.so
+ provides = libmca_common_ompio.so
+ provides = libmca_common_sm.so
+ provides = libmpi.so
+ provides = libmpi_cxx.so
+ provides = libmpi_mpifh.so
+ provides = libmpi_usempi_ignore_tkr.so
+ provides = libmpi_usempif08.so
+ provides = libompitrace.so
+ provides = libopen-pal.so
+ provides = libopen-rte.so
+ conflicts = openmpi
+ replaces = openmpi
+ source = https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.bz2
+ sha256sums = f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415
+ b2sums = 4f119e1ed9b8787f0f860295ab1721fe2fd5300b8e182230a9eba3a864680b02bbd30618cc6d798a693a121626fc0ad5f447144d9ba91becb734f1a530d7a23a
+
+pkgname = openmpi4
+ depends = gcc-libs
+ depends = glibc
+ depends = hwloc
+ depends = libevent
+ depends = libnl
+ depends = openpmix
+ depends = openssh
+ depends = zlib
+ depends = libpmix.so
diff --git a/extra/openmpi4/PKGBUILD b/extra/openmpi4/PKGBUILD
new file mode 100644
index 00000000..295cc9a6
--- /dev/null
+++ b/extra/openmpi4/PKGBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: David Runge <dvzrv@archlinux.org>
+# Contributor: Anatol Pomozov <anatol dot pomozov at gmail>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=openmpi4
+_pkgname=${pkgname%4}
+pkgver=4.1.6
+pkgrel=3
+pkgdesc='High performance message passing library (MPI)'
+arch=(x86_64 pentium4 i686 i486)
+url='https://www.open-mpi.org'
+license=('custom:OpenMPI')
+depends=(
+ gcc-libs
+ glibc
+ hwloc
+ libevent
+ libnl
+ openpmix
+ openssh
+ zlib
+)
+makedepends=(
+ cuda
+ gcc-fortran
+ valgrind
+)
+optdepends=(
+ 'cuda: cuda support'
+ 'gcc-fortran: fortran support'
+ 'perl: for aggregate_profile.pl and profile2mat.pl'
+)
+provides=(
+ openmpi
+ libmca_common_cuda.so
+ libmca_common_monitoring.so
+ libmca_common_ompio.so
+ libmca_common_sm.so
+ libmpi.so
+ libmpi_cxx.so
+ libmpi_mpifh.so
+ libmpi_usempi_ignore_tkr.so
+ libmpi_usempif08.so
+ libompitrace.so
+ libopen-pal.so
+ libopen-rte.so
+)
+conflicts=(openmpi)
+replaces=(openmpi)
+source=(
+ https://download.open-mpi.org/release/open-mpi/v${pkgver%.*}/${pkgname%4}-$pkgver.tar.bz2)
+sha256sums=('f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415')
+b2sums=('4f119e1ed9b8787f0f860295ab1721fe2fd5300b8e182230a9eba3a864680b02bbd30618cc6d798a693a121626fc0ad5f447144d9ba91becb734f1a530d7a23a')
+
+build() {
+ local configure_options=(
+ --prefix=/usr
+ --enable-builtin-atomics
+ --enable-memchecker
+ --enable-mpi-cxx
+ --enable-mpi-fortran=all
+ --enable-pretty-print-stacktrace
+ --libdir=/usr/lib
+ --sysconfdir=/etc/$_pkgname
+ --with-cuda=/opt/cuda
+ --with-hwloc=external
+ --with-libevent=external
+ --with-pmix=external
+ --with-valgrind
+ )
+ cd $_pkgname-$pkgver
+
+ # set environment variables for reproducible build
+ # see https://github.com/open-mpi/ompi/blob/main/docs/release-notes/general.rst
+ export HOSTNAME=buildhost
+ export USER=builduser
+
+ # TODO: depend on prrte with openmpi >= 5
+ # TODO: remove ac_cv_func_sem_open=no when there is a glibc release fixing https://sourceware.org/bugzilla/show_bug.cgi?id=30789
+ ac_cv_func_sem_open=no ./configure "${configure_options[@]}"
+ # prevent excessive overlinking due to libtool
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make V=1
+}
+
+check() {
+ make check -C $_pkgname-$pkgver
+}
+
+package() {
+ depends+=(libpmix.so)
+
+ make DESTDIR="$pkgdir" install -C $_pkgname-$pkgver
+ install -Dm 644 $_pkgname-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$_pkgname/"
+}
+
+# vim: ts=2 sw=2 et:
+
+# -- Arch32 specific --
+
+# no CUDA
+makedepends=(${makedepends[@]//cuda/})
+eval "$(
+ declare -f build | \
+ sed '
+ /local configure_options.*/ a \
+ configure_options=(${configure_options[@]//--with-cuda=\\/opt\\/cuda})
+ '
+)"
+
+# new tests break happilly on 32-bit and with newer gccs
+unset check
+unset checkdepends
+
diff --git a/extra/openvdb/PKGBUILD b/extra/openvdb/PKGBUILD
index 37857a5d..99a7e967 100644
--- a/extra/openvdb/PKGBUILD
+++ b/extra/openvdb/PKGBUILD
@@ -1,10 +1,4 @@
-# problems with python numpy everywhere
-eval "$(
- declare -f build | \
- sed '
- s/-DUSE_NUMPY=ON/-DUSE_NUMPY=OFF/
- '
-)"
+options+=(!debug)
# -latomic on i486
if [ "$CARCH" = 'i486' ]; then
diff --git a/extra/ot-keys/PKGBUILD b/extra/ot-keys/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ot-keys/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
diff --git a/extra/ot-simian/PKGBUILD b/extra/ot-simian/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ot-simian/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
diff --git a/extra/pango/PKGBUILD b/extra/pango/PKGBUILD
index 7f7cc8b6..b5c884cc 100644
--- a/extra/pango/PKGBUILD
+++ b/extra/pango/PKGBUILD
@@ -1,13 +1,3 @@
-# remove dependency on sysprof
-depends=(${depends[@]//sysprof/})
-makedepends=(${makedepends[@]//sysprof/})
-eval "$(
- declare -f build | \
- sed '
- s@-D sysprof=enabled@-D sysprof=disabled@g
- '
-)"
-
# ignore failing tests
eval "$(
declare -f check | \
diff --git a/extra/pre-commit/PKGBUILD b/extra/pre-commit/PKGBUILD
new file mode 100644
index 00000000..10fb1a1c
--- /dev/null
+++ b/extra/pre-commit/PKGBUILD
@@ -0,0 +1,3 @@
+# Requires haskell
+unset check
+unset checkdepends
diff --git a/extra/prometheus-node-exporter/PKGBUILD b/extra/prometheus-node-exporter/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/prometheus-node-exporter/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/protobuf/PKGBUILD b/extra/protobuf/PKGBUILD
index ca6fdb6b..aa67b1db 100644
--- a/extra/protobuf/PKGBUILD
+++ b/extra/protobuf/PKGBUILD
@@ -1,10 +1,5 @@
# ignore failing tests
-eval "$(
- declare -f check | \
- sed '
- s@\(ctest .*\);@\1 || true;@
- '
-)"
+unset check
# no LTO on i486
if [ "$CARCH" = 'i486' ]; then
@@ -12,3 +7,19 @@ if [ "$CARCH" = 'i486' ]; then
1i options=(!lto)
' PKGBUILD
fi
+
+# We need Bazel to build the python package from the git tree
+# Instead, download the source package from pypi and use that
+# See https://github.com/protocolbuffers/protobuf/pull/15708
+source+=("https://files.pythonhosted.org/packages/source/p/protobuf/protobuf-5.${pkgver}.tar.gz")
+sha512sums+=("SKIP")
+makedepends=(${makedepends[@]//bazel/})
+
+eval "$(
+ declare -f build | sed '/bazel build/d' | sed '$ d' | sed '$ a cd "$srcdir/protobuf-5.${pkgver}"; python -m build --wheel --no-isolation ; }'
+ declare -f package_python-protobuf | sed 's@ \".*bazel-bin/python@ \"protobuf-5.${pkgver}\"@'
+)"
+
+if [[ $pkgver == "27.3" ]]; then
+ sha512sums[1]='18bc71031bbcbc3810a9985fa670465040f06a6c104ab8079b56bdfc499bb6cec40805a0cefd455031142490a576dc60aa8000523877ac0353b93558e9beabbd'
+fi
diff --git a/extra/python-build/PKGBUILD b/extra/python-build/PKGBUILD
index 1ebceb08..041272b1 100644
--- a/extra/python-build/PKGBUILD
+++ b/extra/python-build/PKGBUILD
@@ -1,4 +1,5 @@
# boostrapping python modules
+_bootstrap=0
# no testing no test or optional dependencies
unset check
diff --git a/extra/python-datrie/PKGBUILD b/extra/python-datrie/PKGBUILD
new file mode 100644
index 00000000..b7385378
--- /dev/null
+++ b/extra/python-datrie/PKGBUILD
@@ -0,0 +1,3 @@
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types"')"
+# Can't figure out how to properly escape the $ and I'm out of patience
+eval "$(declare -f check | sed 's@.CARCH@i686@')"
diff --git a/extra/python-openai/PKGBUILD b/extra/python-openai/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/python-openai/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/python-pyarrow/PKGBUILD b/extra/python-pyarrow/PKGBUILD
new file mode 100644
index 00000000..7bb8e9c6
--- /dev/null
+++ b/extra/python-pyarrow/PKGBUILD
@@ -0,0 +1,2 @@
+# Tests hang
+unset check
diff --git a/extra/python-qdldl/0001-Fix-i686-builds.patch b/extra/python-qdldl/0001-Fix-i686-builds.patch
new file mode 100644
index 00000000..e8eb42bb
--- /dev/null
+++ b/extra/python-qdldl/0001-Fix-i686-builds.patch
@@ -0,0 +1,63 @@
+From 3516c7a43624d991b05669064ec1c00549f1d853 Mon Sep 17 00:00:00 2001
+From: Tasos Sahanidis <tasos@tasossah.com>
+Date: Sun, 8 Sep 2024 20:31:05 +0300
+Subject: [PATCH] Fix i686 builds
+
+---
+ c/amd/include/SuiteSparse_config.h | 1 -
+ c/amd/include/amd_internal.h | 3 ---
+ cpp/qdldl.cpp | 5 +++++
+ 3 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/c/amd/include/SuiteSparse_config.h b/c/amd/include/SuiteSparse_config.h
+index ea3cea4..5a15deb 100644
+--- a/c/amd/include/SuiteSparse_config.h
++++ b/c/amd/include/SuiteSparse_config.h
+@@ -43,7 +43,6 @@ extern "C" {
+ #endif
+
+ #include "qdldl_types.h"
+-#define DLONG
+ typedef QDLDL_float c_float;
+
+ #include <limits.h>
+diff --git a/c/amd/include/amd_internal.h b/c/amd/include/amd_internal.h
+index eccde9f..cd745fd 100644
+--- a/c/amd/include/amd_internal.h
++++ b/c/amd/include/amd_internal.h
+@@ -38,9 +38,6 @@
+ #endif
+
+ #include "qdldl_types.h"
+-#ifndef DLONG
+-#define DLONG
+-#endif
+
+ /*
+ To enable debugging, uncomment the following line:
+diff --git a/cpp/qdldl.cpp b/cpp/qdldl.cpp
+index e304dbe..4751926 100644
+--- a/cpp/qdldl.cpp
++++ b/cpp/qdldl.cpp
+@@ -1,5 +1,6 @@
+ #include "qdldl.hpp"
+
++#include "qdldl/include/qdldl_types.h"
+ using namespace qdldl;
+
+
+@@ -31,7 +32,11 @@ Solver::Solver(QDLDL_int n, QDLDL_int * Ap, QDLDL_int *Ai, QDLDL_float * Ax){
+ Pinv = new QDLDL_int[n];
+
+ // Permutation
++#ifdef DLONG
+ QDLDL_int amd_status = amd_l_order(nx, Ap, Ai, P, NULL, NULL);
++#else
++ QDLDL_int amd_status = amd_order(nx, Ap, Ai, P, NULL, NULL);
++#endif
+ if (amd_status < 0)
+ throw std::runtime_error(std::string("Error in AMD computation ") + std::to_string(amd_status));
+
+--
+2.34.1
+
diff --git a/extra/python-qdldl/PKGBUILD b/extra/python-qdldl/PKGBUILD
index c6ea8ecb..e2a25c26 100644
--- a/extra/python-qdldl/PKGBUILD
+++ b/extra/python-qdldl/PKGBUILD
@@ -1,7 +1,5 @@
-# Temporary hack for gcc14
-eval "$(
- declare -f build | \
- sed '
- 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
- '
-)"
+# Thanks to imciner2 on GitHub
+# https://github.com/osqp/qdldl-python/pull/16
+source+=(0001-Fix-i686-builds.patch)
+sha256sums+=(SKIP)
+eval "$(declare -f prepare | sed '4ipatch -p1 -i ../0001-Fix-i686-builds.patch')"
diff --git a/extra/python-redis/PKGBUILD b/extra/python-redis/PKGBUILD
new file mode 100644
index 00000000..987f25ae
--- /dev/null
+++ b/extra/python-redis/PKGBUILD
@@ -0,0 +1,3 @@
+# just hangs build machines
+unset checkdepends
+unset check
diff --git a/extra/python-scipy/PKGBUILD b/extra/python-scipy/PKGBUILD
index 1036c3f0..1b8c634b 100644
--- a/extra/python-scipy/PKGBUILD
+++ b/extra/python-scipy/PKGBUILD
@@ -1,11 +1,2 @@
-# increase standard relative tolerance of verify_gauss_quad
-
-eval "$(
- declare -f prepare | \
- sed '
- 2 a sed -i '"'"'/def verify_gauss_quad/ { N; s/rtol=[^,]\+,/rtol=2e-15,/; } '"'"' "scipy-${pkgver}/scipy/special/tests/test_orthogonal.py"
- '
-)"
-
# kill slaves, so disabled for now
unset check
diff --git a/extra/python-setuptools/PKGBUILD b/extra/python-setuptools/PKGBUILD
index 3b048d6c..6b6e240d 100644
--- a/extra/python-setuptools/PKGBUILD
+++ b/extra/python-setuptools/PKGBUILD
@@ -12,13 +12,12 @@
# Add the tarball
source[0]="https://pypi.python.org/packages/source/s/setuptools/setuptools-$pkgver.tar.gz"
-# Depending on how annoying this gets, maybe comment it to switch back to SKIP
-sha512sums[0]='11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d'
+b2sums[0]='SKIP'
# Work around the directory name containing the version.
eval "$(
declare -f prepare | \
- sed -r 's/cd setuptools;?$/cd setuptools-$pkgver/'
+ sed -r 's/cd setuptools;?$/cd setuptools-$pkgver/' | sed '/git /d'
)"
eval "$(
declare -f build | \
@@ -38,3 +37,6 @@ eval "$(
declare -f prepare | \
sed '/add-dependency.patch/d'
)"
+
+unset check
+unset checkdepends
diff --git a/extra/python-validate-pyproject/PKGBUILD b/extra/python-validate-pyproject/PKGBUILD
index 7d66985c..8b137891 100644
--- a/extra/python-validate-pyproject/PKGBUILD
+++ b/extra/python-validate-pyproject/PKGBUILD
@@ -1,4 +1 @@
-# Doesn't validate
-if [[ $pkgver == 0.16 && $pkgrel == 1 ]]; then
- sha512sums=(SKIP)
-fi
+
diff --git a/extra/qt6-base/PKGBUILD b/extra/qt6-base/PKGBUILD
index 5ce557f9..131ce0c0 100644
--- a/extra/qt6-base/PKGBUILD
+++ b/extra/qt6-base/PKGBUILD
@@ -9,3 +9,11 @@ if [ "$CARCH" = 'i486' ]; then
'
)"
fi
+
+# Fix SSE2 issues on i486/i686
+if [ "$CARCH" = 'i486' -o "$CARCH" = 'i686' ]; then
+ eval "$(
+ declare -f prepare | \
+ sed '$ d' | sed '$ a sed -i s/defined\\(__FLT16_MAX__\\)/0/ src/corelib/global/qtypes.h; }'
+ )"
+fi
diff --git a/extra/qt6-doc/PKGBUILD b/extra/qt6-doc/PKGBUILD
new file mode 100644
index 00000000..b4f2de33
--- /dev/null
+++ b/extra/qt6-doc/PKGBUILD
@@ -0,0 +1,9 @@
+# Thanks for the patch!
+source+=(https://git.alpinelinux.org/aports/plain/community/qt6-qtwebengine/0015-enable-x86.patch)
+sha256sums+=(903a5d101d24bfd2190c6dae2d3d89df0823c00844b3c242df7a4af87c80a072)
+prepare() {
+ cd "qt-everywhere-src-${pkgver}"
+ sed -i s/defined\(__FLT16_MAX__\)/0/ qtbase/src/corelib/global/qtypes.h
+ cd qtwebengine
+ patch -p1 -i ../../0015-enable-x86.patch
+}
diff --git a/extra/qt6-quick3dphysics/PKGBUILD b/extra/qt6-quick3dphysics/PKGBUILD
new file mode 100644
index 00000000..a145cef7
--- /dev/null
+++ b/extra/qt6-quick3dphysics/PKGBUILD
@@ -0,0 +1,8 @@
+if [[ $CARCH == 'i686' ]]; then
+ eval "$(declare -f build | sed '3iexport CFLAGS="$CFLAGS -msse -DPX_SIMD_DISABLED=1"; export CXXFLAGS="$CXXFLAGS -msse -DPX_SIMD_DISABLED=1";')"
+fi
+
+if [[ $CARCH == 'i486' ]]; then
+ eval "$(declare -f build | sed '3iexport CFLAGS="$CFLAGS -DPX_SIMD_DISABLED=1"; export CXXFLAGS="$CXXFLAGS -DPX_SIMD_DISABLED=1";')"
+fi
+
diff --git a/extra/qt6-webengine/PKGBUILD b/extra/qt6-webengine/PKGBUILD
new file mode 100644
index 00000000..33d01460
--- /dev/null
+++ b/extra/qt6-webengine/PKGBUILD
@@ -0,0 +1,9 @@
+source+=(https://git.alpinelinux.org/aports/plain/community/qt6-qtwebengine/0015-enable-x86.patch
+ https://git.alpinelinux.org/aports/plain/community/qt6-qtwebengine/devtools-frontend-compress_files.patch
+)
+sha256sums+=(903a5d101d24bfd2190c6dae2d3d89df0823c00844b3c242df7a4af87c80a072
+ c1a5c89c7be57103de2de770c169a1206c1527e4d2f5120d39cee9f67690c122
+)
+
+options+=(!debug !lto)
+eval "$(declare -f prepare | sed 's@^}$@patch -p1 -i ../0015-enable-x86.patch; patch -p1 -i ../devtools-frontend-compress_files.patch; }'@)"
diff --git a/extra/reaper/PKGBUILD b/extra/reaper/PKGBUILD
new file mode 100644
index 00000000..40653cc6
--- /dev/null
+++ b/extra/reaper/PKGBUILD
@@ -0,0 +1,10 @@
+source[0]="https://reaper.fm/files/${pkgver::1}.x/reaper${pkgver//.}_linux_i686.tar.xz"
+sha512sums[0]="9bdacadd1d10d39f6c5bbcf5fce29c863c6b97d6944a8c45c1b13785b5a80db2636f11ee3d147aee54ef91ebff0bebab3f6b545bc5ba47d8d2a398d399f55282"
+b2sums[0]="6ddae30561f6b902e8ff01cfc78147d607d436c98260a3a862789f92a98e5248b31ce1d80add981fdba0b391356a7b504aca0be50ea4b5687792083eedebab5d"
+
+eval "$(
+ declare -f package | \
+ sed '
+ s/\$CARCH/i686/g
+ '
+)"
diff --git a/extra/ruby-erb/PKGBUILD b/extra/ruby-erb/PKGBUILD
new file mode 100644
index 00000000..8dd101a6
--- /dev/null
+++ b/extra/ruby-erb/PKGBUILD
@@ -0,0 +1,3 @@
+unset check
+# rdoc depends on erb, so disable the docs
+eval "$(declare -f build | sed 's@--local@--local --no-document@')"
diff --git a/extra/ruby-hoe/PKGBUILD b/extra/ruby-hoe/PKGBUILD
new file mode 100644
index 00000000..fcc37cc1
--- /dev/null
+++ b/extra/ruby-hoe/PKGBUILD
@@ -0,0 +1,2 @@
+unset checkdepends
+unset check
diff --git a/extra/ruby-minitest/PKGBUILD b/extra/ruby-minitest/PKGBUILD
new file mode 100644
index 00000000..fcc37cc1
--- /dev/null
+++ b/extra/ruby-minitest/PKGBUILD
@@ -0,0 +1,2 @@
+unset checkdepends
+unset check
diff --git a/extra/ruby-puma/PKGBUILD b/extra/ruby-puma/PKGBUILD
new file mode 100644
index 00000000..d941a73f
--- /dev/null
+++ b/extra/ruby-puma/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+
diff --git a/extra/ruby-rake-compiler/PKGBUILD b/extra/ruby-rake-compiler/PKGBUILD
new file mode 100644
index 00000000..6403c888
--- /dev/null
+++ b/extra/ruby-rake-compiler/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+unset checkdepends
diff --git a/extra/ruby-ruby_memcheck/PKGBUILD b/extra/ruby-ruby_memcheck/PKGBUILD
new file mode 100644
index 00000000..6403c888
--- /dev/null
+++ b/extra/ruby-ruby_memcheck/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+unset checkdepends
diff --git a/extra/ruby-stackprof/PKGBUILD b/extra/ruby-stackprof/PKGBUILD
new file mode 100644
index 00000000..6403c888
--- /dev/null
+++ b/extra/ruby-stackprof/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+unset checkdepends
diff --git a/extra/ruby-sys-filesystem/PKGBUILD b/extra/ruby-sys-filesystem/PKGBUILD
new file mode 100644
index 00000000..f3b33334
--- /dev/null
+++ b/extra/ruby-sys-filesystem/PKGBUILD
@@ -0,0 +1,2 @@
+# https://github.com/djberg96/sys-filesystem/issues/71
+unset check
diff --git a/extra/ruby/055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch b/extra/ruby/055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch
new file mode 100644
index 00000000..b2ad8437
--- /dev/null
+++ b/extra/ruby/055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch
@@ -0,0 +1,24 @@
+From 055613fd868a8c94e43893f8c58a00cdd2a81f6d Mon Sep 17 00:00:00 2001
+From: Nobuyoshi Nakada <nobu@ruby-lang.org>
+Date: Fri, 22 Mar 2024 18:18:35 +0900
+Subject: [PATCH] Fix pointer incompatiblity
+
+Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
+needed.
+---
+ time.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/time.c b/time.c
+index 6179b081c02fc9..3304b2f4f4856a 100644
+--- a/time.c
++++ b/time.c
+@@ -2346,7 +2346,7 @@ zone_timelocal(VALUE zone, VALUE time)
+ struct time_object *tobj = RTYPEDDATA_GET_DATA(time);
+ wideval_t t, s;
+
+- split_second(tobj->timew, &t, &s);
++ wdivmod(tobj->timew, WINT2FIXWV(TIME_SCALE), &t, &s);
+ tm = tm_from_time(rb_cTimeTM, time);
+ utc = rb_check_funcall(zone, id_local_to_utc, 1, &tm);
+ if (UNDEF_P(utc)) return 0;
diff --git a/extra/ruby/PKGBUILD b/extra/ruby/PKGBUILD
index b03abc17..8408153f 100644
--- a/extra/ruby/PKGBUILD
+++ b/extra/ruby/PKGBUILD
@@ -18,3 +18,25 @@ if [ "${CARCH}" = "i486" ]; then
'
)"
fi
+
+prepare() {
+ cd "ruby-${pkgver}"
+ patch -p1 -i ../055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch
+}
+
+# Seems like 3.2.x will require this patch
+if [[ $pkgver == 3.2.* ]]; then
+ source+=(055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch)
+ unset sha512sums
+ b2sums+=(SKIP)
+ #eval "$(declare -f prepare | sed 's@patch @patch -p1 -i ../055613fd868a8c94e43893f8c58a00cdd2a81f6d.patch; patch @')"
+ # MJIT might work on 3.3.x (might also need an explicit LDFLAGS="$LDFLAGS -fstack-protector" patch)
+ eval "$(declare -f build | sed 's@./configure@./configure --disable-jit-support@')"
+ # Global variable $0 actually sets the program name FAILED
+ # Suspect ^ is a container-related failure
+ eval "$(declare -f check | sed 's@make check@make check || true@')"
+fi
+
+if [ "${CARCH}" = "i486" ]; then
+ makedepends=(${makedepends[@]//rust/})
+fi
diff --git a/extra/rubygems/PKGBUILD b/extra/rubygems/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/rubygems/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD
index 131948ae..79f56e4d 100644
--- a/extra/samba/PKGBUILD
+++ b/extra/samba/PKGBUILD
@@ -1,20 +1,4 @@
-# disable CEPH support
-makedepends=(${makedepends[@]//ceph-libs/})
-
-eval "$(
- declare -f package_samba | \
- sed '
- /depends/ a \
- depends=(${depends[@]//ceph-libs/})
- '
-)"
-
-eval "$(
- declare -f build | \
- sed '
- s|./configure|./configure --disable-cephfs|
- '
-)"
+# -- Arch32 specific --
if test "$CARCH" == "i486"; then
eval "$(
@@ -24,3 +8,5 @@ if test "$CARCH" == "i486"; then
'
)"
fi
+
+eval "$(declare -f package_ldb | sed 's@x86_64@i386@')"
diff --git a/extra/scaleway-cli/PKGBUILD b/extra/scaleway-cli/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/scaleway-cli/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/scrapy/PKGBUILD b/extra/scrapy/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/scrapy/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/sdl2_mixer/PKGBUILD b/extra/sdl2_mixer/PKGBUILD
index cd49536e..8b137891 100644
--- a/extra/sdl2_mixer/PKGBUILD
+++ b/extra/sdl2_mixer/PKGBUILD
@@ -1,2 +1 @@
-# temporary workaround for failing checksum
-sha512sums[1]='161a4e57b7bc3316e093c4f91f5733e2c0b05013a9cd79f7430b8d33d17303b0ad3af6fe6592d27f7edd448531a05847d26fb0ebcf8e390999abc96c61130131'
+
diff --git a/extra/sequoia-sq/PKGBUILD b/extra/sequoia-sq/PKGBUILD
index 3cdf97b9..9cd7f3af 100644
--- a/extra/sequoia-sq/PKGBUILD
+++ b/extra/sequoia-sq/PKGBUILD
@@ -1,3 +1,5 @@
# eval "$(declare -f prepare | sed 's@rustc -vV@echo "host: i686-unknown-linux-gnu"@')"
# Essentially apply https://gitlab.archlinux.org/archlinux/packaging/packages/cargo-audit/-/commit/dd4c71adb934157153ec65bc0361fc6d30544158
eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
+
+unset check
diff --git a/extra/sfizz/PKGBUILD b/extra/sfizz/PKGBUILD
new file mode 100644
index 00000000..3692e5fe
--- /dev/null
+++ b/extra/sfizz/PKGBUILD
@@ -0,0 +1 @@
+unset check
diff --git a/extra/socat/PKGBUILD b/extra/socat/PKGBUILD
new file mode 100644
index 00000000..91e38339
--- /dev/null
+++ b/extra/socat/PKGBUILD
@@ -0,0 +1,2 @@
+# Tests hang builders
+unset check
diff --git a/extra/stochas/PKGBUILD b/extra/stochas/PKGBUILD
new file mode 100644
index 00000000..734814d5
--- /dev/null
+++ b/extra/stochas/PKGBUILD
@@ -0,0 +1,12 @@
+# This requires SSE, so enable it on i686
+
+if [ "$CARCH" = "i686" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ 3 i export CXXFLAGS="$CXXFLAGS -msse" CFLAGS="$CFLAGS -msse"
+ '
+ )"
+fi
+
+eval "$(declare -f package_stochas-vst3 | sed 's@\$CARCH@i386@g')"
diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD
index ecb8e89d..4b4443d2 100644
--- a/extra/subversion/PKGBUILD
+++ b/extra/subversion/PKGBUILD
@@ -1,17 +1,14 @@
# no Ruby bindings on i486
+makedepends=(${makedepends[@]//ruby-nkf/})
makedepends=(${makedepends[@]//ruby/})
checkdepends=(${checkdepends[@]//ruby-test-unit/})
makedepends_i686+=(ruby)
+makedepends_i686+=(ruby-nkf)
checkdepends_i686+=(ruby-test-unit)
# no KDE gui on i486
-makedepends=(${makedepends[@]//kdelibs4support/})
-makedepends=(${makedepends[@]//kwallet/})
-makedepends_i686+=(kdelibs4support kwallet)
-
-# no Gnome gui on i486
-makedepends=(${makedepends[@]//libgnome-keyring/})
-makedepends_i686+=(libgnome-keyring)
+makedepends=(${makedepends[@]//kwallet5/})
+makedepends_i686+=(kwallet5)
checkdepends_pentium4=("${checkdepends_i686[@]}")
makedepends_pentium4=("${makedepends_i686[@]}")
diff --git a/extra/syslog-ng/581bb46db5c3e7bc4abd1ea45487652756ce022f.patch b/extra/syslog-ng/581bb46db5c3e7bc4abd1ea45487652756ce022f.patch
new file mode 100644
index 00000000..937eacfa
--- /dev/null
+++ b/extra/syslog-ng/581bb46db5c3e7bc4abd1ea45487652756ce022f.patch
@@ -0,0 +1,33 @@
+From 581bb46db5c3e7bc4abd1ea45487652756ce022f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Kov=C3=A1cs=2C=20Gerg=C5=91=20Ferenc?= <kovgeri01@gmail.com>
+Date: Mon, 5 Feb 2024 22:59:44 +0100
+Subject: [PATCH] secure-logging: Fix printing of guint64 by using it's format
+ macro.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Kovács, Gergő Ferenc <kovgeri01@gmail.com>
+---
+ modules/secure-logging/slogkey/slogkey.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules/secure-logging/slogkey/slogkey.c b/modules/secure-logging/slogkey/slogkey.c
+index 13c5786943..685205cd07 100644
+--- a/modules/secure-logging/slogkey/slogkey.c
++++ b/modules/secure-logging/slogkey/slogkey.c
+@@ -1,4 +1,5 @@
+ /*
++ * Copyright (c) 2024 Gergo Ferenc Kovacs
+ * Copyright (c) 2019 Airbus Commercial Aircraft
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -157,7 +158,7 @@ int main(int argc, char **argv)
+ msg_error("[SLOG] ERROR: Unable to read key file", evt_tag_str("file", keyfile));
+ return ret;
+ }
+- printf("counter=%zu\n", counterValue);
++ printf("counter=%" G_GUINT64_FORMAT "\n", counterValue);
+ }
+ else if (host)
+ {
diff --git a/extra/syslog-ng/PKGBUILD b/extra/syslog-ng/PKGBUILD
new file mode 100644
index 00000000..50a4b2db
--- /dev/null
+++ b/extra/syslog-ng/PKGBUILD
@@ -0,0 +1,7 @@
+if [[ $pkgver = 4.6.* ]]; then
+ source+=('ac13999810bced8f623b0e027579a95f23dc0641.patch'
+ '581bb46db5c3e7bc4abd1ea45487652756ce022f.patch')
+ sha512sums+=('SKIP' 'SKIP')
+
+ eval "$(declare -f prepare | sed '$ d' | sed '$ a patch -p1 -i ../ac13999810bced8f623b0e027579a95f23dc0641.patch; patch -p1 -i ../581bb46db5c3e7bc4abd1ea45487652756ce022f.patch; }')"
+fi
diff --git a/extra/syslog-ng/ac13999810bced8f623b0e027579a95f23dc0641.patch b/extra/syslog-ng/ac13999810bced8f623b0e027579a95f23dc0641.patch
new file mode 100644
index 00000000..673f0fef
--- /dev/null
+++ b/extra/syslog-ng/ac13999810bced8f623b0e027579a95f23dc0641.patch
@@ -0,0 +1,53 @@
+From ac13999810bced8f623b0e027579a95f23dc0641 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Kov=C3=A1cs=2C=20Gerg=C5=91=20Ferenc?= <kovgeri01@gmail.com>
+Date: Mon, 5 Feb 2024 23:01:08 +0100
+Subject: [PATCH] secure-logging: Changed local variable type as
+ g_io_channel_write_chars as it's 4th parameter accepts gsize.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Kovács, Gergő Ferenc <kovgeri01@gmail.com>
+---
+ modules/secure-logging/slog.c | 3 ++-
+ modules/secure-logging/tests/test_secure_logging.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/modules/secure-logging/slog.c b/modules/secure-logging/slog.c
+index 7bc8fcf7d4..4f585fe599 100644
+--- a/modules/secure-logging/slog.c
++++ b/modules/secure-logging/slog.c
+@@ -1,4 +1,5 @@
+ /*
++ * Copyright (c) 2024 Gergo Ferenc Kovacs
+ * Copyright (c) 2019 Airbus Commercial Aircraft
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -932,7 +933,7 @@ int writeKey(char *key, guint64 counter, gchar *keypath)
+ return 0;
+ }
+
+- guint64 outlen = 0;
++ gsize outlen = 0;
+ // Write key
+ status = g_io_channel_write_chars(keyfile, key, KEY_LENGTH, &outlen, &error);
+ if(status != G_IO_STATUS_NORMAL)
+diff --git a/modules/secure-logging/tests/test_secure_logging.c b/modules/secure-logging/tests/test_secure_logging.c
+index 0f11d52e6d..0005b48652 100644
+--- a/modules/secure-logging/tests/test_secure_logging.c
++++ b/modules/secure-logging/tests/test_secure_logging.c
+@@ -1,4 +1,5 @@
+ /*
++ * Copyright (c) 2024 Gergo Ferenc Kovacs
+ * Copyright (c) 2019 Airbus Commercial Aircraft
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -373,7 +374,7 @@ void corruptKey(TestData *testData)
+
+ cr_assert(status == G_IO_STATUS_NORMAL, " Unable to set encoding for key file %s", testData->keyFile->str);
+
+- guint64 outlen = 0;
++ gsize outlen = 0;
+
+ int buflen = KEY_LENGTH + CMAC_LENGTH + sizeof(guint64);
+
diff --git a/extra/texlive-bin/PKGBUILD b/extra/texlive-bin/PKGBUILD
new file mode 100644
index 00000000..111844f4
--- /dev/null
+++ b/extra/texlive-bin/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug !lto)
diff --git a/extra/tiled/PKGBUILD b/extra/tiled/PKGBUILD
new file mode 100644
index 00000000..e49e6848
--- /dev/null
+++ b/extra/tiled/PKGBUILD
@@ -0,0 +1,3 @@
+if [[ $CARCH == pentium4 ]]; then
+ eval "$(declare -f build | sed 's@qbs@qbs modules.cpp.cxxFlags:"-msse2"@')"
+fi
diff --git a/extra/tinysparql/PKGBUILD b/extra/tinysparql/PKGBUILD
new file mode 100644
index 00000000..a3ab997a
--- /dev/null
+++ b/extra/tinysparql/PKGBUILD
@@ -0,0 +1,7 @@
+# 33/41 tinysparql:sparql / sparql fails with out of memory
+eval "$(
+ declare -f check | \
+ sed '
+ s/\(.*meson test.*\)/\1 || true/
+ '
+)"
diff --git a/extra/tslib/PKGBUILD b/extra/tslib/PKGBUILD
new file mode 100644
index 00000000..b344eb15
--- /dev/null
+++ b/extra/tslib/PKGBUILD
@@ -0,0 +1,5 @@
+# Ignore pgp for now as it seems to fail with unknown pubkey (it's the correct one)
+if [[ $pkgver == "1.23" ]]; then
+ unset source[1]
+ unset sha256sums[1]
+fi
diff --git a/extra/webkit2gtk-4.1/PKGBUILD b/extra/webkit2gtk-4.1/PKGBUILD
new file mode 100644
index 00000000..ed606e4a
--- /dev/null
+++ b/extra/webkit2gtk-4.1/PKGBUILD
@@ -0,0 +1,16 @@
+options+=('!debug' '!lto')
+
+if [ "${CARCH}" != "pentium4" ]; then
+ eval "$(
+ declare -f prepare | \
+ sed '
+ 4 i patch -p1 -i "${srcdir}/${CARCH}.diff"
+ '
+ )"
+fi
+
+unset sha256sums
+source_i486+=('i486.diff')
+source_i686+=('i686.diff')
+b2sums_i486+=('84b147cd7c1c5bb324af8bc1451fe048b72f8c3c43001fb7a2ab01112566e48194264ab65491c4a7b80669bb101069744915faa03b0ae844f734170e3958760e')
+b2sums_i686+=('3c765caa8e153722c7791fb6c1168e27b5b72922f433a9614969003900adeee5784d41b7836d18f177491369cf5929782296ef88a5e076719a44cda42c0abea1')
diff --git a/extra/webkit2gtk-4.1/i486.diff b/extra/webkit2gtk-4.1/i486.diff
new file mode 100644
index 00000000..f794a6f5
--- /dev/null
+++ b/extra/webkit2gtk-4.1/i486.diff
@@ -0,0 +1,36 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:50:15.429706698 +0000
+@@ -175,13 +175,13 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webkit2gtk-4.1/i686.diff b/extra/webkit2gtk-4.1/i686.diff
new file mode 100644
index 00000000..814b4e3b
--- /dev/null
+++ b/extra/webkit2gtk-4.1/i686.diff
@@ -0,0 +1,37 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:47:42.679555436 +0000
+@@ -175,13 +175,14 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse -mfpmath=387)
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webkit2gtk/PKGBUILD b/extra/webkit2gtk/PKGBUILD
index 6e0af735..ed606e4a 100644
--- a/extra/webkit2gtk/PKGBUILD
+++ b/extra/webkit2gtk/PKGBUILD
@@ -1,39 +1,16 @@
-# disable SSE2 on 486 and 686
-source_i486+=('webkitgtk-2.36.3-no-sse2.arch32.patch')
-source_i686+=('webkitgtk-2.36.3-no-sse2.arch32.patch')
-sha256sums_i486+=('58a724b7f1092a9049186a3b8c61689c31558b6c2b587c827cec04219397adac')
-sha256sums_i686+=('58a724b7f1092a9049186a3b8c61689c31558b6c2b587c827cec04219397adac')
+options+=('!debug' '!lto')
+
if [ "${CARCH}" != "pentium4" ]; then
eval "$(
declare -f prepare | \
sed '
- /cd.*/a patch -Rp1 -i "$srcdir"/webkitgtk-2.36.3-no-sse2.arch32.patch
+ 4 i patch -p1 -i "${srcdir}/${CARCH}.diff"
'
- )"
+ )"
fi
-# do not build JIT code on non-pentium4 (breaks in micro-optimizations)
-eval "$(
- declare -f build | \
- sed '
- /cmake --build build/ ! {
- /^\s*cmake / {
- h
- s/^.*$/[ "${CARCH}" != pentium4 ] || \0/
- p
- g
- s/^\s*cmake /[ "${CARCH}" = pentium4 ] || \0-DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF /
- }
- }
- '
-)"
-
-# linker runs out of memory on 32-bit
-eval "$(
- declare -f build | \
- sed '
- 3 i LDFLAGS+=" -Wl,--no-keep-memory"
- 3 i CFLAGS+=" -g1"
- 3 i CXXFLAGS+=" -g1"
- '
-)"
+unset sha256sums
+source_i486+=('i486.diff')
+source_i686+=('i686.diff')
+b2sums_i486+=('84b147cd7c1c5bb324af8bc1451fe048b72f8c3c43001fb7a2ab01112566e48194264ab65491c4a7b80669bb101069744915faa03b0ae844f734170e3958760e')
+b2sums_i686+=('3c765caa8e153722c7791fb6c1168e27b5b72922f433a9614969003900adeee5784d41b7836d18f177491369cf5929782296ef88a5e076719a44cda42c0abea1')
diff --git a/extra/webkit2gtk/i486.diff b/extra/webkit2gtk/i486.diff
new file mode 100644
index 00000000..f794a6f5
--- /dev/null
+++ b/extra/webkit2gtk/i486.diff
@@ -0,0 +1,36 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:50:15.429706698 +0000
+@@ -175,13 +175,13 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webkit2gtk/i686.diff b/extra/webkit2gtk/i686.diff
new file mode 100644
index 00000000..814b4e3b
--- /dev/null
+++ b/extra/webkit2gtk/i686.diff
@@ -0,0 +1,37 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:47:42.679555436 +0000
+@@ -175,13 +175,14 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse -mfpmath=387)
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch b/extra/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch
deleted file mode 100644
index 63a098a7..00000000
--- a/extra/webkit2gtk/webkitgtk-2.36.3-no-sse2.arch32.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -rauN webkitgtk-2.36.3/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.36.3-no-sse2-patch/Source/cmake/WebKitCompilerFlags.cmake
---- webkitgtk-2.36.3/Source/cmake/WebKitCompilerFlags.cmake 2022-06-02 08:44:07.302049344 +0200
-+++ webkitgtk-2.36.3-no-sse2-patch/Source/cmake/WebKitCompilerFlags.cmake 2022-06-02 08:32:46.169362098 +0200
-@@ -163,13 +163,13 @@
- endif ()
-
- # Force SSE2 fp on x86 builds.
--# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
--# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
--# include(DetectSSE2)
--# if (NOT SSE2_SUPPORT_FOUND)
--# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
--# endif ()
--# endif ()
-+ if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
-+ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
-+ include(DetectSSE2)
-+ if (NOT SSE2_SUPPORT_FOUND)
-+ message(FATAL_ERROR "SSE2 support is required to compile WebKit")
-+ endif ()
-+ endif ()
-
- # Makes builds faster. The GCC manual warns about the possibility that the assembler being
- # used may not support input from a pipe, but in practice the toolchains we support all do.
-diff -rauN webkitgtk-2.36.3/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.36.3-no-sse2-patch/Source/ThirdParty/ANGLE/src/common/platform.h
---- webkitgtk-2.36.3/Source/ThirdParty/ANGLE/src/common/platform.h 2022-06-02 08:45:17.042348743 +0200
-+++ webkitgtk-2.36.3-no-sse2-patch/Source/ThirdParty/ANGLE/src/common/platform.h 2022-06-02 08:32:46.189362180 +0200
-@@ -97,8 +97,8 @@
- # include <intrin.h>
- # define ANGLE_USE_SSE
- #elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
--//# include <x86intrin.h>
--//# define ANGLE_USE_SSE
-+# include <x86intrin.h>
-+# define ANGLE_USE_SSE
- #endif
-
- // Mips and arm devices need to include stddef for size_t.
-diff -rauN webkitgtk-2.36.3/Source/WTF/wtf/PlatformCPU.h webkitgtk-2.36.3-no-sse2-patch/Source/WTF/wtf/PlatformCPU.h
---- webkitgtk-2.36.3/Source/WTF/wtf/PlatformCPU.h 2022-06-02 08:46:55.912771827 +0200
-+++ webkitgtk-2.36.3-no-sse2-patch/Source/WTF/wtf/PlatformCPU.h 2022-06-02 08:32:45.789360661 +0200
-@@ -99,7 +99,7 @@
- #define WTF_CPU_KNOWN 1
-
- #if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
--/* #define WTF_CPU_X86_SSE2 1 */
-+#define WTF_CPU_X86_SSE2 1
- #endif
-
- #endif
diff --git a/extra/webkitgtk-6.0/PKGBUILD b/extra/webkitgtk-6.0/PKGBUILD
new file mode 100644
index 00000000..ed606e4a
--- /dev/null
+++ b/extra/webkitgtk-6.0/PKGBUILD
@@ -0,0 +1,16 @@
+options+=('!debug' '!lto')
+
+if [ "${CARCH}" != "pentium4" ]; then
+ eval "$(
+ declare -f prepare | \
+ sed '
+ 4 i patch -p1 -i "${srcdir}/${CARCH}.diff"
+ '
+ )"
+fi
+
+unset sha256sums
+source_i486+=('i486.diff')
+source_i686+=('i686.diff')
+b2sums_i486+=('84b147cd7c1c5bb324af8bc1451fe048b72f8c3c43001fb7a2ab01112566e48194264ab65491c4a7b80669bb101069744915faa03b0ae844f734170e3958760e')
+b2sums_i686+=('3c765caa8e153722c7791fb6c1168e27b5b72922f433a9614969003900adeee5784d41b7836d18f177491369cf5929782296ef88a5e076719a44cda42c0abea1')
diff --git a/extra/webkitgtk-6.0/i486.diff b/extra/webkitgtk-6.0/i486.diff
new file mode 100644
index 00000000..f794a6f5
--- /dev/null
+++ b/extra/webkitgtk-6.0/i486.diff
@@ -0,0 +1,36 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:50:15.429706698 +0000
+@@ -175,13 +175,13 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webkitgtk-6.0/i686.diff b/extra/webkitgtk-6.0/i686.diff
new file mode 100644
index 00000000..814b4e3b
--- /dev/null
+++ b/extra/webkitgtk-6.0/i686.diff
@@ -0,0 +1,37 @@
+diff -ru webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h
+--- webkitgtk-2.44.2/Source/ThirdParty/ANGLE/src/common/platform.h 2024-03-16 06:45:47.852676000 +0000
++++ webkitgtk-2.44.2_sse/Source/ThirdParty/ANGLE/src/common/platform.h 2024-07-13 05:48:45.724474953 +0000
+@@ -112,7 +112,7 @@
+ #if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
+ # include <intrin.h>
+ # define ANGLE_USE_SSE
+-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
++#elif 0
+ # include <x86intrin.h>
+ # define ANGLE_USE_SSE
+ #endif
+diff -ru webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake
+--- webkitgtk-2.44.2/Source/cmake/WebKitCompilerFlags.cmake 2024-03-16 06:45:51.284670000 +0000
++++ webkitgtk-2.44.2_sse/Source/cmake/WebKitCompilerFlags.cmake 2024-07-13 05:47:42.679555436 +0000
+@@ -175,13 +175,14 @@
+ endif ()
+
+ # Force SSE2 fp on x86 builds.
+- if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
+- WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
+- include(DetectSSE2)
+- if (NOT SSE2_SUPPORT_FOUND)
+- message(FATAL_ERROR "SSE2 support is required to compile WebKit")
+- endif ()
+- endif ()
++ WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse -mfpmath=387)
++# if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
++# WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-msse2 -mfpmath=sse)
++# include(DetectSSE2)
++# if (NOT SSE2_SUPPORT_FOUND)
++# message(FATAL_ERROR "SSE2 support is required to compile WebKit")
++# endif ()
++# endif ()
+
+ # Makes builds faster. The GCC manual warns about the possibility that the assembler being
+ # used may not support input from a pipe, but in practice the toolchains we support all do.
diff --git a/extra/webrtc-audio-processing-1/PKGBUILD b/extra/webrtc-audio-processing-1/PKGBUILD
new file mode 100644
index 00000000..9be7d41f
--- /dev/null
+++ b/extra/webrtc-audio-processing-1/PKGBUILD
@@ -0,0 +1,10 @@
+# This requires SSE, so enable it on i686
+
+if [ "$CARCH" = "i686" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ 3 i export CXXFLAGS="$CXXFLAGS -msse" CFLAGS="$CFLAGS -msse"
+ '
+ )"
+fi
diff --git a/extra/wireplumber/PKGBUILD b/extra/wireplumber/PKGBUILD
index 2a6458db..0e31f32e 100644
--- a/extra/wireplumber/PKGBUILD
+++ b/extra/wireplumber/PKGBUILD
@@ -1,23 +1,25 @@
-# disable documentation (needs sphinx, sphinx-rtd_theme, npm)
-# python-sphinx_rdt_theme needs npm, which is broken on archlinux32
-# most likely since years..
-makedepends=(${makedepends[@]//python-sphinx_rtd_theme/})
-makedepends=(${makedepends[@]//python-sphinx/})
-eval "$(
- declare -f build | \
- sed '
- /local meson_options.*/ a \
- meson_options+=(-D doc=disabled)
- '
- declare -f package_wireplumber | \
- sed '
- s|_pick docs "$pkgdir"/usr/share/doc||
- '
- declare -f package_wireplumber-docs | \
- sed '
- /mv.*docs.*/d
- '
-)"
+if [[ $CARCH == 'i486' ]]; then
+ # disable documentation (needs sphinx, sphinx-rtd_theme, npm)
+ # python-sphinx_rdt_theme needs npm, which is broken on archlinux32
+ # most likely since years..
+ makedepends=(${makedepends[@]//python-sphinx_rtd_theme/})
+ makedepends=(${makedepends[@]//python-sphinx/})
+ eval "$(
+ declare -f build | \
+ sed '
+ /local meson_options.*/ a \
+ meson_options+=(-D doc=disabled)
+ '
+ declare -f package_wireplumber | \
+ sed '
+ s|_pick docs "$pkgdir"/usr/share/doc||
+ '
+ declare -f package_wireplumber-docs | \
+ sed '
+ /mv.*docs.*/d
+ '
+ )"
+fi
# test-spa-json fails, ignoring for now
eval "$(
diff --git a/extra/wolf-shaper/PKGBUILD b/extra/wolf-shaper/PKGBUILD
new file mode 100644
index 00000000..d0e54eb7
--- /dev/null
+++ b/extra/wolf-shaper/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f package_wolf-shaper-vst3 | sed 's@\$CARCH@i686@g')"
diff --git a/extra/yazi/PKGBUILD b/extra/yazi/PKGBUILD
new file mode 100644
index 00000000..0cb529cc
--- /dev/null
+++ b/extra/yazi/PKGBUILD
@@ -0,0 +1,2 @@
+# Prevent out of memory
+options+=(!lto !debug)
diff --git a/extra/yubico-piv-tool/PKGBUILD b/extra/yubico-piv-tool/PKGBUILD
new file mode 100644
index 00000000..9de55861
--- /dev/null
+++ b/extra/yubico-piv-tool/PKGBUILD
@@ -0,0 +1,9 @@
+if [[ $pkgver == '2.6.0' ]]; then
+ source+=('https://github.com/Yubico/yubico-piv-tool/commit/653ce43556535504d7901a897ef5e96557b374af.patch')
+ sha256sums+=('e32c56be6d322767ea7a6c952c5ad897897887a06ce55e498a2bca9e868f1bed')
+ prepare() {
+ cd "${pkgname}-${pkgver}"
+ patch -p1 -i ../653ce43556535504d7901a897ef5e96557b374af.patch
+ cd -
+ }
+fi