Newer
Older
#!/usr/bin/bash
# Maintainer : Obarun Packagers <pkg@obarun.org>
# Obarun PkgSrc : https://git.obarun.org/obarun-pkgbuild-extra/xorg-server
# Maintainer : Eric Vidal <eric@obarun.org>
# Maintainer : Jean-Michel T.Dydak <jean-michel@obarun.org>
# Obarun PkgSrc : https://git.obarun.org/pkg/obextra/xorg-server
#--------------------------------------------------------------
'xorg-server'
'xorg-server-xephyr'
'xorg-server-xvfb'
'xorg-server-xnest'
'xorg-server-common'
'xorg-server-devel')
url="https://xorg.freedesktop.org/releases/individual/xserver"
#source=(${pkgbase}-${pkgver}::git+https://gitlab.freedesktop.org/xorg/xserver.git#commit=27a0ee32ccef8d621aaa758c804fc9a5ceeb5a56
source=($url/${pkgbase}-${pkgver}.tar.xz{,.sig}
xvfb-run # with updates from FC master
xvfb-run.1
Xwrapper.config
0001_revert_dpi_calculation.patch)
#------------------------
# INSTALL CONFIGURATION ]
'xorg-server'
'xorg-server-xephyr'
'xorg-server-xvfb'
'xorg-server-xnest'
'xorg-server-common'
track=releases/individual/xserver
target=$pkgbase-$pkgver
source=(
https://xorg.freedesktop.org/$track/$target.tar.xz{,.sig}
xvfb-run # with updates from FC master
xvfb-run.1
Xwrapper.config
0001_revert_dpi_calculation.patch
)
#----------------------
# BUILD CONFIGURATION ]
'xorgproto'
'pixman'
'libx11'
'mesa'
'xtrans'
'libxkbfile'
'libxfont2'
'libpciaccess'
'libxv'
'libxcvt'
'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'
'meson')
'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'
)
#------------------------
# INSTALL CONFIGURATION ]
groups=(
'xorg'
)
backup=(
'etc/X11/Xwrapper.config'
)
#--------------------
# BUILD PREPARATION ]
cd "${pkgbase}-${pkgver}"
# revert dpi calculation that leads to unwanted miscalculation results
# https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241
# https://bugs.archlinux.org/task/72661
patch -Rp1 -i ../0001_revert_dpi_calculation.patch
## revert dpi calculation that leads to unwanted miscalculation results
## https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241
## https://bugs.archlinux.org/task/72661
patch -Rp1 -i ../0001_revert_dpi_calculation.patch
#----------------
# BUILD CONTROL ]
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
# 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}-$pkgver build \
-D xkb_dir=/usr/share/X11/xkb \
-D xkb_output_dir=/var/lib/xkb \
-D ipv6=true \
-D xvfb=true \
-D xnest=true \
-D xcsecurity=true \
-D xorg=true \
-D xephyr=true \
-D glamor=true \
-D udev=true \
-D dtrace=false \
-D systemd_logind=false \
-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
meson compile -C build
# fake installation to be seperated into packages
# DESTDIR="${srcdir}/fakeinstall" ninja -C build install
meson install -C build --destdir "${srcdir}/fakeinstall"
-Dxvfb=true
-Dxnest=true
-Dxcsecurity=true
-Dxorg=true
-Dxephyr=true
-Dglamor=true
-Dudev=true
-Dsuid_wrapper=true
-Dxkb_dir=/usr/share/X11/xkb
-Dxkb_output_dir=/var/lib/xkb
## 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-$pkgver build "${_flags[@]}"
## fake installation to be seperated into packages
DESTDIR="$srcdir/fakeinstall" ninja -C build install
local src f dir
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
# use copy so a new file is created and fakeroot can track properties such as setuid
cp -av "${src}" "${dir}/"
rm -rf "${src}"
done
pkgdesc="Xorg server common files"
depends=(
xkeyboard-config
xorg-xkbcomp
xorg-setxkbmap
libxcvt)
_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
pkgdesc="Xorg X server"
depends=(
libepoxy
libxfont2
pixman
xorg-server-common
libunwind
dbus
libgl
xf86-input-libinput
nettle
libpciaccess
libdrm
libxshmfence # FS#52949
libxcvt)
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
## use copy so a new file is created and fakeroot
## can track properties such as setuid.
cp -av "${src}" "${dir}/"
rm -rf "${src}"
done
pkgdesc='Xorg server common files'
depends=(
'xkeyboard-config'
'xorg-xkbcomp'
_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
install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
depends=(
'libepoxy'
'libxfont2'
'pixman'
'xorg-server-common'
'libunwind'
'dbus'
'libgl'
'xf86-input-libinput'
'nettle'
'libpciaccess'
'libdrm'
'libxshmfence'
'libxcvt'
) ## 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=25.2'
'X-ABI-XINPUT_VERSION=24.4'
'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 fakeinstall/usr/bin/{X,Xorg,gtf}
_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,gtf}.1
_install fakeinstall/usr/share/man/man4/{exa,fbdevhw,inputtestdrv,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
nettle
libtirpc)
_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="Development files for the X.Org X server"
depends=(
'xorgproto'
'mesa'
'libpciaccess'
# not technically required but almost every Xorg pkg needs it to build
'xorg-util-macros')
_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
# rm fakeinstall/usr/bin/Xwayland ## no such file
find fakeinstall -depth -print0 | xargs -0 rmdir
'X-ABI-VIDEODRV_VERSION=25.2'
'X-ABI-XINPUT_VERSION=24.4'
conflicts=(
'nvidia-utils<=331.20'
'glamor-egl'
_install fakeinstall/usr/bin/{X,Xorg,gtf}
_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,gtf}.1
_install fakeinstall/usr/share/man/man4/{exa,fbdevhw,inputtestdrv,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"
install -Dm0644 Xwrapper.config "$pkgdir"/etc/X11/Xwrapper.config
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'
_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
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
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'
_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="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
#---------------------------
# LICENSE AND VERIFICATION ]
license=('custom')
validpgpkeys=('FD0004A26EADFE43A4C3F249C6F7AE200374452D') # Povilas Kanapickas <povilas@radix.lt>
sha512sums=('8608ed9c1537c95e8a3adea5e3e372a3c5eb841f8e27c84283093f22fb1909e16a800006510da684b13f8f237f33b8a4be3e2537f5f9ab9af4c5ad12770eef0d' # xorg-server-21.1.1.tar.xz
'360669d336d26095dc8f46cfb45a2c25c6a50318726719146de4f81d8ea94e3422cb21a394c23eee8de55179f7b3007edc9ec7e1c615ec86033177922c0e6257' # xorg-server-21.1.1.tar.xz.sig
'4154dd55702b98083b26077bf70c60aa957b4795dbf831bcc4c78b3cb44efe214f0cf8e3c140729c829b5f24e7466a24615ab8dbcce0ac6ebee3229531091514' # xvfb-run
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22' # xvfb-run.1
'97315b682bef7892d3cf641ea9add6e0d22901150763930020302cc73de5fe5bda0f47384b7d405c7169cb5f072d27da306066063d5a8ea116e97ea474caffe8' # Xwrapper.config
'28021ef9879d5313096c3e7e79a71a2e15be366652845acf32239d5c011c60aa5938c63c23b04bb0dee56df7b3762b7ca8d51d5925898c67c2ba83ec468fe782') # 0001_revert_dpi_calculation.patch
arch=(x86_64)
license=(custom)
validpgpkeys=(
'FD0004A26EADFE43A4C3F249C6F7AE200374452D' # Kanapickas <povilas@radix.lt>
)
sha512sums=(' ')