# Template build file for 'xorg-server1.16'.
pkgname=xorg-server1.16
version=1.16.4
revision=3
wrksrc="xorg-server-${version}"
build_style=gnu-configure
configure_args="--enable-ipv6 --enable-xcsecurity --enable-record
 --enable-xnest --enable-xephyr --enable-composite --enable-xvfb
 --disable-static --disable-config-hal --disable-xfbdev --disable-xfake
 --enable-config-udev --enable-config-udev-kms
 --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/var/lib/xkb
 --with-fontrootdir=/usr/share/fonts/X11 --with-sha1=libcrypto
 --disable-dmx --disable-xfree86-utils --enable-dga --enable-xorg
 --enable-kdrive --enable-kdrive-evdev --enable-kdrive-kbd
 --enable-kdrive-mouse --enable-xorg --enable-xcsecurity
 --disable-linux-acpi --disable-linux-apm --enable-xwayland
 --enable-suid-wrapper --with-shared-memory-dir=/dev/shm
 $(vopt_enable systemd systemd-logind) $(vopt_with systemd systemd-daemon)"
short_desc="The X11 server from X.org"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://xorg.freedesktop.org"
license="MIT/X11, BSD"
distfiles="${XORG_SITE}/xserver/xorg-server-${version}.tar.bz2"
checksum=abb6e1cc9213a9915a121f48576ff6739a0b8cdb3d32796f9a7743c9a6efc871

lib32disabled=yes

hostmakedepends="pkg-config perl flex"
makedepends="
 damageproto inputproto glproto xproto presentproto
 dri2proto dri3proto xf86driproto randrproto videoproto compositeproto scrnsaverproto
 resourceproto xineramaproto xcmiscproto bigreqsproto xcb-util-devel
 xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel libudev-devel
 libressl-devel libX11-devel libXext-devel libdmx-devel libpciaccess-devel
 libXfont-devel libXmu-devel libXrender-devel libXfixes-devel libXi-devel
 libXaw-devel libdrm-devel libXtst-devel libXres-devel libxkbui-devel
 libxkbfile-devel libXxf86dga-devel libXv-devel pixman-devel libxshmfence-devel
 wayland-devel libepoxy-devel xcb-util-renderutil-devel"
# See hw/xfree86/common/xf86Module.h. Only care for the major version.
depends="xkeyboard-config"
provides="xorg-server-${version}_${revision} xserver-abi-extension-8_1 xserver-abi-input-21_1 xserver-abi-video-18_1"
conflicts="xorg-server>=0"

# Package build options
build_options="systemd"

if [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
	# Enable glamor/dri/opengl by default on x86.
	configure_args+=" --enable-glamor --enable-dri2 --enable-dri3 --enable-glx-tls --enable-glx"
	makedepends+=" MesaLib-devel"
	replaces+=" glamor-egl>=0"
else
	# Enable dri2 on !x86 via libdri.
	configure_args+=" --disable-glx --disable-dri --enable-dri2 --enable-dri3"
	makedepends+=" dri2proto libdri2-devel-git"
fi

conf_files="/etc/X11/Xwrapper.config"

post_install() {
	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 usr/share/X11/xorg.conf.d
	vinstall ${FILESDIR}/Xwrapper.config 644 etc/X11

	vinstall COPYING 644 usr/share/licenses/${pkgname}

	chmod 4755 ${DESTDIR}/usr/libexec/Xorg.wrap

	if [ -e ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so ]; then
		# Support nvidia and amd binary blobs to provide their own
		# implementation.
		mv ${DESTDIR}/usr/lib/xorg/modules/extensions/{libglx.so,libglx-xorg.so}
	fi
}

xorg-server1.16-xnest_package() {
	provides="xorg-server-xnest-${version}_${revision}"
	replaces="xorg-server-xnest>=0"
	short_desc="A nested X server that runs as an X application"
	pkg_install() {
		vmove usr/bin/Xnest
		vmove usr/share/man/man1/Xnest.1
	}
}
xorg-server1.16-xephyr_package() {
	provides="xorg-server-xephyr-${version}_${revision}"
	replaces="xorg-server-xephyr>=0"
	short_desc="X server outputting to a window on a pre-existing X display"
	pkg_install() {
		vmove usr/bin/Xephyr
		vmove usr/share/man/man1/Xephyr.1
	}
}
xorg-server1.16-xvfb_package() {
	provides="xorg-server-xvfb-${version}_${revision}"
	replaces="xorg-server-xvfb>=0"
	short_desc="Virtual framebuffer X server"
	pkg_install() {
		vmove usr/bin/Xvfb
		vmove usr/share/man/man1/Xvfb.1
	}
}
xorg-server1.16-devel_package() {
	provides="xorg-server-devel-${version}_${revision}"
	replaces="xorg-server-devel>=0"
	depends="${makedepends}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove usr/share/aclocal
	}
}
