summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD360
1 files changed, 164 insertions, 196 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 3642ba94ba3f..bfd0c513ac08 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,22 +1,31 @@
-# Maintainer: Det <nimetonmaili g-mail>
-# Contributors: SpeedVin, FoxBuru, Federico Cinelli
-# Based on xorg-server-dev: https://aur.archlinux.org/packages/xorg-server-dev/
-
-pkgname=('xorg-server-git' 'xorg-server-xephyr-git' 'xorg-server-xdmx-git' 'xorg-server-xvfb-git' 'xorg-server-xnest-git' 'xorg-server-xwayland-git' 'xorg-server-common-git' 'xorg-server-devel-git')
-pkgver=1.19.0.99.r15877.g3f9507e
+# Maintainer: Yurii Kolesnykov <root@yurikoles.com>
+# Contributor: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=xorg-server-git
+pkgname=(
+ 'xorg-server-git'
+ 'xorg-server-xephyr-git'
+ 'xorg-server-xdmx-git'
+ 'xorg-server-xvfb-git'
+ 'xorg-server-xnest-git'
+ 'xorg-server-xwayland-git'
+ 'xorg-server-common-git'
+ 'xorg-server-devel-git')
+_pkgbase='xserver'
+pkgver=1.20.0.r341.gb4231d690
pkgrel=1
arch=('x86_64')
license=('custom')
groups=('xorg')
-url="http://cgit.freedesktop.org/xorg/xserver/"
-makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto'
- 'inputproto' 'fontsproto' 'videoproto' 'presentproto' 'compositeproto' 'recordproto' 'scrnsaverproto'
- 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont2' 'renderproto' 'libpciaccess' 'libxv'
- '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' 'systemd' 'wayland-protocols' 'git')
-source=(git://anongit.freedesktop.org/xorg/xserver
+url="https://gitlab.freedesktop.org/xorg/xserver.git"
+makedepends=('xorgproto' 'pixman' 'libx11' 'mesa' 'xtrans'
+ 'libxkbfile' 'libxfont2' 'libpciaccess' 'libxv'
+ 'libxmu' 'libxrender' 'libxi' 'libxaw' 'libdmx' 'libxtst' 'libxres'
+ 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'libepoxy'
+ 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms'
+ 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'egl-wayland' 'meson' 'git')
+source=(git+https://gitlab.freedesktop.org/xorg/xserver.git
xvfb-run
xvfb-run.1)
sha256sums=('SKIP'
@@ -24,233 +33,192 @@ sha256sums=('SKIP'
'2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776')
pkgver() {
- cd xserver
-
- echo $(git describe --long | cut -d "-" -f3-4 | tr - .).r$(git rev-list HEAD --count).$(git describe --long | cut -d "-" -f5)
+ cd "${_pkgbase}"
+ # cutting off 'foo-' prefix that presents in the git tag
+ git describe --long --tags| sed 's/^xorg.server.//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
-prepare() {
- cd xserver
-
- msg2 "Starting autoreconf..."
- autoreconf -fvi
+build() {
+ # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
+ # With them, module fail to load with undefined symbol.
+ # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
+ export CFLAGS=${CFLAGS/-fno-plt}
+ export CXXFLAGS=${CXXFLAGS/-fno-plt}
+ export LDFLAGS=${LDFLAGS/,-z,now}
+
+ arch-meson ${_pkgbase} build \
+ -D os_vendor="Arch Linux" \
+ -D ipv6=true \
+ -D dmx=true \
+ -D xvfb=true \
+ -D xnest=true \
+ -D xcsecurity=true \
+ -D xorg=true \
+ -D xephyr=true \
+ -D xwayland=true \
+ -D xwayland_eglstream=true \
+ -D glamor=true \
+ -D udev=true \
+ -D systemd_logind=true \
+ -D suid_wrapper=true \
+ -D xkb_dir=/usr/share/X11/xkb \
+ -D xkb_output_dir=/var/lib/xkb
+
+ # Print config
+ meson configure build
+ ninja -C build
+
+ # fake installation to be seperated into packages
+ DESTDIR="${srcdir}/fakeinstall" ninja -C build install
}
-build() {
- cd xserver
-
- msg2 "Starting ./configure..."
- ./configure --prefix=/usr \
- --enable-ipv6 \
- --enable-dri \
- --enable-dmx \
- --enable-xvfb \
- --enable-xnest \
- --enable-composite \
- --enable-xcsecurity \
- --enable-libunwind \
- --enable-xorg \
- --enable-xephyr \
- --enable-glamor \
- --enable-xwayland \
- --enable-kdrive \
- --enable-kdrive-kbd \
- --enable-kdrive-mouse \
- --enable-config-udev \
- --enable-systemd-logind \
- --enable-suid-wrapper \
- --disable-install-setuid \
- --enable-record \
- --disable-xfbdev \
- --disable-xfake \
- --disable-static \
- --libexecdir=/usr/lib/xorg-server \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-xkb-path=/usr/share/X11/xkb \
- --with-xkb-output=/var/lib/xkb \
- --with-fontrootdir=/usr/share/fonts \
- --with-sha1=libgcrypt
-
-# --without-dtrace \
-# --disable-linux-acpi --disable-linux-apm \
-
- msg2 "Starting make..."
- make
-
- # Disable subdirs for make install rule to make splitting easier
- sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
- -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
- -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
- -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
- -e 's/^XWAYLAND_SUBDIRS =.*/XWAYLAND_SUBDIRS =/' \
- -i hw/Makefile
+_install() {
+ local src f dir
+ for src; do
+ f="${src#fakeinstall/}"
+ dir="${pkgdir}/${f%/*}"
+ install -m755 -d "${dir}"
+ mv -v "${src}" "${dir}/"
+ done
}
package_xorg-server-common-git() {
- pkgdesc="Xorg server common files - Git"
- depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap xorg-fonts-misc)
- provides=(xorg-server-common=$pkgver)
- conflicts=(xorg-server-common)
-
- cd xserver
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
-
- msg2 "Starting make install-data..."
- make -C xkb DESTDIR="${pkgdir}" install-data
-
- install -m755 -d "${pkgdir}/usr/share/man/man1"
- install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
-
- install -m755 -d "${pkgdir}/usr/lib/xorg"
- install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
+ _pkgname='xorg-server-common'
+ provides=('xorg-server-common')
+ conflicts=('xorg-server-common')
+ pkgdesc="Xorg server common files (git version)"
+ depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
+
+ _install fakeinstall/usr/lib/xorg/protocol.txt
+ _install fakeinstall/usr/share/man/man1/Xserver.1
+
+ install -m644 -Dt "${pkgdir}/var/lib/xkb/" "${pkgbase}"/xkb/README.compiled
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-git() {
- pkgdesc="Xorg X server - Git"
- depends=(libepoxy libxfont2 pixman xorg-server-common-git libunwind dbus libgl xf86-input-libinput
+ _pkgname='xorg-server'
+ pkgdesc="Xorg X server (git version)"
+ depends=(libepoxy libxfont2 pixman xorg-server-common-git libunwind
+ dbus libgl xf86-input-libinput nettle
libpciaccess libdrm libxshmfence) # FS#52949
- # see src/xserver/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
- # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel-git pkg
- for VAR in VIDEODRV XINPUT EXTENSION; do
- provides+=("X-ABI-${VAR}_VERSION=$(grep -Po "${VAR}_V.*\(\K[^)]*" xserver/hw/xfree86/common/xf86Module.h |& sed 's/, /./')")
- done
- provides+=("xorg-server=$pkgver" 'x-server')
- conflicts=('xorg-server' 'nvidia-utils<375.26-3' 'glamor-egl' 'xf86-video-modesetting')
+ # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
+ # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
+ provides=('xorg-server' 'X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server')
+ conflicts=('xorg-server' 'nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting')
replaces=('glamor-egl' 'xf86-video-modesetting')
- install=xorg-server-git.install
+ install=xorg-server.install
- cd xserver
+ _install fakeinstall/usr/bin/{Xorg,cvt,gtf}
+ ln -s /usr/bin/Xorg "${pkgdir}/usr/bin/X"
+ _install fakeinstall/usr/lib/Xorg{,.wrap}
+ _install fakeinstall/usr/lib/xorg/modules/*
+ _install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf
+ _install fakeinstall/usr/share/man/man1/{Xorg,Xorg.wrap,cvt,gtf}.1
+ _install fakeinstall/usr/share/man/man4/{exa,fbdevhw,modesetting}.4
+ _install fakeinstall/usr/share/man/man5/{Xwrapper.config,xorg.conf,xorg.conf.d}.5
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
-
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
-
- # Needed for non-mesa drivers, libgl will restore it
- mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
- "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
-
- rm -rf "${pkgdir}/var"
-
- rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
- rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
-
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
- rm -rf "${pkgdir}/usr/include"
- rm -rf "${pkgdir}/usr/share/aclocal"
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-xephyr-git() {
- pkgdesc="A nested X server that runs as an X application - Git"
- depends=(libxfont2 libgl libepoxy libunwind libsystemd libxv pixman xorg-server-common-git xcb-util-image
- xcb-util-renderutil xcb-util-wm xcb-util-keysyms)
- provides=(xorg-server-xephyr=$pkgver)
- conflicts=(xorg-server-xephyr)
-
- cd xserver/hw/kdrive
-
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
+ _pkgname='xorg-server-xephyr'
+ provides=('xorg-server-xephyr')
+ conflicts=('xorg-server-xephyr')
+ pkgdesc="A nested X server that runs as an X application (git version)"
+ depends=(libxfont2 libgl libepoxy libunwind systemd-libs libxv pixman xorg-server-common-git
+ xcb-util-image xcb-util-renderutil xcb-util-wm xcb-util-keysyms
+ nettle libtirpc)
+
+ _install fakeinstall/usr/bin/Xephyr
+ _install fakeinstall/usr/share/man/man1/Xephyr.1
+
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-xvfb-git() {
- pkgdesc="Virtual framebuffer X server - Git"
- depends=(libxfont2 libunwind libsystemd pixman xorg-server-common-git xorg-xauth libgl)
- provides=(xorg-server-xvfb=$pkgver)
- conflicts=(xorg-server-xvfb)
+ _pkgname='org-server-xvfb'
+ provides=('xorg-server-xvfb')
+ conflicts=('xorg-server-xvfb')
+ pkgdesc="Virtual framebuffer X server (git version)"
+ depends=(libxfont2 libunwind pixman xorg-server-common-git xorg-xauth libgl nettle)
- cd xserver/hw/vfb
-
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
+ _install fakeinstall/usr/bin/Xvfb
+ _install fakeinstall/usr/share/man/man1/Xvfb.1
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
- install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" # outda
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-xnest-git() {
- pkgdesc="A nested X server that runs as an X application - Git"
- depends=(libxfont2 libxext libunwind pixman xorg-server-common-git libsystemd)
- provides=(xorg-server-xnest=$pkgver)
- conflicts=(xorg-server-xnest)
-
- cd xserver/hw/xnest
+ _pkgname='xorg-server-xnest'
+ provides=('xorg-server-xnest')
+ conflicts=('xorg-server-xnest')
+ pkgdesc="A nested X server that runs as an X application (git version)"
+ depends=(libxfont2 libxext pixman xorg-server-common-git nettle libtirpc)
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
+ _install fakeinstall/usr/bin/Xnest
+ _install fakeinstall/usr/share/man/man1/Xnest.1
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-xdmx-git() {
- pkgdesc="Distributed Multihead X Server and utilities - Git"
- depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes libunwind pixman xorg-server-common-git)
- provides=(xorg-server-xdmx=$pkgver)
- conflicts=(xorg-server-xdmx)
-
- cd xserver/hw/dmx
-
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
+ _pkgname='xorg-server-xdmx'
+ provides=('xorg-server-xdmx')
+ conflicts=('xorg-server-xdmx')
+ pkgdesc="Distributed Multihead X Server and utilities (git version)"
+ depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes
+ pixman xorg-server-common-git nettle)
+
+ _install fakeinstall/usr/bin/{Xdmx,dmx*,vdltodmx,xdmxconfig}
+ _install fakeinstall/usr/share/man/man1/{Xdmx,dmxtodmx,vdltodmx,xdmxconfig}.1
+
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-xwayland-git() {
- pkgdesc="Run X clients under Wayland - Git"
- depends=(libxfont libepoxy libgl pixman xorg-server-common-git)
- provides=(xorg-server-xwayland=$pkgver)
- conflicts=(xorg-server-xwayland)
+ _pkgname='xorg-server-xwayland'
+ provides=('xorg-server-xwayland')
+ conflicts=('xorg-server-xwayland')
+ pkgdesc="run X clients under wayland (git version)"
+ depends=(libxfont2 libepoxy libunwind systemd-libs libgl pixman xorg-server-common-git
+ nettle libtirpc)
- cd xserver/hw/xwayland
+ _install fakeinstall/usr/bin/Xwayland
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xwayland"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xwayland/COPYING"
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
}
package_xorg-server-devel-git() {
- pkgdesc="Development files for the X.Org X server - Git"
- depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc
- xproto randrproto renderproto xextproto inputproto kbproto
- fontsproto pixman videoproto xf86driproto glproto
- mesa dri2proto dri3proto xineramaproto libpciaccess
- resourceproto scrnsaverproto presentproto
+ _pkgname='xorg-server-devel'
+ provides=('xorg-server-devel')
+ conflicts=('xorg-server-devel')
+ pkgdesc="Development files for the X.Org X server (git version)"
+ depends=('xorgproto' 'mesa' 'libpciaccess'
# not technically required but almost every Xorg pkg needs it to build
- xorg-util-macros)
- provides=(xorg-server-devel=$pkgver)
- conflicts=(xorg-server-devel)
-
- cd xserver
+ 'xorg-util-macros')
- msg2 "Starting make install..."
- make DESTDIR="${pkgdir}" install
+ _install fakeinstall/usr/include/xorg/*
+ _install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
+ _install fakeinstall/usr/share/aclocal/xorg-server.m4
- rm -rf "${pkgdir}/usr/bin"
- rm -rf "${pkgdir}/usr/share/man"
- rm -rf "${pkgdir}/usr/share/doc"
- rm -rf "${pkgdir}/usr/share/X11"
- rm -rf "${pkgdir}/usr/lib/xorg"
- rm -rf "${pkgdir}/usr/lib/xorg-server"
- rm -rf "${pkgdir}/var"
+ # license
+ install -m644 -Dt "${pkgdir}/usr/share/licenses/${_pkgname}" "${pkgbase}"/COPYING
- install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
- ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
+ # make sure there are no files left to install
+ find fakeinstall -depth -print0 | xargs -0 rmdir
}