summaryrefslogtreecommitdiff
path: root/extra/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xorg-server')
-rw-r--r--extra/xorg-server/PKGBUILD24
-rw-r--r--extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch18
2 files changed, 40 insertions, 2 deletions
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index 48ca59a0..f30c30dd 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,4 +1,24 @@
-# temporary for cycle-breaking on i486
+# backport of ed11c4d443ad2e82512df64358d38008e0ee7693 for initializing probed mode line names
+source+=('xorg-server-21.1.3-probed-mode-name-not-null.patch')
+sha512sums+=('d721fad70b417b40f6b29e77b21c530b8f6d91c37e65c1a82c2cfcde5012adc17022ac0faa50ca587583aab6f6a5e5bdcdc68e36ece6ada766813aca1ab8b76d')
+
+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"
+ '
+)"
+
+# disabling LTO on i486 as enabling it leads to all kind of link errors
if [ "${CARCH}" = "i486" ]; then
- makedepends+=('libdrm')
+ eval "$(
+ declare -f build | \
+ sed '
+ s/arch-meson /arch-meson -Db_lto=false /
+ '
+ )"
fi
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
new file mode 100644
index 00000000..77d5de33
--- /dev/null
+++ b/extra/xorg-server/xorg-server-21.1.3-probed-mode-name-not-null.patch
@@ -0,0 +1,18 @@
+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;