Newer
Older
# Maintainer : Eric Vidal <eric@obarun.org>
# Maintainer : Jean-Michel T.Dydak <jean-michel@obarun.org>
# Obarun PkgSrc : https://framagit.org/obarun-pkgbuild-extra/xorg-server
#----------------
# Maintainer : AndyRTR <andyrtr@archlinux.org>
# Maintainer : Jan de Groot <jgc@archlinux.org>
# Arch PkgSrc : https://www.archlinux.org/packages/extra/x86_64/xorg-server
#----------------
# Website : http://xorg.freedesktop.org
#--------------------------------------------------------------------------------------
pkgname=(
'xorg-server'
'xorg-server-xephyr'
'xorg-server-xvfb'
'xorg-server-xnest'
'xorg-server-xwayland'
'xorg-server-common'
'xorg-server-devel')
url="https://xorg.freedesktop.org/releases/individual/xserver"
source=("${url}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}
'xserver-autobind-hotplug.patch'
'0001-v2-FS-58644.patch'
'0002-fix-libshadow-2.patch'
'xvfb-run' ## with updates from FC master
'xvfb-run.1'
'Xwrapper.config')
#-------------------------------------| BUILD CONFIGURATION |-----------------------------------
makedepends=(
'xorgproto'
'pixman'
'libx11'
'mesa'
'mesa-libgl'
'xtrans'
'libxkbfile'
'libxfont2'
'libpciaccess'
'libxv'
'libxmu'
'libxrender'
'libxi'
'libxaw'
'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'
'wayland-protocols'
'egl-wayland'
'meson')
#--------------------------------------| BUILD PREPARATION |------------------------------------
cd "${pkgbase}-${pkgver}"
## patch from Fedora, not yet merged
patch -Np1 -i ../xserver-autobind-hotplug.patch
## https://bugs.freedesktop.org/show_bug.cgi?id=106588
patch -Np1 -i ../0001-v2-FS-58644.patch
## Fix libshadow.so: libfb.so => not found - FS#58731
#--------------------------------------------| BUILD |------------------------------------------
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
## Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
## With them, module fail to load with undefined symbol.
## 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}-$pkgver build \
-D os_vendor="Obarun" \
-D ipv6=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 suid_wrapper=true \
-D xkb_dir=/usr/share/X11/xkb \
-D xkb_output_dir=/var/lib/xkb \
-D systemd_logind=false
## Print config
meson configure build
ninja -C build
## fake installation to be seperated into packages
DESTDIR="${srcdir}/fakeinstall" ninja -C build install
#--------------------------------------------| CHECK |------------------------------------------
#-------------------------------------------| PACKAGE |-----------------------------------------
local src f dir
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
mv -v "${src}" "${dir}/"
done
pkgdesc="Xorg server common files"
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}-${pkgver}"/xkb/README.compiled
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
pkgdesc="Xorg X server"
depends=(
'libepoxy'
'libxfont2'
'pixman'
'xorg-server-common'
'libunwind'
'dbus'
'libgl'
'xf86-input-libinput'
'nettle'
'libpciaccess'
'libdrm'
'libxshmfence') ## FS#52949
## 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=(
'X-ABI-VIDEODRV_VERSION=24.0'
'X-ABI-XINPUT_VERSION=24.1'
'X-ABI-EXTENSION_VERSION=10.0'
'x-server')
conflicts=(
'nvidia-utils<=331.20'
'glamor-egl'
'xf86-video-modesetting')
replaces=(
'glamor-egl'
'xf86-video-modesetting')
install=xorg-server.install
_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
## distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
## Xwrapper.config
install -Dm0644 Xwrapper.config "${pkgdir}"/etc/X11/Xwrapper.config
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
pkgdesc="A nested X server that runs as an X application"
depends=(
'libxfont2'
'libgl'
'libepoxy'
'libunwind'
'libxv'
'pixman'
'xorg-server-common'
'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}-${pkgver}"/COPYING
pkgdesc="Virtual framebuffer X server"
depends=(
'libxfont2'
'libunwind'
'pixman'
'xorg-server-common'
'xorg-xauth'
'libgl'
_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/" # outda
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
pkgdesc="A nested X server that runs as an X application"
depends=(
'libxfont2'
'libxext'
'pixman'
'xorg-server-common'
'nettle'
'libtirpc')
_install fakeinstall/usr/bin/Xnest
_install fakeinstall/usr/share/man/man1/Xnest.1
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
pkgdesc="run X clients under wayland"
depends=(
'libxfont2'
'libepoxy'
'libunwind'
'libgl'
'pixman'
'xorg-server-common'
'nettle'
'libtirpc')
_install fakeinstall/usr/bin/Xwayland
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
pkgdesc="Development files for the X.Org X server"
depends=(
'xorgproto'
'mesa'
'libpciaccess'
'xorg-util-macros') ## not technically required but almost every Xorg pkg needs it to build
_install fakeinstall/usr/include/xorg/*
_install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
_install fakeinstall/usr/share/aclocal/xorg-server.m4
## license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
## make sure there are no files left to install
find fakeinstall -depth -print0 | xargs -0 rmdir
}
#------------------------------------| INSTALL CONFIGURATION |----------------------------------
arch=('x86_64')
groups=(
'xorg')
backup=(
'etc/X11/Xwrapper.config')
#-------------------------------------| SECURITY AND LICENCE |----------------------------------
license=('CUSTOM')
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3'
'995ED5C8A6138EB0961F18474C09DD83CAAA50B2'
sha512sums=('625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631'
'SKIP'
'd707e0870367de2665c3b82f09564d17ed3f62c9e8b4bd471c11af1fb1e9249e306e92c7961a04e355756eec9f5271bc8e66999e56c73c31bc9da4127ff30a8e'
'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22'
'f05c18354a3cf5b5b0fa97c4a887cfd688297e39d7ddc93b5900357119a689a060321019aeec9ca9c1366ea4b65b7875b2a9cadb84e46d2c193c15e6df22fcd8'
'9cb9a979dfc2de4fac384a1044b368bb97c8b0b524523aa2a96ef55c673ab5350c50cc79ad103655f40c2e0002cdcc2e1646fade3ac78641616d182e7c500be7'
'55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6'
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22'
'97315b682bef7892d3cf641ea9add6e0d22901150763930020302cc73de5fe5bda0f47384b7d405c7169cb5f072d27da306066063d5a8ea116e97ea474caffe8')