Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blacklist/pentium4/tracexec/tracexec6
-rw-r--r--core/libtool/PKGBUILD3
-rw-r--r--core/openssl/PKGBUILD4
-rw-r--r--extra/arti/PKGBUILD1
-rw-r--r--extra/cargo-binstall/PKGBUILD8
-rw-r--r--extra/catch2/PKGBUILD3
-rw-r--r--extra/gcc13/PKGBUILD125
-rw-r--r--extra/giflib/PKGBUILD8
-rw-r--r--extra/nanobind/PKGBUILD4
-rw-r--r--extra/onetbb/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-django-allauth/PKGBUILD2
-rw-r--r--extra/python-gevent/PKGBUILD6
-rw-r--r--extra/python-lupa/PKGBUILD2
-rw-r--r--extra/python-pendulum/PKGBUILD53
-rw-r--r--extra/python-qdldl/PKGBUILD7
-rw-r--r--extra/python-scikit-learn/PKGBUILD7
-rw-r--r--extra/python-shapely/PKGBUILD16
-rw-r--r--extra/python-snappy/PKGBUILD1
-rw-r--r--extra/python-validate-pyproject/PKGBUILD4
-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/rapidfuzz-cpp/PKGBUILD7
-rw-r--r--extra/samba/PKGBUILD9
-rw-r--r--extra/starship/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
39 files changed, 514 insertions, 58 deletions
diff --git a/blacklist/pentium4/tracexec/tracexec b/blacklist/pentium4/tracexec/tracexec
new file mode 100644
index 00000000..070c832b
--- /dev/null
+++ b/blacklist/pentium4/tracexec/tracexec
@@ -0,0 +1,6 @@
+ Compiling tracexec v0.2.2 (/build/tracexec/src/tracexec-0.2.2)
+error: unsupported architecture
+ --> src/arch.rs:14:9
+ |
+14 | compile_error!("unsupported architecture");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/core/libtool/PKGBUILD b/core/libtool/PKGBUILD
deleted file mode 100644
index eb241c98..00000000
--- a/core/libtool/PKGBUILD
+++ /dev/null
@@ -1,3 +0,0 @@
-# temporary fix for FS#65995
-source[3]='https://sources.debian.org/data/main/libt/libtool/2.4.6-14/debian/patches/no_hostname.patch'
-sha256sums[3]='693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946'
diff --git a/core/openssl/PKGBUILD b/core/openssl/PKGBUILD
index 03c17f77..0de77e9c 100644
--- a/core/openssl/PKGBUILD
+++ b/core/openssl/PKGBUILD
@@ -13,7 +13,8 @@ if [ "${CARCH}" = "i486" ]; then
eval "$(
declare -f build | \
sed '
- s@enable-ktls@enable-ktls 386 no-threads@
+ s@enable-ktls@enable-ktls 386@
+ s@make@make LDFLAGS='-latomic@'
'
)"
fi
@@ -35,3 +36,4 @@ eval "$(
s/make.*test/make test || true/
'
)"
+
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/cargo-binstall/PKGBUILD b/extra/cargo-binstall/PKGBUILD
index 94d20857..d924e013 100644
--- a/extra/cargo-binstall/PKGBUILD
+++ b/extra/cargo-binstall/PKGBUILD
@@ -1 +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/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/gcc13/PKGBUILD b/extra/gcc13/PKGBUILD
new file mode 100644
index 00000000..ca003988
--- /dev/null
+++ b/extra/gcc13/PKGBUILD
@@ -0,0 +1,125 @@
+# remove tsan (thread sanitizer) plugin, not available for i686
+pkgname=(
+ $(
+ printf '%s\n' "${pkgname[@]}" | \
+ grep -vFx 'lib32-gcc-libs'
+ )
+)
+unset -f 'package_lib32-gcc-libs'
+eval "$(
+ declare -f prepare | \
+ sed '
+ \,/s/lib64/lib/, d
+ '
+ declare -f build | \
+ sed '
+ /configure/ s/--enable-multilib/--disable-multilib/
+ /configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/,
+ /configure/ s/;$/ --build=$CHOST;/
+ '
+ declare -f package_gcc-libs | \
+ sed '
+ s/\$pkgname-multilib//
+ s@libsanitizer/{a,l,ub,t}san@libsanitizer/{a,l,ub}san@
+ /provides=/s/libtsan.so//
+ \@/usr/lib32/@ d
+ '
+ declare -f package_gcc | \
+ sed '
+ s/"lib32-gcc-libs[^"]*"//g
+ s@make.*tsan.*install@#\0@
+ '
+ declare -f package_gcc-ada | \
+ sed '
+ \,cd .*/32/libada,{
+ N
+ d
+ }
+ '
+)"
+eval "$(
+ for name in "${pkgname[@]}"; do
+ declare -f package_${name} | \
+ sed '
+ s/$pkgname-multilib//
+ s/{,32}//
+ \,/lib32/,d
+ \,/32/,d
+ '
+ done
+)"
+
+# i486-specific
+
+# no ADA
+makedepends=(${makedepends[@]//gcc-ada/})
+makedepends_i686+=('gcc-ada')
+makedepends_pentium4+=('gcc-ada')
+
+if [ "${CARCH}" = "i486" ]; then
+ package_gcc-ada() {
+ touch "$pkgdir/this-is-a-dummy-package"
+ }
+
+ eval "$(
+ declare -f build | \
+ sed '
+ /enable-languages/ s/ada,//
+ '
+ )"
+
+ eval "$(
+ declare -f package_gcc | \
+ sed '
+ s/,gnat-style,gnat_rm,gnat_ugn//
+ '
+ )"
+
+ # building toolchain (gcc): again, lobtool problems
+ # /usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lquadmath
+ # collect2: error: ld returned 1 exit status
+ # libtool: install: error: relink `libgfortran.la' with the above command before installing it
+ # make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran'
+ # => wrong link order: libgfortran requires libquadmath
+ eval "$(
+ declare -f package_gcc-libs | \
+ sed '
+ /for lib in / s/libgfortran/libquadmath libgfortran/
+ '
+ )"
+
+fi
+
+makedepends=(${makedepends[@]//lib32-glibc/})
+makedepends=(${makedepends[@]//lib32-gcc-libs/})
+
+# i486-specific: disable PGO/LTO build, uses too much resources,
+# also disabling LTO for now
+if [ "${CARCH}" = "i486" ]; then
+ eval "$(
+ declare -f build | \
+ sed '
+ s/--enable-pgo-build=.*/--disable-pgo-build/
+ s/--enable-lto/--disable-lto/
+ s/--with-build-config=bootstrap-lto//
+ '
+ declare -f package_gcc | \
+ sed '
+ /make.*lto-plugin.*install/d
+ /ln.*liblto_plugin.so/d
+ '
+ )"
+fi
+
+# 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/
+ '
+)"
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/nanobind/PKGBUILD b/extra/nanobind/PKGBUILD
new file mode 100644
index 00000000..9c49573b
--- /dev/null
+++ b/extra/nanobind/PKGBUILD
@@ -0,0 +1,4 @@
+# We do not build these
+checkdepends=(${checkdepends[@]//python-pytorch/})
+checkdepends=(${checkdepends[@]//python-tensorflow/})
+
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/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-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-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-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-qdldl/PKGBUILD b/extra/python-qdldl/PKGBUILD
new file mode 100644
index 00000000..c6ea8ecb
--- /dev/null
+++ b/extra/python-qdldl/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-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-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-validate-pyproject/PKGBUILD b/extra/python-validate-pyproject/PKGBUILD
new file mode 100644
index 00000000..7d66985c
--- /dev/null
+++ b/extra/python-validate-pyproject/PKGBUILD
@@ -0,0 +1,4 @@
+# Doesn't validate
+if [[ $pkgver == 0.16 && $pkgrel == 1 ]]; then
+ sha512sums=(SKIP)
+fi
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/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/samba/PKGBUILD b/extra/samba/PKGBUILD
index d288fca1..131948ae 100644
--- a/extra/samba/PKGBUILD
+++ b/extra/samba/PKGBUILD
@@ -15,3 +15,12 @@ eval "$(
s|./configure|./configure --disable-cephfs|
'
)"
+
+if test "$CARCH" == "i486"; then
+ eval "$(
+ declare -f build | \
+ sed '
+ s|./configure|LDFLAGS=-latomic ./configure|
+ '
+ )"
+fi
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/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
+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
+=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;