### this file is sourced not run
PKGVER=1.20.6
PKGBUILD=1
PKGARCH=x86_64

# source: BLFS svn 2018-5-26 updated to latest
TARBALL=xorg-server-$PKGVER.tar.bz2
MD5SUM=a98170084f2c8fed480d2ff601f8a14b
SRC_URL=http://xorg.freedesktop.org/archive/individual/xserver/$TARBALL
BUNDLE=

SLACKREQ='mesa openssl pixman xkeyboard-config tslib mtdev xcb-util-renderutil
libunwind' # and xorg libs
SLACKDESC="xorg-server: xorg-server $PKGVER (X11 Core Server)  
xorg-server:  
xorg-server: The Xorg Server is the core of the X Window system.  
xorg-server: 
xorg-server: 
xorg-server: 
xorg-server: 
xorg-server: 
xorg-server: 
xorg-server: 
xorg-server:
"

PKG_NOSTRIP= # we build with -g if this is set to yes

### default pkg_download
### prepare
pkg_prepare() {
	pkg_prepare_default &&
	cd tmp/xorg-server* &&

	# https://gitlab.freedesktop.org/xorg/xserver/merge_requests/193
	#patch -Np1 -i ../pkg/fix-page-flip.patch && # already applied in 1.20.6

	# https://cgit.freedesktop.org/xorg/xserver/log/?h=server-1.20-branch
	# selected upstream patches up to 2020-02-26 (beyond 1.20.7)
	for p in \
		upstream-xi-grabserver                \
		upstream-exa-gxcopy                   \
		upstream-dri2-proper-return-value     \
		upstream-glamor-glsl                  \
		upstream-glamor-fbo-fail-1            \
		upstream-glamor-fbo-fail-2            \
		upstream-glamor-fbo-fail-3            \
		upstream-glamor-fbo-fail-4            \
		upstream-glamor-fbo-fail-5            \
		upstream-modesetting-glamor-finish    \
		upstream-modesetting-clear-pixmap     \
		upstream-modesetting-must-init-randr  \
		upstream-modesetting-zaphod           \
		upstream-modesetting-no-atomic        \
		upstream-modes-rotate-1               \
		upstream-modes-rotate-2
	do
		echo $p
		patch -Np1 -i ../pkg/upstream/${p}.patch || return 1
	done &&

	# DosBox: grabbing mouse pointer no longer works. Jake
	# still needed in 1.20.6 - otherwise pressed keys can be lost.
	patch -Rp1 -i ../pkg/enterleave.c.patch && 

	# Restore 24bpp support for fbdev (make qemu cirrus works again)
	patch -Np1 -i ../pkg/fbdevhw-24bpp-fallback.patch &&

	# Restore 24bpp support for vesa (make qemu cirrus works again)
	patch -Np1 -i ../pkg/vbe-24bpp-fallback.patch &&

	true
}

### default pkg_package
### build
pkg_build() {
	#cd /tmp/xorg-server* && ./autogen.sh &&

	CONFFLAGS="$XORG_CONFIG --with-xkb-output=/var/lib/xkb \
    --enable-install-setuid \
    --enable-config-udev --enable-xephyr --enable-kdrive --enable-dmx \
    --enable-dri2 --enable-dri3 --enable-glamor --enable-libdrm \
    --enable-config-udev-kms --disable-config-hal  \
    --disable-systemd-logind --without-systemd-daemon \
    --enable-libunwind" # libunwind enables better backtrace
#   --enable-debug    
#   --enable-suid-wrapper
# Options gone since 1.20
#   --enable-xfbdev, --enable-tslib, --enable-kdrive-mouse, --enable-kdrive-evdev

	# get debugging symbols if we're building with nostrip
	[ $PKG_NOSTRIP ] && CFLAGS="$CFLAGS -g -rdynamic"
	
	pkg_build_autoconf && 
	pkg_build_slackdesc &&

	# enable zap
	mkdir -pv /etc/X11/xorg.conf.d &&
	install -m644 /tmp/pkg/xkb-defaults.conf /etc/X11/xorg.conf.d	
}
 
