aports/community/xorg-server/APKBUILD
Sertonix 6bd45b53fb */*: remove --no-rebuild from meson test
meson 1.7.0 and later don't include test build targets in the default
build target. With --no-rebuild the test targets aren't build at all.
Removing --no-rebuild shouldn't cause any false rebuilds since the files
aren't changed between the build() and check() step.

Fixes https://gitlab.alpinelinux.org/alpine/aports/-/issues/16891
Ref https://github.com/mesonbuild/meson/pull/10413
2025-05-09 20:48:14 +00:00

236 lines
4.7 KiB
Text

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
maintainer="Natanael Copa <ncopa@alpinelinux.org>"
pkgname=xorg-server
pkgver=21.1.16
pkgrel=0
pkgdesc="X.Org X servers"
url="https://www.x.org/wiki"
arch="all"
license="MIT"
options="suid"
subpackages="
$pkgname-dbg
$pkgname-dev
$pkgname-doc
xvfb
$pkgname-xephyr
$pkgname-xnest
$pkgname-common::noarch
"
depends="
font-cursor-misc
font-misc-misc
mesa-egl
xkbcomp
xkeyboard-config
xorg-server-common
"
depends_dev="
libepoxy-dev
libpciaccess-dev
libxfont2-dev
mesa-dev
"
makedepends="
$depends_dev
eudev-dev
libdrm-dev
libx11-dev
libxau-dev
libxcb-dev
libxcvt-dev
libxdmcp-dev
libxext-dev
libxkbfile-dev
libxshmfence-dev
meson
nettle-dev
pixman-dev
wayland-dev
wayland-protocols
xcb-util-dev
xcb-util-image-dev
xcb-util-keysyms-dev
xcb-util-renderutil-dev
xcb-util-wm-dev
xkbcomp-dev
xorgproto
xtrans
"
source="https://www.x.org/releases/individual/xserver/xorg-server-$pkgver.tar.xz"
# the modesetting driver is now shipped with xorg server
provides="xf86-video-modesetting=$pkgver-r$pkgrel"
replaces="xf86-video-modesetting"
# secfixes:
# 21.1.16-r0:
# - CVE-2025-26594
# - CVE-2025-26595
# - CVE-2025-26595
# - CVE-2025-26597
# - CVE-2025-26598
# - CVE-2025-26599
# - CVE-2025-26600
# - CVE-2025-26601
# 21.1.14-r0:
# - CVE-2024-9632
# 21.1.12-r0:
# - CVE-2024-31080
# - CVE-2024-31081
# - CVE-2024-31082
# - CVE-2024-31083
# 21.1.11-r0:
# - CVE-2023-6816
# - CVE-2024-0229
# - CVE-2024-21885
# - CVE-2024-21886
# - CVE-2024-0408
# - CVE-2024-0409
# 21.1.10-r0:
# - CVE-2023-6377
# - CVE-2023-6478
# 21.1.9-r0:
# - CVE-2023-5367
# - CVE-2023-5380
# - CVE-2023-5574
# 21.1.7-r0:
# - CVE-2023-0494
# 21.1.5-r0:
# - CVE-2022-4283
# - CVE-2022-46340
# - CVE-2022-46341
# - CVE-2022-46342
# - CVE-2022-46343
# - CVE-2022-46344
# 21.1.4-r0:
# - CVE-2022-2319
# - CVE-2022-2320
# 21.1.2-r0:
# - CVE-2021-4008
# - CVE-2021-4009
# - CVE-2021-4010
# - CVE-2021-4011
# 1.20.10-r5:
# - CVE-2021-3472
# 1.20.10-r0:
# - CVE-2020-14360
# - CVE-2020-25712
# 1.20.9-r0:
# - CVE-2020-14362
# - CVE-2020-14361
# - CVE-2020-14346
# - CVE-2020-14345
# 1.20.8-r4:
# - CVE-2020-14347
# 1.20.3-r0:
# - CVE-2018-14665
# 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() {
default_prepare
sed -i -e 's/termio.h/termios.h/' hw/xfree86/os-support/xf86_OSlib.h
}
build() {
# 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/-fno-plt}"
export CXXFLAGS="${CXXFLAGS/-fno-plt}"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
_fontroot="/usr/share/fonts"
# 32-bit fails otherwise
export CFLAGS="$CFLAGS -Wno-error=array-bounds"
abuild-meson \
-Db_lto=true \
-Dxorg=true \
-Dxephyr=true \
-Dglamor=true \
-Dxnest=true \
-Dxvfb=true \
-Dxwin=false \
-Ddefault_font_path=$_fontroot/misc,$_fontroot/100dpi:unscaled,$_fontroot/75dpi:unscaled,$_fontroot/TTF,$_fontroot/Type1 \
-Dglx=true \
-Dxdmcp=true \
-Dxdm-auth-1=true \
-Dxcsecurity=true \
-Dsecure-rpc=false \
-Dipv6=true \
-Dxkb_dir=/usr/share/X11/xkb \
-Dxkb_output_dir=/var/lib/xkb \
-Dlisten_tcp=false \
-Dlisten_unix=true \
-Dlisten_local=true \
-Dsuid_wrapper=true \
-Dpciaccess=true \
-Dudev=true \
-Dhal=false \
-Dsystemd_logind=false \
-Ddpms=true \
-Ddri1=false \
-Ddri2=true \
-Ddri3=true \
. output
meson compile -C output
}
check() {
meson test --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
chmod u+s "$pkgdir"/usr/libexec/Xorg.wrap
# Don't conflict with xf86-input-evdev
rm -f "$pkgdir"/usr/share/X11/xorg.conf.d/10-evdev.conf
install -Dm0644 xkb/README.compiled -t "$pkgdir"/var/lib/xkb
}
xvfb() {
pkgdesc="Virtual Framebuffer 'fake' X server"
amove usr/bin/Xvfb
}
xephyr() {
pkgdesc="kdrive based X Server which targets a window on a host X Server as its framebuffer"
amove usr/bin/Xephyr
}
xnest() {
pkgdesc="A nested Xorg server"
amove usr/bin/Xnest
}
common() {
depends=""
pkgdesc="Xorg server common files"
amove usr/lib/xorg/protocol.txt
}
sha512sums="
38fd4232a293a497d13f8b57e85e84cf6a531453a7d8d5de1a77d67ceaf8714d5770951a8a21f1b3f519e83be1fc0926dce269846e75a8b11aa1062dd507f67d xorg-server-21.1.16.tar.xz
"