Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28235 - (show annotations) (download)
Mon Jun 27 15:36:50 2016 UTC (7 years, 11 months ago) by niro
File size: 11501 byte(s)
auto added: ver bump to 1.18.3-r1
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.18.3"
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="11.2.2"
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-20 virtual/X-ABI-XINPUT-22.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.34
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.7
32 >= app-crypt/libgpg-error-1.23
33 >= sys-libs/libsystemd-227
34 >= sys-fs/udev-227
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.3"
48
49 XORG_DEPEND="${COMMON_DEPEND}
50 ${MESA_DEPEND}
51 ${EPOXY_DEPEND}
52 >= x11-libs/libxshmfence-1.2
53 >= x11-misc/xkeyboard-config-2.18
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.4"
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.68
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_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 #sourceforge://mesa3d/${MESA_SRCFILE}
112 mirror://mesa/${MESA_SRCFILE}
113 mirror://${PNAME}/xvfb-run
114 mirror://${PNAME}/xvfb-run.1
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}-1.17.1-dix-add-unaccelerated-valuators-to-the-valuatormask.patch
119 mirror://${PNAME}/${PNAME}-1.17.1-dix-hook-up-the-unaccelerated-valuator-masks.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_deprecated_packages()
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_deprecated_packages
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}-1.17.1-dix-add-unaccelerated-valuators-to-the-valuatormask.patch || die
201 mpatch ${PNAME}-1.17.1-dix-hook-up-the-unaccelerated-valuator-masks.patch || die
202
203 # adopted from redhat; use a black background
204 mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
205
206 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
207 mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
208
209 # fix new evdev event devices (event4 and event5)
210 mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
211
212 # fix build issues, some wrapper files which should be generated
213 # at build time exist and the makefile doesn't whipe them. we patch
214 # the makefile to clean them and whipe these wrapper files
215 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
216
217 # fix xorg.conf.d location
218 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
219 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
220
221 mautoreconf || die
222 }
223
224 src_compile()
225 {
226 cd ${SRCDIR}
227
228 xorg_src_configure \
229 --with-mesa-source=${MESA_SRCDIR} \
230 --sysconfdir=/etc \
231 --localstatedir=/var \
232 --libexecdir=/usr/$(mlibdir)/${PNAME} \
233 --with-xkb-output=/var/lib/xkb \
234 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
235 --disable-install-setuid \
236 --enable-suid-wrapper \
237 --enable-ipv6 \
238 --enable-xorg \
239 --enable-kdrive \
240 --enable-xephyr \
241 --enable-dmx \
242 --enable-xvfb \
243 --enable-xnest \
244 --enable-dri \
245 --enable-dri2 \
246 --enable-dri3 \
247 --enable-glamor \
248 --enable-xtrap \
249 --enable-xevie \
250 --enable-xcsecurity \
251 --enable-libunwind \
252 --disable-xprint \
253 --enable-glx-tls \
254 --disable-static \
255 --disable-config-dbus \
256 --disable-config-hal \
257 --enable-config-udev \
258 --enable-kdrive-kbd \
259 --enable-kdrive-mouse \
260 --enable-kdrive-evdev \
261 --enable-systemd-logind \
262 --with-sha1=libgcrypt \
263 || die
264
265 mmake || die
266 }
267
268 src_install_xorg-server()
269 {
270 xorg_src_install || die
271
272 # needed directories
273 minstalldir /usr/bin || die
274 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
275
276 # dynamic opengl setup
277 local i
278 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
279 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
280 do
281 if [ -f ${i} -o -L ${i} ]
282 then
283 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
284 fi
285 done
286
287 # missing symlink
288 mlink Xorg /usr/bin/X || die
289
290 # remove stuff included in other packages
291 # xfbdev
292 mdelete /usr/bin/Xfbdev || die
293 # xephyr
294 mdelete /usr/bin/Xephyr || die
295 mdelete /usr/share/man/man1/Xephyr.1 || die
296 # xnest
297 mdelete /usr/bin/Xnest || die
298 mdelete /usr/share/man/man1/Xnest.1 || die
299 # xdmx
300 mdelete /usr/bin/Xdmx || die
301 mdelete /usr/share/man/man1/Xdmx.1 || die
302 mdelete /usr/bin/dmxaddinput || die
303 mdelete /usr/bin/dmxaddscreen || die
304 mdelete /usr/bin/dmxreconfig || die
305 mdelete /usr/bin/dmxresize || die
306 mdelete /usr/bin/dmxrminput || die
307 mdelete /usr/bin/dmxrmscreen || die
308 mdelete /usr/bin/dmxwininfo || die
309 mdelete /usr/bin/dmxinfo || die
310 mdelete /usr/bin/dmxtodmx || die
311 mdelete /usr/share/man/man1/dmxtodmx.1 || die
312 mdelete /usr/bin/vdltodmx || die
313 mdelete /usr/share/man/man1/vdltodmx.1 || die
314 mdelete /usr/bin/xdmxconfig || die
315 mdelete /usr/share/man/man1/xdmxconfig.1 || die
316 # xvfb
317 mdelete /usr/bin/Xvfb || die
318 mdelete /usr/share/man/man1/Xvfb.1 || die
319 }
320
321 src_install_kdrive()
322 {
323 cd ${SRCDIR}
324
325 minstallexec hw/kdrive/fbdev/Xfbdev || die
326 #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
327
328 # # suid all tinyX servers
329 # mchmod 4755 /usr/bin/X\* || die
330
331 # needed directory
332 mkeepdir /usr/share/X11/xkb/compiled || die
333 }
334
335 src_install_xephyr()
336 {
337 cd ${SRCDIR}
338
339 minstallexec hw/kdrive/ephyr/Xephyr || die
340 minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
341
342 # # suid all tinyX servers
343 # mchmod 4755 /usr/bin/X\* || die
344
345 # needed directory
346 mkeepdir /usr/share/X11/xkb/compiled || die
347 }
348
349 src_install_xnest()
350 {
351 cd ${SRCDIR}
352
353 minstallexec hw/xnest/Xnest || die
354 minstallman hw/xnest/man/Xnest.1 || die
355
356 # needed directory
357 mkeepdir /usr/share/X11/xkb/compiled || die
358 }
359
360 src_install_xdmx()
361 {
362 cd ${SRCDIR}
363
364 minstallexec hw/dmx/Xdmx || die
365 minstallman hw/dmx/man/Xdmx.1 || die
366
367 minstallexec hw/dmx/examples/dmxaddinput || die
368 minstallexec hw/dmx/examples/dmxaddscreen || die
369 minstallexec hw/dmx/examples/dmxreconfig || die
370 minstallexec hw/dmx/examples/dmxresize || die
371 minstallexec hw/dmx/examples/dmxrminput || die
372 minstallexec hw/dmx/examples/dmxrmscreen || die
373 minstallexec hw/dmx/examples/dmxwininfo || die
374 minstallexec hw/dmx/examples/dmxinfo || die
375
376 minstallexec hw/dmx/config/dmxtodmx || die
377 minstallman hw/dmx/config/man/dmxtodmx.1 || die
378
379 minstallexec hw/dmx/config/vdltodmx || die
380 minstallman hw/dmx/config/man/vdltodmx.1 || die
381
382 minstallexec hw/dmx/config/xdmxconfig || die
383 minstallman hw/dmx/config/man/xdmxconfig.1 || die
384
385 # needed directory
386 mkeepdir /usr/share/X11/xkb/compiled || die
387 }
388
389 src_install_xvfb()
390 {
391 cd ${SRCDIR}
392
393 minstallexec hw/vfb/Xvfb || die
394 minstallman hw/vfb/man/Xvfb.1 || die
395
396 # xvfb-run script to ease things
397 minstallexec -s xvfb-run || die
398 minstallman ${SOURCEDIR}/${PNAME}/xvfb-run.1 || die
399
400 # needed directory
401 mkeepdir /usr/share/X11/xkb/compiled || die
402 }
403
404 preinstall_xorg-server()
405 {
406 preinstall_complain_about_glamor
407
408 # fix some deprecated symlinks from ancient xorg-1.5 servers
409 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
410 then
411 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
412 fi
413
414 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
415 then
416 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
417 fi
418
419 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
420 then
421 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
422 fi
423
424 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
425 then
426 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
427 fi
428 }
429
430 postinstall_xorg-server()
431 {
432 # provided by xf86-input-evdev now
433 if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
434 then
435 rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
436 fi
437
438 ${MROOT}/usr/sbin/opengl-update --use-old xorg
439 }
440
441 postremove_xorg-server()
442 {
443 # get rid of module dir to ensure opengl-update works properly
444 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
445 then
446 if [[ -z $(magequery -n xorg-server) ]]
447 then
448 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
449 fi
450 fi
451 }