Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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