diff --git a/PKGBUILD b/PKGBUILD index b25f47c97f39a76a997225a20dc0605bebb6108d..667d3346bf98f51855ebbb3eadc24664a1caa32f 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,8 +6,8 @@ pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.19.6 -pkgrel=4 +pkgver=1.19.6+13+gd0d1a694f +pkgrel=2 arch=('x86_64') license=('custom') groups=('xorg') @@ -18,41 +18,36 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' 'libepoxy' 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto' - 'libxshmfence' 'libunwind' 'wayland-protocols') -source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 + 'libxshmfence' 'libunwind' 'wayland-protocols' 'git') +_commit=d0d1a694f967af770fba0d36043fd5218ff20984 # branch 1.19 +#source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 +source=("git+https://anongit.freedesktop.org/git/xorg/xserver.git#commit=$_commit" xvfb-run xvfb-run.1 nvidia-add-modulepath-support.patch - xserver-autobind-hotplug.patch - revert-udev-changes.diff - xwrap-suid-race.patch) + xserver-autobind-hotplug.patch) -sha256sums=('a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197' +sha256sums=('SKIP' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '23f2fd69a53ef70c267becf7d2a9e7e07b739f8ec5bec10adb219bc6465099c7' - '67aaf8668c5fb3c94b2569df28e64bfa1dc97ce429cbbc067c309113caff6369' - 'c551dd768de10dd8a47213696003d118edb248ca6c09c0d9f1591abb0632d199' - '1c74554f98cad4a8b1d827b6aff221058a1f3f4d9b7111346acb22502ac5e59d') + '67aaf8668c5fb3c94b2569df28e64bfa1dc97ce429cbbc067c309113caff6369') validpgpkeys=('6DD4217456569BA711566AC7F06E8FDE7B45DAAC') # Eric Vidal +pkgver() { + cd xserver + git describe --tags | sed 's/^xorg-server-//;s/_/./g;s/-/+/g' +} prepare() { - cd "${pkgbase}-${pkgver}" + #cd "${pkgbase}-${pkgver}" + cd xserver # merged upstream in trunk patch -Np1 -i ../nvidia-add-modulepath-support.patch # patch from Fedora, not yet merged patch -Np1 -i ../xserver-autobind-hotplug.patch - - # https://bugs.archlinux.org/task/56804 - # https://bugs.freedesktop.org/show_bug.cgi?id=104382 - patch -Rp1 -i ../revert-udev-changes.diff - - # https://bugs.archlinux.org/task/56893 - # Fixes Makefile race condition when installing Xorg.wrap - patch -Np1 -i ../xwrap-suid-race.patch - + autoreconf -vfi } @@ -65,7 +60,8 @@ build() { export CXXFLAGS=${CXXFLAGS/-fno-plt} export LDFLAGS=${LDFLAGS/,-z,now} - cd "${pkgbase}-${pkgver}" + # cd "${pkgbase}-${pkgver}" + cd xserver ./configure --prefix=/usr \ --enable-ipv6 \ --enable-dri \ @@ -115,7 +111,8 @@ package_xorg-server-common() { pkgdesc="Xorg server common files" depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap') - cd "${pkgbase}-${pkgver}" + cd xserver +# cd "${pkgbase}-${pkgver}" install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common" install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common" @@ -139,7 +136,8 @@ package_xorg-server() { replaces=('glamor-egl' 'xf86-video-modesetting') install=xorg-server.install - cd "${pkgbase}-${pkgver}" + cd xserver + #cd "${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" install # distro specific files must be installed in /usr/share/X11/xorg.conf.d @@ -163,8 +161,9 @@ package_xorg-server-xephyr() { pkgdesc="A nested X server that runs as an X application" depends=('libxfont2' 'libgl' 'libepoxy' 'libunwind' 'libxv' 'pixman' 'xorg-server-common' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms') - - cd "${pkgbase}-${pkgver}/hw/kdrive" + + cd xserver/hw/kdrive + #cd "${pkgbase}-${pkgver}/hw/kdrive" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr" @@ -174,8 +173,9 @@ package_xorg-server-xephyr() { package_xorg-server-xvfb() { pkgdesc="Virtual framebuffer X server" depends=('libxfont2' 'libunwind' 'pixman' 'xorg-server-common' 'xorg-xauth' 'libgl') - - cd "${pkgbase}-${pkgver}/hw/vfb" + + cd xserver/hw/vfb + #cd "${pkgbase}-${pkgver}/hw/vfb" make DESTDIR="${pkgdir}" install install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/" @@ -189,7 +189,8 @@ package_xorg-server-xnest() { pkgdesc="A nested X server that runs as an X application" depends=('libxfont2' 'libxext' 'libunwind' 'pixman' 'xorg-server-common') - cd "${pkgbase}-${pkgver}/hw/xnest" + cd xserver/hw/xnest + #cd "${pkgbase}-${pkgver}/hw/xnest" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest" @@ -199,8 +200,9 @@ package_xorg-server-xnest() { package_xorg-server-xdmx() { pkgdesc="Distributed Multihead X Server and utilities" depends=('libxfont2' 'libxi' 'libxaw' 'libxrender' 'libdmx' 'libxfixes' 'libunwind' 'pixman' 'xorg-server-common') - - cd "${pkgbase}-${pkgver}/hw/dmx" + + cd xserver/hw/dmx + #cd "${pkgbase}-${pkgver}/hw/dmx" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx" @@ -210,8 +212,9 @@ package_xorg-server-xdmx() { package_xorg-server-xwayland() { pkgdesc="run X clients under wayland" depends=('libxfont2' 'libepoxy' 'libunwind' 'libgl' 'pixman' 'xorg-server-common') - - cd "${pkgbase}-${pkgver}/hw/xwayland" + + cd xserver/hw/xwayland + #cd "${pkgbase}-${pkgver}/hw/xwayland" make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xwayland" @@ -228,7 +231,8 @@ package_xorg-server-devel() { # not technically required but almost every Xorg pkg needs it to build 'xorg-util-macros') - cd "${pkgbase}-${pkgver}" + cd xserver + #cd "${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" install rm -rf "${pkgdir}/usr/bin" diff --git a/revert-udev-changes.diff b/revert-udev-changes.diff deleted file mode 100644 index d25a0c73e1020eabda6978c6808330aa7a92224f..0000000000000000000000000000000000000000 --- a/revert-udev-changes.diff +++ /dev/null @@ -1,104 +0,0 @@ -From 5a5b6d6cca469521daa6ac9087f3589b7489ab55 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutterer@who-t.net> -Date: Tue, 26 Sep 2017 15:21:59 +1000 -Subject: config/udev: consider ID_INPUT_FOO=0 as 'unset' - -Historically we didn't need to care about this case but more devices are -having invalid types set and they cannot be unset with a hwdb entry (which -doesn't handle the empty string). Allow for "0" to mean "unset" because -anything else would be crazy anyway. - -Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> -(cherry picked from commit 5aad81445c8c3d6b7b30d503cfe26027fa482870) ---- - config/udev.c | 65 +++++++++++++++++++++++++++++------------------------------ - 1 file changed, 32 insertions(+), 33 deletions(-) - -(limited to 'config/udev.c') - -diff --git a/config/udev.c b/config/udev.c -index 932f230..e198e86 100644 ---- a/config/udev.c -+++ b/config/udev.c -@@ -134,7 +134,8 @@ device_added(struct udev_device *udev_device) - } - #endif - -- if (!udev_device_get_property_value(udev_device, "ID_INPUT")) { -+ value = udev_device_get_property_value(udev_device, "ID_INPUT"); -+ if (value && !strcmp(value, "0")) { - LogMessageVerb(X_INFO, 10, - "config/udev: ignoring device %s without " - "property ID_INPUT set\n", path); -@@ -237,38 +238,36 @@ device_added(struct udev_device *udev_device) - else if (!strcmp(key, "ID_VENDOR")) { - LOG_PROPERTY(path, key, value); - attrs.vendor = strdup(value); -- } -- else if (!strcmp(key, "ID_INPUT_KEY")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_KEY; -- } -- else if (!strcmp(key, "ID_INPUT_KEYBOARD")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_KEYBOARD; -- } -- else if (!strcmp(key, "ID_INPUT_MOUSE")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_POINTER; -- } -- else if (!strcmp(key, "ID_INPUT_JOYSTICK")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_JOYSTICK; -- } -- else if (!strcmp(key, "ID_INPUT_TABLET")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_TABLET; -- } -- else if (!strcmp(key, "ID_INPUT_TABLET_PAD")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_TABLET_PAD; -- } -- else if (!strcmp(key, "ID_INPUT_TOUCHPAD")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_TOUCHPAD; -- } -- else if (!strcmp(key, "ID_INPUT_TOUCHSCREEN")) { -- LOG_PROPERTY(path, key, value); -- attrs.flags |= ATTR_TOUCHSCREEN; -+ } else if (!strncmp(key, "ID_INPUT_", 9)) { -+ const struct pfmap { -+ const char *property; -+ unsigned int flag; -+ } map[] = { -+ { "ID_INPUT_KEY", ATTR_KEY }, -+ { "ID_INPUT_KEYBOARD", ATTR_KEYBOARD }, -+ { "ID_INPUT_MOUSE", ATTR_POINTER }, -+ { "ID_INPUT_JOYSTICK", ATTR_JOYSTICK }, -+ { "ID_INPUT_TABLET", ATTR_TABLET }, -+ { "ID_INPUT_TABLET_PAD", ATTR_TABLET_PAD }, -+ { "ID_INPUT_TOUCHPAD", ATTR_TOUCHPAD }, -+ { "ID_INPUT_TOUCHSCREEN", ATTR_TOUCHSCREEN }, -+ { NULL, 0 }, -+ }; -+ -+ /* Anything but the literal string "0" is considered a -+ * boolean true. The empty string isn't a thing with udev -+ * properties anyway */ -+ if (value && strcmp(value, "0")) { -+ const struct pfmap *m = map; -+ -+ while (m->property != NULL) { -+ if (!strcmp(m->property, key)) { -+ LOG_PROPERTY(path, key, value); -+ attrs.flags |= m->flag; -+ } -+ m++; -+ } -+ } - } - } - --- -cgit v1.1 - diff --git a/xwrap-suid-race.patch b/xwrap-suid-race.patch deleted file mode 100644 index 3502472cd4b48255306cb678db12a469ff636274..0000000000000000000000000000000000000000 --- a/xwrap-suid-race.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am -index b876b79ab..458720052 100644 ---- a/hw/xfree86/Makefile.am -+++ b/hw/xfree86/Makefile.am -@@ -84,8 +84,8 @@ Xorg_DEPENDENCIES = $(LOCAL_LIBS) - Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) - - if SUID_WRAPPER --wrapdir = $(SUID_WRAPPER_DIR) --wrap_PROGRAMS = Xorg.wrap -+wrapexecdir = $(SUID_WRAPPER_DIR) -+wrapexec_PROGRAMS = Xorg.wrap - Xorg_wrap_SOURCES = xorg-wrapper.c - endif