aboutsummaryrefslogtreecommitdiffstats
path: root/main/xorg-server/APKBUILD
blob: 5bd3c4ac160994686b65952806227ff41abb7d6d (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
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xorg-server
pkgver=1.18.3
pkgrel=0
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
	"
depends_dev="
	bigreqsproto
	compositeproto
	damageproto
	dri2proto
	fixesproto
	fontsproto
	glproto
	inputproto
	kbproto
	libepoxy-dev
	libpciaccess-dev
	libxfont-dev
	mesa-dev
	pixman-dev
	presentproto
	randrproto
	recordproto
	renderproto
	resourceproto
	scrnsaverproto
	videoproto
	xcmiscproto
	xextproto
	xf86driproto
	xineramaproto
	xproto
	"
makedepends="
	$depends_dev
	autoconf
	automake
	libdrm-dev
	libtool
	libx11-dev
	libxdamage-dev
	libxinerama-dev
	libxkbfile-dev
	libxkbui-dev
	libxv-dev
	libxxf86dga-dev
	libxxf86misc-dev
	openssl-dev
	perl
	eudev-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
	20-modules.conf
	"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	cd "$_builddir"
	default_prepare

	# 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 "$_builddir"
	# 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 "$_builddir"
	make -j1 DESTDIR="$pkgdir" install || return 1
	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 || return 1

	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="043d720bf2472a65bb8f0daa97f83dfa  xorg-server-1.18.3.tar.bz2
ea4852dedbb89550f6bc113ca66348a2  autoconfig-nvidia.patch
825ca99ea9348c66abdf2c479e0af485  autoconfig-sis.patch
043cbe8fc14729ae1e776788ae7593bf  fix-musl-arm.patch
77f2e12e577e9d8b67350b960958b7c4  20-modules.conf"
sha256sums="ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd  xorg-server-1.18.3.tar.bz2
66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162  autoconfig-nvidia.patch
7d5d36dd152eb0fab277a4aeba0a08ad77049e591a0dea92f565a4b62f0d0a50  autoconfig-sis.patch
b210a93b4d6128c0963ade3458925ff293e1c68ac20a15964357fd401f7161e0  fix-musl-arm.patch
65343949384a88dc75142c9309a24c921baa60b43e0fc245052d220e53a4babb  20-modules.conf"
sha512sums="9540b2fb69bf531b57e54af09b103c92c8d9d9cc4e6abe911f63b73b7c63eb6587eeae87927d7bdd7be83749785bf6b395891f85394e86ad2b01c182749f2171  xorg-server-1.18.3.tar.bz2
4dcaa60fbfc61636e7220a24a72bba19984a6dc752061cb40b1bd566c0e614d08927b6c223ffaaaa05636765fddacdc3113fde55d25fd09cd0c786ff44f51447  autoconfig-nvidia.patch
30a78f4278edd535c45ee3f80933427cb029a13abaa4b041f816515fdd8f64f00b9c6aef50d4eba2aaf0d4f333e730399864fd97fa18891273601c77a6637200  autoconfig-sis.patch
b799e757a22a61ac283adbd7a8df1ad4eccce0bb6cac38a0c962ba8438bba3cf6637a65bb64859e7b32399fca672283a49960207e186c271ba574580de360d09  fix-musl-arm.patch
1697e8be032ca777b0ac9aab23cc45baec03cccdf04ec35374bb7dd4d5430fdc7f6786689f3edd8cd2289535966329e9636f7f94a8926d73464d398fa66da61a  20-modules.conf"