Magellan Linux

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

Parent Directory Parent Directory | Revision Log 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)
-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 }