Annotation of /trunk/extras/xorg-server/xorg-server-1.20.0-r1.smage2
Parent Directory | Revision Log
Revision 31140 -
(hide annotations)
(download)
Tue Jun 5 13:24:34 2018 UTC (5 years, 11 months ago) by niro
File size: 10802 byte(s)
Tue Jun 5 13:24:34 2018 UTC (5 years, 11 months ago) by niro
File size: 10802 byte(s)
auto added: ver bump to 1.20.0-r1
1 | niro | 31042 | # $Id$ |
2 | |||
3 | PNAME="xorg-server" | ||
4 | PVER="1.20.0" | ||
5 | PBUILD="r1" | ||
6 | |||
7 | SPLIT_PACKAGES="xorg-server kdrive xephyr xdmx xnest xvfb" | ||
8 | |||
9 | PCAT="x11-base" | ||
10 | HOMEPAGE="http://xorg.freedesktop.org" | ||
11 | |||
12 | # mesa sources are needed to compile opengl extensions | ||
13 | niro | 31140 | MESA_PVER="18.1.1" |
14 | niro | 31042 | MESA_SRCFILE="mesa-${MESA_PVER/_/-}.tar.xz" |
15 | MESA_SRCDIR="${BUILDDIR}/mesa-${MESA_PVER/_/-}" | ||
16 | |||
17 | PROVIDE="virtual/x11" | ||
18 | |||
19 | # see hw/xfree86/common/xf86Module.h for ABI versions | ||
20 | # or installed pkg-config file | ||
21 | niro | 31140 | XORG_SERVER_PROVIDE="virtual/X-ABI-VIDEODRV-24.0 virtual/X-ABI-XINPUT-24.1 virtual/X-ABI-EXTENSION-10.0" |
22 | niro | 31042 | |
23 | # common depends | ||
24 | COMMON_DEPEND=">= x11-libs/libXfont2-2.0 | ||
25 | >= x11-libs/libXau-1.0.8 | ||
26 | >= x11-libs/libXdmcp-1.1 | ||
27 | >= x11-libs/pixman-0.34 | ||
28 | >= media-libs/freetype-2.9 | ||
29 | >= media-fonts/font-misc-misc-1 | ||
30 | >= media-fonts/font-cursor-misc-1 | ||
31 | >= app-crypt/libgcrypt-1.8 | ||
32 | >= app-crypt/libgpg-error-1.21 | ||
33 | >= sys-libs/libsystemd-238 | ||
34 | >= sys-fs/udev-238 | ||
35 | >= sys-apps/dbus-x11-1.10 | ||
36 | >= sys-libs/libunwind-1.1 | ||
37 | >= x11-libs/xcb-util-0.4.0 | ||
38 | >= x11-libs/xcb-util-image-0.4.0 | ||
39 | >= x11-libs/xcb-util-renderutil-0.3.9 | ||
40 | >= x11-libs/xcb-util-keysyms-0.4.0 | ||
41 | >= x11-libs/xcb-util-wm-0.4.1" | ||
42 | |||
43 | LIBXEXT_DEPEND=">= x11-libs/libXext-1.3" | ||
44 | LIBX11_DEPEND=">= x11-libs/libX11-1.6" | ||
45 | LIBXI_DEPEND=">= x11-libs/libXi-1.7" | ||
46 | MESA_DEPEND="== media-libs/mesa-${MESA_PVER}" | ||
47 | EPOXY_DEPEND=">= media-libs/libepoxy-1.4" | ||
48 | |||
49 | XORG_DEPEND="${COMMON_DEPEND} | ||
50 | ${MESA_DEPEND} | ||
51 | ${EPOXY_DEPEND} | ||
52 | >= x11-libs/libxshmfence-1.3 | ||
53 | >= x11-misc/xkeyboard-config-2.23 | ||
54 | >= x11-apps/iceauth-1.0.8 | ||
55 | >= x11-apps/rgb-1.0.6 | ||
56 | >= x11-apps/xauth-1.0.10 | ||
57 | >= x11-apps/xinit-1.4 | ||
58 | >= x11-base/opengl-update-2.3.12 | ||
59 | >= x11-libs/libpciaccess-0.14" | ||
60 | |||
61 | KDRIVE_DEPEND="${COMMON_DEPEND}" | ||
62 | |||
63 | XEPHYR_DEPEND="${COMMON_DEPEND} | ||
64 | ${LIBXEXT_DEPEND} | ||
65 | ${LIBX11_DEPEND} | ||
66 | ${LIBXI_DEPEND} | ||
67 | ${MESA_DEPEND} | ||
68 | ${EPOXY_DEPEND} | ||
69 | >= x11-libs/libXv-1.0.11 | ||
70 | >= x11-libs/libXmu-1.1" | ||
71 | |||
72 | XNEST_DEPEND="${COMMON_DEPEND} | ||
73 | ${LIBXEXT_DEPEND} | ||
74 | ${LIBX11_DEPEND}" | ||
75 | |||
76 | XDMX_DEPEND="${COMMON_DEPEND} | ||
77 | ${LIBXEXT_DEPEND} | ||
78 | ${LIBX11_DEPEND} | ||
79 | ${LIBXI_DEPEND} | ||
80 | >= x11-libs/libdmx-1.1.4 | ||
81 | >= x11-libs/libXaw-1.0.13 | ||
82 | >= x11-libs/libXfixes-5 | ||
83 | >= x11-libs/libXrender-0.9.10" | ||
84 | |||
85 | XVFB_DEPEND="${COMMON_DEPEND}" | ||
86 | |||
87 | SDEPEND="${XORG_DEPEND} | ||
88 | ${KDRIVE_DEPEND} | ||
89 | ${XEPHYR_DEPEND} | ||
90 | ${XNEST_DEPEND} | ||
91 | ${XDMX_DEPEND} | ||
92 | ${XVFB_DEPEND} | ||
93 | >= media-fonts/font-util-1.3 | ||
94 | == x11-proto/xorg-protos-7.7.${PVER} | ||
95 | >= x11-libs/libdrm-2.4.92 | ||
96 | >= x11-libs/libXtst-1.2 | ||
97 | >= x11-libs/libXres-1.2 | ||
98 | >= x11-libs/xcb-util-image-0.4 | ||
99 | >= x11-libs/xcb-util-keysyms-0.4 | ||
100 | >= x11-libs/xcb-util-wm-0.3.9 | ||
101 | >= x11-libs/libxkbfile-1" | ||
102 | |||
103 | SPECIAL_FUNCTIONS="preinstall_complain_about_deprecated_packages" | ||
104 | |||
105 | UP2SUBDIR="xserver" | ||
106 | sminclude xorg mtools | ||
107 | |||
108 | SRC_URI=( ${SRC_URI[*]} | ||
109 | mirror://${PNAME}/${SRCFILE} | ||
110 | ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE} | ||
111 | ftp://ftp.freedesktop.org/pub/mesa/${MESA_SRCFILE} | ||
112 | #sourceforge://mesa3d/${MESA_SRCFILE} | ||
113 | mirror://mesa/${MESA_SRCFILE} | ||
114 | mirror://${PNAME}/xvfb-run | ||
115 | mirror://${PNAME}/xvfb-run.1 | ||
116 | mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch | ||
117 | ) | ||
118 | |||
119 | split_info_xorg-server() | ||
120 | { | ||
121 | DESCRIPTION="Modular X.Org X Server." | ||
122 | DEPEND="${XORG_DEPEND}" | ||
123 | PROVIDE+=" ${XORG_SERVER_PROVIDE}" | ||
124 | } | ||
125 | |||
126 | split_info_kdrive() | ||
127 | { | ||
128 | DESCRIPTION="Tiny X.Org X Server." | ||
129 | DEPEND="${KDRIVE_DEPEND}" | ||
130 | } | ||
131 | |||
132 | split_info_xephyr() | ||
133 | { | ||
134 | DESCRIPTION="A nested X11 server with opengl support." | ||
135 | DEPEND="${XEPHYR_DEPEND}" | ||
136 | } | ||
137 | |||
138 | split_info_xnest() | ||
139 | { | ||
140 | DESCRIPTION="A nested X11 server." | ||
141 | DEPEND="${XNEST_DEPEND}" | ||
142 | } | ||
143 | |||
144 | split_info_xdmx() | ||
145 | { | ||
146 | DESCRIPTION="A distributed multihead X11 Server." | ||
147 | DEPEND="${XDMX_DEPEND}" | ||
148 | } | ||
149 | |||
150 | split_info_xvfb() | ||
151 | { | ||
152 | DESCRIPTION="A virtual framebuffer X11 server." | ||
153 | DEPEND="${XVFB_DEPEND}" | ||
154 | } | ||
155 | |||
156 | preinstall_complain_about_deprecated_packages() | ||
157 | { | ||
158 | if [[ ! -z $(magequery -n glamor-egl) ]] | ||
159 | then | ||
160 | echo -e ${COLRED} | ||
161 | echo -e "Error: x11-libs/glamor-egl is installed!!" | ||
162 | echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore." | ||
163 | echo -e "Please uninstall x11-libs/glamor-egl first!" | ||
164 | echo -e ${COLDEFAULT} | ||
165 | die "x11-libs/glamor-egl found!" | ||
166 | fi | ||
167 | |||
168 | if [[ ! -z $(magequery -n xf86-video-modesetting) ]] | ||
169 | then | ||
170 | echo -e ${COLRED} | ||
171 | echo -e "Error: x11-drivers/xf86-video-modesetting is installed!!" | ||
172 | echo -e "xf86-video-modesetting is now provided by xorg-server and doesn't need an extra package anymore." | ||
173 | echo -e "Please uninstall x11-drivers/xf86-video-modesetting first!" | ||
174 | echo -e ${COLDEFAULT} | ||
175 | die "x11-drivers/xf86-video-modesetting found!" | ||
176 | fi | ||
177 | } | ||
178 | |||
179 | pkg_setup() | ||
180 | { | ||
181 | preinstall_complain_about_deprecated_packages | ||
182 | |||
183 | # must use mesa as opengl-headers! | ||
184 | if [[ $(opengl-update --get-implementation) != xorg ]] | ||
185 | then | ||
186 | die "please change to xorg opengl-headers: opengl-update xorg" | ||
187 | fi | ||
188 | } | ||
189 | |||
190 | src_prepare() | ||
191 | { | ||
192 | munpack ${SRCFILE} || die | ||
193 | munpack ${MESA_SRCFILE} || die | ||
194 | cd ${SRCDIR} | ||
195 | |||
196 | # adopted from redhat; use a black background | ||
197 | mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die | ||
198 | |||
199 | # fix build issues, some wrapper files which should be generated | ||
200 | # at build time exist and the makefile doesn't whipe them. we patch | ||
201 | # the makefile to clean them and whipe these wrapper files | ||
202 | rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die | ||
203 | |||
204 | # fix xorg.conf.d location | ||
205 | sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die | ||
206 | sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die | ||
207 | |||
208 | mautoreconf || die | ||
209 | } | ||
210 | |||
211 | src_compile() | ||
212 | { | ||
213 | cd ${SRCDIR} | ||
214 | |||
215 | xorg_src_configure \ | ||
216 | --with-mesa-source=${MESA_SRCDIR} \ | ||
217 | --sysconfdir=/etc \ | ||
218 | --localstatedir=/var \ | ||
219 | --libexecdir=/usr/$(mlibdir)/${PNAME} \ | ||
220 | --with-xkb-output=/var/lib/xkb \ | ||
221 | --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \ | ||
222 | --disable-install-setuid \ | ||
223 | --enable-suid-wrapper \ | ||
224 | --enable-ipv6 \ | ||
225 | --enable-xorg \ | ||
226 | --enable-kdrive \ | ||
227 | --enable-xephyr \ | ||
228 | --enable-dmx \ | ||
229 | --enable-xvfb \ | ||
230 | --enable-xnest \ | ||
231 | --enable-dri \ | ||
232 | --enable-dri2 \ | ||
233 | --enable-dri3 \ | ||
234 | --enable-glamor \ | ||
235 | --enable-xtrap \ | ||
236 | --enable-xevie \ | ||
237 | --enable-xcsecurity \ | ||
238 | --enable-libunwind \ | ||
239 | --disable-xprint \ | ||
240 | --enable-glx-tls \ | ||
241 | --disable-static \ | ||
242 | --disable-config-dbus \ | ||
243 | --disable-config-hal \ | ||
244 | --enable-config-udev \ | ||
245 | --enable-kdrive-kbd \ | ||
246 | --enable-kdrive-mouse \ | ||
247 | --enable-kdrive-evdev \ | ||
248 | --enable-systemd-logind \ | ||
249 | --with-sha1=libgcrypt \ | ||
250 | || die | ||
251 | |||
252 | mmake || die | ||
253 | } | ||
254 | |||
255 | src_install_xorg-server() | ||
256 | { | ||
257 | xorg_src_install || die | ||
258 | |||
259 | # needed directories | ||
260 | minstalldir /usr/bin || die | ||
261 | minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die | ||
262 | |||
263 | # dynamic opengl setup | ||
264 | local i | ||
265 | for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \ | ||
266 | ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri* | ||
267 | do | ||
268 | if [ -f ${i} -o -L ${i} ] | ||
269 | then | ||
270 | mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}" | ||
271 | fi | ||
272 | done | ||
273 | |||
274 | # missing symlink | ||
275 | mlink Xorg /usr/bin/X || die | ||
276 | |||
277 | # remove stuff included in other packages | ||
278 | # xfbdev | ||
279 | mdelete /usr/bin/Xfbdev || die | ||
280 | # xephyr | ||
281 | mdelete /usr/bin/Xephyr || die | ||
282 | mdelete /usr/share/man/man1/Xephyr.1 || die | ||
283 | # xnest | ||
284 | mdelete /usr/bin/Xnest || die | ||
285 | mdelete /usr/share/man/man1/Xnest.1 || die | ||
286 | # xdmx | ||
287 | mdelete /usr/bin/Xdmx || die | ||
288 | mdelete /usr/share/man/man1/Xdmx.1 || die | ||
289 | mdelete /usr/bin/dmxaddinput || die | ||
290 | mdelete /usr/bin/dmxaddscreen || die | ||
291 | mdelete /usr/bin/dmxreconfig || die | ||
292 | mdelete /usr/bin/dmxresize || die | ||
293 | mdelete /usr/bin/dmxrminput || die | ||
294 | mdelete /usr/bin/dmxrmscreen || die | ||
295 | mdelete /usr/bin/dmxwininfo || die | ||
296 | mdelete /usr/bin/dmxinfo || die | ||
297 | mdelete /usr/bin/dmxtodmx || die | ||
298 | mdelete /usr/share/man/man1/dmxtodmx.1 || die | ||
299 | mdelete /usr/bin/vdltodmx || die | ||
300 | mdelete /usr/share/man/man1/vdltodmx.1 || die | ||
301 | mdelete /usr/bin/xdmxconfig || die | ||
302 | mdelete /usr/share/man/man1/xdmxconfig.1 || die | ||
303 | # xvfb | ||
304 | mdelete /usr/bin/Xvfb || die | ||
305 | mdelete /usr/share/man/man1/Xvfb.1 || die | ||
306 | } | ||
307 | |||
308 | src_install_kdrive() | ||
309 | { | ||
310 | cd ${SRCDIR} | ||
311 | |||
312 | minstallexec hw/kdrive/fbdev/Xfbdev || die | ||
313 | #minstallman hw/kdrive/fbdev/Xfbdev.1 || die | ||
314 | |||
315 | # # suid all tinyX servers | ||
316 | # mchmod 4755 /usr/bin/X\* || die | ||
317 | |||
318 | # needed directory | ||
319 | mkeepdir /usr/share/X11/xkb/compiled || die | ||
320 | } | ||
321 | |||
322 | src_install_xephyr() | ||
323 | { | ||
324 | cd ${SRCDIR} | ||
325 | |||
326 | minstallexec hw/kdrive/ephyr/Xephyr || die | ||
327 | minstallman hw/kdrive/ephyr/man/Xephyr.1 || die | ||
328 | |||
329 | # # suid all tinyX servers | ||
330 | # mchmod 4755 /usr/bin/X\* || die | ||
331 | |||
332 | # needed directory | ||
333 | mkeepdir /usr/share/X11/xkb/compiled || die | ||
334 | } | ||
335 | |||
336 | src_install_xnest() | ||
337 | { | ||
338 | cd ${SRCDIR} | ||
339 | |||
340 | minstallexec hw/xnest/Xnest || die | ||
341 | minstallman hw/xnest/man/Xnest.1 || die | ||
342 | |||
343 | # needed directory | ||
344 | mkeepdir /usr/share/X11/xkb/compiled || die | ||
345 | } | ||
346 | |||
347 | src_install_xdmx() | ||
348 | { | ||
349 | cd ${SRCDIR} | ||
350 | |||
351 | minstallexec hw/dmx/Xdmx || die | ||
352 | minstallman hw/dmx/man/Xdmx.1 || die | ||
353 | |||
354 | minstallexec hw/dmx/examples/dmxaddinput || die | ||
355 | minstallexec hw/dmx/examples/dmxaddscreen || die | ||
356 | minstallexec hw/dmx/examples/dmxreconfig || die | ||
357 | minstallexec hw/dmx/examples/dmxresize || die | ||
358 | minstallexec hw/dmx/examples/dmxrminput || die | ||
359 | minstallexec hw/dmx/examples/dmxrmscreen || die | ||
360 | minstallexec hw/dmx/examples/dmxwininfo || die | ||
361 | minstallexec hw/dmx/examples/dmxinfo || die | ||
362 | |||
363 | minstallexec hw/dmx/config/dmxtodmx || die | ||
364 | minstallman hw/dmx/config/man/dmxtodmx.1 || die | ||
365 | |||
366 | minstallexec hw/dmx/config/vdltodmx || die | ||
367 | minstallman hw/dmx/config/man/vdltodmx.1 || die | ||
368 | |||
369 | minstallexec hw/dmx/config/xdmxconfig || die | ||
370 | minstallman hw/dmx/config/man/xdmxconfig.1 || die | ||
371 | |||
372 | # needed directory | ||
373 | mkeepdir /usr/share/X11/xkb/compiled || die | ||
374 | } | ||
375 | |||
376 | src_install_xvfb() | ||
377 | { | ||
378 | cd ${SRCDIR} | ||
379 | |||
380 | minstallexec hw/vfb/Xvfb || die | ||
381 | minstallman hw/vfb/man/Xvfb.1 || die | ||
382 | |||
383 | # xvfb-run script to ease things | ||
384 | minstallexec -s xvfb-run || die | ||
385 | minstallman ${SOURCEDIR}/$(mpname)/xvfb-run.1 || die | ||
386 | |||
387 | # needed directory | ||
388 | mkeepdir /usr/share/X11/xkb/compiled || die | ||
389 | } | ||
390 | |||
391 | preinstall_xorg-server() | ||
392 | { | ||
393 | preinstall_complain_about_deprecated_packages | ||
394 | |||
395 | # fix some deprecated symlinks from ancient xorg-1.5 servers | ||
396 | if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ] | ||
397 | then | ||
398 | rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so | ||
399 | fi | ||
400 | |||
401 | if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ] | ||
402 | then | ||
403 | rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so | ||
404 | fi | ||
405 | |||
406 | if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ] | ||
407 | then | ||
408 | rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so | ||
409 | fi | ||
410 | |||
411 | if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ] | ||
412 | then | ||
413 | rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so | ||
414 | fi | ||
415 | } | ||
416 | |||
417 | postinstall_xorg-server() | ||
418 | { | ||
419 | # provided by xf86-input-evdev now | ||
420 | if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ] | ||
421 | then | ||
422 | rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf | ||
423 | fi | ||
424 | |||
425 | ${MROOT}/usr/sbin/opengl-update --use-old xorg | ||
426 | } | ||
427 | |||
428 | postremove_xorg-server() | ||
429 | { | ||
430 | # get rid of module dir to ensure opengl-update works properly | ||
431 | if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ] | ||
432 | then | ||
433 | if [[ -z $(magequery -n xorg-server) ]] | ||
434 | then | ||
435 | rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules | ||
436 | fi | ||
437 | fi | ||
438 | } |