Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/abiword/PKGBUILD2
-rw-r--r--extra/abseil-cpp/PKGBUILD17
-rw-r--r--extra/acme-redirect/PKGBUILD1
-rw-r--r--extra/aida-x/PKGBUILD12
-rw-r--r--extra/amdvlk/PKGBUILD3
-rw-r--r--extra/anewer/PKGBUILD1
-rw-r--r--extra/angle-grinder/PKGBUILD1
-rw-r--r--extra/arrow/PKGBUILD5
-rw-r--r--extra/arti/PKGBUILD1
-rw-r--r--extra/at51/PKGBUILD1
-rw-r--r--extra/auth-tarball-from-git/PKGBUILD9
-rw-r--r--extra/autotiling-rs/PKGBUILD1
-rw-r--r--extra/bacon/PKGBUILD1
-rw-r--r--extra/bear/PKGBUILD4
-rw-r--r--extra/bingrep/PKGBUILD1
-rw-r--r--extra/binocle/PKGBUILD1
-rw-r--r--extra/boost/PKGBUILD9
-rw-r--r--extra/bore/PKGBUILD1
-rw-r--r--extra/bottom/PKGBUILD1
-rw-r--r--extra/bupstash/PKGBUILD1
-rw-r--r--extra/c-ares/PKGBUILD3
-rw-r--r--extra/c3c/PKGBUILD6
-rw-r--r--extra/cargo-binstall/PKGBUILD9
-rw-r--r--extra/cargo-edit/PKGBUILD1
-rw-r--r--extra/cargo-pgrx/PKGBUILD1
-rw-r--r--extra/cargo-sort/PKGBUILD1
-rw-r--r--extra/cargo-supply-chain/PKGBUILD1
-rw-r--r--extra/cargo-tarpaulin/PKGBUILD1
-rw-r--r--extra/cargo2junit/PKGBUILD1
-rw-r--r--extra/catch2/PKGBUILD3
-rw-r--r--extra/choose/PKGBUILD1
-rw-r--r--extra/chromaprint/PKGBUILD4
-rw-r--r--extra/chromium/PKGBUILD14
-rw-r--r--extra/clipcat/PKGBUILD1
-rw-r--r--extra/cmake/PKGBUILD80
-rw-r--r--extra/cocogitto/PKGBUILD1
-rw-r--r--extra/committed/PKGBUILD1
-rw-r--r--extra/cppcheck/PKGBUILD5
-rw-r--r--extra/cxxbridge/PKGBUILD1
-rw-r--r--extra/cython/PKGBUILD26
-rw-r--r--extra/diesel-cli/PKGBUILD1
-rw-r--r--extra/diskonaut/PKGBUILD1
-rw-r--r--extra/dmd/PKGBUILD3
-rw-r--r--extra/docbook-xml/PKGBUILD0
-rw-r--r--extra/dog/PKGBUILD1
-rw-r--r--extra/dragonfly-reverb/PKGBUILD1
-rw-r--r--extra/dscanner/PKGBUILD1
-rw-r--r--extra/dvdauthor/PKGBUILD2
-rw-r--r--extra/dysk/PKGBUILD1
-rw-r--r--extra/efifs/PKGBUILD7
-rw-r--r--extra/elf2nucleus/PKGBUILD1
-rw-r--r--extra/erdtree/PKGBUILD1
-rw-r--r--extra/eva/PKGBUILD1
-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/firecracker/PKGBUILD1
-rw-r--r--extra/flip-link/PKGBUILD1
-rw-r--r--extra/fractal/PKGBUILD1
-rw-r--r--extra/fricas/PKGBUILD3
-rw-r--r--extra/gcc13/PKGBUILD (renamed from extra/gcc12/PKGBUILD)61
-rw-r--r--extra/gdb/PKGBUILD9
-rw-r--r--extra/gdb/opcodes.patch40
-rw-r--r--extra/giflib/PKGBUILD8
-rw-r--r--extra/git-delta/PKGBUILD3
-rw-r--r--extra/git-grab/PKGBUILD1
-rw-r--r--extra/gitea/PKGBUILD3
-rw-r--r--extra/gitlab-exporter/PKGBUILD1
-rw-r--r--extra/gitoxide/PKGBUILD1
-rw-r--r--extra/gitu/PKGBUILD2
-rw-r--r--extra/godot/PKGBUILD2
-rw-r--r--extra/grcov/PKGBUILD1
-rw-r--r--extra/greetd-regreet/PKGBUILD1
-rw-r--r--extra/greetd-tuigreet/PKGBUILD1
-rw-r--r--extra/greetd/PKGBUILD1
-rw-r--r--extra/gstreamer/PKGBUILD12
-rw-r--r--extra/gtk4/PKGBUILD2
-rw-r--r--extra/halp/PKGBUILD1
-rw-r--r--extra/hck/PKGBUILD1
-rw-r--r--extra/htmlq/PKGBUILD1
-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/hyperfine/PKGBUILD1
-rw-r--r--extra/iempluginsuite/PKGBUILD1
-rw-r--r--extra/igrep/PKGBUILD1
-rw-r--r--extra/intel-metee/PKGBUILD1
-rw-r--r--extra/iso-codes/PKGBUILD2
-rw-r--r--extra/itstool/PKGBUILD1
-rw-r--r--extra/jless/PKGBUILD1
-rw-r--r--extra/jrnl/PKGBUILD1
-rw-r--r--extra/js128/PKGBUILD1
-rw-r--r--extra/js80p/PKGBUILD1
-rw-r--r--extra/jwt-cli/PKGBUILD1
-rw-r--r--extra/kimageformats/PKGBUILD2
-rw-r--r--extra/knockd/PKGBUILD3
-rw-r--r--extra/ldc/PKGBUILD4
-rw-r--r--extra/ldproxy/PKGBUILD1
-rw-r--r--extra/libavif/PKGBUILD3
-rw-r--r--extra/libcdio/PKGBUILD15
-rw-r--r--extra/libcroco/PKGBUILD41
-rw-r--r--extra/libetebase/PKGBUILD3
-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/librdkafka/PKGBUILD2
-rw-r--r--extra/libredefender/PKGBUILD1
-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/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/lurk/PKGBUILD1
-rw-r--r--extra/mastodon-twitter-sync/PKGBUILD1
-rw-r--r--extra/maturin/PKGBUILD1
-rw-r--r--extra/mdbook-linkcheck/PKGBUILD1
-rw-r--r--extra/mdcat/PKGBUILD2
-rw-r--r--extra/menyoki/PKGBUILD1
-rw-r--r--extra/mesa-amber/PKGBUILD3
-rw-r--r--extra/mesa/PKGBUILD16
-rw-r--r--extra/meson-python/PKGBUILD2
-rw-r--r--extra/meson/PKGBUILD9
-rwxr-xr-xextra/meson/arch-meson22
-rw-r--r--extra/mingw-w64-gcc/PKGBUILD5
-rw-r--r--extra/nanobind/PKGBUILD5
-rw-r--r--extra/nautilus/PKGBUILD3
-rw-r--r--extra/ncspot/PKGBUILD1
-rw-r--r--extra/netavark/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/nickel/PKGBUILD1
-rw-r--r--extra/octave/PKGBUILD9
-rw-r--r--extra/onetbb/PKGBUILD1
-rw-r--r--extra/openblas/PKGBUILD3
-rw-r--r--extra/openmpi4/.SRCINFO52
-rw-r--r--extra/openmpi4/PKGBUILD115
-rw-r--r--extra/openvdb/PKGBUILD8
-rw-r--r--extra/ot-cryptid/PKGBUILD1
-rw-r--r--extra/ot-keys/PKGBUILD1
-rw-r--r--extra/ot-simian/PKGBUILD1
-rw-r--r--extra/ot-urchin/PKGBUILD1
-rw-r--r--extra/paccat/PKGBUILD1
-rw-r--r--extra/pacman-bintrans/PKGBUILD1
-rw-r--r--extra/pango/PKGBUILD10
-rw-r--r--extra/pastel/PKGBUILD1
-rw-r--r--extra/pngquant/PKGBUILD1
-rw-r--r--extra/pre-commit/PKGBUILD3
-rw-r--r--extra/progpick/PKGBUILD1
-rw-r--r--extra/prometheus-node-exporter/PKGBUILD1
-rw-r--r--extra/prometheus-wireguard-exporter/PKGBUILD1
-rw-r--r--extra/protobuf/PKGBUILD23
-rw-r--r--extra/pyflow/PKGBUILD1
-rw-r--r--extra/python-aiohttp/PKGBUILD5
-rw-r--r--extra/python-ansible-compat/PKGBUILD2
-rw-r--r--extra/python-astropy/PKGBUILD7
-rw-r--r--extra/python-cachy/PKGBUILD1
-rw-r--r--extra/python-cmsis-pack-manager/PKGBUILD1
-rw-r--r--extra/python-datrie/PKGBUILD3
-rw-r--r--extra/python-django-allauth/PKGBUILD2
-rw-r--r--extra/python-gevent/PKGBUILD6
-rw-r--r--extra/python-hglib/PKGBUILD13
-rw-r--r--extra/python-httpx-ws/PKGBUILD4
-rw-r--r--extra/python-jaraco.envs/PKGBUILD14
-rw-r--r--extra/python-jaraco.itertools/PKGBUILD14
-rw-r--r--extra/python-jaraco.text/PKGBUILD14
-rw-r--r--extra/python-lupa/PKGBUILD2
-rw-r--r--extra/python-markupsafe/PKGBUILD2
-rw-r--r--extra/python-nose/PKGBUILD6
-rw-r--r--extra/python-numpy/PKGBUILD9
-rw-r--r--extra/python-openai/PKGBUILD1
-rw-r--r--extra/python-pendulum/PKGBUILD53
-rw-r--r--extra/python-pluggy/PKGBUILD3
-rw-r--r--extra/python-pyarrow/PKGBUILD2
-rw-r--r--extra/python-qdldl/0001-Fix-i686-builds.patch63
-rw-r--r--extra/python-qdldl/PKGBUILD5
-rw-r--r--extra/python-redis/PKGBUILD3
-rw-r--r--extra/python-rpds-py/PKGBUILD1
-rw-r--r--extra/python-scikit-learn/PKGBUILD7
-rw-r--r--extra/python-scipy/PKGBUILD9
-rw-r--r--extra/python-setuptools/PKGBUILD15
-rw-r--r--extra/python-shapely/PKGBUILD16
-rw-r--r--extra/python-snappy/PKGBUILD1
-rw-r--r--extra/python-tomli-w/PKGBUILD5
-rw-r--r--extra/python-tqdm/PKGBUILD4
-rw-r--r--extra/python-validate-pyproject/PKGBUILD1
-rw-r--r--extra/python-virtualenv/PKGBUILD15
-rw-r--r--extra/python-xcffib/PKGBUILD5
-rwxr-xr-xextra/python-xcffib/xcffibgen-custom33
-rw-r--r--extra/python-xmlsec/PKGBUILD7
-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/rapidfuzz-cpp/PKGBUILD7
-rw-r--r--extra/rathole/PKGBUILD1
-rw-r--r--extra/reaper/PKGBUILD10
-rw-r--r--extra/rebuilderd/PKGBUILD1
-rw-r--r--extra/repro-env/PKGBUILD1
-rw-r--r--extra/rhit/PKGBUILD1
-rw-r--r--extra/riff/PKGBUILD1
-rw-r--r--extra/rosenpass/PKGBUILD1
-rw-r--r--extra/rpg-cli/PKGBUILD1
-rw-r--r--extra/rq/PKGBUILD1
-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/PKGBUILD25
-rw-r--r--extra/rubygems/PKGBUILD1
-rw-r--r--extra/rust-analyzer/PKGBUILD1
-rw-r--r--extra/rust-script/PKGBUILD1
-rw-r--r--extra/rust/PKGBUILD10
-rw-r--r--extra/rust/config.toml.patch26
-rw-r--r--extra/rustic/PKGBUILD2
-rw-r--r--extra/samba/PKGBUILD25
-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-sop/PKGBUILD1
-rw-r--r--extra/sequoia-sq/PKGBUILD2
-rw-r--r--extra/sfizz/PKGBUILD1
-rw-r--r--extra/sheldon/PKGBUILD1
-rw-r--r--extra/skim/PKGBUILD1
-rw-r--r--extra/sn0int/PKGBUILD1
-rw-r--r--extra/sniffglue/PKGBUILD1
-rw-r--r--extra/socat/PKGBUILD2
-rw-r--r--extra/sonic/PKGBUILD1
-rw-r--r--extra/spicy-launcher/PKGBUILD1
-rw-r--r--extra/spotify-launcher/PKGBUILD1
-rw-r--r--extra/spotifyd/PKGBUILD1
-rw-r--r--extra/spytrap-adb/PKGBUILD1
-rw-r--r--extra/sssd/PKGBUILD3
-rw-r--r--extra/starship/PKGBUILD1
-rw-r--r--extra/stochas/PKGBUILD12
-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/systeroid/PKGBUILD1
-rw-r--r--extra/taskwarrior-tui/PKGBUILD1
-rw-r--r--extra/tealdeer/PKGBUILD1
-rw-r--r--extra/tere/PKGBUILD1
-rw-r--r--extra/texlive-bin/PKGBUILD1
-rw-r--r--extra/tickrs/PKGBUILD1
-rw-r--r--extra/tiled/PKGBUILD3
-rw-r--r--extra/tinysparql/PKGBUILD7
-rw-r--r--extra/tslib/PKGBUILD5
-rw-r--r--extra/typst/PKGBUILD13
-rw-r--r--extra/updlockfiles/PKGBUILD1
-rw-r--r--extra/uwsgi/PKGBUILD3
-rw-r--r--extra/viu/PKGBUILD1
-rw-r--r--extra/wasm-pack/PKGBUILD1
-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/wiki-tui/PKGBUILD1
-rw-r--r--extra/wireplumber/PKGBUILD42
-rw-r--r--extra/wolf-shaper/PKGBUILD1
-rw-r--r--extra/wpewebkit/PKGBUILD1
-rw-r--r--extra/xf86-video-nouveau/PKGBUILD1
-rw-r--r--extra/xf86-video-savage/.SRCINFO22
-rw-r--r--extra/xf86-video-savage/.nvchecker.toml8
-rw-r--r--extra/xf86-video-savage/PKGBUILD40
-rw-r--r--extra/xf86-video-savage/keys/pgp/4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E.asc59
-rw-r--r--extra/xf86-video-voodoo/PKGBUILD2
-rw-r--r--extra/xorg-server/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch54
-rw-r--r--extra/xorg-server/PKGBUILD15
-rw-r--r--extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch18
-rw-r--r--extra/yabridge/PKGBUILD1
-rw-r--r--extra/yazi/PKGBUILD2
-rw-r--r--extra/yubico-piv-tool/PKGBUILD9
-rw-r--r--extra/zbus_xmlgen/PKGBUILD1
-rw-r--r--extra/zenith/PKGBUILD1
-rw-r--r--extra/zola/PKGBUILD1
304 files changed, 2007 insertions, 541 deletions
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/acme-redirect/PKGBUILD b/extra/acme-redirect/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/acme-redirect/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/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/amdvlk/PKGBUILD b/extra/amdvlk/PKGBUILD
index 8c10a1e1..77bed939 100644
--- a/extra/amdvlk/PKGBUILD
+++ b/extra/amdvlk/PKGBUILD
@@ -1,3 +1,6 @@
+# Prevent OOM
+options=(!debug)
+
eval "$(
declare -f build \
| sed '
diff --git a/extra/anewer/PKGBUILD b/extra/anewer/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/anewer/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/angle-grinder/PKGBUILD b/extra/angle-grinder/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/angle-grinder/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/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/arti/PKGBUILD b/extra/arti/PKGBUILD
new file mode 100644
index 00000000..94d20857
--- /dev/null
+++ b/extra/arti/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug)
diff --git a/extra/at51/PKGBUILD b/extra/at51/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/at51/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/auth-tarball-from-git/PKGBUILD b/extra/auth-tarball-from-git/PKGBUILD
index 4898d5c6..6883ef75 100644
--- a/extra/auth-tarball-from-git/PKGBUILD
+++ b/extra/auth-tarball-from-git/PKGBUILD
@@ -1,8 +1 @@
-# patch architecture for fetching the right rust modules
-eval "$(
- declare -f prepare | \
- sed '
- s|$CARCH|i686|g
- '
-)"
-
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
diff --git a/extra/autotiling-rs/PKGBUILD b/extra/autotiling-rs/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/autotiling-rs/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/bacon/PKGBUILD b/extra/bacon/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/bacon/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/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/bingrep/PKGBUILD b/extra/bingrep/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/bingrep/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/binocle/PKGBUILD b/extra/binocle/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/binocle/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/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/bore/PKGBUILD b/extra/bore/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/bore/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/bottom/PKGBUILD b/extra/bottom/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/bottom/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/bupstash/PKGBUILD b/extra/bupstash/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/bupstash/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/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/cargo-binstall/PKGBUILD b/extra/cargo-binstall/PKGBUILD
new file mode 100644
index 00000000..d924e013
--- /dev/null
+++ b/extra/cargo-binstall/PKGBUILD
@@ -0,0 +1,9 @@
+options+=(!debug)
+
+# Compiling detect-wasi v1.0.0 (/build/cargo-binstall/src/cargo-binstall-1.6.7/crates/detect-wasi)
+#error[E0080]: evaluation of constant value failed
+# --> /build/.cargo/registry/src/index.crates.io-1cd66030c949c28d/compact_str-0.7.1/src/repr/mod.rs:79:13
+# |
+#79 | panic!("Inline string was too long, max length is `std::mem::size_of::<CompactString>()` bytes
+
+unset check
diff --git a/extra/cargo-edit/PKGBUILD b/extra/cargo-edit/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo-edit/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/cargo-pgrx/PKGBUILD b/extra/cargo-pgrx/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo-pgrx/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/cargo-sort/PKGBUILD b/extra/cargo-sort/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo-sort/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/cargo-supply-chain/PKGBUILD b/extra/cargo-supply-chain/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo-supply-chain/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/cargo-tarpaulin/PKGBUILD b/extra/cargo-tarpaulin/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo-tarpaulin/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/cargo2junit/PKGBUILD b/extra/cargo2junit/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cargo2junit/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/catch2/PKGBUILD b/extra/catch2/PKGBUILD
new file mode 100644
index 00000000..b28b04f6
--- /dev/null
+++ b/extra/catch2/PKGBUILD
@@ -0,0 +1,3 @@
+
+
+
diff --git a/extra/choose/PKGBUILD b/extra/choose/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/choose/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/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/clipcat/PKGBUILD b/extra/clipcat/PKGBUILD
new file mode 100644
index 00000000..94d20857
--- /dev/null
+++ b/extra/clipcat/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug)
diff --git a/extra/cmake/PKGBUILD b/extra/cmake/PKGBUILD
index 18217d41..2552462b 100644
--- a/extra/cmake/PKGBUILD
+++ b/extra/cmake/PKGBUILD
@@ -1,39 +1,47 @@
-# do not build in parallel on build slaves
-eval "$(
- declare -f build | \
- sed '
- s/--parallel=.*/--parallel=1/
- '
-)"
+# cmake requires expat but upstream don't seem to include it
+depends+=('expat')
-# ignore gui (for now, needs Qt6, which needs atomics)
-makedepends=(${makedepends[@]//qt6-base/})
-eval "$(
- declare -f build | \
- sed '
- s/--qt-gui//
- '
-)"
+if [[ $CARCH = 'i486' ]]; then
+ # do not build in parallel on build slaves
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--parallel=.*/--parallel=1/
+ '
+ )"
-# disable documentation (python is somewhat broken currently)
-makedepends=(${makedepends[@]//python-sphinx/})
-eval "$(
- declare -f build | \
- sed '
- s/--sphinx-man//
- s/--sphinx-html//
- '
- declare -f package | \
- sed '
- /html\/_sources/d
- '
-)"
+ # ignore gui (for now, needs Qt6, which needs atomics)
+ makedepends=(${makedepends[@]//qt6-base/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--qt-gui//
+ '
+ )"
-# emacs is broken currently
-makedepends=(${makedepends[@]//emacs/})
-eval "$(
- declare -f package | \
- sed '
- /emacs/d
- '
-)"
+ # disable documentation (python is somewhat broken currently)
+ makedepends=(${makedepends[@]//python-sphinx/})
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--sphinx-man//
+ s/--sphinx-html//
+ '
+ declare -f package | \
+ sed '
+ /html\/_sources/d
+ '
+ )"
+
+ # emacs is broken currently
+ makedepends=(${makedepends[@]//emacs/})
+ eval "$(
+ declare -f package | \
+ sed '
+ /emacs/d
+ '
+ )"
+fi
+
+# git checkout with checksum upstream, works maybe in pacman 7.0.0?
+sha512sums[0]='SKIP'
diff --git a/extra/cocogitto/PKGBUILD b/extra/cocogitto/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cocogitto/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/committed/PKGBUILD b/extra/committed/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/committed/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/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/cxxbridge/PKGBUILD b/extra/cxxbridge/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/cxxbridge/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/cython/PKGBUILD b/extra/cython/PKGBUILD
new file mode 100644
index 00000000..602c300e
--- /dev/null
+++ b/extra/cython/PKGBUILD
@@ -0,0 +1,26 @@
+# Suspect rounding errors
+#======================================================================
+#FAIL: cast_test (cpp_stl_any)
+#Doctest: cpp_stl_any.cast_test
+#----------------------------------------------------------------------
+#Traceback (most recent call last):
+# File "/usr/lib/python3.12/doctest.py", line 2249, in runTest
+# raise self.failureException(self.format_failure(new.getvalue()))
+#AssertionError: Failed doctest test for cpp_stl_any.cast_test
+# File "/build/cython/src/cython/TEST_TMP/35/run/cpp/cpp_stl_any/cpp_stl_any.cpython-312-i386-linux-gnu.so", line unknown line number, in cast_test
+#----------------------------------------------------------------------
+#File "/build/cython/src/cython/TEST_TMP/35/run/cpp/cpp_stl_any/cpp_stl_any.cpython-312-i386-linux-gnu.so", line ?, in cpp_stl_any.cast_test
+#Failed example:
+# cast_test()
+#Exception raised:
+# Traceback (most recent call last):
+# File "/usr/lib/python3.12/doctest.py", line 1361, in __run
+# exec(compile(example.source, filename, "single",
+# File "<doctest cpp_stl_any.cast_test[0]>", line 1, in <module>
+# cast_test()
+# File "tests/run/cpp_stl_any.pyx", line 44, in cpp_stl_any.cast_test (cpp_stl_any.cpp:2901)
+# assert any_cast[double](a) == 3.14
+# AssertionError
+
+unset check
+unset checkdepends
diff --git a/extra/diesel-cli/PKGBUILD b/extra/diesel-cli/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/diesel-cli/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/diskonaut/PKGBUILD b/extra/diskonaut/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/diskonaut/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/dmd/PKGBUILD b/extra/dmd/PKGBUILD
index 890baa0d..8b137891 100644
--- a/extra/dmd/PKGBUILD
+++ b/extra/dmd/PKGBUILD
@@ -1,2 +1 @@
-# llvm10 for now
-makedepends+=("llvm10")
+
diff --git a/extra/docbook-xml/PKGBUILD b/extra/docbook-xml/PKGBUILD
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/extra/docbook-xml/PKGBUILD
diff --git a/extra/dog/PKGBUILD b/extra/dog/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/dog/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/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/dscanner/PKGBUILD b/extra/dscanner/PKGBUILD
new file mode 100644
index 00000000..5b480531
--- /dev/null
+++ b/extra/dscanner/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f prepare | sed '3iexport LDFLAGS="${LDFLAGS/-Wl,--sort-common/}"; export LDFLAGS="${LDFLAGS/-Wl,--as-needed/}"')"
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/dysk/PKGBUILD b/extra/dysk/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/dysk/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/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/elf2nucleus/PKGBUILD b/extra/elf2nucleus/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/elf2nucleus/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/erdtree/PKGBUILD b/extra/erdtree/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/erdtree/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/eva/PKGBUILD b/extra/eva/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/eva/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/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/firecracker/PKGBUILD b/extra/firecracker/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/firecracker/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/flip-link/PKGBUILD b/extra/flip-link/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/flip-link/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/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/gcc13/PKGBUILD
index e27c5506..82823927 100644
--- a/extra/gcc12/PKGBUILD
+++ b/extra/gcc13/PKGBUILD
@@ -17,17 +17,25 @@ eval "$(
/configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/,
/configure/ s/;$/ --build=$CHOST;/
'
- declare -f package_gcc11-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_gcc11 | \
+ declare -f package_gcc13 | \
sed '
s/"lib32-gcc-libs[^"]*"//g
s@make.*tsan.*install@#\0@
'
+ declare -f package_gcc13-ada | \
+ sed '
+ \,cd .*/32/libada,{
+ N
+ d
+ }
+ '
)"
eval "$(
for name in "${pkgname[@]}"; do
@@ -49,19 +57,19 @@ makedepends_i686+=('gcc-ada')
makedepends_pentium4+=('gcc-ada')
if [ "${CARCH}" = "i486" ]; then
- package_gcc11-ada() {
+ package_gcc13-ada() {
touch "$pkgdir/this-is-a-dummy-package"
}
eval "$(
declare -f build | \
sed '
- /enable-languages/ s/,ada//
+ /enable-languages/ s/ada,//
'
)"
eval "$(
- declare -f package_gcc11 | \
+ declare -f package_gcc13 | \
sed '
s/,gnat-style,gnat_rm,gnat_ugn//
'
@@ -74,30 +82,12 @@ 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_gcc11-libs | \
+ declare -f package_gcc13-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/})
@@ -113,7 +103,7 @@ if [ "${CARCH}" = "i486" ]; then
s/--enable-lto/--disable-lto/
s/--with-build-config=bootstrap-lto//
'
- declare -f package_gcc11 | \
+ declare -f package_gcc13 | \
sed '
/make.*lto-plugin.*install/d
/ln.*liblto_plugin.so/d
@@ -121,5 +111,20 @@ if [ "${CARCH}" = "i486" ]; then
)"
fi
-# tons of stuff fails anyway
-unset check
+# testing on 486 VMs takes too long and runs in virtual memory exhaustion
+if [ "${CARCH}" = "i486" ]; then
+ unset check
+fi
+
+# disable CET on all subarchitectures (Control Flow instructions endbr32/enbr64)
+eval "$(
+ declare -f build | \
+ sed '
+ 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/giflib/PKGBUILD b/extra/giflib/PKGBUILD
new file mode 100644
index 00000000..eee0df51
--- /dev/null
+++ b/extra/giflib/PKGBUILD
@@ -0,0 +1,8 @@
+# failing tests
+eval "$(
+ declare -f check | \
+ sed '
+ s/make check/make check || true/
+ '
+)"
+
diff --git a/extra/git-delta/PKGBUILD b/extra/git-delta/PKGBUILD
new file mode 100644
index 00000000..774cb0b9
--- /dev/null
+++ b/extra/git-delta/PKGBUILD
@@ -0,0 +1,3 @@
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
+unset check
+unset checkdepends
diff --git a/extra/git-grab/PKGBUILD b/extra/git-grab/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/git-grab/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/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/gitlab-exporter/PKGBUILD b/extra/gitlab-exporter/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/gitlab-exporter/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/gitoxide/PKGBUILD b/extra/gitoxide/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/gitoxide/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/gitu/PKGBUILD b/extra/gitu/PKGBUILD
new file mode 100644
index 00000000..6403c888
--- /dev/null
+++ b/extra/gitu/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+unset checkdepends
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/grcov/PKGBUILD b/extra/grcov/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/grcov/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/greetd-regreet/PKGBUILD b/extra/greetd-regreet/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/greetd-regreet/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/greetd-tuigreet/PKGBUILD b/extra/greetd-tuigreet/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/greetd-tuigreet/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/greetd/PKGBUILD b/extra/greetd/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/greetd/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/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/halp/PKGBUILD b/extra/halp/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/halp/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/hck/PKGBUILD b/extra/hck/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/hck/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/htmlq/PKGBUILD b/extra/htmlq/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/htmlq/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/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/hyperfine/PKGBUILD b/extra/hyperfine/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/hyperfine/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/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/igrep/PKGBUILD b/extra/igrep/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/igrep/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/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/itstool/PKGBUILD b/extra/itstool/PKGBUILD
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/extra/itstool/PKGBUILD
@@ -0,0 +1 @@
+
diff --git a/extra/jless/PKGBUILD b/extra/jless/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/jless/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/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/jwt-cli/PKGBUILD b/extra/jwt-cli/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/jwt-cli/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/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/ldc/PKGBUILD b/extra/ldc/PKGBUILD
index a14218b2..0c8571cd 100644
--- a/extra/ldc/PKGBUILD
+++ b/extra/ldc/PKGBUILD
@@ -1,2 +1,2 @@
-# temporary workaround for building next version
-makedepends+=(llvm10-libs)
+makedepends=("${makedepends[@]/ldc/gdmd}")
+eval "$(declare -f build | sed 's@-DD_COMPILER_FLAGS=@-DIGNOREME=@;s@-DADDITIONAL_DEFAULT_LDC_SWITCHES=@-DIGNOREME=@')"
diff --git a/extra/ldproxy/PKGBUILD b/extra/ldproxy/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ldproxy/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/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/libetebase/PKGBUILD b/extra/libetebase/PKGBUILD
index b6a28306..6883ef75 100644
--- a/extra/libetebase/PKGBUILD
+++ b/extra/libetebase/PKGBUILD
@@ -1,2 +1 @@
-# cargo/rust is still lined against openssl 1.1
-makedepends+=(openssl-1.1)
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
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/librdkafka/PKGBUILD b/extra/librdkafka/PKGBUILD
new file mode 100644
index 00000000..76d1fc9d
--- /dev/null
+++ b/extra/librdkafka/PKGBUILD
@@ -0,0 +1,2 @@
+# Fails to build with LTO
+options+=(!lto)
diff --git a/extra/libredefender/PKGBUILD b/extra/libredefender/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/libredefender/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/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/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/lurk/PKGBUILD b/extra/lurk/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/lurk/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/mastodon-twitter-sync/PKGBUILD b/extra/mastodon-twitter-sync/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/mastodon-twitter-sync/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/maturin/PKGBUILD b/extra/maturin/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/maturin/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/mdbook-linkcheck/PKGBUILD b/extra/mdbook-linkcheck/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/mdbook-linkcheck/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/mdcat/PKGBUILD b/extra/mdcat/PKGBUILD
new file mode 100644
index 00000000..9fcda81b
--- /dev/null
+++ b/extra/mdcat/PKGBUILD
@@ -0,0 +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/menyoki/PKGBUILD b/extra/menyoki/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/menyoki/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/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-python/PKGBUILD b/extra/meson-python/PKGBUILD
new file mode 100644
index 00000000..6403c888
--- /dev/null
+++ b/extra/meson-python/PKGBUILD
@@ -0,0 +1,2 @@
+unset check
+unset checkdepends
diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD
index 5e49a967..0f009bb1 100644
--- a/extra/meson/PKGBUILD
+++ b/extra/meson/PKGBUILD
@@ -16,12 +16,3 @@ checkdepends_pentium4=("${checkdepends_i686[@]}")
# still far too many tests fail, ignoring for now
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
diff --git a/extra/meson/arch-meson b/extra/meson/arch-meson
deleted file mode 100755
index fac70e6a..00000000
--- a/extra/meson/arch-meson
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash -ex
-# Highly opinionated wrapper for Arch Linux packaging
-
-CARCH=$(. /etc/makepkg.conf; echo $CARCH)
-
-if [ "${CARCH}" = "i486" ]; then
- LTO="b_lto=false"
-else
- LTO="b_lto=true"
-fi
-
-exec 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/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
new file mode 100644
index 00000000..63927ac4
--- /dev/null
+++ b/extra/nanobind/PKGBUILD
@@ -0,0 +1,5 @@
+# We do not build these
+checkdepends=(${checkdepends[@]//python-pytorch/})
+checkdepends=(${checkdepends[@]//python-tensorflow/})
+
+unset check
diff --git a/extra/nautilus/PKGBUILD b/extra/nautilus/PKGBUILD
new file mode 100644
index 00000000..29f1e285
--- /dev/null
+++ b/extra/nautilus/PKGBUILD
@@ -0,0 +1,3 @@
+# Tests hang...
+unset check
+unset checkdepends
diff --git a/extra/ncspot/PKGBUILD b/extra/ncspot/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ncspot/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/netavark/PKGBUILD b/extra/netavark/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/netavark/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/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/nickel/PKGBUILD b/extra/nickel/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/nickel/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/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/onetbb/PKGBUILD b/extra/onetbb/PKGBUILD
index c8838aef..e72e43ae 100644
--- a/extra/onetbb/PKGBUILD
+++ b/extra/onetbb/PKGBUILD
@@ -1,3 +1,4 @@
+unset check
# -latomic on i486
if [ "$CARCH" == 'i486' ]; then
eval "$(
diff --git a/extra/openblas/PKGBUILD b/extra/openblas/PKGBUILD
new file mode 100644
index 00000000..769c1efa
--- /dev/null
+++ b/extra/openblas/PKGBUILD
@@ -0,0 +1,3 @@
+# build64 avx tests fail
+unset check
+unset checkdepends
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-cryptid/PKGBUILD b/extra/ot-cryptid/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ot-cryptid/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-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/ot-urchin/PKGBUILD b/extra/ot-urchin/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/ot-urchin/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/paccat/PKGBUILD b/extra/paccat/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/paccat/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/pacman-bintrans/PKGBUILD b/extra/pacman-bintrans/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/pacman-bintrans/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/pastel/PKGBUILD b/extra/pastel/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/pastel/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/pngquant/PKGBUILD b/extra/pngquant/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/pngquant/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/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/progpick/PKGBUILD b/extra/progpick/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/progpick/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/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/prometheus-wireguard-exporter/PKGBUILD b/extra/prometheus-wireguard-exporter/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/prometheus-wireguard-exporter/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/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/pyflow/PKGBUILD b/extra/pyflow/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/pyflow/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/python-aiohttp/PKGBUILD b/extra/python-aiohttp/PKGBUILD
new file mode 100644
index 00000000..ffd0add2
--- /dev/null
+++ b/extra/python-aiohttp/PKGBUILD
@@ -0,0 +1,5 @@
+makedepends=(${makedepends[@]//npm/})
+eval "$(declare -f build | sed 's@make .*@export AIOHTTP_NO_EXTENSIONS=1@')"
+# check needs rewriting to work without cython
+unset check
+unset checkdepends
diff --git a/extra/python-ansible-compat/PKGBUILD b/extra/python-ansible-compat/PKGBUILD
new file mode 100644
index 00000000..94d4da61
--- /dev/null
+++ b/extra/python-ansible-compat/PKGBUILD
@@ -0,0 +1,2 @@
+unset sha256sums
+b2sums=(SKIP)
diff --git a/extra/python-astropy/PKGBUILD b/extra/python-astropy/PKGBUILD
new file mode 100644
index 00000000..c6ea8ecb
--- /dev/null
+++ b/extra/python-astropy/PKGBUILD
@@ -0,0 +1,7 @@
+# Temporary hack for gcc14
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
+ '
+)"
diff --git a/extra/python-cachy/PKGBUILD b/extra/python-cachy/PKGBUILD
new file mode 100644
index 00000000..d16da0df
--- /dev/null
+++ b/extra/python-cachy/PKGBUILD
@@ -0,0 +1 @@
+makedepends+=(python-setuptools)
diff --git a/extra/python-cmsis-pack-manager/PKGBUILD b/extra/python-cmsis-pack-manager/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/python-cmsis-pack-manager/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/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-django-allauth/PKGBUILD b/extra/python-django-allauth/PKGBUILD
new file mode 100644
index 00000000..76ea37b6
--- /dev/null
+++ b/extra/python-django-allauth/PKGBUILD
@@ -0,0 +1,2 @@
+b2sums=(SKIP)
+unset sha512sums
diff --git a/extra/python-gevent/PKGBUILD b/extra/python-gevent/PKGBUILD
new file mode 100644
index 00000000..9a367660
--- /dev/null
+++ b/extra/python-gevent/PKGBUILD
@@ -0,0 +1,6 @@
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
+ '
+)"
diff --git a/extra/python-hglib/PKGBUILD b/extra/python-hglib/PKGBUILD
index 2064f1d3..c50a43a1 100644
--- a/extra/python-hglib/PKGBUILD
+++ b/extra/python-hglib/PKGBUILD
@@ -1,11 +1,2 @@
-#Traceback (most recent call last):
-# File "/build/python-hglib/src/python-hglib-2.6.2/test.py", line 3, in <module>
-# import nose
-# File "/usr/lib/python3.10/site-packages/nose/__init__.py", line 1, in <module>
-# from nose.core import collector, main, run, run_exit, runmodule
-# File "/usr/lib/python3.10/site-packages/nose/core.py", line 153
-# print "%s version %s" % (os.path.basename(sys.argv[0]), __version__)
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
-unset check
-unset checkdepends
+# setuptools won't be installed if we don't use checkdepends, so add it manually
+depends+=('python-setuptools')
diff --git a/extra/python-httpx-ws/PKGBUILD b/extra/python-httpx-ws/PKGBUILD
new file mode 100644
index 00000000..67c43304
--- /dev/null
+++ b/extra/python-httpx-ws/PKGBUILD
@@ -0,0 +1,4 @@
+# Tests hang at:
+# tests/test_api.py::TestSend::test_send[asyncio-websockets]
+unset check
+unset checkdepends
diff --git a/extra/python-jaraco.envs/PKGBUILD b/extra/python-jaraco.envs/PKGBUILD
index 5e723f0a..6403c888 100644
--- a/extra/python-jaraco.envs/PKGBUILD
+++ b/extra/python-jaraco.envs/PKGBUILD
@@ -1,14 +1,2 @@
-# This works around
-#File "/usr/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 284, in __setitem__
-# current_value = getattr(target_obj, option_name)
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#AttributeError: 'MinimalDistribution' object has no attribute 'entry_points'
-
-eval "$(
- declare -f build | \
- sed '
- s/--no-isolation//
- '
-)"
-
unset check
+unset checkdepends
diff --git a/extra/python-jaraco.itertools/PKGBUILD b/extra/python-jaraco.itertools/PKGBUILD
index 5e723f0a..6403c888 100644
--- a/extra/python-jaraco.itertools/PKGBUILD
+++ b/extra/python-jaraco.itertools/PKGBUILD
@@ -1,14 +1,2 @@
-# This works around
-#File "/usr/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 284, in __setitem__
-# current_value = getattr(target_obj, option_name)
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#AttributeError: 'MinimalDistribution' object has no attribute 'entry_points'
-
-eval "$(
- declare -f build | \
- sed '
- s/--no-isolation//
- '
-)"
-
unset check
+unset checkdepends
diff --git a/extra/python-jaraco.text/PKGBUILD b/extra/python-jaraco.text/PKGBUILD
index 5e723f0a..6403c888 100644
--- a/extra/python-jaraco.text/PKGBUILD
+++ b/extra/python-jaraco.text/PKGBUILD
@@ -1,14 +1,2 @@
-# This works around
-#File "/usr/lib/python3.11/site-packages/setuptools/config/setupcfg.py", line 284, in __setitem__
-# current_value = getattr(target_obj, option_name)
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#AttributeError: 'MinimalDistribution' object has no attribute 'entry_points'
-
-eval "$(
- declare -f build | \
- sed '
- s/--no-isolation//
- '
-)"
-
unset check
+unset checkdepends
diff --git a/extra/python-lupa/PKGBUILD b/extra/python-lupa/PKGBUILD
new file mode 100644
index 00000000..f93a0a4c
--- /dev/null
+++ b/extra/python-lupa/PKGBUILD
@@ -0,0 +1,2 @@
+eval "$(declare -f build | sed 's@\$CARCH@i686@')"
+eval "$(declare -f check | sed 's@\$CARCH@i686@')"
diff --git a/extra/python-markupsafe/PKGBUILD b/extra/python-markupsafe/PKGBUILD
deleted file mode 100644
index 46d0cae8..00000000
--- a/extra/python-markupsafe/PKGBUILD
+++ /dev/null
@@ -1,2 +0,0 @@
-# For now, git+https and sources.archlinux32.org somehow broken!?
-sha512sums[0]='SKIP'
diff --git a/extra/python-nose/PKGBUILD b/extra/python-nose/PKGBUILD
new file mode 100644
index 00000000..aeadc948
--- /dev/null
+++ b/extra/python-nose/PKGBUILD
@@ -0,0 +1,6 @@
+if [[ ${source[1]} == *.asc ]]; then
+ unset 'source[1]'
+ unset 'sha512sums[1]'
+ source=(${source[@]})
+ sha512sums=(${sha512sums[@]})
+fi
diff --git a/extra/python-numpy/PKGBUILD b/extra/python-numpy/PKGBUILD
index 6e15ddae..b760a5ae 100644
--- a/extra/python-numpy/PKGBUILD
+++ b/extra/python-numpy/PKGBUILD
@@ -3,15 +3,20 @@ if [ "${CARCH}" = "i486" -o "${CARCH}" = "i686" ]; then
eval "$(
declare -f build | \
sed '
- s|python setup.py build|python setup.py build --cpu-baseline=NONE --cpu-dispatch=NONE|
+ s|python -m build|python -m build -Csetup-args=-Dcpu-baseline=NONE -Csetup-args=-Dcpu-dispatch=NONE|
'
)"
fi
+
if [ "${CARCH}" = "pentium4" ]; then
eval "$(
declare -f build | \
sed '
- s|python setup.py build|python setup.py build --cpu-baseline=NONE --cpu-dispatch=SSE,SSE2|
+ s|python -m build|python -m build -Csetup-args=-Dcpu-baseline=NONE -Csetup-args=-Dcpu-dispatch=SSE,SSE2|
'
)"
fi
+
+prepare() {
+ sed -i 's@meson-python>=0.15.0,<0.16.0@meson-python>=0.15.0@' numpy-$pkgver/pyproject.toml || true
+}
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-pendulum/PKGBUILD b/extra/python-pendulum/PKGBUILD
new file mode 100644
index 00000000..91b2edb8
--- /dev/null
+++ b/extra/python-pendulum/PKGBUILD
@@ -0,0 +1,53 @@
+# pendulum 3 doesn't build under 32 bit for now, so force 2.1.2
+# Maintainer: David Runge <dvzrv@archlinux.org>
+
+_name=pendulum
+pkgname=python-pendulum
+pkgver_real=2.1.2
+#pkgrel=$((8+$pkgrel))
+pkgver=3.0.0
+pkgrel=2
+pkgdesc="Python datetimes made easy"
+arch=(x86_64)
+url="https://pendulum.eustace.io/"
+license=(MIT)
+depends=(
+ python
+ python-dateutil
+ python-pytzdata
+)
+makedepends=(
+ python-build
+ python-installer
+ python-poetry-core
+ python-wheel
+ python-setuptools
+)
+checkdepends=(
+ python-babel
+ python-freezegun
+ python-pytest
+ python-pytz
+)
+source=($pkgname-$pkgver_real.tar.gz::https://github.com/sdispater/$_name/archive/$pkgver_real.tar.gz)
+sha512sums=('c367320ade0d10b7eb9c880286176161b925d7df052f7de85ddd169594bbe778776ea74df451f00186df98be3e32b7399c68ca4b40123e2c456206410e3a1ab2')
+b2sums=('c95cd131fc95a0d19ef11f180cc42126cb8a6ea3aaf4b3bbedbc5ce4c1b37a6624f2a1be92f1a6fd6b1f14f5d20fa5f32e8230f896ab7a216f02f00e85b98738')
+
+build() {
+ cd $_name-$pkgver_real
+ # NOTE: calling pyproject-build as we otherwise call the project's build.py script:
+ # https://github.com/sdispater/pendulum/issues/665
+ pyproject-build --wheel --no-isolation
+}
+
+check() {
+ cd $_name-$pkgver_real
+ pytest -vv
+}
+
+package() {
+ cd $_name-$pkgver_real
+ python -m installer --destdir="$pkgdir" dist/*.whl
+ install -vDm 644 {CHANGELOG.md,README.rst} -t "$pkgdir/usr/share/doc/$pkgname/"
+ install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
+}
diff --git a/extra/python-pluggy/PKGBUILD b/extra/python-pluggy/PKGBUILD
index 918fa25a..5906d9c8 100644
--- a/extra/python-pluggy/PKGBUILD
+++ b/extra/python-pluggy/PKGBUILD
@@ -5,6 +5,3 @@
# or: setup.py cmd --help
unset checkdepends
unset check
-
-makedepends+=(python-setuptools python-pip python-wheel)
-
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
new file mode 100644
index 00000000..e2a25c26
--- /dev/null
+++ b/extra/python-qdldl/PKGBUILD
@@ -0,0 +1,5 @@
+# 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-rpds-py/PKGBUILD b/extra/python-rpds-py/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/python-rpds-py/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/python-scikit-learn/PKGBUILD b/extra/python-scikit-learn/PKGBUILD
new file mode 100644
index 00000000..c6ea8ecb
--- /dev/null
+++ b/extra/python-scikit-learn/PKGBUILD
@@ -0,0 +1,7 @@
+# Temporary hack for gcc14
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
+ '
+)"
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 63552ad5..a0969d24 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'
+sha512sums[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 | \
@@ -28,13 +27,15 @@ eval "$(
declare -f package | \
sed -r 's/cd setuptools;?$/cd setuptools-$pkgver/'
)"
+eval "$(
+ declare -f check | \
+ sed -r 's/cd setuptools;?$/cd setuptools-$pkgver/'
+)"
-# Skip the last two patches.
+# Skip the last patch as it doesn't apply
eval "$(
declare -f prepare | \
- sed '/add-dependency.patch/d' | sed '/build-no-isolation.patch/d'
+ sed '/add-dependency.patch/d'
)"
-# Don't bother with the tests.
unset check
-unset checkdepends
diff --git a/extra/python-shapely/PKGBUILD b/extra/python-shapely/PKGBUILD
index 14ce07a9..c45e9935 100644
--- a/extra/python-shapely/PKGBUILD
+++ b/extra/python-shapely/PKGBUILD
@@ -1,16 +1,8 @@
-# temporary fix for:
-# - https://github.com/Toblerity/Shapely/pull/762
-#
-# which caused:
-# - https://community.ultimaker.com/topic/29721-archlinux32-cura-341/?_fromLogin=1#replyForm
-#
-source+=(load_dll_c.patch)
-sha512sums+=('6dee4823b76d5057beaed09e9ed529d03a9f76141598a4038f3c51cbca828b1f3e9203a25dab91ee1ff31fee2bf2781d6171dc662f5aa1715c9d5296f8607c60')
-
+# Temporary hack for gcc14
eval "$(
- declare -f prepare | \
+ declare -f build | \
sed '
- $ i cd Shapely-$pkgver && patch -p1 -i "$srcdir/load_dll_c.patch"
+ 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
'
)"
@@ -18,6 +10,6 @@ eval "$(
eval "$(
declare -f check | \
sed '
- /.*py.test/s/\$CARCH/i686/
+ s/x86_64/i686/
'
)"
diff --git a/extra/python-snappy/PKGBUILD b/extra/python-snappy/PKGBUILD
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/extra/python-snappy/PKGBUILD
@@ -0,0 +1 @@
+
diff --git a/extra/python-tomli-w/PKGBUILD b/extra/python-tomli-w/PKGBUILD
index 5f84d4e8..8b137891 100644
--- a/extra/python-tomli-w/PKGBUILD
+++ b/extra/python-tomli-w/PKGBUILD
@@ -1,6 +1 @@
-# boostrapping python modules
-# no testing no test or optional dependencies
-unset check
-unset checkdepends
-unset optdepends
diff --git a/extra/python-tqdm/PKGBUILD b/extra/python-tqdm/PKGBUILD
index b7329924..d02a290a 100644
--- a/extra/python-tqdm/PKGBUILD
+++ b/extra/python-tqdm/PKGBUILD
@@ -9,3 +9,7 @@ eval "$(
/cp/ i pushd ${srcdir}/tqdm-$pkgver && patch -Np1 -i "${srcdir}"/tqdm-4.22.0-sleep-test-workaround.patch && popd
'
)"
+
+# Check depends on python-keras which depends on tensorflow
+unset check
+unset checkdepends
diff --git a/extra/python-validate-pyproject/PKGBUILD b/extra/python-validate-pyproject/PKGBUILD
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/extra/python-validate-pyproject/PKGBUILD
@@ -0,0 +1 @@
+
diff --git a/extra/python-virtualenv/PKGBUILD b/extra/python-virtualenv/PKGBUILD
index 2b54ed99..8b137891 100644
--- a/extra/python-virtualenv/PKGBUILD
+++ b/extra/python-virtualenv/PKGBUILD
@@ -1,14 +1 @@
-# breaking the cycle with python-spinx
-makedepends=(${makedepends[@]/python-sphinx_rtd_theme})
-makedepends=(${makedepends[@]/python-sphinx-argparse})
-makedepends=(${makedepends[@]/python-sphinx})
-eval "$(
- declare -f build | \
- sed '
- s/sphinx-build/true/
- '
- declare -f package | \
- sed '
- /virtualenv\.1/d
- '
-)"
+
diff --git a/extra/python-xcffib/PKGBUILD b/extra/python-xcffib/PKGBUILD
new file mode 100644
index 00000000..a27ac98c
--- /dev/null
+++ b/extra/python-xcffib/PKGBUILD
@@ -0,0 +1,5 @@
+source+=('xcffibgen-custom')
+sha512sums+=('9743d6edbd878a9d8896fb693c6847fedfcbc4324a575e4df4e833db09282791e362b51d4b07621674920a43b14c59d193409ab3d3e759cf48f5fa59fa871410')
+makedepends=(${makedepends[@]//haskell-xcffib/})
+makedepends+=('archlinux-keyring' 'pacman')
+eval "$(declare -f build | sed 's@GEN=xcffibgen@GEN="../xcffibgen-custom $pkgver-$pkgrel"@')"
diff --git a/extra/python-xcffib/xcffibgen-custom b/extra/python-xcffib/xcffibgen-custom
new file mode 100755
index 00000000..9e23f120
--- /dev/null
+++ b/extra/python-xcffib/xcffibgen-custom
@@ -0,0 +1,33 @@
+#!/usr/bin/env -S bash -x
+mirror='http://ftp.otenet.gr/linux/archlinux'
+
+# Strip arch32 specific part of the version string
+version="${1%.*}"
+shift
+
+while [[ $# -gt 0 ]]; do
+ if [[ $1 == '--output' ]]; then
+ output="$2"
+ shift
+ shift
+ elif [[ $1 == '--input' ]]; then
+ input="$2"
+ shift
+ shift
+ fi
+done
+
+curl --fail -O "${mirror}/extra/os/x86_64/python-xcffib-${version}-any.pkg.tar.zst"
+curl --fail -O "${mirror}/extra/os/x86_64/python-xcffib-${version}-any.pkg.tar.zst.sig"
+
+if pacman-key -v "python-xcffib-${version}-any.pkg.tar.zst.sig" "python-xcffib-${version}-any.pkg.tar.zst"; then
+ tar -xf "python-xcffib-${version}-any.pkg.tar.zst"
+
+ pyver=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
+ tarpath="usr/lib/python${pyver}/site-packages/xcffib/"
+
+ mapfile -t files < <(find "$input" -type f -name '*.xml' -printf "${tarpath}%f\n" | sed 's/xml$/py/')
+
+ mkdir -p "$output"
+ cp "${files[@]}" "$output" || true
+fi
diff --git a/extra/python-xmlsec/PKGBUILD b/extra/python-xmlsec/PKGBUILD
new file mode 100644
index 00000000..c6ea8ecb
--- /dev/null
+++ b/extra/python-xmlsec/PKGBUILD
@@ -0,0 +1,7 @@
+# Temporary hack for gcc14
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CFLAGS="-Wno-incompatible-pointer-types $CFLAGS"
+ '
+)"
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/rapidfuzz-cpp/PKGBUILD b/extra/rapidfuzz-cpp/PKGBUILD
new file mode 100644
index 00000000..fd726d49
--- /dev/null
+++ b/extra/rapidfuzz-cpp/PKGBUILD
@@ -0,0 +1,7 @@
+# Temporary hack for gcc14
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i CXXFLAGS="$CXXFLAGS -Wno-error=conversion -Wno-error=sign-conversion -Wno-error=overflow"
+ '
+)"
diff --git a/extra/rathole/PKGBUILD b/extra/rathole/PKGBUILD
index 82610227..86ebb12b 100644
--- a/extra/rathole/PKGBUILD
+++ b/extra/rathole/PKGBUILD
@@ -1,3 +1,4 @@
# stalls build slaves with:
# "May 01 21:45:56.117 ERROR rathole::server: Failed to do transport handshake: error:0A000415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expired:ssl/record/rec_layer_s3.c:1605:SSL alert number 45: error:0A000415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expired:ssl/record/rec_layer_s3.c:1605:SSL alert number 45"
unset check
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
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/rebuilderd/PKGBUILD b/extra/rebuilderd/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rebuilderd/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/repro-env/PKGBUILD b/extra/repro-env/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/repro-env/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/rhit/PKGBUILD b/extra/rhit/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rhit/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/riff/PKGBUILD b/extra/riff/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/riff/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/rosenpass/PKGBUILD b/extra/rosenpass/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rosenpass/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/rpg-cli/PKGBUILD b/extra/rpg-cli/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rpg-cli/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/rq/PKGBUILD b/extra/rq/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rq/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/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 2ee10842..8408153f 100644
--- a/extra/ruby/PKGBUILD
+++ b/extra/ruby/PKGBUILD
@@ -1,3 +1,6 @@
+# Hack
+eval "$(declare -f build | sed 's@./configure@./configure --with-search-path=/usr/lib/ruby/${pkgver:0:3}.0/x86-linux@')"
+
# patch architecture in helper shared libs
if [ "${CARCH}" = "pentium4" -o "${CARCH}" = "i686" ]; then
eval "$(
@@ -15,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/rust-analyzer/PKGBUILD b/extra/rust-analyzer/PKGBUILD
new file mode 100644
index 00000000..94d20857
--- /dev/null
+++ b/extra/rust-analyzer/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug)
diff --git a/extra/rust-script/PKGBUILD b/extra/rust-script/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/rust-script/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/rust/PKGBUILD b/extra/rust/PKGBUILD
index 14ddf770..7066b7eb 100644
--- a/extra/rust/PKGBUILD
+++ b/extra/rust/PKGBUILD
@@ -6,12 +6,12 @@
# see https://github.com/rust-lang/rust/issues/60294
source+=(config.toml.patch)
-b2sums+=('916e62176ff8f943428532c28ec31632c153db5a9e906ae7a45df88cac72d437d23a56eb05e915ea2b2f524ac96d0b9ff8c106ed82572f7ed3324ded3fcf5a74')
+b2sums+=('b438042bad72f2952b135a46ca7353b0f333f58b7e5658e0f08fed75eba5095407aca479cbd6911fbaf2aa26482dce047293cf7114ace537b15acc8f10223551')
eval "$(
declare -f prepare | \
sed '
- $ i patch -p1 -i "$srcdir/config.toml.patch"
+ $ i patch -p0 -i "$srcdir/config.toml.patch"
'
)"
@@ -68,6 +68,7 @@ pkgname=(
)
)
makedepends=(${makedepends[@]//lib32-gcc-libs/})
+makedepends=(${makedepends[@]//lib32-glibc/})
# Enable on demand, if your previous rust is broken use previous version
# from build-support (this is preferable to using rust-bin below, but
@@ -77,8 +78,9 @@ makedepends=(${makedepends[@]//lib32-gcc-libs/})
# Enable on demand, if your previous rust is broken use previous version
# from build-support
-makedepends=(${makedepends[@]//rust/})
-makedepends+=('rust176-bin')
+#makedepends=(${makedepends[@]//rust/})
+#makedepends+=('rust176-bin')
# Do not run out of memory linking LLVM
options+=(!debug)
+
diff --git a/extra/rust/config.toml.patch b/extra/rust/config.toml.patch
index 20b8e24b..c002cff6 100644
--- a/extra/rust/config.toml.patch
+++ b/extra/rust/config.toml.patch
@@ -1,11 +1,6 @@
---- a/config.toml 2024-03-12 15:14:24.314876558 +0000
-+++ b/config.toml 2024-03-20 14:09:23.793371221 +0000
-@@ -3,14 +3,15 @@
-
- [llvm]
- link-shared = true
-+link-jobs = 1
-+use-linker = "bfd"
+--- config.toml.orig 2024-05-06 00:02:38.463811257 +0000
++++ config.toml 2024-05-06 00:57:21.364799544 +0000
+@@ -6,9 +6,8 @@
[build]
target = [
@@ -14,21 +9,18 @@
- "x86_64-unknown-linux-musl",
+ "i686-unknown-linux-musl",
"wasm32-unknown-unknown",
-- "wasm32-wasi",
-+ "wasm32-wasi"
+ "wasm32-wasi",
]
- cargo = "/usr/bin/cargo"
- rustc = "/usr/bin/rustc"
-@@ -37,7 +38,7 @@
- prefix = "/usr"
-
+@@ -39,7 +38,7 @@
[rust]
+ codegen-units-std = 1
+ debuginfo-level = 1
-debuginfo-level-std = 2
-+debuginfo-level-std = 0
++debuginfo-level-std = 1
channel = "stable"
description = "Arch Linux :-"
rpath = false
-@@ -74,7 +75,7 @@
+@@ -65,7 +64,7 @@
ar = "/usr/bin/gcc-ar"
ranlib = "/usr/bin/gcc-ranlib"
diff --git a/extra/rustic/PKGBUILD b/extra/rustic/PKGBUILD
new file mode 100644
index 00000000..bc018d83
--- /dev/null
+++ b/extra/rustic/PKGBUILD
@@ -0,0 +1,2 @@
+options+=(!debug)
+eval "$(declare -f build | sed 's@CARGO_PROFILE_RELEASE_DEBUG=[0-9]@CARGO_PROFILE_RELEASE_DEBUG=0@;s@CARGO_PROFILE_RELEASE_STRIP=false@CARGO_PROFILE_RELEASE_STRIP=true@')"
diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD
index d288fca1..79f56e4d 100644
--- a/extra/samba/PKGBUILD
+++ b/extra/samba/PKGBUILD
@@ -1,17 +1,12 @@
-# disable CEPH support
-makedepends=(${makedepends[@]//ceph-libs/})
+# -- Arch32 specific --
-eval "$(
- declare -f package_samba | \
- sed '
- /depends/ a \
- depends=(${depends[@]//ceph-libs/})
- '
-)"
+if test "$CARCH" == "i486"; then
+ eval "$(
+ declare -f build | \
+ sed '
+ s|./configure|LDFLAGS=-latomic ./configure|
+ '
+ )"
+fi
-eval "$(
- declare -f build | \
- sed '
- s|./configure|./configure --disable-cephfs|
- '
-)"
+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-sop/PKGBUILD b/extra/sequoia-sop/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/sequoia-sop/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/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/sheldon/PKGBUILD b/extra/sheldon/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/sheldon/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/skim/PKGBUILD b/extra/skim/PKGBUILD
index 2f1d05f4..ec2783a6 100644
--- a/extra/skim/PKGBUILD
+++ b/extra/skim/PKGBUILD
@@ -9,3 +9,4 @@ eval "$(
2 a sed -i "s/8589934592\(.*\)8589934592/12345\112345/" "skim-$pkgver/src/util.rs"
'
)"
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
diff --git a/extra/sn0int/PKGBUILD b/extra/sn0int/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/sn0int/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/sniffglue/PKGBUILD b/extra/sniffglue/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/sniffglue/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/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/sonic/PKGBUILD b/extra/sonic/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/sonic/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/spicy-launcher/PKGBUILD b/extra/spicy-launcher/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/spicy-launcher/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/spotify-launcher/PKGBUILD b/extra/spotify-launcher/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/spotify-launcher/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/spotifyd/PKGBUILD b/extra/spotifyd/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/spotifyd/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/spytrap-adb/PKGBUILD b/extra/spytrap-adb/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/spytrap-adb/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/sssd/PKGBUILD b/extra/sssd/PKGBUILD
new file mode 100644
index 00000000..e5d521d4
--- /dev/null
+++ b/extra/sssd/PKGBUILD
@@ -0,0 +1,3 @@
+# Tests pass but are flaky, especially if the builder is under high load
+unset check
+unset checkdepends
diff --git a/extra/starship/PKGBUILD b/extra/starship/PKGBUILD
new file mode 100644
index 00000000..94d20857
--- /dev/null
+++ b/extra/starship/PKGBUILD
@@ -0,0 +1 @@
+options+=(!debug)
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/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/systeroid/PKGBUILD b/extra/systeroid/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/systeroid/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/taskwarrior-tui/PKGBUILD b/extra/taskwarrior-tui/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/taskwarrior-tui/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/tealdeer/PKGBUILD b/extra/tealdeer/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/tealdeer/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/tere/PKGBUILD b/extra/tere/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/tere/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/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/tickrs/PKGBUILD b/extra/tickrs/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/tickrs/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/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/typst/PKGBUILD b/extra/typst/PKGBUILD
new file mode 100644
index 00000000..06d408d8
--- /dev/null
+++ b/extra/typst/PKGBUILD
@@ -0,0 +1,13 @@
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"
+# layout/grid-positioning.typ ❌
+# Subtest 13 does not match expected errors.
+# Not annotated // Error: 213:16-213:35 number too large
+# Not emitted // Error: 213:3-213:39 cell position too large
+# Subtest 14 does not match expected errors.
+# Not annotated // Error: 222:23-222:42 number too large
+# Not emitted // Error: 222:3-222:46 cell position too large Subtest 15 does not match expected errors.
+# Not annotated // Error: 230:22-230:41 number too large
+# Not emitted // Hint: 230:3-230:45 try reducing the cell's rowspan or colspan
+# Not emitted // Error: 230:3-230:45 cell would span an exceedingly large position
+unset check
+unset checkdepends
diff --git a/extra/updlockfiles/PKGBUILD b/extra/updlockfiles/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/updlockfiles/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/uwsgi/PKGBUILD b/extra/uwsgi/PKGBUILD
new file mode 100644
index 00000000..9e09c011
--- /dev/null
+++ b/extra/uwsgi/PKGBUILD
@@ -0,0 +1,3 @@
+pkgname=(${pkgname[@]//uwsgi-plugin-pypy/})
+pkgname=(${pkgname[@]//uwsgi-plugin-php-legacy/})
+makedepends=(${makedepends[@]//pypy/})
diff --git a/extra/viu/PKGBUILD b/extra/viu/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/viu/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/wasm-pack/PKGBUILD b/extra/wasm-pack/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/wasm-pack/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/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/wiki-tui/PKGBUILD b/extra/wiki-tui/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/wiki-tui/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/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/wpewebkit/PKGBUILD b/extra/wpewebkit/PKGBUILD
index 8b1e84de..7c9653bd 100644
--- a/extra/wpewebkit/PKGBUILD
+++ b/extra/wpewebkit/PKGBUILD
@@ -1,4 +1,5 @@
# linker runs out of memory on 32-bit
+options+=(!debug)
eval "$(
declare -f build | \
sed '
diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD
new file mode 100644
index 00000000..e02a9607
--- /dev/null
+++ b/extra/xf86-video-nouveau/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=implicit-function-declaration"')"
diff --git a/extra/xf86-video-savage/.SRCINFO b/extra/xf86-video-savage/.SRCINFO
new file mode 100644
index 00000000..48eb0e71
--- /dev/null
+++ b/extra/xf86-video-savage/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = xf86-video-voodoo
+ pkgdesc = X.org 3dfx Voodoo1/Voodoo2 2D video driver
+ pkgver = 1.2.6
+ pkgrel = 2
+ url = https://xorg.freedesktop.org/
+ arch = x86_64
+ groups = xorg-drivers
+ license = MIT
+ makedepends = xorg-server-devel
+ makedepends = X-ABI-VIDEODRV_VERSION=25.2
+ makedepends = xorgproto
+ depends = glibc
+ conflicts = xorg-server<21.1.1
+ conflicts = X-ABI-VIDEODRV_VERSION<25
+ conflicts = X-ABI-VIDEODRV_VERSION>=26
+ source = https://xorg.freedesktop.org//releases/individual/driver/xf86-video-voodoo-1.2.6.tar.xz
+ source = https://xorg.freedesktop.org//releases/individual/driver/xf86-video-voodoo-1.2.6.tar.xz.sig
+ validpgpkeys = 4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E
+ sha512sums = c889d79044438d6b15efceda07f63874063a2faa24a86d048e62c8ad1364efdfec04ff7ec662ad0749d2a7263abb14edb74e7d5ebf9a1aa880edb2b341a80a31
+ sha512sums = SKIP
+
+pkgname = xf86-video-voodoo
diff --git a/extra/xf86-video-savage/.nvchecker.toml b/extra/xf86-video-savage/.nvchecker.toml
new file mode 100644
index 00000000..ecf02ead
--- /dev/null
+++ b/extra/xf86-video-savage/.nvchecker.toml
@@ -0,0 +1,8 @@
+[xf86-video-voodoo]
+source = "gitlab"
+gitlab = "xorg/driver/xf86-video-voodoo"
+host = "gitlab.freedesktop.org"
+use_max_tag = true
+
+include_regex = ".*xf86-video-voodoo-.*"
+prefix = "xf86-video-voodoo-"
diff --git a/extra/xf86-video-savage/PKGBUILD b/extra/xf86-video-savage/PKGBUILD
new file mode 100644
index 00000000..2c783bb6
--- /dev/null
+++ b/extra/xf86-video-savage/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Tasos Sahanidis <a32@tasossah.com>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xf86-video-savage
+pkgver=2.4.1
+pkgrel=1
+pkgdesc="X.org savage video driver"
+arch=(i486 i686 pentium4)
+url="https://xorg.freedesktop.org/"
+license=('X11-distribute-modifications-variant')
+depends=('glibc')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=25.2' 'xorgproto')
+conflicts=('xorg-server<21.1.1' 'X-ABI-VIDEODRV_VERSION<25' 'X-ABI-VIDEODRV_VERSION>=26')
+groups=('xorg-drivers')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha512sums=('7928dafa148340e4a6c0ecd2324a69a67aa8fec55d316468c7e68fd79d1a388fd0e1f593d39b6dab0c8a5876b23e7c65c037a3285d340fa82b27ec7c2d5c8713'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith <alan.coopersmith@oracle.com>"
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
+ # With them, module fail to load with undefined symbol.
+ # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
+ export CFLAGS=${CFLAGS/-fno-plt}
+ export CXXFLAGS=${CXXFLAGS/-fno-plt}
+ export LDFLAGS=${LDFLAGS/-Wl,-z,now}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/extra/xf86-video-savage/keys/pgp/4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E.asc b/extra/xf86-video-savage/keys/pgp/4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E.asc
new file mode 100644
index 00000000..efeb7265
--- /dev/null
+++ b/extra/xf86-video-savage/keys/pgp/4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E.asc
@@ -0,0 +1,59 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBEab+moRBACDH5yKqS3wcc5bdxY7PBNuwKvF5TKMfagmSvuRDtZjjIIWaA/n
+Z1KboV9Gq5g7kP7+Kfu+Qgd8u65eVsWwmPW10fXvj3aCU53glx2EdGdrHcgiyH2g
+EQfPiyBw+trIppWFRV0IDXSLMA1FNC92t2nSG/VFHaPTVwcgkIRSfcXDvwCglGdE
+a6f4uLqoNHP+m4yYnzapFuMD/R4+2AJDAvEWKDdYCGZzlawjAmmWyXrmT7/C/mx9
+8qUR473l4buXjHgDkkXXlHqdzil1vK85PhrKzNJDCCmlHUJNz+QwiAMOLwpD+kwV
+Pb57RG7y+a5JQ5+jtVw4RlUxZIk/wj2An9YBO3A5vR7PdjM32ZJCN2+aM4dYfNzQ
+xQKTA/47icvBaBVTl9rztjg2pd2Aqpc1P/GsIYLGj7XjnnJvGAENBHSH1QjpZMJG
+CTS9oJ+B0/wrIr+pA+MdFgYAb6ojMQJOO6UChjWWSGjMFcs/CeXhxlLBido3DtAE
+TbNTwO6OEfAvdosvTdhJFnwvZlJ+zZGGy5CrF2Fd9PUe9tmASbQoQWxhbiBDb29w
+ZXJzbWl0aCA8YWxhbmNAZnJlZWRlc2t0b3Aub3JnPohoBBMRCgAoAhsDBgsJCAcD
+AgYVCAIJCgsEFgIDAQIeAQIXgAUCWtvjngUJHaXqrgAKCRCi+54IHy0TDrCEAJ0W
+P1TlJC6G/R7wFC8jiisY/NQxKQCgiap1UHuxTtn752MGuPe4lzibQXq0K0FsYW4g
+Q29vcGVyc21pdGggPGFsYW4uY29vcGVyc21pdGhAc3VuLmNvbT6IZgQTEQoAJgIb
+AwYLCQgHAwIEFQIIAwQWAgMBAh4BAheABQJa2+OeBQkdpequAAoJEKL7nggfLRMO
+G0MAn3mUvsWWPwTN1apiiC7tX1bleZ3iAKCLS83eKCU9U0faAc5xOl03KXTBzLQu
+QWxhbiBDb29wZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPohr
+BBMRCgArAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAIZAQUCWtvjmAUJHaXq
+rgAKCRCi+54IHy0TDmAsAJ4ubyCVncwKtAGVIx9whDq7f6SxZgCfXAVWUqRR20c9
+8J39lLTtcopZDfi5Ag0ERpv6bxAIAJp5aUlho5rUhpS6ik7spsAQFPRuycPKMNu0
+J4F0v/OoPz085soV8ytLj4HqCGk2Zamh1jSgliZwuk9m7V7Wgxx+nBJawpWDX/eK
+LObErfDwQ4dfOFvjbXLQMmNnQNaUGIWLPP3l8GuBOHMq60Bu+TPgh627vUntL5RE
+QEQqTXIzWC6U10QsDblLwIvdOVSdGF5xl/N1myXzSKvrsZwWtoFc8G9v9hcCjhtN
+1sm9b7Ojc51iZXvcetcvPy5RA6AUW3yEExaedUdLnvIF9sjFYIfJWFVYh2AgavnG
+re6fF+NV2v3zfx3wRT7H9//m4YIDYJmgZgyQccXegTwfGBIq3osAAwYH/1FiMUMM
+ES5Ilz2nDqId+DCWECAU6wgvIFRcXrZWxDxB+ZrnmTCXoAD0xedpfOkRHp8XTVc/
+9MU+wQ+lZRx2OQ6MJW0XGuFvHm94KZF/8HzWA2Ah7U4n0+3sLpk6zWceZq2zZNF0
+yVTjwD98+xNK1Q9sP8aOKdtg8yMH3hisKR6rdW+mfX5q0Q8Gol2hZsFH/qyIhnPz
+hXDknuOh8E5iMkzrejVXUEn++Yzj23XjP59SObLznVkyxI+kBI9qvVEPfFBDybjH
+WqLcgRcCpXAzjizEi+/d31iDa2ErJHV4R42obecFqiPnoDtiX3IiP7z9fmxM4aWP
+ZZRqvq+1ht5wkn+ISQQYEQIACQUCRpv6bwIbDAAKCRCi+54IHy0TDoLoAKCHYRpw
+/XfyEunw1YL/uMZzl78qIQCdFVcXNbqD83qVhW4Ly7hyDL8o0aK5Ag0EUXnVIQEQ
+AKHpjOmY056n0tsZoW9q5egsMcl5tKC8uimrhO05nnq+5/60/YedC++V9c9b/3/X
+7O28LyBkAtBgD0xJZSDQ0DhTzKAp6AzjQtBvI68uinGwxSjT+oQpPMxqhA1I0kzo
+EDCdEqV+HsVOAEdbAi/tP9bbdTDzwVc8MWDriamBUqc53Rb00Mffy9435UgTS4gA
+hMwANhy6XZmOMBhITOzxFJUEDTDJtLbE0b1jPRQS7NHQgak1inmuvPMc3wAuoEcS
+CSt1xupbYsBoXOjK5wC/eE1LIdZoRyW2OkT140DqDZ8zfRID860hnirnYgb09TPN
+tj93pudUAUt6T9+tcLN4/rxhxHOwse66KGHO4bQ1rZ6mfco6SYd9V60cL6hC2eMe
+cyxZliMu17lj7EX8lxUH+omIgHc7HGoyUR6V+WB60cxWj5v05zdeLeZ2aLBcPFhx
+lfDESm8f4ezdJSDS1QZmC0P5h3RJfhhfmdBr8kHzr7111D1/O71Av1VV5FyJ9YxU
+Sxp4IPuzK7JbbgVHcA6PvXrDzWUslmZgPADpKH4hTmG/NdCqhEXcufvY6s5yNksB
+8X3ReNvuSSyfGnRz3kvtyK0XzC7KRX2PquLI6A8KJprHwZGqEB1NDG8b2iaYnghO
+jyfIYEVQF3nGfaBwv4lrCPEoZSUaK8f/NQZjNU8NQyTnABEBAAGJAm4EGBEKAA8C
+GwIFAlrb470FCRLIEBwCKcFdIAQZAQoABgUCUXnVIQAKCRDP3xSIKMZCp9bmD/90
+50ke3bdx0zLPlUANoTu74vQT55f0a0cXgnrj15ey6Ln0S1seHadd0aF3lKpDwUOL
+0YIQppDhLfWf9gEsQEKSPtHQgyKRbajvz8nEOi8Hz5ovrTqGCZp81XHVoiyEiCWu
+XxeW7eyN4C8bjxbpiN0vaZ+sgMeMhXA5mwyKFs4m9JPpDe6kd2eaMO0zkcJCYjk0
+RcNZiPohm6EmeesNbA2zJhXgo+hQHEByojIJ5ltWyy5Zacc9dfxVq9Wr3y+lXKd8
+bMZiklsOPX0L+60yMoYjl1y9tVq5wDtf+iS3GvFLpIEOG4hoAT3hkeVvGp/Id8RM
+j8trZn8AsMC1h2ElHaBKRMfIpJbVCpiW6VJ8H/+WedrjiaZO5E41sM2BvQUZK+2w
+ExnzSIcOo+BR9LrSTEJ8WuxIZ9MVT5fhADOlO1QkRyv4ngdQsN4x/A6CCFV+YrEV
+dZ+53zENoJe7LAtO1WAwJmng/swDK4mVrGwVO75zVWXL3iCuThQy0AssyoJdKiwD
+j3SAtNJ2DcdLDG3ZD8sl3Ljbtkgy+MZciu6ezxT86Yv11WBa7dskewvrxKTHxOzr
+epM31Bcz88H7xXA5oLs8n6Dq3jQOV46Z2xLxw3fXJ/koHyuwvi6fi7XKswl+mdJu
+U8y7nAmLeSOgD4N3lkWrH2dOLjAGN9VgYI+yV6rn0gkQovueCB8tEw7nxACeNnR9
+mrdd+VMF32hm6lu54QUhWiQAoJLzrvm3uK/HXyfDrNoGAjiyAj+3
+=aAdc
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/extra/xf86-video-voodoo/PKGBUILD b/extra/xf86-video-voodoo/PKGBUILD
new file mode 100644
index 00000000..ea735c5a
--- /dev/null
+++ b/extra/xf86-video-voodoo/PKGBUILD
@@ -0,0 +1,2 @@
+eval "$(declare -f build | sed '3i export CFLAGS="$CFLAGS -Wno-error=incompatible-pointer-types"')"
+
diff --git a/extra/xorg-server/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch b/extra/xorg-server/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch
new file mode 100644
index 00000000..452723ee
--- /dev/null
+++ b/extra/xorg-server/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch
@@ -0,0 +1,54 @@
+From e89edec497bac581ca9b614fb00c25365580f045 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jexposit@redhat.com>
+Date: Fri, 19 Jan 2024 13:05:51 +0100
+Subject: [PATCH] ephyr: Fix incompatible pointer type build error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix a compilation error on 32 bits architectures with gcc 14:
+
+ ephyr_glamor_xv.c: In function ‘ephyr_glamor_xv_init’:
+ ephyr_glamor_xv.c:154:31: error: assignment to ‘SetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int, void *)’} [-Wincompatible-pointer-types]
+ 154 | adaptor->SetPortAttribute = ephyr_glamor_xv_set_port_attribute;
+ | ^
+ ephyr_glamor_xv.c:155:31: error: assignment to ‘GetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int *, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32 *, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int *, void *)’} [-Wincompatible-pointer-types]
+ 155 | adaptor->GetPortAttribute = ephyr_glamor_xv_get_port_attribute;
+ | ^
+
+Build error logs:
+https://koji.fedoraproject.org/koji/taskinfo?taskID=111964273
+
+Signed-off-by: José Expósito <jexposit@redhat.com>
+---
+ hw/kdrive/ephyr/ephyr_glamor_xv.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/hw/kdrive/ephyr/ephyr_glamor_xv.c b/hw/kdrive/ephyr/ephyr_glamor_xv.c
+index 4dd15cf417..b5eae48c85 100644
+--- a/hw/kdrive/ephyr/ephyr_glamor_xv.c
++++ b/hw/kdrive/ephyr/ephyr_glamor_xv.c
+@@ -50,16 +50,16 @@ ephyr_glamor_xv_stop_video(KdScreenInfo *screen, void *data, Bool cleanup)
+
+ static int
+ ephyr_glamor_xv_set_port_attribute(KdScreenInfo *screen,
+- Atom attribute, INT32 value, void *data)
++ Atom attribute, int value, void *data)
+ {
+- return glamor_xv_set_port_attribute(data, attribute, value);
++ return glamor_xv_set_port_attribute(data, attribute, (INT32)value);
+ }
+
+ static int
+ ephyr_glamor_xv_get_port_attribute(KdScreenInfo *screen,
+- Atom attribute, INT32 *value, void *data)
++ Atom attribute, int *value, void *data)
+ {
+- return glamor_xv_get_port_attribute(data, attribute, value);
++ return glamor_xv_get_port_attribute(data, attribute, (INT32 *)value);
+ }
+
+ static void
+--
+GitLab
+
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index f30c30dd..68846353 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,18 +1,13 @@
-# backport of ed11c4d443ad2e82512df64358d38008e0ee7693 for initializing probed mode line names
-source+=('xorg-server-21.1.3-probed-mode-name-not-null.patch')
-sha512sums+=('d721fad70b417b40f6b29e77b21c530b8f6d91c37e65c1a82c2cfcde5012adc17022ac0faa50ca587583aab6f6a5e5bdcdc68e36ece6ada766813aca1ab8b76d')
+source+=('0001-ephyr-Fix-incompatible-pointer-type-build-error.patch')
+sha512sums+=('5d6e2063d2e4d97dd2883b11ab7953e8ddedf5389b2e510e85ff199eebb86ad43c74ab88dc9258290bff91ed7c6ceefc0f90b148846b9703b1ce7c782905424a')
eval "$(
- {
- declare -f prepare || \
- printf 'prepare() {\n}\n'
- } \
- | sed '
- $i cd "$srcdir/$pkgname-$pkgver" \
- patch -Np1 -i "$srcdir/xorg-server-21.1.3-probed-mode-name-not-null.patch"
+ declare -f prepare | sed '
+ 4i patch -Np1 -i "$srcdir/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch" || true
'
)"
+
# disabling LTO on i486 as enabling it leads to all kind of link errors
if [ "${CARCH}" = "i486" ]; then
eval "$(
diff --git a/extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch b/extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch
deleted file mode 100644
index 77d5de33..00000000
--- a/extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -rauN xorg-server-21.1.3/hw/xfree86/modes/xf86Modes.c xorg-server-21.1.3-probed-mode-name-not-null-patch/hw/xfree86/modes/xf86Modes.c
---- xorg-server-21.1.3/hw/xfree86/modes/xf86Modes.c 2022-03-05 19:16:34.732713684 +0100
-+++ xorg-server-21.1.3-probed-mode-name-not-null-patch/hw/xfree86/modes/xf86Modes.c 2022-03-05 19:17:39.749449014 +0100
-@@ -803,10 +803,14 @@
- {
- struct libxcvt_mode_info *libxcvt_mode_info;
- DisplayModeRec *Mode = xnfcalloc(1, sizeof(DisplayModeRec));
-+ char *tmp;
-
- libxcvt_mode_info =
- libxcvt_gen_mode_info(HDisplay, VDisplay, VRefresh, Reduced, Interlaced);
-
-+ XNFasprintf(&tmp, "%dx%d", HDisplay, VDisplay);
-+ Mode->name = tmp;
-+
- Mode->VDisplay = libxcvt_mode_info->vdisplay;
- Mode->HDisplay = libxcvt_mode_info->hdisplay;
- Mode->Clock = libxcvt_mode_info->dot_clock;
diff --git a/extra/yabridge/PKGBUILD b/extra/yabridge/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/yabridge/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/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
diff --git a/extra/zbus_xmlgen/PKGBUILD b/extra/zbus_xmlgen/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/zbus_xmlgen/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/zenith/PKGBUILD b/extra/zenith/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/zenith/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/zola/PKGBUILD b/extra/zola/PKGBUILD
new file mode 100644
index 00000000..6883ef75
--- /dev/null
+++ b/extra/zola/PKGBUILD
@@ -0,0 +1 @@
+eval "$(declare -f prepare | sed 's@$CARCH-unknown-linux-gnu@$(rustc -vV | sed -n "s/host: //p")@')"