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