summaryrefslogtreecommitdiff
path: root/user/xorg-server/APKBUILD
blob: 7b1ddcafa90f18a79556bcf26ba0cde2a4ab6fb1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xorg-server
pkgver=21.1.13
pkgrel=0
pkgdesc="X.Org X11 server"
url="https://www.X.Org/"
arch="all"
options="suid"
license="MIT"
depends="font-cursor-misc font-misc-misc xkeyboard-config xkbcomp xinit
	xorg-server-protocol
	"
depends_dev="libepoxy-dev libxfont2-dev mesa-dev"
makedepends="$depends_dev meson eudev-dev libpciaccess-dev libdrm-dev
	libepoxy-dev pixman-dev libx11-dev libxdamage-dev libxinerama-dev
	libxkbfile-dev libxkbui-dev libxv-dev libxxf86dga-dev libxxf86misc-dev
	libxcvt-dev xkbcomp-dev xcb-util-dev xcb-util-image-dev
	xcb-util-keysyms-dev xcb-util-renderutil-dev xcb-util-wm-dev xorgproto-dev
	xtrans openssl-dev perl zlib-dev
	"
# the modesetting driver is now shipped with xorg server
replaces="xf86-video-modesetting"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xvfb $pkgname-xephyr
	$pkgname-xnest $pkgname-protocol"
source="https://www.X.Org/releases/individual/xserver/$pkgname-$pkgver.tar.xz
	autoconfig-sis.patch
	fix-musl-arm.patch
	"

# secfixes:
#   21.1.12-r0:
#     - CVE-2024-31080
#     - CVE-2024-31081
#     - CVE-2024-31082
#     - CVE-2024-31083
#     - CVE-2023-6816
#     - CVE-2024-0229
#     - CVE-2024-21885
#     - CVE-2024-21886
#     - CVE-2024-0408
#     - CVE-2024-0409
#     - CVE-2023-6377
#     - CVE-2023-6478
#     - CVE-2023-5367
#     - CVE-2023-5380
#     - CVE-2023-5574
#     - CVE-2023-0494
#     - CVE-2022-4283
#     - CVE-2022-46340
#     - CVE-2022-46341
#     - CVE-2022-46342
#     - CVE-2022-46343
#     - CVE-2022-46344
#     - CVE-2022-2319
#     - CVE-2022-2320
#     - CVE-2021-4008
#     - CVE-2021-4009
#     - CVE-2021-4010
#     - CVE-2021-4011
#     - CVE-2021-3472
#     - CVE-2020-14360
#     - CVE-2020-25712
#   1.20.9-r0:
#     - CVE-2020-14345
#     - CVE-2020-14346
#     - CVE-2020-14347
#     - CVE-2020-14361
#     - CVE-2020-14362
#   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

	# 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() {
	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"

	meson setup \
		--prefix=/usr \
		--sysconfdir=/etc/X11 \
		--localstatedir=/var \
		-Dxkb_dir=/usr/share/X11/xkb \
		-Dxkb_output_dir=/var/lib/xkb \
		-Dsystemd_logind=false \
		-Ddri1=true \
		-Ddri2=true \
		-Ddri3=true \
		-Dglamor=true \
		-Dipv6=true \
		-Dxace=true \
		-Dxcsecurity=true \
		-Dxephyr=true \
		-Dxnest=true \
		-Dxorg=true \
		-Dxres=true \
		-Dhal=false \
		-Dsecure-rpc=false \
		-Dpciaccess=true \
		-Ddefault_font_path=$_fontroot/misc,$_fontroot/100dpi:unscaled,$_fontroot/75dpi:unscaled,$_fontroot/TTF,$_fontroot/Type1 \
		build

	meson compile -C build
}

check() {
	meson test --no-rebuild --print-errorlogs -C build
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C build
	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 -m755 -d "$pkgdir"/var/lib/xkb
	install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}

xvfb() {
	pkgdesc="X.Org server for virtual framebuffer (for testing)"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xvfb "$subpkgdir"/usr/bin/
}

xephyr() {
	pkgdesc="kdrive-based X11 server (windowed framebuffer on X11 server)"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xephyr "$subpkgdir"/usr/bin/
}

xnest() {
	pkgdesc="X.Org nested server"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xnest "$subpkgdir"/usr/bin/
}

protocol() {
	pkgdesc="Xorg server protocol file"
	depends=""
	
	mkdir -p "$subpkgdir"/usr/lib/xorg
	mv "$pkgdir"/usr/lib/xorg/protocol.txt "$subpkgdir"/usr/lib/xorg/
}

sha512sums="a55fbeeed227c12c67f166f2c06a7f4f8d78feeea04c6e73509dbc723185fd0772349aa23f7c44cf0828ac0a0e2f9e4b26cffb220e6dfa7186d60f88b25ccaf1  xorg-server-21.1.13.tar.xz
d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734  autoconfig-sis.patch
c68d6299928032806ade94b4848f147757d6571a2f8830922a20c9e1053fe42700e5c9e196ad58ce5e5536cf034260f973edd6e2792c9bacf4e2d70660949a4a  fix-musl-arm.patch"