Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xorg-server')
-rw-r--r--extra/xorg-server/0001-ephyr-Fix-incompatible-pointer-type-build-error.patch54
-rw-r--r--extra/xorg-server/PKGBUILD19
2 files changed, 73 insertions, 0 deletions
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
new file mode 100644
index 00000000..68846353
--- /dev/null
+++ b/extra/xorg-server/PKGBUILD
@@ -0,0 +1,19 @@
+source+=('0001-ephyr-Fix-incompatible-pointer-type-build-error.patch')
+sha512sums+=('5d6e2063d2e4d97dd2883b11ab7953e8ddedf5389b2e510e85ff199eebb86ad43c74ab88dc9258290bff91ed7c6ceefc0f90b148846b9703b1ce7c782905424a')
+
+eval "$(
+ 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 "$(
+ declare -f build | \
+ sed '
+ s/arch-meson /arch-meson -Db_lto=false /
+ '
+ )"
+fi