Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33145 - (hide annotations) (download)
Fri Oct 18 20:54:53 2019 UTC (4 years, 6 months ago) by niro
File size: 10013 byte(s)
-fixed ftbfs with libglvnd
1 niro 33143 # $Id$
2    
3     PNAME="xorg-server"
4     PVER="1.20.5"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="xorg-server 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="19.2.1"
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-24.0 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.9
26     >= x11-libs/libXdmcp-1.1
27     >= x11-libs/pixman-0.38
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.36
33     >= sys-libs/libsystemd-242
34     >= sys-fs/udev-242
35     >= sys-apps/dbus-x11-1.10
36     >= sys-libs/libunwind-1.3
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.27
54     >= x11-apps/iceauth-1.0.8
55     >= x11-apps/rgb-1.0.6
56     >= x11-apps/xauth-1.1
57     >= x11-apps/xinit-1.4
58     >= x11-libs/libpciaccess-0.16"
59    
60     XEPHYR_DEPEND="${COMMON_DEPEND}
61     ${LIBXEXT_DEPEND}
62     ${LIBX11_DEPEND}
63     ${LIBXI_DEPEND}
64     ${MESA_DEPEND}
65     ${EPOXY_DEPEND}
66     >= x11-libs/libXv-1.0.11
67     >= x11-libs/libXmu-1.1"
68    
69     XNEST_DEPEND="${COMMON_DEPEND}
70     ${LIBXEXT_DEPEND}
71     ${LIBX11_DEPEND}"
72    
73     XDMX_DEPEND="${COMMON_DEPEND}
74     ${LIBXEXT_DEPEND}
75     ${LIBX11_DEPEND}
76     ${LIBXI_DEPEND}
77     >= x11-libs/libdmx-1.1.4
78     >= x11-libs/libXaw-1.0.13
79     >= x11-libs/libXfixes-5
80     >= x11-libs/libXrender-0.9.10"
81    
82     XVFB_DEPEND="${COMMON_DEPEND}"
83    
84     SDEPEND="${XORG_DEPEND}
85     ${KDRIVE_DEPEND}
86     ${XEPHYR_DEPEND}
87     ${XNEST_DEPEND}
88     ${XDMX_DEPEND}
89     ${XVFB_DEPEND}
90     >= media-fonts/font-util-1.3
91     == x11-proto/xorg-protos-7.7.${PVER}
92     >= x11-libs/libdrm-2.4.100
93     >= x11-libs/libXtst-1.2
94     >= x11-libs/libXres-1.2
95     >= x11-libs/xcb-util-image-0.4
96     >= x11-libs/xcb-util-keysyms-0.4
97     >= x11-libs/xcb-util-wm-0.3.9
98     >= x11-libs/libxkbfile-1.1"
99    
100     SPECIAL_FUNCTIONS="preinstall_complain_about_deprecated_packages"
101    
102     UP2SUBDIR="xserver"
103     sminclude xorg mtools
104    
105     SRC_URI=( ${SRC_URI[*]}
106     mirror://${PNAME}/${SRCFILE}
107     ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
108     ftp://ftp.freedesktop.org/pub/mesa/${MESA_SRCFILE}
109     mirror://mesa/${MESA_SRCFILE}
110     mirror://${PNAME}/xvfb-run
111     mirror://${PNAME}/xvfb-run.1
112     mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
113     )
114    
115     split_info_xorg-server()
116     {
117     DESCRIPTION="Modular X.Org X Server."
118     DEPEND="${XORG_DEPEND}"
119     PROVIDE+=" ${XORG_SERVER_PROVIDE}"
120     }
121    
122     split_info_xephyr()
123     {
124     DESCRIPTION="A nested X11 server with opengl support."
125     DEPEND="${XEPHYR_DEPEND}"
126     }
127    
128     split_info_xnest()
129     {
130     DESCRIPTION="A nested X11 server."
131     DEPEND="${XNEST_DEPEND}"
132     }
133    
134     split_info_xdmx()
135     {
136     DESCRIPTION="A distributed multihead X11 Server."
137     DEPEND="${XDMX_DEPEND}"
138     }
139    
140     split_info_xvfb()
141     {
142     DESCRIPTION="A virtual framebuffer X11 server."
143     DEPEND="${XVFB_DEPEND}"
144     }
145    
146     preinstall_complain_about_deprecated_packages()
147     {
148     if [[ ! -z $(magequery -n glamor-egl) ]]
149     then
150     echo -e ${COLRED}
151     echo -e "Error: x11-libs/glamor-egl is installed!!"
152     echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore."
153     echo -e "Please uninstall x11-libs/glamor-egl first!"
154     echo -e ${COLDEFAULT}
155     die "x11-libs/glamor-egl found!"
156     fi
157    
158     if [[ ! -z $(magequery -n xf86-video-modesetting) ]]
159     then
160     echo -e ${COLRED}
161     echo -e "Error: x11-drivers/xf86-video-modesetting is installed!!"
162     echo -e "xf86-video-modesetting is now provided by xorg-server and doesn't need an extra package anymore."
163     echo -e "Please uninstall x11-drivers/xf86-video-modesetting first!"
164     echo -e ${COLDEFAULT}
165     die "x11-drivers/xf86-video-modesetting found!"
166     fi
167     }
168    
169     pkg_setup()
170     {
171     preinstall_complain_about_deprecated_packages
172     }
173    
174     src_prepare()
175     {
176     munpack ${SRCFILE} || die
177     munpack ${MESA_SRCFILE} || die
178     cd ${SRCDIR}
179    
180     # adopted from redhat; use a black background
181     mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.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 niro 33145 # fix build with libglvnd, which provides the api version (1.2)
193     # see: https://gitlab.freedesktop.org/xorg/xserver/commit/e6ef2b12404dfec7f23592a3524d2a63d9d25802?merge_request_iid=292
194     sed -i 's:\(LIBGL=\).*:\1"1.2":g' configure.ac || die
195    
196 niro 33143 mautoreconf || die
197     }
198    
199     src_compile()
200     {
201     cd ${SRCDIR}
202    
203     xorg_src_configure \
204     --with-mesa-source=${MESA_SRCDIR} \
205     --sysconfdir=/etc \
206     --localstatedir=/var \
207     --libexecdir=/usr/$(mlibdir)/${PNAME} \
208     --with-xkb-output=/var/lib/xkb \
209     --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
210     --disable-install-setuid \
211     --enable-suid-wrapper \
212     --enable-ipv6 \
213     --enable-xorg \
214     --enable-kdrive \
215     --enable-xephyr \
216     --enable-dmx \
217     --enable-xvfb \
218     --enable-xnest \
219     --enable-dri \
220     --enable-dri2 \
221     --enable-dri3 \
222     --enable-glamor \
223     --enable-xtrap \
224     --enable-xevie \
225     --enable-xcsecurity \
226     --enable-libunwind \
227     --disable-xprint \
228     --enable-glx-tls \
229     --disable-static \
230     --disable-config-dbus \
231     --disable-config-hal \
232     --enable-config-udev \
233     --enable-kdrive-kbd \
234     --enable-kdrive-mouse \
235     --enable-kdrive-evdev \
236     --enable-systemd-logind \
237     --with-sha1=libgcrypt \
238     || die
239    
240     mmake || die
241     }
242    
243     src_install_xorg-server()
244     {
245     xorg_src_install || die
246    
247     # needed directories
248     minstalldir /usr/bin || die
249    
250     # missing symlink
251     mlink Xorg /usr/bin/X || die
252    
253     # remove stuff included in other packages
254     # xephyr
255     mdelete /usr/bin/Xephyr || die
256     mdelete /usr/share/man/man1/Xephyr.1 || die
257     # xnest
258     mdelete /usr/bin/Xnest || die
259     mdelete /usr/share/man/man1/Xnest.1 || die
260     # xdmx
261     mdelete /usr/bin/Xdmx || die
262     mdelete /usr/share/man/man1/Xdmx.1 || die
263     mdelete /usr/bin/dmxaddinput || die
264     mdelete /usr/bin/dmxaddscreen || die
265     mdelete /usr/bin/dmxreconfig || die
266     mdelete /usr/bin/dmxresize || die
267     mdelete /usr/bin/dmxrminput || die
268     mdelete /usr/bin/dmxrmscreen || die
269     mdelete /usr/bin/dmxwininfo || die
270     mdelete /usr/bin/dmxinfo || die
271     mdelete /usr/bin/dmxtodmx || die
272     mdelete /usr/share/man/man1/dmxtodmx.1 || die
273     mdelete /usr/bin/vdltodmx || die
274     mdelete /usr/share/man/man1/vdltodmx.1 || die
275     mdelete /usr/bin/xdmxconfig || die
276     mdelete /usr/share/man/man1/xdmxconfig.1 || die
277     # xvfb
278     mdelete /usr/bin/Xvfb || die
279     mdelete /usr/share/man/man1/Xvfb.1 || die
280     }
281    
282     src_install_xephyr()
283     {
284     cd ${SRCDIR}
285    
286     minstallexec hw/kdrive/ephyr/Xephyr || die
287     minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
288    
289     # # suid all tinyX servers
290     # mchmod 4755 /usr/bin/X\* || die
291    
292     # needed directory
293     mkeepdir /usr/share/X11/xkb/compiled || die
294     }
295    
296     src_install_xnest()
297     {
298     cd ${SRCDIR}
299    
300     minstallexec hw/xnest/Xnest || die
301     minstallman hw/xnest/man/Xnest.1 || die
302    
303     # needed directory
304     mkeepdir /usr/share/X11/xkb/compiled || die
305     }
306    
307     src_install_xdmx()
308     {
309     cd ${SRCDIR}
310    
311     minstallexec hw/dmx/Xdmx || die
312     minstallman hw/dmx/man/Xdmx.1 || die
313    
314     minstallexec hw/dmx/examples/dmxaddinput || die
315     minstallexec hw/dmx/examples/dmxaddscreen || die
316     minstallexec hw/dmx/examples/dmxreconfig || die
317     minstallexec hw/dmx/examples/dmxresize || die
318     minstallexec hw/dmx/examples/dmxrminput || die
319     minstallexec hw/dmx/examples/dmxrmscreen || die
320     minstallexec hw/dmx/examples/dmxwininfo || die
321     minstallexec hw/dmx/examples/dmxinfo || die
322    
323     minstallexec hw/dmx/config/dmxtodmx || die
324     minstallman hw/dmx/config/man/dmxtodmx.1 || die
325    
326     minstallexec hw/dmx/config/vdltodmx || die
327     minstallman hw/dmx/config/man/vdltodmx.1 || die
328    
329     minstallexec hw/dmx/config/xdmxconfig || die
330     minstallman hw/dmx/config/man/xdmxconfig.1 || die
331    
332     # needed directory
333     mkeepdir /usr/share/X11/xkb/compiled || die
334     }
335    
336     src_install_xvfb()
337     {
338     cd ${SRCDIR}
339    
340     minstallexec hw/vfb/Xvfb || die
341     minstallman hw/vfb/man/Xvfb.1 || die
342    
343     # xvfb-run script to ease things
344     minstallexec -s xvfb-run || die
345     minstallman ${SOURCEDIR}/$(mpname)/xvfb-run.1 || die
346    
347     # needed directory
348     mkeepdir /usr/share/X11/xkb/compiled || die
349     }
350    
351     preinstall_xorg-server()
352     {
353     preinstall_complain_about_deprecated_packages
354    
355     # fix some deprecated symlinks from ancient xorg-1.5 servers
356     # or deprecated dynamic opengl symlinks in favor of libglvnd
357     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
358     then
359     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
360     fi
361    
362     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
363     then
364     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
365     fi
366    
367     if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
368     then
369     rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
370     fi
371    
372     if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
373     then
374     rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
375     fi
376     }
377    
378     postinstall_xorg-server()
379     {
380     # provided by xf86-input-evdev now
381     if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
382     then
383     rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
384     fi
385    
386     echo "Searching deprecated package 'opengl-update'..."
387     if [[ ! -z $(magequery -n opengl-update) ]]
388     then
389     echo "Uninstalling deprecated package 'opengl-update'..."
390     mage uninstall opengl-update
391     fi
392     }
393