Magellan Linux

Annotation of /trunk/extras/xorg-server/xorg-server-1.20.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31042 - (hide annotations) (download)
Tue May 29 12:13:31 2018 UTC (5 years, 11 months ago) by niro
File size: 11198 byte(s)
auto added: ver bump to 1.20.0-r1
1 niro 31042 # $Id$
2    
3     PNAME="xorg-server"
4     PVER="1.20.0"
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="18.1.0"
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-23 virtual/X-ABI-XINPUT-24.1 virtual/X-ABI-EXTENSION-10.0"
22    
23     # common depends
24     COMMON_DEPEND=">= x11-libs/libXfont2-2.0
25     >= x11-libs/libXau-1.0.8
26     >= x11-libs/libXdmcp-1.1
27     >= x11-libs/pixman-0.34
28     >= media-libs/freetype-2.9
29     >= media-fonts/font-misc-misc-1
30     >= media-fonts/font-cursor-misc-1
31     >= app-crypt/libgcrypt-1.8
32     >= app-crypt/libgpg-error-1.21
33     >= sys-libs/libsystemd-238
34     >= sys-fs/udev-238
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.4"
48    
49     XORG_DEPEND="${COMMON_DEPEND}
50     ${MESA_DEPEND}
51     ${EPOXY_DEPEND}
52     >= x11-libs/libxshmfence-1.3
53     >= x11-misc/xkeyboard-config-2.23
54     >= x11-apps/iceauth-1.0.8
55     >= x11-apps/rgb-1.0.6
56     >= x11-apps/xauth-1.0.10
57     >= x11-apps/xinit-1.4
58     >= x11-base/opengl-update-2.3.12
59     >= x11-libs/libpciaccess-0.14"
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.11
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.4
81     >= x11-libs/libXaw-1.0.13
82     >= x11-libs/libXfixes-5
83     >= x11-libs/libXrender-0.9.10"
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.92
96     >= x11-libs/libXtst-1.2
97     >= x11-libs/libXres-1.2
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     ftp://ftp.freedesktop.org/pub/mesa/${MESA_SRCFILE}
112     #sourceforge://mesa3d/${MESA_SRCFILE}
113     mirror://mesa/${MESA_SRCFILE}
114     mirror://${PNAME}/xvfb-run
115     mirror://${PNAME}/xvfb-run.1
116     mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
117     mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch
118     #mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch
119     )
120    
121     split_info_xorg-server()
122     {
123     DESCRIPTION="Modular X.Org X Server."
124     DEPEND="${XORG_DEPEND}"
125     PROVIDE+=" ${XORG_SERVER_PROVIDE}"
126     }
127    
128     split_info_kdrive()
129     {
130     DESCRIPTION="Tiny X.Org X Server."
131     DEPEND="${KDRIVE_DEPEND}"
132     }
133    
134     split_info_xephyr()
135     {
136     DESCRIPTION="A nested X11 server with opengl support."
137     DEPEND="${XEPHYR_DEPEND}"
138     }
139    
140     split_info_xnest()
141     {
142     DESCRIPTION="A nested X11 server."
143     DEPEND="${XNEST_DEPEND}"
144     }
145    
146     split_info_xdmx()
147     {
148     DESCRIPTION="A distributed multihead X11 Server."
149     DEPEND="${XDMX_DEPEND}"
150     }
151    
152     split_info_xvfb()
153     {
154     DESCRIPTION="A virtual framebuffer X11 server."
155     DEPEND="${XVFB_DEPEND}"
156     }
157    
158     preinstall_complain_about_deprecated_packages()
159     {
160     if [[ ! -z $(magequery -n glamor-egl) ]]
161     then
162     echo -e ${COLRED}
163     echo -e "Error: x11-libs/glamor-egl is installed!!"
164     echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore."
165     echo -e "Please uninstall x11-libs/glamor-egl first!"
166     echo -e ${COLDEFAULT}
167     die "x11-libs/glamor-egl found!"
168     fi
169    
170     if [[ ! -z $(magequery -n xf86-video-modesetting) ]]
171     then
172     echo -e ${COLRED}
173     echo -e "Error: x11-drivers/xf86-video-modesetting is installed!!"
174     echo -e "xf86-video-modesetting is now provided by xorg-server and doesn't need an extra package anymore."
175     echo -e "Please uninstall x11-drivers/xf86-video-modesetting first!"
176     echo -e ${COLDEFAULT}
177     die "x11-drivers/xf86-video-modesetting found!"
178     fi
179     }
180    
181     pkg_setup()
182     {
183     preinstall_complain_about_deprecated_packages
184    
185     # must use mesa as opengl-headers!
186     if [[ $(opengl-update --get-implementation) != xorg ]]
187     then
188     die "please change to xorg opengl-headers: opengl-update xorg"
189     fi
190     }
191    
192     src_prepare()
193     {
194     munpack ${SRCFILE} || die
195     munpack ${MESA_SRCFILE} || die
196     cd ${SRCDIR}
197    
198     # adopted from redhat; use a black background
199     mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
200    
201     # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
202     mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
203    
204     # fix new evdev event devices (event4 and event5)
205     #mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
206    
207     # fix build issues, some wrapper files which should be generated
208     # at build time exist and the makefile doesn't whipe them. we patch
209     # the makefile to clean them and whipe these wrapper files
210     rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
211    
212     # fix xorg.conf.d location
213     sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
214     sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
215    
216     mautoreconf || die
217     }
218    
219     src_compile()
220     {
221     cd ${SRCDIR}
222    
223     xorg_src_configure \
224     --with-mesa-source=${MESA_SRCDIR} \
225     --sysconfdir=/etc \
226     --localstatedir=/var \
227     --libexecdir=/usr/$(mlibdir)/${PNAME} \
228     --with-xkb-output=/var/lib/xkb \
229     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
230     --disable-install-setuid \
231     --enable-suid-wrapper \
232     --enable-ipv6 \
233     --enable-xorg \
234     --enable-kdrive \
235     --enable-xephyr \
236     --enable-dmx \
237     --enable-xvfb \
238     --enable-xnest \
239     --enable-dri \
240     --enable-dri2 \
241     --enable-dri3 \
242     --enable-glamor \
243     --enable-xtrap \
244     --enable-xevie \
245     --enable-xcsecurity \
246     --enable-libunwind \
247     --disable-xprint \
248     --enable-glx-tls \
249     --disable-static \
250     --disable-config-dbus \
251     --disable-config-hal \
252     --enable-config-udev \
253     --enable-kdrive-kbd \
254     --enable-kdrive-mouse \
255     --enable-kdrive-evdev \
256     --enable-systemd-logind \
257     --with-sha1=libgcrypt \
258     || die
259    
260     mmake || die
261     }
262    
263     src_install_xorg-server()
264     {
265     xorg_src_install || die
266    
267     # needed directories
268     minstalldir /usr/bin || die
269     minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
270    
271     # dynamic opengl setup
272     local i
273     for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
274     ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
275     do
276     if [ -f ${i} -o -L ${i} ]
277     then
278     mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
279     fi
280     done
281    
282     # missing symlink
283     mlink Xorg /usr/bin/X || die
284    
285     # remove stuff included in other packages
286     # xfbdev
287     mdelete /usr/bin/Xfbdev || die
288     # xephyr
289     mdelete /usr/bin/Xephyr || die
290     mdelete /usr/share/man/man1/Xephyr.1 || die
291     # xnest
292     mdelete /usr/bin/Xnest || die
293     mdelete /usr/share/man/man1/Xnest.1 || die
294     # xdmx
295     mdelete /usr/bin/Xdmx || die
296     mdelete /usr/share/man/man1/Xdmx.1 || die
297     mdelete /usr/bin/dmxaddinput || die
298     mdelete /usr/bin/dmxaddscreen || die
299     mdelete /usr/bin/dmxreconfig || die
300     mdelete /usr/bin/dmxresize || die
301     mdelete /usr/bin/dmxrminput || die
302     mdelete /usr/bin/dmxrmscreen || die
303     mdelete /usr/bin/dmxwininfo || die
304     mdelete /usr/bin/dmxinfo || die
305     mdelete /usr/bin/dmxtodmx || die
306     mdelete /usr/share/man/man1/dmxtodmx.1 || die
307     mdelete /usr/bin/vdltodmx || die
308     mdelete /usr/share/man/man1/vdltodmx.1 || die
309     mdelete /usr/bin/xdmxconfig || die
310     mdelete /usr/share/man/man1/xdmxconfig.1 || die
311     # xvfb
312     mdelete /usr/bin/Xvfb || die
313     mdelete /usr/share/man/man1/Xvfb.1 || die
314     }
315    
316     src_install_kdrive()
317     {
318     cd ${SRCDIR}
319    
320     minstallexec hw/kdrive/fbdev/Xfbdev || die
321     #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
322    
323     # # suid all tinyX servers
324     # mchmod 4755 /usr/bin/X\* || die
325    
326     # needed directory
327     mkeepdir /usr/share/X11/xkb/compiled || die
328     }
329    
330     src_install_xephyr()
331     {
332     cd ${SRCDIR}
333    
334     minstallexec hw/kdrive/ephyr/Xephyr || die
335     minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
336    
337     # # suid all tinyX servers
338     # mchmod 4755 /usr/bin/X\* || die
339    
340     # needed directory
341     mkeepdir /usr/share/X11/xkb/compiled || die
342     }
343    
344     src_install_xnest()
345     {
346     cd ${SRCDIR}
347    
348     minstallexec hw/xnest/Xnest || die
349     minstallman hw/xnest/man/Xnest.1 || die
350    
351     # needed directory
352     mkeepdir /usr/share/X11/xkb/compiled || die
353     }
354    
355     src_install_xdmx()
356     {
357     cd ${SRCDIR}
358    
359     minstallexec hw/dmx/Xdmx || die
360     minstallman hw/dmx/man/Xdmx.1 || die
361    
362     minstallexec hw/dmx/examples/dmxaddinput || die
363     minstallexec hw/dmx/examples/dmxaddscreen || die
364     minstallexec hw/dmx/examples/dmxreconfig || die
365     minstallexec hw/dmx/examples/dmxresize || die
366     minstallexec hw/dmx/examples/dmxrminput || die
367     minstallexec hw/dmx/examples/dmxrmscreen || die
368     minstallexec hw/dmx/examples/dmxwininfo || die
369     minstallexec hw/dmx/examples/dmxinfo || die
370    
371     minstallexec hw/dmx/config/dmxtodmx || die
372     minstallman hw/dmx/config/man/dmxtodmx.1 || die
373    
374     minstallexec hw/dmx/config/vdltodmx || die
375     minstallman hw/dmx/config/man/vdltodmx.1 || die
376    
377     minstallexec hw/dmx/config/xdmxconfig || die
378     minstallman hw/dmx/config/man/xdmxconfig.1 || die
379    
380     # needed directory
381     mkeepdir /usr/share/X11/xkb/compiled || die
382     }
383    
384     src_install_xvfb()
385     {
386     cd ${SRCDIR}
387    
388     minstallexec hw/vfb/Xvfb || die
389     minstallman hw/vfb/man/Xvfb.1 || die
390    
391     # xvfb-run script to ease things
392     minstallexec -s xvfb-run || die
393     minstallman ${SOURCEDIR}/$(mpname)/xvfb-run.1 || die
394    
395     # needed directory
396     mkeepdir /usr/share/X11/xkb/compiled || die
397     }
398    
399     preinstall_xorg-server()
400     {
401     preinstall_complain_about_deprecated_packages
402    
403     # fix some deprecated symlinks from ancient xorg-1.5 servers
404     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
405     then
406     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
407     fi
408    
409     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
410     then
411     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
412     fi
413    
414     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
415     then
416     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
417     fi
418    
419     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
420     then
421     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
422     fi
423     }
424    
425     postinstall_xorg-server()
426     {
427     # provided by xf86-input-evdev now
428     if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
429     then
430     rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
431     fi
432    
433     ${MROOT}/usr/sbin/opengl-update --use-old xorg
434     }
435    
436     postremove_xorg-server()
437     {
438     # get rid of module dir to ensure opengl-update works properly
439     if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
440     then
441     if [[ -z $(magequery -n xorg-server) ]]
442     then
443     rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
444     fi
445     fi
446     }