Magellan Linux

Annotation of /branches/R11-stable/extras/xorg-server/xorg-server-1.16.3-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 24145 - (hide annotations) (download)
Fri Feb 20 09:11:07 2015 UTC (9 years, 7 months ago) by niro
File size: 10070 byte(s)
-release branches/R11-stable
1 niro 23760 # $Id$
2    
3     PNAME="xorg-server"
4     PVER="1.16.3"
5     PBUILD="r2"
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.4.3"
14     MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.bz2"
15     MESA_SRCDIR="${BUILDDIR}/MesaLib-${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-18 virtual/X-ABI-XINPUT-21 virtual/X-ABI-EXTENSION-8"
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.5
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.17
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.14
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.59
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    
95     SPECIAL_FUNCTIONS="preinstall_complain_about_glamor"
96    
97     UP2SUBDIR="xserver"
98     sminclude xorg mtools
99    
100     SRC_URI=( ${SRC_URI[*]}
101     mirror://${PNAME}/${SRCFILE}
102     ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
103     #sourceforge://mesa3d/${MESA_SRCFILE}
104     mirror://mesa/${MESA_SRCFILE}
105     mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
106     mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch
107     mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch
108     )
109    
110     split_info_xorg-server()
111     {
112     DESCRIPTION="Modular X.Org X Server."
113     DEPEND="${XORG_DEPEND}"
114     PROVIDE+=" ${XORG_SERVER_PROVIDE}"
115     }
116    
117     split_info_kdrive()
118     {
119     DESCRIPTION="Tiny X.Org X Server."
120     DEPEND="${KDRIVE_DEPEND}"
121     }
122    
123     split_info_xephyr()
124     {
125     DESCRIPTION="A nested X11 server with opengl support."
126     DEPEND="${XEPHYR_DEPEND}"
127     }
128    
129     split_info_xnest()
130     {
131     DESCRIPTION="A nested X11 server."
132     DEPEND="${XNEST_DEPEND}"
133     }
134    
135     split_info_xdmx()
136     {
137     DESCRIPTION="A distributed multihead X11 Server."
138     DEPEND="${XDMX_DEPEND}"
139     }
140    
141     split_info_xvfb()
142     {
143     DESCRIPTION="A virtual framebuffer X11 server."
144     DEPEND="${XVFB_DEPEND}"
145     }
146    
147     preinstall_complain_about_glamor()
148     {
149     if [[ ! -z $(magequery -n glamor-egl) ]]
150     then
151     echo -e ${COLRED}
152     echo -e "Error: x11-libs/glamor-egl is installed!!"
153     echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore."
154     echo -e "Please uninstall x11-libs/glamor-egl first!"
155     echo -e ${COLDEFAULT}
156     die "x11-libs/glamor-egl found!"
157     fi
158     }
159    
160     pkg_setup()
161     {
162     preinstall_complain_about_glamor
163    
164     # must use mesa as opengl-headers!
165     if [[ $(opengl-update --get-implementation) != xorg ]]
166     then
167     die "please change to xorg opengl-headers: opengl-update xorg"
168     fi
169     }
170    
171     src_prepare()
172     {
173     munpack ${SRCFILE} || die
174     munpack ${MESA_SRCFILE} || die
175     cd ${SRCDIR}
176    
177     # adopted from redhat; use a black background
178     mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
179    
180     # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
181     mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
182    
183     # fix new evdev event devices (event4 and event5)
184     mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
185    
186     # fix build issues, some wrapper files which should be generated
187     # at build time exist and the makefile doesn't whipe them. we patch
188     # the makefile to clean them and whipe these wrapper files
189     rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
190    
191     # fix xorg.conf.d location
192     sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
193     sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
194    
195     mautoreconf || die
196     }
197    
198     src_compile()
199     {
200     cd ${SRCDIR}
201    
202     xorg_src_configure \
203     --with-mesa-source=${MESA_SRCDIR} \
204     --sysconfdir=/etc \
205     --localstatedir=/var \
206     --libexecdir=/usr/bin \
207     --with-xkb-output=/var/lib/xkb \
208     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
209     --disable-install-setuid \
210     --enable-suid-wrapper \
211     --enable-ipv6 \
212     --enable-xorg \
213     --enable-kdrive \
214     --enable-xephyr \
215     --enable-dmx \
216     --enable-xvfb \
217     --enable-xnest \
218     --enable-dri \
219     --enable-dri2 \
220     --enable-dri3 \
221     --enable-glamor \
222     --enable-xtrap \
223     --enable-xevie \
224     --enable-xcsecurity \
225     --disable-xprint \
226     --enable-glx-tls \
227     --disable-static \
228     --disable-config-dbus \
229     --disable-config-hal \
230     --enable-config-udev \
231     --enable-kdrive-kbd \
232     --enable-kdrive-mouse \
233     --enable-kdrive-evdev \
234     --enable-systemd-logind \
235     || die
236    
237     mmake || die
238     }
239    
240     src_install_xorg-server()
241     {
242     xorg_src_install || die
243    
244     # needed directories
245     minstalldir /usr/bin || die
246     minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
247    
248     # dynamic opengl setup
249     local i
250     for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
251     ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
252     do
253     if [ -f ${i} -o -L ${i} ]
254     then
255     mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
256     fi
257     done
258    
259     # missing symlink
260     mlink Xorg /usr/bin/X || die
261    
262     # remove stuff included in other packages
263     # xfbdev
264     mdelete /usr/bin/Xfbdev || die
265     # xephyr
266     mdelete /usr/bin/Xephyr || die
267     mdelete /usr/share/man/man1/Xephyr.1 || die
268     # xnest
269     mdelete /usr/bin/Xnest || die
270     mdelete /usr/share/man/man1/Xnest.1 || die
271     # xdmx
272     mdelete /usr/bin/Xdmx || die
273     mdelete /usr/share/man/man1/Xdmx.1 || die
274     mdelete /usr/bin/dmxaddinput || die
275     mdelete /usr/bin/dmxaddscreen || die
276     mdelete /usr/bin/dmxreconfig || die
277     mdelete /usr/bin/dmxresize || die
278     mdelete /usr/bin/dmxrminput || die
279     mdelete /usr/bin/dmxrmscreen || die
280     mdelete /usr/bin/dmxwininfo || die
281     mdelete /usr/bin/dmxinfo || die
282     mdelete /usr/bin/dmxtodmx || die
283     mdelete /usr/share/man/man1/dmxtodmx.1 || die
284     mdelete /usr/bin/vdltodmx || die
285     mdelete /usr/share/man/man1/vdltodmx.1 || die
286     mdelete /usr/bin/xdmxconfig || die
287     mdelete /usr/share/man/man1/xdmxconfig.1 || die
288     # xvfb
289     mdelete /usr/bin/Xvfb || die
290     mdelete /usr/share/man/man1/Xvfb.1 || die
291     }
292    
293     src_install_kdrive()
294     {
295     cd ${SRCDIR}
296    
297     minstallexec hw/kdrive/fbdev/Xfbdev || die
298     #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
299    
300     # # suid all tinyX servers
301     # mchmod 4755 /usr/bin/X\* || die
302    
303     # needed directory
304     mkeepdir /usr/share/X11/xkb/compiled || die
305     }
306    
307     src_install_xephyr()
308     {
309     cd ${SRCDIR}
310    
311     minstallexec hw/kdrive/ephyr/Xephyr || die
312     minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
313    
314     # # suid all tinyX servers
315     # mchmod 4755 /usr/bin/X\* || die
316    
317     # needed directory
318     mkeepdir /usr/share/X11/xkb/compiled || die
319     }
320    
321     src_install_xnest()
322     {
323     cd ${SRCDIR}
324    
325     minstallexec hw/xnest/Xnest || die
326     minstallman hw/xnest/man/Xnest.1 || die
327    
328     # needed directory
329     mkeepdir /usr/share/X11/xkb/compiled || die
330     }
331    
332     src_install_xdmx()
333     {
334     cd ${SRCDIR}
335    
336     minstallexec hw/dmx/Xdmx || die
337     minstallman hw/dmx/man/Xdmx.1 || die
338    
339     minstallexec hw/dmx/examples/dmxaddinput || die
340     minstallexec hw/dmx/examples/dmxaddscreen || die
341     minstallexec hw/dmx/examples/dmxreconfig || die
342     minstallexec hw/dmx/examples/dmxresize || die
343     minstallexec hw/dmx/examples/dmxrminput || die
344     minstallexec hw/dmx/examples/dmxrmscreen || die
345     minstallexec hw/dmx/examples/dmxwininfo || die
346     minstallexec hw/dmx/examples/dmxinfo || die
347    
348     minstallexec hw/dmx/config/dmxtodmx || die
349     minstallman hw/dmx/config/man/dmxtodmx.1 || die
350    
351     minstallexec hw/dmx/config/vdltodmx || die
352     minstallman hw/dmx/config/man/vdltodmx.1 || die
353    
354     minstallexec hw/dmx/config/xdmxconfig || die
355     minstallman hw/dmx/config/man/xdmxconfig.1 || die
356    
357     # needed directory
358     mkeepdir /usr/share/X11/xkb/compiled || die
359     }
360    
361     src_install_xvfb()
362     {
363     cd ${SRCDIR}
364    
365     minstallexec hw/vfb/Xvfb || die
366     minstallman hw/vfb/man/Xvfb.1 || die
367    
368     # needed directory
369     mkeepdir /usr/share/X11/xkb/compiled || die
370     }
371    
372     preinstall_xorg-server()
373     {
374     preinstall_complain_about_glamor
375    
376     # fix some deprecated symlinks from ancient xorg-1.5 servers
377     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
378     then
379     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
380     fi
381    
382     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
383     then
384     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
385     fi
386    
387     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
388     then
389     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
390     fi
391    
392     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
393     then
394     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
395     fi
396     }
397    
398     postinstall_xorg-server()
399     {
400     ${MROOT}/usr/sbin/opengl-update --use-old xorg
401     }
402    
403     postremove_xorg-server()
404     {
405     # get rid of module dir to ensure opengl-update works properly
406     if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
407     then
408     if [[ -z $(magequery -n xorg-server) ]]
409     then
410     rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
411     fi
412     fi
413     }