# Contributor: Ɓukasz Jendrysik # Maintainer: Natanael Copa pkgname=xorg-server pkgver=1.19.6 pkgrel=0 pkgdesc="X.Org X servers" url="http://xorg.freedesktop.org" arch="all" license="MIT" options="suid" subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xfbdev xvfb $pkgname-xephyr $pkgname-xnest $pkgname-xwayland" # the modesetting driver is now shipped with xorg server replaces="xf86-video-modesetting" depends=" font-misc-misc font-cursor-misc xkeyboard-config xkbcomp xinit " depends_dev=" bigreqsproto compositeproto damageproto fixesproto libepoxy-dev libxfont2-dev mesa-dev recordproto xcmiscproto " makedepends=" $depends_dev autoconf automake dri2proto eudev-dev fontsproto glproto inputproto kbproto libdrm-dev libepoxy-dev libpciaccess-dev libtool libx11-dev libxdamage-dev libxinerama-dev libxkbfile-dev libxkbui-dev libxv-dev libxxf86dga-dev libxxf86misc-dev openssl-dev perl pixman-dev presentproto randrproto renderproto resourceproto scrnsaverproto util-macros videoproto wayland-dev wayland-protocols xcb-util-dev xcb-util-image-dev xcb-util-keysyms-dev xcb-util-renderutil-dev xcb-util-wm-dev xextproto xf86driproto xineramaproto xproto xtrans zlib-dev " source="http://www.x.org/releases/individual/xserver/$pkgname-$pkgver.tar.bz2 autoconfig-nvidia.patch autoconfig-sis.patch fix-musl-arm.patch 20-modules.conf " builddir="$srcdir"/$pkgname-$pkgver # secfixes: # 1.19.5-r0: # - CVE-2017-12176 # - CVE-2017-12177 # - CVE-2017-12178 # - CVE-2017-12179 # - CVE-2017-12180 # - CVE-2017-12181 # - CVE-2017-12182 # - CVE-2017-12183 # - CVE-2017-12184 # - CVE-2017-12185 # - CVE-2017-12186 # - CVE-2017-12187 # - CVE-2017-13721 # - CVE-2017-13723 prepare() { cd "$builddir" default_prepare # Fix dbus config path sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* sed -i -e 's/termio.h/termios.h/' hw/xfree86/os-support/xf86_OSlib.h } build() { cd "$builddir" # xorg modules does not work with the -z now and it seems like we # cannot pass over the linker flag to .so files. so we tweak the # gcc specs. export CFLAGS="$CFLAGS -D_GNU_SOURCE" [ "$CLIBC" == musl ] && export CFLAGS="$CFLAGS -D__gid_t=gid_t -D__uid_t=uid_t" export LDFLAGS="$LDFLAGS -Wl,-z,lazy" _fontroot="/usr/share/fonts" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc/X11 \ --localstatedir=/var \ --with-fontrootdir=$_fontroot \ --with-default-font-path=${_fontroot}/misc,${_fontroot}/100dpi:unscaled,${_fontroot}/75dpi:unscaled,${_fontroot}/TTF,${_fontroot}/Type1 \ --with-xkb-path=/usr/share/X11/xkb \ --with-xkb-output=/var/lib/xkb \ --without-systemd-daemon \ --enable-composite \ --enable-config-udev \ --enable-dri \ --enable-dri2 \ --enable-glamor \ --enable-ipv6 \ --enable-kdrive \ --enable-xace \ --enable-xcsecurity \ --enable-xephyr \ --enable-xfbdev \ --enable-xnest \ --enable-xorg \ --enable-xres \ --enable-xv \ --enable-xwayland \ --disable-config-hal \ --disable-dmx \ --disable-tslib \ --disable-systemd-logind \ --with-os-vendor="${DISTRO_NAME:-Alpine Linux}" make } check() { cd "$builddir" make check } package() { cd "$builddir" make -j1 DESTDIR="$pkgdir" install chmod u+s "$pkgdir"/usr/bin/Xorg # Don't conflict with xf86-input-evdev rm -f "$pkgdir"/usr/share/X11/xorg.conf.d/10-evdev.conf install -m755 -d "$pkgdir"/etc/X11/xorg.conf.d install -m644 "$srcdir"/20-modules.conf "$pkgdir"/etc/X11/xorg.conf.d/ install -m755 -d "$pkgdir"/var/lib/xkb install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } xfbdev() { pkgdesc="X.org server for framebuffer" depends= mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/Xfbdev "$subpkgdir"/usr/bin/ } xvfb() { pkgdesc="Virtual Framebuffer 'fake' X server" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/Xvfb "$subpkgdir"/usr/bin/ } xephyr() { pkgdesc="kdrive based X Server which targets a window on a host X Server as its framebuffer" depends= mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/Xephyr "$subpkgdir"/usr/bin/ } xnest() { pkgdesc="A nested Xorg server" depends= mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/Xnest "$subpkgdir"/usr/bin/ } xwayland() { pkgdesc="run X clients under wayland" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/Xwayland "$subpkgdir"/usr/bin/ } sha512sums="38519a8d0af9dd034045fc346959496dd718fa59b6188307974797a1cd9c349deb54987f6232ea8396baf810dcc710c0ff191f76ed2186cae4d44921b3680412 xorg-server-1.19.6.tar.bz2 4dcaa60fbfc61636e7220a24a72bba19984a6dc752061cb40b1bd566c0e614d08927b6c223ffaaaa05636765fddacdc3113fde55d25fd09cd0c786ff44f51447 autoconfig-nvidia.patch 30a78f4278edd535c45ee3f80933427cb029a13abaa4b041f816515fdd8f64f00b9c6aef50d4eba2aaf0d4f333e730399864fd97fa18891273601c77a6637200 autoconfig-sis.patch b799e757a22a61ac283adbd7a8df1ad4eccce0bb6cac38a0c962ba8438bba3cf6637a65bb64859e7b32399fca672283a49960207e186c271ba574580de360d09 fix-musl-arm.patch 95036f2452732cc31f6b646da9f46b7be30f4c9392724386b02f67fece1f506b00e15d14cbd8cf0ce75ca1fd144b4bea7e59288d4aaf4d6c1e06e5168931eb67 20-modules.conf"