summaryrefslogtreecommitdiffstats
path: root/main/xorg-server/APKBUILD
blob: df1f53116000d7dd09068990d1dea62e944d6ac9 (plain)
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
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
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xorg-server
pkgver=1.17.1
pkgrel=3
pkgdesc="X.Org X servers"
url="http://xorg.freedesktop.org"
arch="all"
license="MIT"
options="suid"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xfbdev xvfb $pkgname-xephyr
	$pkgname-xnest"
# the modesetting driver is now shipped with xorg server
replaces="xf86-video-modesetting"
depends="
	font-misc-misc
	font-cursor-misc
	xkeyboard-config
	xkbcomp
	xinit
	dbus-x11
	"
depends_dev="
	bigreqsproto
	compositeproto
	damageproto
	dri2proto
	fixesproto
	fontsproto
	glproto
	inputproto
	kbproto
	libepoxy-dev
	libpciaccess-dev
	mesa-dev
	pixman-dev
	presentproto
	randrproto
	recordproto
	renderproto
	resourceproto
	scrnsaverproto
	videoproto
	xcmiscproto
	xextproto
	xf86driproto
	xineramaproto
	xproto
	"
makedepends="
	$depends_dev
	autoconf
	automake
	dbus-dev
	libdrm-dev
	libtool
	libx11-dev
	libxdamage-dev
	libxfont-dev
	libxinerama-dev
	libxkbfile-dev
	libxkbui-dev
	libxv-dev
	libxxf86dga-dev
	libxxf86misc-dev
	openssl-dev
	perl
	udev-dev
	util-macros
	xtrans
	xcb-util-dev
	xcb-util-image-dev
	xcb-util-keysyms-dev
	xcb-util-renderutil-dev
	xcb-util-wm-dev
	zlib-dev
	"

source="http://xorg.freedesktop.org/releases/individual/xserver/$pkgname-$pkgver.tar.bz2
	autoconfig-nvidia.patch
	autoconfig-sis.patch
	fix-musl-arm.patch
	xorg-server-1.17.1-gcc5_fixes-1.patch
	20-modules.conf
	"


prepare() {
	cd "$srcdir"/$pkgname-$pkgver
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
	# Fix dbus config path
	sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*  || return 1
	sed -i -e 's/termio.h/termios.h/' hw/xfree86/os-support/xf86_OSlib.h || return 1
}

build() {
	cd "$srcdir"/$pkgname-$pkgver
	# 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 -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"

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc/X11 \
		--localstatedir=/var \
		--with-fontrootdir=$_fontroot \
		--with-default-font-path=${_fontroot}/misc,${_fontroot}/100dpi:unscaled,${_fontroot}/75dpi:unscaled,${_fontroot}/TTF,${_fontroot}/Type1 \
		--with-xkb-path=/usr/share/X11/xkb \
		--with-xkb-output=/var/lib/xkb \
		--without-systemd-daemon \
		--enable-aiglx \
		--enable-composite \
		--enable-config-udev \
		--enable-dri \
		--enable-dri2 \
		--enable-glamor \
		--enable-glx-tls \
		--enable-ipv6 \
		--enable-xfbdev \
		--enable-kdrive \
		--enable-xorg \
		--enable-xv \
		--enable-xres \
		--enable-xace \
		--enable-xnest \
		--enable-xephyr \
		--disable-config-hal \
		--disable-dmx \
		--disable-tslib \
		--disable-systemd-logind \
		|| return 1

	make || return 1
}

package() {
	cd "$srcdir"/$pkgname-$pkgver
	make -j1 DESTDIR="$pkgdir" install || return 1
	find "$pkgdir" -name '*.la' -delete || return 1
	chmod u+s "$pkgdir"/usr/bin/Xorg

	install -m755 -d "$pkgdir"/etc/X11/xorg.conf.d || return 1
	install -m644 "$srcdir"/20-modules.conf "$pkgdir"/etc/X11/xorg.conf.d/ \
		|| return 1
	install -m755 -d "$pkgdir"/var/lib/xkb || return 1
	install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}


xfbdev() {
	pkgdesc="X.org server for framebuffer"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xfbdev "$subpkgdir"/usr/bin/
}

xvfb() {
	pkgdesc="Virtual Framebuffer 'fake' X server"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xvfb "$subpkgdir"/usr/bin/
}

xephyr() {
	pkgdesc="kdrive based X Server which targets a window on a host X Server as its framebuffer"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xephyr "$subpkgdir"/usr/bin/
}

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

md5sums="5986510d59e394a50126a8e2833e79d3  xorg-server-1.17.1.tar.bz2
ea4852dedbb89550f6bc113ca66348a2  autoconfig-nvidia.patch
825ca99ea9348c66abdf2c479e0af485  autoconfig-sis.patch
043cbe8fc14729ae1e776788ae7593bf  fix-musl-arm.patch
3c134fec704645c80eb4e145ee417d83  xorg-server-1.17.1-gcc5_fixes-1.patch
77f2e12e577e9d8b67350b960958b7c4  20-modules.conf"
sha256sums="2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab  xorg-server-1.17.1.tar.bz2
66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162  autoconfig-nvidia.patch
7d5d36dd152eb0fab277a4aeba0a08ad77049e591a0dea92f565a4b62f0d0a50  autoconfig-sis.patch
b210a93b4d6128c0963ade3458925ff293e1c68ac20a15964357fd401f7161e0  fix-musl-arm.patch
c6d1479afdf92e3d1ec26b9e25ea9c9a2b105b5c08ca0904a38ec521d016b9b9  xorg-server-1.17.1-gcc5_fixes-1.patch
65343949384a88dc75142c9309a24c921baa60b43e0fc245052d220e53a4babb  20-modules.conf"
sha512sums="195a0e0a6bd9c7655e62dd40dfbd7dea77d10f1143d4fd6154e8bdbb463d3729f81ecd1e379d66f68e828d4f4583782c15ce260de24444802076844aec552c4f  xorg-server-1.17.1.tar.bz2
4dcaa60fbfc61636e7220a24a72bba19984a6dc752061cb40b1bd566c0e614d08927b6c223ffaaaa05636765fddacdc3113fde55d25fd09cd0c786ff44f51447  autoconfig-nvidia.patch
30a78f4278edd535c45ee3f80933427cb029a13abaa4b041f816515fdd8f64f00b9c6aef50d4eba2aaf0d4f333e730399864fd97fa18891273601c77a6637200  autoconfig-sis.patch
b799e757a22a61ac283adbd7a8df1ad4eccce0bb6cac38a0c962ba8438bba3cf6637a65bb64859e7b32399fca672283a49960207e186c271ba574580de360d09  fix-musl-arm.patch
cb9be2a57789561134fb429db902328beef517a084da6643e2af803fd7bea1dad9d3c9af4c129ee0363491da068afbea359e015cf35b4f4ceaa9c7b0e19362f3  xorg-server-1.17.1-gcc5_fixes-1.patch
1697e8be032ca777b0ac9aab23cc45baec03cccdf04ec35374bb7dd4d5430fdc7f6786689f3edd8cd2289535966329e9636f7f94a8926d73464d398fa66da61a  20-modules.conf"