summaryrefslogtreecommitdiff
path: root/source/x
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2022-08-08 23:29:31 +0000
committerEric Hameleers <alien@slackware.com>2022-08-09 07:00:15 +0200
commit2d7cee39612aff5630994ad4634733902c6f78db (patch)
treea2f87b530a6de9398ddedeffa31bff40d19615cf /source/x
parent581afe42faa86fbb4014e48913cc5183aee69203 (diff)
downloadcurrent-2d7cee39612aff5630994ad4634733902c6f78db.tar.gz
Mon Aug 8 23:29:31 UTC 202220220808232931
Hey folks, here's that graphics stack upgrade that you've been waiting for! After looking at what drivers are currently shipped by other projects, I took an axe to the driver list. Some of the removed drivers will still compile even though they are abandoned, and some of the others are still getting git commits (which allows *some* of them to compile). The removed stuff mostly looks obsolete to me (we really can't support ancient hardware forever). But if you think I've gone too far with any of these removals, please make or contribute to a thread about it on LQ and I'll take any comments there into consideration. a/kernel-firmware-20220808_e6857b6-noarch-1.txz: Upgraded. ap/vim-9.0.0174-x86_64-1.txz: Upgraded. l/gnu-efi-3.0.15-x86_64-1.txz: Upgraded. n/libtirpc-1.3.3-x86_64-1.txz: Upgraded. n/mutt-2.2.7-x86_64-1.txz: Upgraded. x/egl-wayland-1.1.10-x86_64-1.txz: Upgraded. x/libdrm-2.4.112-x86_64-1.txz: Upgraded. x/libglvnd-1.4.0-x86_64-1.txz: Upgraded. x/mesa-22.1.5-x86_64-1.txz: Upgraded. Includes Mesa amber 21.3.9 DRI drivers, and mesa-demos-8.5.0. Thanks to LuckyCyborg for posting some valuable hints on LQ. x/xcb-proto-1.15.2-x86_64-1.txz: Upgraded. x/xf86-input-acecad-1.5.0-x86_64-14.txz: Removed. x/xf86-input-evdev-2.10.6-x86_64-4.txz: Rebuilt. x/xf86-input-joystick-1.6.3-x86_64-5.txz: Removed. x/xf86-input-keyboard-1.9.0-x86_64-5.txz: Removed. x/xf86-input-libinput-1.2.1-x86_64-2.txz: Rebuilt. x/xf86-input-mouse-1.9.3-x86_64-3.txz: Removed. x/xf86-input-penmount-1.5.0-x86_64-14.txz: Removed. x/xf86-input-synaptics-1.9.2-x86_64-1.txz: Upgraded. x/xf86-input-vmmouse-13.1.0-x86_64-9.txz: Removed. x/xf86-input-void-1.4.1-x86_64-3.txz: Removed. x/xf86-input-wacom-1.0.0-x86_64-2.txz: Rebuilt. x/xf86-video-amdgpu-22.0.0-x86_64-2.txz: Rebuilt. x/xf86-video-apm-1.3.0-x86_64-3.txz: Removed. x/xf86-video-ark-0.7.5-x86_64-13.txz: Removed. x/xf86-video-ast-1.1.5-x86_64-7.txz: Removed. x/xf86-video-ati-20220730_7a6a34af-x86_64-1.txz: Upgraded. x/xf86-video-chips-1.4.0-x86_64-3.txz: Removed. x/xf86-video-cirrus-1.5.3-x86_64-7.txz: Removed. x/xf86-video-dummy-0.4.0-x86_64-2.txz: Rebuilt. x/xf86-video-glint-1.2.9-x86_64-5.txz: Removed. x/xf86-video-i128-1.4.0-x86_64-3.txz: Removed. x/xf86-video-i740-1.4.0-x86_64-3.txz: Removed. x/xf86-video-intel-20210115_31486f40-x86_64-1.txz: Upgraded. x/xf86-video-mach64-6.9.6-x86_64-3.txz: Removed. x/xf86-video-mga-2.0.0-x86_64-3.txz: Removed. x/xf86-video-neomagic-1.3.0-x86_64-3.txz: Removed. x/xf86-video-nouveau-20220125_29cc528-x86_64-1.txz: Upgraded. x/xf86-video-nv-2.1.21-x86_64-5.txz: Removed. x/xf86-video-openchrome-0.6.0-x86_64-6.txz: Rebuilt. x/xf86-video-r128-6.12.0-x86_64-3.txz: Removed. x/xf86-video-rendition-4.2.7-x86_64-3.txz: Removed. x/xf86-video-s3-0.7.0-x86_64-3.txz: Removed. x/xf86-video-s3virge-1.11.0-x86_64-3.txz: Removed. x/xf86-video-savage-20190128_8579718-x86_64-3.txz: Removed. x/xf86-video-siliconmotion-1.7.9-x86_64-5.txz: Removed. x/xf86-video-sis-0.12.0-x86_64-3.txz: Removed. x/xf86-video-sisusb-0.9.7-x86_64-5.txz: Removed. x/xf86-video-tdfx-1.5.0-x86_64-3.txz: Removed. x/xf86-video-tga-1.2.2-x86_64-13.txz: Removed. x/xf86-video-trident-1.3.8-x86_64-5.txz: Removed. x/xf86-video-tseng-1.2.5-x86_64-13.txz: Removed. x/xf86-video-v4l-0.3.0-x86_64-3.txz: Removed. x/xf86-video-vboxvideo-1.0.0-x86_64-5.txz: Removed. x/xf86-video-vesa-2.5.0-x86_64-4.txz: Rebuilt. x/xf86-video-vmware-20220621_ff5637a-x86_64-1.txz: Upgraded. x/xf86-video-voodoo-1.2.5-x86_64-14.txz: Removed. x/xorg-server-21.1.4-x86_64-1.txz: Upgraded. x/xorg-server-xephyr-21.1.4-x86_64-1.txz: Upgraded. x/xorg-server-xnest-21.1.4-x86_64-1.txz: Upgraded. x/xorg-server-xvfb-21.1.4-x86_64-1.txz: Upgraded. x/xorg-server-xwayland-22.1.3-x86_64-1.txz: Upgraded. x/xorgproto-2022.1-x86_64-1.txz: Upgraded. xap/geeqie-2.0-x86_64-1.txz: Upgraded. xap/mozilla-firefox-103.0.2-x86_64-1.txz: Upgraded. This is a bugfix release. For more information, see: https://www.mozilla.org/en-US/firefox/103.0.2/releasenotes/ xap/vim-gvim-9.0.0174-x86_64-1.txz: Upgraded. extra/xf86-video-fbdev/xf86-video-fbdev-0.5.0-x86_64-2.txz: Rebuilt.
Diffstat (limited to 'source/x')
-rw-r--r--source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch (renamed from source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch)0
-rw-r--r--source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch (renamed from source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch)0
-rwxr-xr-xsource/x/mesa/mesa-amber.build91
-rwxr-xr-xsource/x/mesa/mesa-demos.build40
-rwxr-xr-xsource/x/mesa/mesa.SlackBuild58
-rw-r--r--source/x/x11/build/xf86-input-acecad2
-rw-r--r--source/x/x11/build/xf86-input-evdev2
-rw-r--r--source/x/x11/build/xf86-input-joystick2
-rw-r--r--source/x/x11/build/xf86-input-keyboard2
-rw-r--r--source/x/x11/build/xf86-input-libinput2
-rw-r--r--source/x/x11/build/xf86-input-mouse2
-rw-r--r--source/x/x11/build/xf86-input-penmount2
-rw-r--r--source/x/x11/build/xf86-input-synaptics2
-rw-r--r--source/x/x11/build/xf86-input-vmmouse2
-rw-r--r--source/x/x11/build/xf86-input-void2
-rw-r--r--source/x/x11/build/xf86-input-wacom2
-rw-r--r--source/x/x11/build/xf86-video-amdgpu2
-rw-r--r--source/x/x11/build/xf86-video-apm2
-rw-r--r--source/x/x11/build/xf86-video-ark2
-rw-r--r--source/x/x11/build/xf86-video-ast2
-rw-r--r--source/x/x11/build/xf86-video-ati2
-rw-r--r--source/x/x11/build/xf86-video-chips2
-rw-r--r--source/x/x11/build/xf86-video-cirrus2
-rw-r--r--source/x/x11/build/xf86-video-dummy2
-rw-r--r--source/x/x11/build/xf86-video-geode2
-rw-r--r--source/x/x11/build/xf86-video-glint2
-rw-r--r--source/x/x11/build/xf86-video-i1282
-rw-r--r--source/x/x11/build/xf86-video-i7402
-rw-r--r--source/x/x11/build/xf86-video-intel2
-rw-r--r--source/x/x11/build/xf86-video-mach642
-rw-r--r--source/x/x11/build/xf86-video-mga2
-rw-r--r--source/x/x11/build/xf86-video-neomagic2
-rw-r--r--source/x/x11/build/xf86-video-nouveau2
-rw-r--r--source/x/x11/build/xf86-video-nv2
-rw-r--r--source/x/x11/build/xf86-video-omap2
-rw-r--r--source/x/x11/build/xf86-video-openchrome2
-rw-r--r--source/x/x11/build/xf86-video-r1282
-rw-r--r--source/x/x11/build/xf86-video-rendition2
-rw-r--r--source/x/x11/build/xf86-video-s32
-rw-r--r--source/x/x11/build/xf86-video-s3virge2
-rw-r--r--source/x/x11/build/xf86-video-savage2
-rw-r--r--source/x/x11/build/xf86-video-siliconmotion2
-rw-r--r--source/x/x11/build/xf86-video-sis2
-rw-r--r--source/x/x11/build/xf86-video-sisusb2
-rw-r--r--source/x/x11/build/xf86-video-tdfx2
-rw-r--r--source/x/x11/build/xf86-video-tga2
-rw-r--r--source/x/x11/build/xf86-video-trident2
-rw-r--r--source/x/x11/build/xf86-video-tseng2
-rw-r--r--source/x/x11/build/xf86-video-v4l2
-rw-r--r--source/x/x11/build/xf86-video-vboxvideo2
-rw-r--r--source/x/x11/build/xf86-video-vesa2
-rw-r--r--source/x/x11/build/xf86-video-vmware2
-rw-r--r--source/x/x11/build/xf86-video-voodoo2
-rw-r--r--source/x/x11/build/xorg-server2
-rw-r--r--source/x/x11/configure/xf86-video-ati13
-rw-r--r--source/x/x11/configure/xf86-video-glint13
-rw-r--r--source/x/x11/configure/xf86-video-nouveau2
-rw-r--r--source/x/x11/configure/xf86-video-s313
-rw-r--r--source/x/x11/configure/xf86-video-vmware13
-rw-r--r--source/x/x11/package-blacklist69
-rw-r--r--source/x/x11/patch/xf86-video-vmware.patch2
-rw-r--r--source/x/x11/patch/xf86-video-vmware/50ab008cb965dc9e47e0a84a1950e2485bbd3c44.patch60
-rw-r--r--source/x/x11/patch/xorg-server.patch20
-rw-r--r--source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch293
-rw-r--r--source/x/x11/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch75
-rw-r--r--source/x/x11/patch/xorg-server/0001-render-Fix-build-with-gcc-12.patch90
-rw-r--r--source/x/x11/patch/xorg-server/0002-dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.patch178
-rw-r--r--source/x/x11/patch/xorg-server/0003-6907b6ea2b4ce949cb07271f5b678d5966d9df42.patch181
-rw-r--r--source/x/x11/patch/xorg-server/failed/0001-Always-install-vbe-and-int10-sdk-headers.patch (renamed from source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch)0
-rw-r--r--source/x/x11/patch/xorg-server/fix-pci-segfault.diff12
-rwxr-xr-xsource/x/x11/src/get-xf86-video-vmware.sh49
-rwxr-xr-xsource/x/xorg-server-xwayland/xorg-server-xwayland.SlackBuild2
72 files changed, 342 insertions, 1030 deletions
diff --git a/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch b/source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch
index 0200efa3..0200efa3 100644
--- a/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch
+++ b/source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch
diff --git a/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch b/source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch
index 13eec39c..13eec39c 100644
--- a/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch
+++ b/source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch
diff --git a/source/x/mesa/mesa-amber.build b/source/x/mesa/mesa-amber.build
new file mode 100755
index 00000000..01ea2e88
--- /dev/null
+++ b/source/x/mesa/mesa-amber.build
@@ -0,0 +1,91 @@
+#!/bin/bash
+# This script is not meant to be run directly:
+if [ -z $AMBERVERS ]; then
+ exit 1
+fi
+
+
+# Be sure this list is up-to-date:
+DRI_DRIVERS="i915,i965,r100,r200,nouveau"
+
+cd $TMP
+rm -rf ${PKGNAM}-${AMBERVERS}
+
+tar xvf $CWD/amber/${PKGNAM}-${AMBERVERS}.tar.?z || exit 1
+cd ${PKGNAM}-$AMBERVERS || exit 1
+
+# Let's kill the warning about operating on a dangling symlink:
+rm -f src/gallium/state_trackers/d3d1x/w32api
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Apply patches from git (and maybe elsewhere):
+# Patches obtained by:
+# git checkout origin/17.2
+# git format-patch 93c2beafc0a7fa2f210b006d22aba61caa71f773 # 17.2.6 release
+if /bin/ls $CWD/patches/*.patch 1> /dev/null 2> /dev/null ; then
+ for patch in $CWD/patches/*.patch ; do
+ patch -p1 --verbose < $patch || exit 1 ;
+ done
+fi
+
+# Revert these patches from git (and maybe elsewhere):
+if /bin/ls $CWD/patches-revert/*.patch 1> /dev/null 2> /dev/null ; then
+ for patch in $CWD/patches-revert/*.patch ; do
+ patch -p1 -R --verbose < $patch || exit 1 ;
+ done
+fi
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Dplatforms=x11,wayland \
+ -Damber=true \
+ -Ddri-drivers=$DRI_DRIVERS \
+ -Dgallium-drivers='' \
+ -Dvulkan-drivers='' \
+ -Dosmesa=false \
+ -Dglvnd=true \
+ -Dllvm=enabled \
+ -Dshared-llvm=enabled \
+ -Dshared-glapi=enabled \
+ -Degl=enabled \
+ -Dgles1=enabled \
+ -Dgles2=enabled \
+ -Dopengl=true \
+ -Dglx=dri \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG/cruft $NINJA install || exit 1
+cd ..
+
+# We will install only the DRI drivers:
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/dri
+rsync -lprvt $PKG/cruft/usr/lib${LIBDIRSUFFIX}/dri/ $PKG/usr/lib${LIBDIRSUFFIX}/dri/
+rm -rf $PKG/cruft
+
+rm -rf $PKG/usr/doc/$PKGNAM-$AMBERVERS
+mkdir -p $PKG/usr/doc/$PKGNAM-amber-$AMBERVERS
+cp -a \
+ CODEOWNERS* README* docs/README* docs/license* docs/relnotes/${AMBERVERS}.* \
+ $PKG/usr/doc/$PKGNAM-amber-$AMBERVERS
diff --git a/source/x/mesa/mesa-demos.build b/source/x/mesa/mesa-demos.build
new file mode 100755
index 00000000..67f460b3
--- /dev/null
+++ b/source/x/mesa/mesa-demos.build
@@ -0,0 +1,40 @@
+#!/bin/bash
+# This script is not meant to be run directly:
+if [ -z $DEMOVERS ]; then
+ exit 1
+fi
+
+# Now build/install a small subset of the demos:
+export CWD SLKCFLAGS NUMJOBS PKG
+( cd $TMP
+ rm -rf mesa-demos-$DEMOVERS
+ tar xvf $CWD/mesa-demos-$DEMOVERS.tar.?z* || exit 1
+ cd mesa-demos-$DEMOVERS
+ chown -R root:root .
+ find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+ CFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --enable-autotools \
+ --prefix=/usr \
+ --build=$ARCH-slackware-linux || exit 1
+ make $NUMJOBS || exit 1
+ # Install all the demos (including the pointless ones) at first, in a
+ # temporary location:
+ make install DESTDIR=$PKG/cruft || exit 1
+ # Install gears and glinfo, as well as a few other demos:
+ mkdir -p $PKG/usr/bin
+ for demo in eglinfo gears glinfo glthreads glxcontexts glxdemo glxgears \
+ glxgears_fbconfig glxheads glxinfo glxpbdemo glxpixmap ; do
+ mv --verbose $PKG/cruft/usr/bin/$demo $PKG/usr/bin
+ done
+ # Remove cruft:
+ rm -rf $PKG/cruft
+ # Add the README file(s):
+ rm -rf $PKG/usr/doc/mesa-demos-$DEMOVERS
+ mkdir -p $PKG/usr/doc/mesa-demos-$DEMOVERS
+ cp -a README* $PKG/usr/doc/mesa-demos-$DEMOVERS
+) || exit 1
diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild
index ecb37f0e..9467854f 100755
--- a/source/x/mesa/mesa.SlackBuild
+++ b/source/x/mesa/mesa.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,14 +24,15 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=mesa
VERSION=${VERSION:-$(echo $PKGNAM-[0-9]*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-DEMOVERS=${DEMOVERS:-8.4.0}
-BUILD=${BUILD:-3}
+AMBERVERS=${DEMOVERS:-21.3.9}
+DEMOVERS=${DEMOVERS:-8.5.0}
+BUILD=${BUILD:-1}
+BUILD_AMBER=${BUILD_AMBER:-YES}
BUILD_DEMOS=${BUILD_DEMOS:-YES}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Be sure this list is up-to-date:
-DRI_DRIVERS="i915,i965,r100,r200,nouveau"
GALLIUM_DRIVERS="nouveau,r300,r600,svga,radeonsi,swrast,virgl,iris,crocus,zink"
if [ -z "$ARCH" ]; then
@@ -130,7 +131,6 @@ meson setup \
-Dgallium-opencl=icd \
-Dgallium-nine=true \
-Dosmesa=true \
- -Ddri-drivers=$DRI_DRIVERS \
-Dgallium-drivers=$GALLIUM_DRIVERS \
-Dvulkan-drivers=amd,intel,swrast \
-Dvulkan-layers=device-select,intel-nullhw,overlay \
@@ -160,44 +160,23 @@ fi
fi
)
+if [ "$BUILD_AMBER" = "YES" ]; then
+ . $CWD/mesa-amber.build
+fi
+
if [ "$BUILD_DEMOS" = "YES" ]; then
- # Now build/install a small subset of the demos:
- export CWD SLKCFLAGS NUMJOBS PKG
- ( cd $TMP
- rm -rf mesa-demos-$DEMOVERS
- tar xvf $CWD/mesa-demos-$DEMOVERS.tar.?z* || exit 1
- cd mesa-demos-$DEMOVERS
- chown -R root:root .
- find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
- CFLAGS="$SLKCFLAGS" \
- ./configure \
- --prefix=/usr \
- --build=$ARCH-slackware-linux || exit 1
- make $NUMJOBS || exit 1
- # Install all the demos (including the pointless ones) at first, in a
- # temporary location:
- make install DESTDIR=$PKG/cruft || exit 1
- # Install gears and glinfo, as well as a few other demos:
- mkdir -p $PKG/usr/bin
- for demo in eglinfo gears glinfo glthreads glxcontexts glxdemo glxgears \
- glxgears_fbconfig glxheads glxinfo glxpbdemo glxpixmap ; do
- mv --verbose $PKG/cruft/usr/bin/$demo $PKG/usr/bin
- done
- # Remove cruft:
- rm -rf $PKG/cruft
- ) || exit 1
+ . $CWD/mesa-demos.build
fi
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find $PKG/usr/man -type f -exec gzip -9 {} \+
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+# Compress man pages, if any:
+if [ -d $PKG/usr/man ]; then
+ find $PKG/usr/man -type f -exec gzip -9 {} \+
+ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+fi
# Compress info files, if any:
if [ -d $PKG/usr/info ]; then
@@ -205,12 +184,10 @@ if [ -d $PKG/usr/info ]; then
gzip -9 $PKG/usr/info/*
fi
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/html
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- docs/COPYING* docs/relnotes/${VERSION}.html docs/README* docs/GL* \
+ CODEOWNERS* README* docs/README* docs/license* docs/relnotes/${VERSION}.* \
$PKG/usr/doc/$PKGNAM-$VERSION
-cp -a docs/*.html $PKG/usr/doc/$PKGNAM-$VERSION/html
-rm -f $PKG/usr/doc/$PKGNAM-$VERSION/html/relnotes*.html
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
@@ -218,4 +195,3 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/x/x11/build/xf86-input-acecad b/source/x/x11/build/xf86-input-acecad
index 8351c193..60d3b2f4 100644
--- a/source/x/x11/build/xf86-input-acecad
+++ b/source/x/x11/build/xf86-input-acecad
@@ -1 +1 @@
-14
+15
diff --git a/source/x/x11/build/xf86-input-evdev b/source/x/x11/build/xf86-input-evdev
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-input-evdev
+++ b/source/x/x11/build/xf86-input-evdev
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-input-joystick b/source/x/x11/build/xf86-input-joystick
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-input-joystick
+++ b/source/x/x11/build/xf86-input-joystick
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-input-keyboard b/source/x/x11/build/xf86-input-keyboard
index 7ed6ff82..d00491fd 100644
--- a/source/x/x11/build/xf86-input-keyboard
+++ b/source/x/x11/build/xf86-input-keyboard
@@ -1 +1 @@
-5
+1
diff --git a/source/x/x11/build/xf86-input-libinput b/source/x/x11/build/xf86-input-libinput
index d00491fd..0cfbf088 100644
--- a/source/x/x11/build/xf86-input-libinput
+++ b/source/x/x11/build/xf86-input-libinput
@@ -1 +1 @@
-1
+2
diff --git a/source/x/x11/build/xf86-input-mouse b/source/x/x11/build/xf86-input-mouse
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-input-mouse
+++ b/source/x/x11/build/xf86-input-mouse
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-input-penmount b/source/x/x11/build/xf86-input-penmount
index 8351c193..60d3b2f4 100644
--- a/source/x/x11/build/xf86-input-penmount
+++ b/source/x/x11/build/xf86-input-penmount
@@ -1 +1 @@
-14
+15
diff --git a/source/x/x11/build/xf86-input-synaptics b/source/x/x11/build/xf86-input-synaptics
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-input-synaptics
+++ b/source/x/x11/build/xf86-input-synaptics
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-input-vmmouse b/source/x/x11/build/xf86-input-vmmouse
index ec635144..f599e28b 100644
--- a/source/x/x11/build/xf86-input-vmmouse
+++ b/source/x/x11/build/xf86-input-vmmouse
@@ -1 +1 @@
-9
+10
diff --git a/source/x/x11/build/xf86-input-void b/source/x/x11/build/xf86-input-void
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-input-void
+++ b/source/x/x11/build/xf86-input-void
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-input-wacom b/source/x/x11/build/xf86-input-wacom
index d00491fd..0cfbf088 100644
--- a/source/x/x11/build/xf86-input-wacom
+++ b/source/x/x11/build/xf86-input-wacom
@@ -1 +1 @@
-1
+2
diff --git a/source/x/x11/build/xf86-video-amdgpu b/source/x/x11/build/xf86-video-amdgpu
index d00491fd..0cfbf088 100644
--- a/source/x/x11/build/xf86-video-amdgpu
+++ b/source/x/x11/build/xf86-video-amdgpu
@@ -1 +1 @@
-1
+2
diff --git a/source/x/x11/build/xf86-video-apm b/source/x/x11/build/xf86-video-apm
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-apm
+++ b/source/x/x11/build/xf86-video-apm
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-ark b/source/x/x11/build/xf86-video-ark
index b1bd38b6..8351c193 100644
--- a/source/x/x11/build/xf86-video-ark
+++ b/source/x/x11/build/xf86-video-ark
@@ -1 +1 @@
-13
+14
diff --git a/source/x/x11/build/xf86-video-ast b/source/x/x11/build/xf86-video-ast
index 7f8f011e..45a4fb75 100644
--- a/source/x/x11/build/xf86-video-ast
+++ b/source/x/x11/build/xf86-video-ast
@@ -1 +1 @@
-7
+8
diff --git a/source/x/x11/build/xf86-video-ati b/source/x/x11/build/xf86-video-ati
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-video-ati
+++ b/source/x/x11/build/xf86-video-ati
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-video-chips b/source/x/x11/build/xf86-video-chips
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-chips
+++ b/source/x/x11/build/xf86-video-chips
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-cirrus b/source/x/x11/build/xf86-video-cirrus
index 7f8f011e..d00491fd 100644
--- a/source/x/x11/build/xf86-video-cirrus
+++ b/source/x/x11/build/xf86-video-cirrus
@@ -1 +1 @@
-7
+1
diff --git a/source/x/x11/build/xf86-video-dummy b/source/x/x11/build/xf86-video-dummy
index d00491fd..0cfbf088 100644
--- a/source/x/x11/build/xf86-video-dummy
+++ b/source/x/x11/build/xf86-video-dummy
@@ -1 +1 @@
-1
+2
diff --git a/source/x/x11/build/xf86-video-geode b/source/x/x11/build/xf86-video-geode
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-geode
+++ b/source/x/x11/build/xf86-video-geode
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-glint b/source/x/x11/build/xf86-video-glint
index 7ed6ff82..d00491fd 100644
--- a/source/x/x11/build/xf86-video-glint
+++ b/source/x/x11/build/xf86-video-glint
@@ -1 +1 @@
-5
+1
diff --git a/source/x/x11/build/xf86-video-i128 b/source/x/x11/build/xf86-video-i128
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-i128
+++ b/source/x/x11/build/xf86-video-i128
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-i740 b/source/x/x11/build/xf86-video-i740
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-i740
+++ b/source/x/x11/build/xf86-video-i740
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-intel b/source/x/x11/build/xf86-video-intel
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-video-intel
+++ b/source/x/x11/build/xf86-video-intel
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-video-mach64 b/source/x/x11/build/xf86-video-mach64
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-video-mach64
+++ b/source/x/x11/build/xf86-video-mach64
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-video-mga b/source/x/x11/build/xf86-video-mga
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-video-mga
+++ b/source/x/x11/build/xf86-video-mga
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-video-neomagic b/source/x/x11/build/xf86-video-neomagic
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-neomagic
+++ b/source/x/x11/build/xf86-video-neomagic
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-nouveau b/source/x/x11/build/xf86-video-nouveau
index 0cfbf088..d00491fd 100644
--- a/source/x/x11/build/xf86-video-nouveau
+++ b/source/x/x11/build/xf86-video-nouveau
@@ -1 +1 @@
-2
+1
diff --git a/source/x/x11/build/xf86-video-nv b/source/x/x11/build/xf86-video-nv
index 7ed6ff82..d00491fd 100644
--- a/source/x/x11/build/xf86-video-nv
+++ b/source/x/x11/build/xf86-video-nv
@@ -1 +1 @@
-5
+1
diff --git a/source/x/x11/build/xf86-video-omap b/source/x/x11/build/xf86-video-omap
index 7f8f011e..45a4fb75 100644
--- a/source/x/x11/build/xf86-video-omap
+++ b/source/x/x11/build/xf86-video-omap
@@ -1 +1 @@
-7
+8
diff --git a/source/x/x11/build/xf86-video-openchrome b/source/x/x11/build/xf86-video-openchrome
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-video-openchrome
+++ b/source/x/x11/build/xf86-video-openchrome
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-video-r128 b/source/x/x11/build/xf86-video-r128
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-r128
+++ b/source/x/x11/build/xf86-video-r128
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-rendition b/source/x/x11/build/xf86-video-rendition
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-rendition
+++ b/source/x/x11/build/xf86-video-rendition
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-s3 b/source/x/x11/build/xf86-video-s3
index 00750edc..d00491fd 100644
--- a/source/x/x11/build/xf86-video-s3
+++ b/source/x/x11/build/xf86-video-s3
@@ -1 +1 @@
-3
+1
diff --git a/source/x/x11/build/xf86-video-s3virge b/source/x/x11/build/xf86-video-s3virge
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-s3virge
+++ b/source/x/x11/build/xf86-video-s3virge
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-savage b/source/x/x11/build/xf86-video-savage
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-savage
+++ b/source/x/x11/build/xf86-video-savage
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-siliconmotion b/source/x/x11/build/xf86-video-siliconmotion
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-video-siliconmotion
+++ b/source/x/x11/build/xf86-video-siliconmotion
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-video-sis b/source/x/x11/build/xf86-video-sis
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-sis
+++ b/source/x/x11/build/xf86-video-sis
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-sisusb b/source/x/x11/build/xf86-video-sisusb
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-video-sisusb
+++ b/source/x/x11/build/xf86-video-sisusb
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-video-tdfx b/source/x/x11/build/xf86-video-tdfx
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-tdfx
+++ b/source/x/x11/build/xf86-video-tdfx
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-tga b/source/x/x11/build/xf86-video-tga
index b1bd38b6..8351c193 100644
--- a/source/x/x11/build/xf86-video-tga
+++ b/source/x/x11/build/xf86-video-tga
@@ -1 +1 @@
-13
+14
diff --git a/source/x/x11/build/xf86-video-trident b/source/x/x11/build/xf86-video-trident
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-video-trident
+++ b/source/x/x11/build/xf86-video-trident
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-video-tseng b/source/x/x11/build/xf86-video-tseng
index b1bd38b6..8351c193 100644
--- a/source/x/x11/build/xf86-video-tseng
+++ b/source/x/x11/build/xf86-video-tseng
@@ -1 +1 @@
-13
+14
diff --git a/source/x/x11/build/xf86-video-v4l b/source/x/x11/build/xf86-video-v4l
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-v4l
+++ b/source/x/x11/build/xf86-video-v4l
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-vboxvideo b/source/x/x11/build/xf86-video-vboxvideo
index 7ed6ff82..1e8b3149 100644
--- a/source/x/x11/build/xf86-video-vboxvideo
+++ b/source/x/x11/build/xf86-video-vboxvideo
@@ -1 +1 @@
-5
+6
diff --git a/source/x/x11/build/xf86-video-vesa b/source/x/x11/build/xf86-video-vesa
index 00750edc..b8626c4c 100644
--- a/source/x/x11/build/xf86-video-vesa
+++ b/source/x/x11/build/xf86-video-vesa
@@ -1 +1 @@
-3
+4
diff --git a/source/x/x11/build/xf86-video-vmware b/source/x/x11/build/xf86-video-vmware
index 1e8b3149..d00491fd 100644
--- a/source/x/x11/build/xf86-video-vmware
+++ b/source/x/x11/build/xf86-video-vmware
@@ -1 +1 @@
-6
+1
diff --git a/source/x/x11/build/xf86-video-voodoo b/source/x/x11/build/xf86-video-voodoo
index 8351c193..60d3b2f4 100644
--- a/source/x/x11/build/xf86-video-voodoo
+++ b/source/x/x11/build/xf86-video-voodoo
@@ -1 +1 @@
-14
+15
diff --git a/source/x/x11/build/xorg-server b/source/x/x11/build/xorg-server
index b8626c4c..d00491fd 100644
--- a/source/x/x11/build/xorg-server
+++ b/source/x/x11/build/xorg-server
@@ -1 +1 @@
-4
+1
diff --git a/source/x/x11/configure/xf86-video-ati b/source/x/x11/configure/xf86-video-ati
new file mode 100644
index 00000000..291eb9b9
--- /dev/null
+++ b/source/x/x11/configure/xf86-video-ati
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./autogen.sh \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/source/x/x11/configure/xf86-video-glint b/source/x/x11/configure/xf86-video-glint
new file mode 100644
index 00000000..291eb9b9
--- /dev/null
+++ b/source/x/x11/configure/xf86-video-glint
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./autogen.sh \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/source/x/x11/configure/xf86-video-nouveau b/source/x/x11/configure/xf86-video-nouveau
index 0f3bccf2..7352247c 100644
--- a/source/x/x11/configure/xf86-video-nouveau
+++ b/source/x/x11/configure/xf86-video-nouveau
@@ -1,6 +1,6 @@
CFLAGS=$SLKCFLAGS \
CXXFLAGS=$SLKCFLAGS \
-./configure \
+./autogen.sh \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
diff --git a/source/x/x11/configure/xf86-video-s3 b/source/x/x11/configure/xf86-video-s3
new file mode 100644
index 00000000..291eb9b9
--- /dev/null
+++ b/source/x/x11/configure/xf86-video-s3
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./autogen.sh \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/source/x/x11/configure/xf86-video-vmware b/source/x/x11/configure/xf86-video-vmware
new file mode 100644
index 00000000..291eb9b9
--- /dev/null
+++ b/source/x/x11/configure/xf86-video-vmware
@@ -0,0 +1,13 @@
+CFLAGS=$SLKCFLAGS \
+CXXFLAGS=$SLKCFLAGS \
+./autogen.sh \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --infodir=/usr/info \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \
+ --with-udev-rules-dir=/lib/udev/rules.d \
+ --disable-static \
+ --build=$ARCH-slackware-linux
diff --git a/source/x/x11/package-blacklist b/source/x/x11/package-blacklist
index 8e2f3eb5..8cf7aedc 100644
--- a/source/x/x11/package-blacklist
+++ b/source/x/x11/package-blacklist
@@ -6,38 +6,49 @@
# They also say in the README for this one that it is not yet ready:
xf86-video-omap
-# MacOS related packages:
-applewmproto
-windowswmproto
-libAppleWM
-libWindowsWM
-
-# Sun video cards:
-xf86-video-sunbw2
-xf86-video-suncg14
-xf86-video-suncg3
-xf86-video-suncg6
-xf86-video-sunffb
-xf86-video-sunleo
-xf86-video-suntcx
-
# Obsolete packages:
-liboldX
-xf86-video-amd
-xf86-video-via
-xkbdata
-xphelloworld
-xrx
-
-# Not applicable to us
-grandr
-constype
+xf86-input-acecad
+xf86-input-aiptek
+xf86-input-joystick
+xf86-input-keyboard
+xf86-input-mouse
+xf86-input-penmount
+xf86-input-vmmouse
+xf86-input-void
+xf86-video-apm
+xf86-video-ark
+xf86-video-ast
+xf86-video-chips
+xf86-video-cirrus
+xf86-video-geode
+xf86-video-glint
+xf86-video-i128
+xf86-video-i740
+xf86-video-mach64
+xf86-video-mga
+xf86-video-neomagic
+xf86-video-nv
+xf86-video-omap
+xf86-video-qxl
+xf86-video-r128
+xf86-video-rendition
+xf86-video-s3
+xf86-video-s3virge
+xf86-video-savage
+xf86-video-siliconmotion
+xf86-video-sis
+xf86-video-sisusb
+xf86-video-tdfx
+xf86-video-tga
+xf86-video-trident
+xf86-video-tseng
+xf86-video-v4l
+xf86-video-vboxvideo
+xf86-video-voodoo
+xf86-video-xgi
+xf86-video-xgixp
# CAREFUL NOT TO "SHIP" THE STUFF BELOW IN THE MAIN X PACKAGES DIR!
-# This is probably obsolete, and kills "X -configure" too
-xf86-video-nsc
-
# We don't want this one, as it causes failure of X with no xorg.conf
xf86-video-fbdev
-
diff --git a/source/x/x11/patch/xf86-video-vmware.patch b/source/x/x11/patch/xf86-video-vmware.patch
deleted file mode 100644
index b7be82d9..00000000
--- a/source/x/x11/patch/xf86-video-vmware.patch
+++ /dev/null
@@ -1,2 +0,0 @@
-# Fix build with recent libdrm:
-zcat $CWD/patch/xf86-video-vmware/50ab008cb965dc9e47e0a84a1950e2485bbd3c44.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xf86-video-vmware/50ab008cb965dc9e47e0a84a1950e2485bbd3c44.patch b/source/x/x11/patch/xf86-video-vmware/50ab008cb965dc9e47e0a84a1950e2485bbd3c44.patch
deleted file mode 100644
index 35142b5b..00000000
--- a/source/x/x11/patch/xf86-video-vmware/50ab008cb965dc9e47e0a84a1950e2485bbd3c44.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 50ab008cb965dc9e47e0a84a1950e2485bbd3c44 Mon Sep 17 00:00:00 2001
-From: Martin Krastev <krastevm@vmware.com>
-Date: Tue, 30 Nov 2021 11:47:39 -0800
-Subject: vmwgfx: Change header inclusion order to avoid xorg headers catching
- stdbool.h
-
-libdrm commit e641e2a632d779f638ac2ba983b9fceb20b3fac4 added
-stdbool.h to the library headers which conflicts with xorg headers.
-
-Signed-off-by: Martin Krastev <krastevm@vmware.com>
-Reviewed-by: Zack Rusin <zackr@vmware.com>
-Signed-off-by: Zack Rusin <zackr@vmware.com>
----
- vmwgfx/vmwgfx_driver.h | 6 +++---
- vmwgfx/vmwgfx_saa.c | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/vmwgfx/vmwgfx_driver.h b/vmwgfx/vmwgfx_driver.h
-index fa8e308..467fb21 100644
---- a/vmwgfx/vmwgfx_driver.h
-+++ b/vmwgfx/vmwgfx_driver.h
-@@ -36,15 +36,15 @@
- #include <stddef.h>
- #include <stdint.h>
- #include <errno.h>
--#include <drm.h>
--#include <xf86drm.h>
--#include <xf86drmMode.h>
- #include <xorg-server.h>
- #include <xf86.h>
- #include <xf86Crtc.h>
- #include <xf86xv.h>
- #include <xa_tracker.h>
- #include <xf86Module.h>
-+#include <drm.h>
-+#include <xf86drm.h>
-+#include <xf86drmMode.h>
-
- #include "../src/compat-api.h"
- #ifdef DRI2
-diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c
-index 0881e2f..457f397 100644
---- a/vmwgfx/vmwgfx_saa.c
-+++ b/vmwgfx/vmwgfx_saa.c
-@@ -29,11 +29,11 @@
- #include <xorgVersion.h>
- #include <mi.h>
- #include <fb.h>
--#include <xf86drmMode.h>
- #include <xa_context.h>
- #include "vmwgfx_saa.h"
- #include "vmwgfx_drmi.h"
- #include "vmwgfx_saa_priv.h"
-+#include <xf86drmMode.h>
-
- /*
- * Damage to be added as soon as we attach storage to the pixmap.
---
-cgit v1.2.1
-
diff --git a/source/x/x11/patch/xorg-server.patch b/source/x/x11/patch/xorg-server.patch
index a2df5194..791dfe15 100644
--- a/source/x/x11/patch/xorg-server.patch
+++ b/source/x/x11/patch/xorg-server.patch
@@ -9,13 +9,8 @@ zcat $CWD/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch.gz | p
# the next xorg-server and will no longer apply then.
zcat $CWD/patch/xorg-server/fix-nouveau-segfault.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-# From Fedora Rawhide 2018/7 (possibly useful, doesn't seem like it will hurt anything):
-zcat $CWD/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# From Fedora Rawhide 2018/7, looks like many other distributions have added
-# this patch for a long time. Keep an eye out for newer versions though, and
-# revisit this if any DE begin to manage secondary GPUs (although none do yet):
-zcat $CWD/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+## From Fedora Rawhide 2018/7 (possibly useful, doesn't seem like it will hurt anything):
+#zcat $CWD/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
# The upstream nouveau developers recommend this. On newer nvidia cards it works
# better to use the generic modesetting ddx rather than nouveau.
@@ -23,16 +18,5 @@ zcat $CWD/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch.gz | patch -p
# Added here 2018/7.
zcat $CWD/patch/xorg-server/0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-# Fix a PCI related segfault:
-zcat $CWD/patch/xorg-server/fix-pci-segfault.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
# Only use Intel DDX with pre-gen4 hardware. Newer hardware will the the modesetting driver by default:
zcat $CWD/patch/xorg-server/06_use-intel-only-on-pre-gen4.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# Fix build with gcc12:
-zcat $CWD/patch/xorg-server/0001-render-Fix-build-with-gcc-12.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-
-# Patch CVE-2022-2320 and CVE-2022-2319:
-zcat $CWD/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-zcat $CWD/patch/xorg-server/0002-dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-zcat $CWD/patch/xorg-server/0003-6907b6ea2b4ce949cb07271f5b678d5966d9df42.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch b/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch
deleted file mode 100644
index 86b96a23..00000000
--- a/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-From 471289fa1dc359555ceed6302f7d9605ab6be3ea Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@redhat.com>
-Date: Mon, 2 Apr 2018 16:49:02 -0400
-Subject: [PATCH] autobind GPUs to the screen
-
-This is a modified version of a patch we've been carry-ing in Fedora and
-RHEL for years now. This patch automatically adds secondary GPUs to the
-master as output sink / offload source making e.g. the use of
-slave-outputs just work, with requiring the user to manually run
-"xrandr --setprovideroutputsource" before he can hookup an external
-monitor to his hybrid graphics laptop.
-
-There is one problem with this patch, which is why it was not upstreamed
-before. What to do when a secondary GPU gets detected really is a policy
-decission (e.g. one may want to autobind PCI GPUs but not USB ones) and
-as such should be under control of the Desktop Environment.
-
-Unconditionally adding autobinding support to the xserver will result
-in races between the DE dealing with the hotplug of a secondary GPU
-and the server itself dealing with it.
-
-However we've waited for years for any Desktop Environments to actually
-start doing some sort of autoconfiguration of secondary GPUs and there
-is still not a single DE dealing with this, so I believe that it is
-time to upstream this now.
-
-To avoid potential future problems if any DEs get support for doing
-secondary GPU configuration themselves, the new autobind functionality
-is made optional. Since no DEs currently support doing this themselves it
-is enabled by default. When DEs grow support for doing this themselves
-they can disable the servers autobinding through the servers cmdline or a
-xorg.conf snippet.
-
-Signed-off-by: Dave Airlie <airlied@gmail.com>
-[hdegoede@redhat.com: Make configurable, fix with nvidia, submit upstream]
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- hw/xfree86/common/xf86Config.c | 19 +++++++++++++++++++
- hw/xfree86/common/xf86Globals.c | 2 ++
- hw/xfree86/common/xf86Init.c | 20 ++++++++++++++++++++
- hw/xfree86/common/xf86Priv.h | 1 +
- hw/xfree86/common/xf86Privstr.h | 1 +
- hw/xfree86/common/xf86platformBus.c | 4 ++++
- hw/xfree86/man/Xorg.man | 7 +++++++
- hw/xfree86/man/xorg.conf.man | 6 ++++++
- randr/randrstr.h | 3 +++
- randr/rrprovider.c | 22 ++++++++++++++++++++++
- 10 files changed, 85 insertions(+)
-
-diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
-index 2c1d335..d7d7c2e 100644
---- a/hw/xfree86/common/xf86Config.c
-+++ b/hw/xfree86/common/xf86Config.c
-@@ -643,6 +643,7 @@ typedef enum {
- FLAG_DRI2,
- FLAG_USE_SIGIO,
- FLAG_AUTO_ADD_GPU,
-+ FLAG_AUTO_BIND_GPU,
- FLAG_MAX_CLIENTS,
- FLAG_IGLX,
- FLAG_DEBUG,
-@@ -699,6 +700,8 @@ static OptionInfoRec FlagOptions[] = {
- {0}, FALSE},
- {FLAG_AUTO_ADD_GPU, "AutoAddGPU", OPTV_BOOLEAN,
- {0}, FALSE},
-+ {FLAG_AUTO_BIND_GPU, "AutoBindGPU", OPTV_BOOLEAN,
-+ {0}, FALSE},
- {FLAG_MAX_CLIENTS, "MaxClients", OPTV_INTEGER,
- {0}, FALSE },
- {FLAG_IGLX, "IndirectGLX", OPTV_BOOLEAN,
-@@ -779,6 +782,22 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
- }
- xf86Msg(from, "%sutomatically adding GPU devices\n",
- xf86Info.autoAddGPU ? "A" : "Not a");
-+
-+ if (xf86AutoBindGPUDisabled) {
-+ xf86Info.autoBindGPU = FALSE;
-+ from = X_CMDLINE;
-+ }
-+ else if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_BIND_GPU)) {
-+ xf86GetOptValBool(FlagOptions, FLAG_AUTO_BIND_GPU,
-+ &xf86Info.autoBindGPU);
-+ from = X_CONFIG;
-+ }
-+ else {
-+ from = X_DEFAULT;
-+ }
-+ xf86Msg(from, "%sutomatically binding GPU devices\n",
-+ xf86Info.autoBindGPU ? "A" : "Not a");
-+
- /*
- * Set things up based on the config file information. Some of these
- * settings may be overridden later when the command line options are
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index e890f05..7b27b4c 100644
---- a/hw/xfree86/common/xf86Globals.c
-+++ b/hw/xfree86/common/xf86Globals.c
-@@ -131,6 +131,7 @@ xf86InfoRec xf86Info = {
- #else
- .autoAddGPU = FALSE,
- #endif
-+ .autoBindGPU = TRUE,
- };
-
- const char *xf86ConfigFile = NULL;
-@@ -191,6 +192,7 @@ Bool xf86FlipPixels = FALSE;
- Gamma xf86Gamma = { 0.0, 0.0, 0.0 };
-
- Bool xf86AllowMouseOpenFail = FALSE;
-+Bool xf86AutoBindGPUDisabled = FALSE;
-
- #ifdef XF86VIDMODE
- Bool xf86VidModeDisabled = FALSE;
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index ea42ec9..ec255b6 100644
---- a/hw/xfree86/common/xf86Init.c
-+++ b/hw/xfree86/common/xf86Init.c
-@@ -76,6 +76,7 @@
- #include "xf86DDC.h"
- #include "xf86Xinput.h"
- #include "xf86InPriv.h"
-+#include "xf86Crtc.h"
- #include "picturestr.h"
- #include "randrstr.h"
- #include "glxvndabi.h"
-@@ -237,6 +238,19 @@ xf86PrivsElevated(void)
- return PrivsElevated();
- }
-
-+static void
-+xf86AutoConfigOutputDevices(void)
-+{
-+ int i;
-+
-+ if (!xf86Info.autoBindGPU)
-+ return;
-+
-+ for (i = 0; i < xf86NumGPUScreens; i++)
-+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]),
-+ xf86ScrnToScreen(xf86Screens[0]));
-+}
-+
- static void
- TrapSignals(void)
- {
-@@ -770,6 +784,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
- for (i = 0; i < xf86NumGPUScreens; i++)
- AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
-
-+ xf86AutoConfigOutputDevices();
-+
- xf86VGAarbiterWrapFunctions();
- if (sigio_blocked)
- input_unlock();
-@@ -1278,6 +1294,10 @@ ddxProcessArgument(int argc, char **argv, int i)
- xf86Info.iglxFrom = X_CMDLINE;
- return 0;
- }
-+ if (!strcmp(argv[i], "-noautoBindGPU")) {
-+ xf86AutoBindGPUDisabled = TRUE;
-+ return 1;
-+ }
-
- /* OS-specific processing */
- return xf86ProcessArgument(argc, argv, i);
-diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
-index 4fe2b5f..6566622 100644
---- a/hw/xfree86/common/xf86Priv.h
-+++ b/hw/xfree86/common/xf86Priv.h
-@@ -46,6 +46,7 @@
- extern _X_EXPORT const char *xf86ConfigFile;
- extern _X_EXPORT const char *xf86ConfigDir;
- extern _X_EXPORT Bool xf86AllowMouseOpenFail;
-+extern _X_EXPORT Bool xf86AutoBindGPUDisabled;
-
- #ifdef XF86VIDMODE
- extern _X_EXPORT Bool xf86VidModeDisabled;
-diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
-index 21c2e1f..6c71863 100644
---- a/hw/xfree86/common/xf86Privstr.h
-+++ b/hw/xfree86/common/xf86Privstr.h
-@@ -98,6 +98,7 @@ typedef struct {
-
- Bool autoAddGPU;
- const char *debug;
-+ Bool autoBindGPU;
- } xf86InfoRec, *xf86InfoPtr;
-
- /* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */
-diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
-index cef47da..913a324 100644
---- a/hw/xfree86/common/xf86platformBus.c
-+++ b/hw/xfree86/common/xf86platformBus.c
-@@ -49,6 +49,7 @@
- #include "Pci.h"
- #include "xf86platformBus.h"
- #include "xf86Config.h"
-+#include "xf86Crtc.h"
-
- #include "randrstr.h"
- int platformSlotClaimed;
-@@ -665,6 +666,9 @@ xf86platformAddDevice(int index)
- }
- /* attach unbound to 0 protocol screen */
- AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
-+ if (xf86Info.autoBindGPU)
-+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]),
-+ xf86ScrnToScreen(xf86Screens[0]));
-
- RRResourcesChanged(xf86Screens[0]->pScreen);
- RRTellChanged(xf86Screens[0]->pScreen);
-diff --git a/hw/xfree86/man/Xorg.man b/hw/xfree86/man/Xorg.man
-index 13a9dc3..745f986 100644
---- a/hw/xfree86/man/Xorg.man
-+++ b/hw/xfree86/man/Xorg.man
-@@ -283,6 +283,13 @@ is a comma separated list of directories to search for
- server modules. This option is only available when the server is run
- as root (i.e, with real-uid 0).
- .TP 8
-+.B \-noautoBindGPU
-+Disable automatically setting secondary GPUs up as output sinks and offload
-+sources. This is equivalent to setting the
-+.B AutoBindGPU
-+xorg.conf(__filemansuffix__) file option. To
-+.B false.
-+.TP 8
- .B \-nosilk
- Disable Silken Mouse support.
- .TP 8
-diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man
-index 9589262..8d51e06 100644
---- a/hw/xfree86/man/xorg.conf.man
-+++ b/hw/xfree86/man/xorg.conf.man
-@@ -672,6 +672,12 @@ Enabled by default.
- If this option is disabled, then no GPU devices will be added from the udev
- backend. Enabled by default. (May need to be disabled to setup Xinerama).
- .TP 7
-+.BI "Option \*qAutoBindGPU\*q \*q" boolean \*q
-+If enabled then secondary GPUs will be automatically set up as output-sinks and
-+offload-sources. Making e.g. laptop outputs connected only to the secondary
-+GPU directly available for use without needing to run
-+"xrandr --setprovideroutputsource". Enabled by default.
-+.TP 7
- .BI "Option \*qLog\*q \*q" string \*q
- This option controls whether the log is flushed and/or synced to disk after
- each message.
-diff --git a/randr/randrstr.h b/randr/randrstr.h
-index f94174b..092d726 100644
---- a/randr/randrstr.h
-+++ b/randr/randrstr.h
-@@ -1039,6 +1039,9 @@ RRProviderLookup(XID id, RRProviderPtr *provider_p);
- extern _X_EXPORT void
- RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider);
-
-+extern _X_EXPORT void
-+RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr masterScreen);
-+
- /* rrproviderproperty.c */
-
- extern _X_EXPORT void
-diff --git a/randr/rrprovider.c b/randr/rrprovider.c
-index e4bc2bf..e04c18f 100644
---- a/randr/rrprovider.c
-+++ b/randr/rrprovider.c
-@@ -485,3 +485,25 @@ RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider)
-
- WriteEventsToClient(client, 1, (xEvent *) &pe);
- }
-+
-+void
-+RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr masterScreen)
-+{
-+ rrScrPrivPtr pScrPriv = rrGetScrPriv(pScreen);
-+ rrScrPrivPtr masterPriv = rrGetScrPriv(masterScreen);
-+ RRProviderPtr provider = pScrPriv->provider;
-+ RRProviderPtr master_provider = masterPriv->provider;
-+
-+ if (!provider || !master_provider)
-+ return;
-+
-+ if ((provider->capabilities & RR_Capability_SinkOutput) &&
-+ (master_provider->capabilities & RR_Capability_SourceOutput)) {
-+ pScrPriv->rrProviderSetOutputSource(pScreen, provider, master_provider);
-+ RRInitPrimeSyncProps(pScreen);
-+ }
-+
-+ if ((provider->capabilities & RR_Capability_SourceOffload) &&
-+ (master_provider->capabilities & RR_Capability_SinkOffload))
-+ pScrPriv->rrProviderSetOffloadSink(pScreen, provider, master_provider);
-+}
---
-2.16.2
-
diff --git a/source/x/x11/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch b/source/x/x11/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch
deleted file mode 100644
index 0efddcf5..00000000
--- a/source/x/x11/patch/xorg-server/0001-f1070c01d616c5f21f939d5ebc533738779451ac.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From f1070c01d616c5f21f939d5ebc533738779451ac Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue, 5 Jul 2022 12:40:47 +1000
-Subject: [PATCH] xkb: switch to array index loops to moving pointers
-
-Most similar loops here use a pointer that advances with each loop
-iteration, let's do the same here for consistency.
-
-No functional changes.
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
----
- xkb/xkb.c | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index a29262c24..64e52611e 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -5368,16 +5368,16 @@ _CheckSetSections(XkbGeometryPtr geom,
- row->left = rWire->left;
- row->vertical = rWire->vertical;
- kWire = (xkbKeyWireDesc *) &rWire[1];
-- for (k = 0; k < rWire->nKeys; k++) {
-+ for (k = 0; k < rWire->nKeys; k++, kWire++) {
- XkbKeyPtr key;
-
- key = XkbAddGeomKey(row);
- if (!key)
- return BadAlloc;
-- memcpy(key->name.name, kWire[k].name, XkbKeyNameLength);
-- key->gap = kWire[k].gap;
-- key->shape_ndx = kWire[k].shapeNdx;
-- key->color_ndx = kWire[k].colorNdx;
-+ memcpy(key->name.name, kWire->name, XkbKeyNameLength);
-+ key->gap = kWire->gap;
-+ key->shape_ndx = kWire->shapeNdx;
-+ key->color_ndx = kWire->colorNdx;
- if (key->shape_ndx >= geom->num_shapes) {
- client->errorValue = _XkbErrCode3(0x10, key->shape_ndx,
- geom->num_shapes);
-@@ -5389,7 +5389,7 @@ _CheckSetSections(XkbGeometryPtr geom,
- return BadMatch;
- }
- }
-- rWire = (xkbRowWireDesc *) &kWire[rWire->nKeys];
-+ rWire = (xkbRowWireDesc *)kWire;
- }
- wire = (char *) rWire;
- if (sWire->nDoodads > 0) {
-@@ -5454,16 +5454,16 @@ _CheckSetShapes(XkbGeometryPtr geom,
- return BadAlloc;
- ol->corner_radius = olWire->cornerRadius;
- ptWire = (xkbPointWireDesc *) &olWire[1];
-- for (p = 0, pt = ol->points; p < olWire->nPoints; p++, pt++) {
-- pt->x = ptWire[p].x;
-- pt->y = ptWire[p].y;
-+ for (p = 0, pt = ol->points; p < olWire->nPoints; p++, pt++, ptWire++) {
-+ pt->x = ptWire->x;
-+ pt->y = ptWire->y;
- if (client->swapped) {
- swaps(&pt->x);
- swaps(&pt->y);
- }
- }
- ol->num_points = olWire->nPoints;
-- olWire = (xkbOutlineWireDesc *) (&ptWire[olWire->nPoints]);
-+ olWire = (xkbOutlineWireDesc *)ptWire;
- }
- if (shapeWire->primaryNdx != XkbNoShape)
- shape->primary = &shape->outlines[shapeWire->primaryNdx];
---
-GitLab
-
diff --git a/source/x/x11/patch/xorg-server/0001-render-Fix-build-with-gcc-12.patch b/source/x/x11/patch/xorg-server/0001-render-Fix-build-with-gcc-12.patch
deleted file mode 100644
index 22f2e5a7..00000000
--- a/source/x/x11/patch/xorg-server/0001-render-Fix-build-with-gcc-12.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 53173fdab492f0f638f6616fcf01af0b9ea6338d Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Thu, 20 Jan 2022 10:20:38 +0100
-Subject: [PATCH xserver] render: Fix build with gcc 12
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The xserver fails to compile with the latest gcc 12:
-
- render/picture.c: In function ‘CreateSolidPicture’:
- render/picture.c:874:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[16]’ [-Werror=array-bounds]
- 874 | pPicture->pSourcePict->type = SourcePictTypeSolidFill;
- | ^~
- render/picture.c:868:45: note: object of size 16 allocated by ‘malloc’
- 868 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- render/picture.c: In function ‘CreateLinearGradientPicture’:
- render/picture.c:906:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds]
- 906 | pPicture->pSourcePict->linear.type = SourcePictTypeLinear;
- | ^~
- render/picture.c:899:45: note: object of size 32 allocated by ‘malloc’
- 899 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- render/picture.c: In function ‘CreateConicalGradientPicture’:
- render/picture.c:989:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds]
- 989 | pPicture->pSourcePict->conical.type = SourcePictTypeConical;
- | ^~
- render/picture.c:982:45: note: object of size 32 allocated by ‘malloc’
- 982 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- cc1: some warnings being treated as errors
- ninja: build stopped: subcommand failed.
-
-This is because gcc 12 has become stricter and raises a warning now.
-
-Fix the warning/error by allocating enough memory to store the union
-struct.
-
-Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-Acked-by: Michel Dänzer <mdaenzer@redhat.com>
-Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1256
-(cherry picked from commit c6b0dcb82d4db07a2f32c09a8c09c85a5f57248e)
----
- render/picture.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/render/picture.c b/render/picture.c
-index afa0d258f..2be4b1954 100644
---- a/render/picture.c
-+++ b/render/picture.c
-@@ -865,7 +865,7 @@ CreateSolidPicture(Picture pid, xRenderColor * color, int *error)
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -896,7 +896,7 @@ CreateLinearGradientPicture(Picture pid, xPointFixed * p1, xPointFixed * p2,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -936,7 +936,7 @@ CreateRadialGradientPicture(Picture pid, xPointFixed * inner,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictRadialGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -979,7 +979,7 @@ CreateConicalGradientPicture(Picture pid, xPointFixed * center, xFixed angle,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
---
-2.34.1
-
diff --git a/source/x/x11/patch/xorg-server/0002-dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.patch b/source/x/x11/patch/xorg-server/0002-dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.patch
deleted file mode 100644
index 72d30f36..00000000
--- a/source/x/x11/patch/xorg-server/0002-dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From dd8caf39e9e15d8f302e54045dd08d8ebf1025dc Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue, 5 Jul 2022 09:50:41 +1000
-Subject: [PATCH] xkb: swap XkbSetDeviceInfo and XkbSetDeviceInfoCheck
-
-XKB often uses a FooCheck and Foo function pair, the former is supposed
-to check all values in the request and error out on BadLength,
-BadValue, etc. The latter is then called once we're confident the values
-are good (they may still fail on an individual device, but that's a
-different topic).
-
-In the case of XkbSetDeviceInfo, those functions were incorrectly
-named, with XkbSetDeviceInfo ending up as the checker function and
-XkbSetDeviceInfoCheck as the setter function. As a result, the setter
-function was called before the checker function, accessing request
-data and modifying device state before we ensured that the data is
-valid.
-
-In particular, the setter function relied on values being already
-byte-swapped. This in turn could lead to potential OOB memory access.
-
-Fix this by correctly naming the functions and moving the length checks
-over to the checker function. These were added in 87c64fc5b0 to the
-wrong function, probably due to the incorrect naming.
-
-Fixes ZDI-CAN 16070, CVE-2022-2320.
-
-This vulnerability was discovered by:
-Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
-
-Introduced in c06e27b2f6fd9f7b9f827623a48876a225264132
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- xkb/xkb.c | 46 +++++++++++++++++++++++++---------------------
- 1 file changed, 25 insertions(+), 21 deletions(-)
-
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index 64e52611e..34b2c290b 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -6550,7 +6550,8 @@ ProcXkbGetDeviceInfo(ClientPtr client)
- static char *
- CheckSetDeviceIndicators(char *wire,
- DeviceIntPtr dev,
-- int num, int *status_rtrn, ClientPtr client)
-+ int num, int *status_rtrn, ClientPtr client,
-+ xkbSetDeviceInfoReq * stuff)
- {
- xkbDeviceLedsWireDesc *ledWire;
- int i;
-@@ -6558,6 +6559,11 @@ CheckSetDeviceIndicators(char *wire,
-
- ledWire = (xkbDeviceLedsWireDesc *) wire;
- for (i = 0; i < num; i++) {
-+ if (!_XkbCheckRequestBounds(client, stuff, ledWire, ledWire + 1)) {
-+ *status_rtrn = BadLength;
-+ return (char *) ledWire;
-+ }
-+
- if (client->swapped) {
- swaps(&ledWire->ledClass);
- swaps(&ledWire->ledID);
-@@ -6585,6 +6591,11 @@ CheckSetDeviceIndicators(char *wire,
- atomWire = (CARD32 *) &ledWire[1];
- if (nNames > 0) {
- for (n = 0; n < nNames; n++) {
-+ if (!_XkbCheckRequestBounds(client, stuff, atomWire, atomWire + 1)) {
-+ *status_rtrn = BadLength;
-+ return (char *) atomWire;
-+ }
-+
- if (client->swapped) {
- swapl(atomWire);
- }
-@@ -6596,6 +6607,10 @@ CheckSetDeviceIndicators(char *wire,
- mapWire = (xkbIndicatorMapWireDesc *) atomWire;
- if (nMaps > 0) {
- for (n = 0; n < nMaps; n++) {
-+ if (!_XkbCheckRequestBounds(client, stuff, mapWire, mapWire + 1)) {
-+ *status_rtrn = BadLength;
-+ return (char *) mapWire;
-+ }
- if (client->swapped) {
- swaps(&mapWire->virtualMods);
- swapl(&mapWire->ctrls);
-@@ -6647,11 +6662,6 @@ SetDeviceIndicators(char *wire,
- xkbIndicatorMapWireDesc *mapWire;
- XkbSrvLedInfoPtr sli;
-
-- if (!_XkbCheckRequestBounds(client, stuff, ledWire, ledWire + 1)) {
-- *status_rtrn = BadLength;
-- return (char *) ledWire;
-- }
--
- namec = mapc = statec = 0;
- sli = XkbFindSrvLedInfo(dev, ledWire->ledClass, ledWire->ledID,
- XkbXI_IndicatorMapsMask);
-@@ -6670,10 +6680,6 @@ SetDeviceIndicators(char *wire,
- memset((char *) sli->names, 0, XkbNumIndicators * sizeof(Atom));
- for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) {
- if (ledWire->namesPresent & bit) {
-- if (!_XkbCheckRequestBounds(client, stuff, atomWire, atomWire + 1)) {
-- *status_rtrn = BadLength;
-- return (char *) atomWire;
-- }
- sli->names[n] = (Atom) *atomWire;
- if (sli->names[n] == None)
- ledWire->namesPresent &= ~bit;
-@@ -6691,10 +6697,6 @@ SetDeviceIndicators(char *wire,
- if (ledWire->mapsPresent) {
- for (n = 0, bit = 1; n < XkbNumIndicators; n++, bit <<= 1) {
- if (ledWire->mapsPresent & bit) {
-- if (!_XkbCheckRequestBounds(client, stuff, mapWire, mapWire + 1)) {
-- *status_rtrn = BadLength;
-- return (char *) mapWire;
-- }
- sli->maps[n].flags = mapWire->flags;
- sli->maps[n].which_groups = mapWire->whichGroups;
- sli->maps[n].groups = mapWire->groups;
-@@ -6730,13 +6732,17 @@ SetDeviceIndicators(char *wire,
- }
-
- static int
--_XkbSetDeviceInfo(ClientPtr client, DeviceIntPtr dev,
-+_XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
- xkbSetDeviceInfoReq * stuff)
- {
- char *wire;
-
- wire = (char *) &stuff[1];
- if (stuff->change & XkbXI_ButtonActionsMask) {
-+ int sz = stuff->nBtns * SIZEOF(xkbActionWireDesc);
-+ if (!_XkbCheckRequestBounds(client, stuff, wire, (char *) wire + sz))
-+ return BadLength;
-+
- if (!dev->button) {
- client->errorValue = _XkbErrCode2(XkbErr_BadClass, ButtonClass);
- return XkbKeyboardErrorCode;
-@@ -6747,13 +6753,13 @@ _XkbSetDeviceInfo(ClientPtr client, DeviceIntPtr dev,
- dev->button->numButtons);
- return BadMatch;
- }
-- wire += (stuff->nBtns * SIZEOF(xkbActionWireDesc));
-+ wire += sz;
- }
- if (stuff->change & XkbXI_IndicatorsMask) {
- int status = Success;
-
- wire = CheckSetDeviceIndicators(wire, dev, stuff->nDeviceLedFBs,
-- &status, client);
-+ &status, client, stuff);
- if (status != Success)
- return status;
- }
-@@ -6764,8 +6770,8 @@ _XkbSetDeviceInfo(ClientPtr client, DeviceIntPtr dev,
- }
-
- static int
--_XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
-- xkbSetDeviceInfoReq * stuff)
-+_XkbSetDeviceInfo(ClientPtr client, DeviceIntPtr dev,
-+ xkbSetDeviceInfoReq * stuff)
- {
- char *wire;
- xkbExtensionDeviceNotify ed;
-@@ -6789,8 +6795,6 @@ _XkbSetDeviceInfoCheck(ClientPtr client, DeviceIntPtr dev,
- if (stuff->firstBtn + stuff->nBtns > nBtns)
- return BadValue;
- sz = stuff->nBtns * SIZEOF(xkbActionWireDesc);
-- if (!_XkbCheckRequestBounds(client, stuff, wire, (char *) wire + sz))
-- return BadLength;
- memcpy((char *) &acts[stuff->firstBtn], (char *) wire, sz);
- wire += sz;
- ed.reason |= XkbXI_ButtonActionsMask;
---
-GitLab
-
diff --git a/source/x/x11/patch/xorg-server/0003-6907b6ea2b4ce949cb07271f5b678d5966d9df42.patch b/source/x/x11/patch/xorg-server/0003-6907b6ea2b4ce949cb07271f5b678d5966d9df42.patch
deleted file mode 100644
index 11121070..00000000
--- a/source/x/x11/patch/xorg-server/0003-6907b6ea2b4ce949cb07271f5b678d5966d9df42.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 6907b6ea2b4ce949cb07271f5b678d5966d9df42 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue, 5 Jul 2022 11:11:06 +1000
-Subject: [PATCH] xkb: add request length validation for XkbSetGeometry
-
-No validation of the various fields on that report were done, so a
-malicious client could send a short request that claims it had N
-sections, or rows, or keys, and the server would process the request for
-N sections, running out of bounds of the actual request data.
-
-Fix this by adding size checks to ensure our data is valid.
-
-ZDI-CAN 16062, CVE-2022-2319.
-
-This vulnerability was discovered by:
-Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- xkb/xkb.c | 43 ++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/xkb/xkb.c b/xkb/xkb.c
-index 34b2c290b..4692895db 100644
---- a/xkb/xkb.c
-+++ b/xkb/xkb.c
-@@ -5156,7 +5156,7 @@ _GetCountedString(char **wire_inout, ClientPtr client, char **str)
- }
-
- static Status
--_CheckSetDoodad(char **wire_inout,
-+_CheckSetDoodad(char **wire_inout, xkbSetGeometryReq *req,
- XkbGeometryPtr geom, XkbSectionPtr section, ClientPtr client)
- {
- char *wire;
-@@ -5167,6 +5167,9 @@ _CheckSetDoodad(char **wire_inout,
- Status status;
-
- dWire = (xkbDoodadWireDesc *) (*wire_inout);
-+ if (!_XkbCheckRequestBounds(client, req, dWire, dWire + 1))
-+ return BadLength;
-+
- any = dWire->any;
- wire = (char *) &dWire[1];
- if (client->swapped) {
-@@ -5269,7 +5272,7 @@ _CheckSetDoodad(char **wire_inout,
- }
-
- static Status
--_CheckSetOverlay(char **wire_inout,
-+_CheckSetOverlay(char **wire_inout, xkbSetGeometryReq *req,
- XkbGeometryPtr geom, XkbSectionPtr section, ClientPtr client)
- {
- register int r;
-@@ -5280,6 +5283,9 @@ _CheckSetOverlay(char **wire_inout,
-
- wire = *wire_inout;
- olWire = (xkbOverlayWireDesc *) wire;
-+ if (!_XkbCheckRequestBounds(client, req, olWire, olWire + 1))
-+ return BadLength;
-+
- if (client->swapped) {
- swapl(&olWire->name);
- }
-@@ -5291,6 +5297,9 @@ _CheckSetOverlay(char **wire_inout,
- xkbOverlayKeyWireDesc *kWire;
- XkbOverlayRowPtr row;
-
-+ if (!_XkbCheckRequestBounds(client, req, rWire, rWire + 1))
-+ return BadLength;
-+
- if (rWire->rowUnder > section->num_rows) {
- client->errorValue = _XkbErrCode4(0x20, r, section->num_rows,
- rWire->rowUnder);
-@@ -5299,6 +5308,9 @@ _CheckSetOverlay(char **wire_inout,
- row = XkbAddGeomOverlayRow(ol, rWire->rowUnder, rWire->nKeys);
- kWire = (xkbOverlayKeyWireDesc *) &rWire[1];
- for (k = 0; k < rWire->nKeys; k++, kWire++) {
-+ if (!_XkbCheckRequestBounds(client, req, kWire, kWire + 1))
-+ return BadLength;
-+
- if (XkbAddGeomOverlayKey(ol, row,
- (char *) kWire->over,
- (char *) kWire->under) == NULL) {
-@@ -5332,6 +5344,9 @@ _CheckSetSections(XkbGeometryPtr geom,
- register int r;
- xkbRowWireDesc *rWire;
-
-+ if (!_XkbCheckRequestBounds(client, req, sWire, sWire + 1))
-+ return BadLength;
-+
- if (client->swapped) {
- swapl(&sWire->name);
- swaps(&sWire->top);
-@@ -5357,6 +5372,9 @@ _CheckSetSections(XkbGeometryPtr geom,
- XkbRowPtr row;
- xkbKeyWireDesc *kWire;
-
-+ if (!_XkbCheckRequestBounds(client, req, rWire, rWire + 1))
-+ return BadLength;
-+
- if (client->swapped) {
- swaps(&rWire->top);
- swaps(&rWire->left);
-@@ -5371,6 +5389,9 @@ _CheckSetSections(XkbGeometryPtr geom,
- for (k = 0; k < rWire->nKeys; k++, kWire++) {
- XkbKeyPtr key;
-
-+ if (!_XkbCheckRequestBounds(client, req, kWire, kWire + 1))
-+ return BadLength;
-+
- key = XkbAddGeomKey(row);
- if (!key)
- return BadAlloc;
-@@ -5396,7 +5417,7 @@ _CheckSetSections(XkbGeometryPtr geom,
- register int d;
-
- for (d = 0; d < sWire->nDoodads; d++) {
-- status = _CheckSetDoodad(&wire, geom, section, client);
-+ status = _CheckSetDoodad(&wire, req, geom, section, client);
- if (status != Success)
- return status;
- }
-@@ -5405,7 +5426,7 @@ _CheckSetSections(XkbGeometryPtr geom,
- register int o;
-
- for (o = 0; o < sWire->nOverlays; o++) {
-- status = _CheckSetOverlay(&wire, geom, section, client);
-+ status = _CheckSetOverlay(&wire, req, geom, section, client);
- if (status != Success)
- return status;
- }
-@@ -5439,6 +5460,9 @@ _CheckSetShapes(XkbGeometryPtr geom,
- xkbOutlineWireDesc *olWire;
- XkbOutlinePtr ol;
-
-+ if (!_XkbCheckRequestBounds(client, req, shapeWire, shapeWire + 1))
-+ return BadLength;
-+
- shape =
- XkbAddGeomShape(geom, shapeWire->name, shapeWire->nOutlines);
- if (!shape)
-@@ -5449,12 +5473,18 @@ _CheckSetShapes(XkbGeometryPtr geom,
- XkbPointPtr pt;
- xkbPointWireDesc *ptWire;
-
-+ if (!_XkbCheckRequestBounds(client, req, olWire, olWire + 1))
-+ return BadLength;
-+
- ol = XkbAddGeomOutline(shape, olWire->nPoints);
- if (!ol)
- return BadAlloc;
- ol->corner_radius = olWire->cornerRadius;
- ptWire = (xkbPointWireDesc *) &olWire[1];
- for (p = 0, pt = ol->points; p < olWire->nPoints; p++, pt++, ptWire++) {
-+ if (!_XkbCheckRequestBounds(client, req, ptWire, ptWire + 1))
-+ return BadLength;
-+
- pt->x = ptWire->x;
- pt->y = ptWire->y;
- if (client->swapped) {
-@@ -5560,12 +5590,15 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
- return status;
-
- for (i = 0; i < req->nDoodads; i++) {
-- status = _CheckSetDoodad(&wire, geom, NULL, client);
-+ status = _CheckSetDoodad(&wire, req, geom, NULL, client);
- if (status != Success)
- return status;
- }
-
- for (i = 0; i < req->nKeyAliases; i++) {
-+ if (!_XkbCheckRequestBounds(client, req, wire, wire + XkbKeyNameLength))
-+ return BadLength;
-+
- if (XkbAddGeomKeyAlias(geom, &wire[XkbKeyNameLength], wire) == NULL)
- return BadAlloc;
- wire += 2 * XkbKeyNameLength;
---
-GitLab
-
diff --git a/source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch b/source/x/x11/patch/xorg-server/failed/0001-Always-install-vbe-and-int10-sdk-headers.patch
index c613eb8f..c613eb8f 100644
--- a/source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch
+++ b/source/x/x11/patch/xorg-server/failed/0001-Always-install-vbe-and-int10-sdk-headers.patch
diff --git a/source/x/x11/patch/xorg-server/fix-pci-segfault.diff b/source/x/x11/patch/xorg-server/fix-pci-segfault.diff
deleted file mode 100644
index 40037628..00000000
--- a/source/x/x11/patch/xorg-server/fix-pci-segfault.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
-index cef47da03d0e91e6a56a5e3cb14a51d931633eff..dadbac6c8f0ae6f3d636fdfe245e61bc0c98581d 100644
---- a/hw/xfree86/common/xf86platformBus.c
-+++ b/hw/xfree86/common/xf86platformBus.c
-@@ -289,7 +289,7 @@ xf86platformProbe(void)
- for (i = 0; i < xf86_num_platform_devices; i++) {
- char *busid = xf86_platform_odev_attributes(i)->busid;
-
-- if (pci && (strncmp(busid, "pci:", 4) == 0)) {
-+ if (pci && busid && (strncmp(busid, "pci:", 4) == 0)) {
- platform_find_pci_info(&xf86_platform_devices[i], busid);
- }
diff --git a/source/x/x11/src/get-xf86-video-vmware.sh b/source/x/x11/src/get-xf86-video-vmware.sh
new file mode 100755
index 00000000..00fef209
--- /dev/null
+++ b/source/x/x11/src/get-xf86-video-vmware.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+# Copyright 2016, 2018, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modificvmwareon, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf xf86-video-vmware
+
+# Clone repository:
+git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-vmware/
+
+# checkout $BRANCH:
+( cd xf86-video-vmware
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd xf86-video-vmware && git log -1 --format=%h )"
+DATE="$( cd xf86-video-vmware && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd xf86-video-vmware && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd xf86-video-vmware && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv xf86-video-vmware xf86-video-vmware-${DATE}_${HEADISAT}
+tar cf xf86-video-vmware-${DATE}_${HEADISAT}.tar xf86-video-vmware-${DATE}_${HEADISAT}
+xz -9 -f xf86-video-vmware-${DATE}_${HEADISAT}.tar
+rm -rf xf86-video-vmware-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" xf86-video-vmware-${DATE}_${HEADISAT}.tar.xz
+echo
+echo "xf86-video-vmware branch $BRANCH with HEAD at $HEADISAT packaged as xf86-video-vmware-${DATE}_${HEADISAT}.tar.xz"
+echo
diff --git a/source/x/xorg-server-xwayland/xorg-server-xwayland.SlackBuild b/source/x/xorg-server-xwayland/xorg-server-xwayland.SlackBuild
index 1e94a6a4..6365e0c4 100755
--- a/source/x/xorg-server-xwayland/xorg-server-xwayland.SlackBuild
+++ b/source/x/xorg-server-xwayland/xorg-server-xwayland.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xorg-server-xwayland
SRCNAM=xwayland
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Default font paths to be used by the X server:
DEF_FONTPATH="/usr/share/fonts/misc,/usr/share/fonts/local,/usr/share/fonts/TTF,/usr/share/fonts/OTF,/usr/share/fonts/Type1,/usr/share/fonts/CID,/usr/share/fonts/75dpi/:unscaled,/usr/share/fonts/100dpi/:unscaled,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/cyrillic"