Magellan Linux

Annotation of /branches/R11-stable/core/xorg-server/xorg-server-1.14.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17853 - (hide annotations) (download)
Wed Jun 26 12:43:54 2013 UTC (11 years, 3 months ago) by niro
File size: 9941 byte(s)
-release branches/R11-stable
1 niro 17197 # $Id$
2    
3     PNAME="xorg-server"
4     PVER="1.14.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     sminclude xorg mtools
13    
14     # mesa sources are needed to compile opengl extensions
15     MESA_PVER="9.1.3"
16     MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.gz"
17     MESA_SRCDIR="${BUILDDIR}/MesaLib-${MESA_PVER/_/-}"
18    
19     PROVIDE="virtual/x11"
20    
21     # see hw/xfree86/common/xf86Module.h for ABI versions
22     # or installed pkg-config file
23     XORG_SERVER_PROVIDE="virtual/X-ABI-VIDEODRV-14 virtual/X-ABI-XINPUT-19 virtual/X-ABI-EXTENSION-7"
24    
25     # common depends
26     COMMON_DEPEND=">= x11-libs/libXfont-1.4
27     >= x11-libs/libXau-1.0.7
28     >= x11-libs/libXdmcp-1.1
29     >= x11-libs/pixman-0.30
30     >= media-libs/freetype-2.4
31     >= media-fonts/font-misc-misc-1
32     >= media-fonts/font-cursor-misc-1
33     >= app-crypt/libgcrypt-1.5
34     >= app-crypt/libgpg-error-1.9
35     >= sys-fs/udev-204"
36     LIBXEXT_DEPEND=">= x11-libs/libXext-1.3"
37     LIBX11_DEPEND=">= x11-libs/libX11-1.5"
38     LIBXI_DEPEND=">= x11-libs/libXi-1.7"
39     MESA_DEPEND="== media-libs/mesa-${MESA_PVER}"
40    
41     XORG_DEPEND="${COMMON_DEPEND}
42     ${MESA_DEPEND}
43     >= x11-misc/xkeyboard-config-2.8
44     >= x11-apps/iceauth-1.0.5
45     >= x11-apps/rgb-1.0.5
46     >= x11-apps/xauth-1.0.7
47     >= x11-apps/xinit-1.3
48     >= x11-base/opengl-update-2.3
49     >= x11-libs/libpciaccess-0.13.1"
50    
51     KDRIVE_DEPEND="${COMMON_DEPEND}"
52    
53     XEPHYR_DEPEND="${COMMON_DEPEND}
54     ${LIBXEXT_DEPEND}
55     ${LIBX11_DEPEND}
56     ${LIBXI_DEPEND}
57     ${MESA_DEPEND}
58     >= x11-libs/libXv-1.0.7
59     >= x11-libs/libXmu-1.1"
60    
61     XNEST_DEPEND="${COMMON_DEPEND}
62     ${LIBXEXT_DEPEND}
63     ${LIBX11_DEPEND}"
64    
65     XDMX_DEPEND="${COMMON_DEPEND}
66     ${LIBXEXT_DEPEND}
67     ${LIBX11_DEPEND}
68     ${LIBXI_DEPEND}
69     >= x11-libs/libdmx-1.1.2
70     >= x11-libs/libXaw-1.0.11
71     >= x11-libs/libXfixes-5
72     >= x11-libs/libXrender-0.9.7"
73    
74     XVFB_DEPEND="${COMMON_DEPEND}"
75    
76     SDEPEND="${XORG_DEPEND}
77     ${KDRIVE_DEPEND}
78     ${XEPHYR_DEPEND}
79     ${XNEST_DEPEND}
80     ${XDMX_DEPEND}
81     ${XVFB_DEPEND}
82 niro 17198 >= x11-misc/util-macros-1.17
83 niro 17197 >= x11-libs/xtrans-1.2.7
84     >= x11-proto/randrproto-1.4
85     >= x11-proto/renderproto-0.11
86     >= x11-proto/fixesproto-5
87     >= x11-proto/damageproto-1.2
88     >= x11-proto/xextproto-7.2
89     >= x11-proto/xproto-7.0.23
90     >= x11-proto/xf86dgaproto-2.1
91     >= x11-proto/xf86miscproto-0.9.3
92     >= x11-proto/xf86vidmodeproto-2.3
93     >= x11-proto/xf86bigfontproto-1.2
94     >= x11-proto/compositeproto-0.4.2
95     >= x11-proto/recordproto-1.14
96     >= x11-proto/resourceproto-1.2
97     >= x11-proto/videoproto-2.3
98     >= x11-proto/scrnsaverproto-1.2
99     >= x11-proto/evieext-1.1
100     >= x11-proto/xineramaproto-1.2
101     >= x11-proto/fontsproto-2.1
102     >= x11-proto/kbproto-1.0.6
103     >= x11-proto/inputproto-2.3
104     >= x11-proto/bigreqsproto-1.1
105     >= x11-proto/xcmiscproto-1.2
106     >= x11-proto/glproto-1.4.16
107     >= x11-proto/dmxproto-2.3
108     >= x11-proto/xf86driproto-2.1
109     >= x11-proto/dri2proto-2.8
110     >= x11-libs/libdrm-2.4.45
111     >= x11-libs/libXtst-1.2
112     >= x11-libs/libXres-1.0.6"
113    
114     SRC_URI=( ${SRC_URI[*]}
115     mirror://${PNAME}/${SRCFILE}
116     ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
117     #sourceforge://mesa3d/${MESA_SRCFILE}
118     mirror://mesa/${MESA_SRCFILE}
119     mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
120     mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch
121     mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch
122     )
123    
124     UP2SUBDIR="xserver"
125     UP2DATE="updatecmd_xorg ${PNAME}"
126    
127     split_info_xorg-server()
128     {
129     DESCRIPTION="Modular X.Org X Server."
130     DEPEND="${XORG_DEPEND}"
131     PROVIDE+=" ${XORG_SERVER_PROVIDE}"
132     }
133    
134     split_info_kdrive()
135     {
136     DESCRIPTION="Tiny X.Org X Server."
137     DEPEND="${KDRIVE_DEPEND}"
138     }
139    
140     split_info_xephyr()
141     {
142     DESCRIPTION="A nested X11 server with opengl support."
143     DEPEND="${XEPHYR_DEPEND}"
144     }
145    
146     split_info_xnest()
147     {
148     DESCRIPTION="A nested X11 server."
149     DEPEND="${XNEST_DEPEND}"
150     }
151    
152     split_info_xdmx()
153     {
154     DESCRIPTION="A distributed multihead X11 Server."
155     DEPEND="${XDMX_DEPEND}"
156     }
157    
158     split_info_xvfb()
159     {
160     DESCRIPTION="A virtual framebuffer X11 server."
161     DEPEND="${XVFB_DEPEND}"
162     }
163    
164     src_prepare()
165     {
166     # must use mesa as opengl-headers!
167     [[ $(opengl-update --get-implementation) != xorg ]] &&
168     die "please change to xorg opengl-headers: opengl-update xorg"
169    
170     munpack ${SRCFILE} || die
171     munpack ${MESA_SRCFILE} || die
172     cd ${SRCDIR}
173    
174     # adopted from redhat; use a black background
175     mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
176    
177     # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
178     mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
179    
180     # fix new evdev event devices (event4 and event5)
181     mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
182    
183     # fix build issues, some wrapper files which should be generated
184     # at build time exist and the makefile doesn't whipe them. we patch
185     # the makefile to clean them and whipe these wrapper files
186     rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
187    
188     # fix xorg.conf.d location
189     sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
190     sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
191    
192     mautoreconf || die
193     }
194    
195     src_compile()
196     {
197     cd ${SRCDIR}
198    
199     xorg_src_configure \
200     --with-mesa-source=${MESA_SRCDIR} \
201     --sysconfdir=/etc \
202     --localstatedir=/var \
203     --with-xkb-output=/var/lib/xkb \
204     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
205     --enable-install-setuid \
206     --enable-ipv6 \
207     --enable-xorg \
208     --enable-kdrive \
209     --enable-xephyr \
210     --enable-dmx \
211     --enable-xvfb \
212     --enable-xnest \
213     --enable-dri \
214     --enable-dri2 \
215     --enable-xtrap \
216     --enable-xevie \
217     --disable-xprint \
218     --enable-glx-tls \
219     --disable-static \
220     --disable-config-dbus \
221     --disable-config-hal \
222     --enable-config-udev \
223     --enable-kdrive-kbd \
224     --enable-kdrive-mouse \
225     --enable-kdrive-evdev \
226     || die
227    
228     mmake || die
229     }
230    
231     src_install_xorg-server()
232     {
233     xorg_src_install || die
234    
235     # needed directories
236     minstalldir /usr/bin || die
237     minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
238    
239     # dynamic opengl setup
240     local i
241     for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
242     ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
243     do
244     if [ -f ${i} -o -L ${i} ]
245     then
246     mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
247     fi
248     done
249    
250     # missing symlink
251     mlink Xorg /usr/bin/X || die
252    
253     # remove stuff included in other packages
254     # xfbdev
255     mdelete /usr/bin/Xfbdev || die
256     # xephyr
257     mdelete /usr/bin/Xephyr || die
258     mdelete /usr/share/man/man1/Xephyr.1 || die
259     # xnest
260     mdelete /usr/bin/Xnest || die
261     mdelete /usr/share/man/man1/Xnest.1 || die
262     # xdmx
263     mdelete /usr/bin/Xdmx || die
264     mdelete /usr/share/man/man1/Xdmx.1 || die
265     mdelete /usr/bin/dmxaddinput || die
266     mdelete /usr/bin/dmxaddscreen || die
267     mdelete /usr/bin/dmxreconfig || die
268     mdelete /usr/bin/dmxresize || die
269     mdelete /usr/bin/dmxrminput || die
270     mdelete /usr/bin/dmxrmscreen || die
271     mdelete /usr/bin/dmxwininfo || die
272     mdelete /usr/bin/dmxinfo || die
273     mdelete /usr/bin/dmxtodmx || die
274     mdelete /usr/share/man/man1/dmxtodmx.1 || die
275     mdelete /usr/bin/vdltodmx || die
276     mdelete /usr/share/man/man1/vdltodmx.1 || die
277     mdelete /usr/bin/xdmxconfig || die
278     mdelete /usr/share/man/man1/xdmxconfig.1 || die
279     # xvfb
280     mdelete /usr/bin/Xvfb || die
281     mdelete /usr/share/man/man1/Xvfb.1 || die
282     }
283    
284     src_install_kdrive()
285     {
286     cd ${SRCDIR}
287    
288     minstallexec hw/kdrive/fbdev/Xfbdev || die
289     #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
290    
291     # suid all tinyX servers
292     mchmod 4755 /usr/bin/X\* || die
293    
294     # needed directory
295     mkeepdir /usr/share/X11/xkb/compiled || die
296     }
297    
298     src_install_xephyr()
299     {
300     cd ${SRCDIR}
301    
302     minstallexec hw/kdrive/ephyr/Xephyr || die
303     minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
304    
305     # suid all tinyX servers
306     mchmod 4755 /usr/bin/X\* || die
307    
308     # needed directory
309     mkeepdir /usr/share/X11/xkb/compiled || die
310     }
311    
312     src_install_xnest()
313     {
314     cd ${SRCDIR}
315    
316     minstallexec hw/xnest/Xnest || die
317     minstallman hw/xnest/man/Xnest.1 || die
318    
319     # needed directory
320     mkeepdir /usr/share/X11/xkb/compiled || die
321     }
322    
323     src_install_xdmx()
324     {
325     cd ${SRCDIR}
326    
327     minstallexec hw/dmx/Xdmx || die
328     minstallman hw/dmx/man/Xdmx.1 || die
329    
330     minstallexec hw/dmx/examples/dmxaddinput || die
331     minstallexec hw/dmx/examples/dmxaddscreen || die
332     minstallexec hw/dmx/examples/dmxreconfig || die
333     minstallexec hw/dmx/examples/dmxresize || die
334     minstallexec hw/dmx/examples/dmxrminput || die
335     minstallexec hw/dmx/examples/dmxrmscreen || die
336     minstallexec hw/dmx/examples/dmxwininfo || die
337     minstallexec hw/dmx/examples/dmxinfo || die
338    
339     minstallexec hw/dmx/config/dmxtodmx || die
340     minstallman hw/dmx/config/man/dmxtodmx.1 || die
341    
342     minstallexec hw/dmx/config/vdltodmx || die
343     minstallman hw/dmx/config/man/vdltodmx.1 || die
344    
345     minstallexec hw/dmx/config/xdmxconfig || die
346     minstallman hw/dmx/config/man/xdmxconfig.1 || die
347    
348     # needed directory
349     mkeepdir /usr/share/X11/xkb/compiled || die
350     }
351    
352     src_install_xvfb()
353     {
354     cd ${SRCDIR}
355    
356     minstallexec hw/vfb/Xvfb || die
357     minstallman hw/vfb/man/Xvfb.1 || die
358    
359     # needed directory
360     mkeepdir /usr/share/X11/xkb/compiled || die
361     }
362    
363     preinstall_xorg-server()
364     {
365     # fix some deprecated symlinks from ancient xorg-1.5 servers
366     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
367     then
368     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
369     fi
370    
371     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
372     then
373     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
374     fi
375    
376     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
377     then
378     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
379     fi
380    
381     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
382     then
383     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
384     fi
385     }
386    
387     postinstall_xorg-server()
388     {
389     ${MROOT}/usr/sbin/opengl-update --use-old xorg
390     }
391    
392     postremove_xorg-server()
393     {
394     # get rid of module dir to ensure opengl-update works properly
395     if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
396     then
397     if [[ -z $(magequery -n xorg-server) ]]
398     then
399     rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
400     fi
401     fi
402     }