summaryrefslogtreecommitdiffstats
path: root/main/xorg-server/APKBUILD
blob: ab5cd4d92ef59d8be477d5ce2d9f9aae8cafa205 (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xorg-server
pkgver=1.15.0
pkgrel=1
pkgdesc="X.Org X servers"
url="http://xorg.freedesktop.org"
arch="all"
license="custom"
subpackages="$pkgname-dev $pkgname-doc xfbdev xvfb $pkgname-xephyr $pkgname-xnest"
depends="
	font-misc-misc
	font-cursor-misc
	xkeyboard-config
	xkbcomp
	xinit
	dbus-x11
	"
depends_dev="
	bigreqsproto
	compositeproto
	damageproto
	dri2proto
	fixesproto
	fontsproto
	glproto
	inputproto
	kbproto
	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-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
	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 \
		--enable-aiglx \
		--enable-composite \
		--enable-config-udev \
		--enable-glx-tls \
		--enable-dri \
		--enable-dri2 \
		--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-config-dbus \
		--enable-config-udev \
		|| 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="c2ace3697b32414094cf8c597c39d7d9  xorg-server-1.15.0.tar.bz2
ea4852dedbb89550f6bc113ca66348a2  autoconfig-nvidia.patch
825ca99ea9348c66abdf2c479e0af485  autoconfig-sis.patch
ccc57d75801b716a45ce6a67f4a9f163  fix-musl-arm.patch
6c2ce6a968b92661494fc27a6364317e  20-modules.conf"
sha256sums="613b2f2e7ee2a06d2f8e862c836dc70d319c52f1537749e027398f40086aabb8  xorg-server-1.15.0.tar.bz2
66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162  autoconfig-nvidia.patch
7d5d36dd152eb0fab277a4aeba0a08ad77049e591a0dea92f565a4b62f0d0a50  autoconfig-sis.patch
0cb8f7a5628037f24d05d86eed26ca0252c3ff95856367b606b64080da6db432  fix-musl-arm.patch
3c545888d585cf9931e19f85e758dd9b3bae0e9a117488f2024ab48acf67f831  20-modules.conf"
sha512sums="7bf6a9eff9cc606defbaa46600a4d7b41896f4304e06af745a2717687853c7e92b191481f1f4d6d98ef0adfe5f404c9e3997ebd98553c60b626cd1bb53c58d9d  xorg-server-1.15.0.tar.bz2
4dcaa60fbfc61636e7220a24a72bba19984a6dc752061cb40b1bd566c0e614d08927b6c223ffaaaa05636765fddacdc3113fde55d25fd09cd0c786ff44f51447  autoconfig-nvidia.patch
30a78f4278edd535c45ee3f80933427cb029a13abaa4b041f816515fdd8f64f00b9c6aef50d4eba2aaf0d4f333e730399864fd97fa18891273601c77a6637200  autoconfig-sis.patch
fdb45ed50e5aeac1bc8d22f1377517c52235aea7d15bb4664a774aea5c2c4fbbc9654dce6e5b3fee15ec9eadb2f87f88ca7d62a36c458df8a0dfa5b431ab225a  fix-musl-arm.patch
ac3e0c191c3b8fda1a78488d326b1ce01836998b6640c228b8f5f6f80be416d7534dab086bb0fbec60727c6c8afc1ef2dfd3072bf571975724943997dc7c2b73  20-modules.conf"