Magellan Linux

Contents of /trunk/extras/xorg-server/xorg-server-1.17.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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