Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33146 - (show annotations) (download)
Fri Oct 18 21:04:12 2019 UTC (4 years, 6 months ago) by niro
File size: 10090 byte(s)
auto added: ver bump to 1.20.5-r1
1 # $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 # 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 \
195 -e 's:LIBGL="gl >= 7.1.0":LIBGL="gl >= 1.2":' \
196 -e 's:LIBGL="gl >= 9.2.0":LIBGL="gl >= 1.2":' \
197 configure.ac || die
198
199 mautoreconf || die
200 }
201
202 src_compile()
203 {
204 cd ${SRCDIR}
205
206 xorg_src_configure \
207 --with-mesa-source=${MESA_SRCDIR} \
208 --sysconfdir=/etc \
209 --localstatedir=/var \
210 --libexecdir=/usr/$(mlibdir)/${PNAME} \
211 --with-xkb-output=/var/lib/xkb \
212 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
213 --disable-install-setuid \
214 --enable-suid-wrapper \
215 --enable-ipv6 \
216 --enable-xorg \
217 --enable-kdrive \
218 --enable-xephyr \
219 --enable-dmx \
220 --enable-xvfb \
221 --enable-xnest \
222 --enable-dri \
223 --enable-dri2 \
224 --enable-dri3 \
225 --enable-glamor \
226 --enable-xtrap \
227 --enable-xevie \
228 --enable-xcsecurity \
229 --enable-libunwind \
230 --disable-xprint \
231 --enable-glx-tls \
232 --disable-static \
233 --disable-config-dbus \
234 --disable-config-hal \
235 --enable-config-udev \
236 --enable-kdrive-kbd \
237 --enable-kdrive-mouse \
238 --enable-kdrive-evdev \
239 --enable-systemd-logind \
240 --with-sha1=libgcrypt \
241 || die
242
243 mmake || die
244 }
245
246 src_install_xorg-server()
247 {
248 xorg_src_install || die
249
250 # needed directories
251 minstalldir /usr/bin || die
252
253 # missing symlink
254 mlink Xorg /usr/bin/X || die
255
256 # remove stuff included in other packages
257 # xephyr
258 mdelete /usr/bin/Xephyr || die
259 mdelete /usr/share/man/man1/Xephyr.1 || die
260 # xnest
261 mdelete /usr/bin/Xnest || die
262 mdelete /usr/share/man/man1/Xnest.1 || die
263 # xdmx
264 mdelete /usr/bin/Xdmx || die
265 mdelete /usr/share/man/man1/Xdmx.1 || die
266 mdelete /usr/bin/dmxaddinput || die
267 mdelete /usr/bin/dmxaddscreen || die
268 mdelete /usr/bin/dmxreconfig || die
269 mdelete /usr/bin/dmxresize || die
270 mdelete /usr/bin/dmxrminput || die
271 mdelete /usr/bin/dmxrmscreen || die
272 mdelete /usr/bin/dmxwininfo || die
273 mdelete /usr/bin/dmxinfo || die
274 mdelete /usr/bin/dmxtodmx || die
275 mdelete /usr/share/man/man1/dmxtodmx.1 || die
276 mdelete /usr/bin/vdltodmx || die
277 mdelete /usr/share/man/man1/vdltodmx.1 || die
278 mdelete /usr/bin/xdmxconfig || die
279 mdelete /usr/share/man/man1/xdmxconfig.1 || die
280 # xvfb
281 mdelete /usr/bin/Xvfb || die
282 mdelete /usr/share/man/man1/Xvfb.1 || die
283 }
284
285 src_install_xephyr()
286 {
287 cd ${SRCDIR}
288
289 minstallexec hw/kdrive/ephyr/Xephyr || die
290 minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
291
292 # # suid all tinyX servers
293 # mchmod 4755 /usr/bin/X\* || die
294
295 # needed directory
296 mkeepdir /usr/share/X11/xkb/compiled || die
297 }
298
299 src_install_xnest()
300 {
301 cd ${SRCDIR}
302
303 minstallexec hw/xnest/Xnest || die
304 minstallman hw/xnest/man/Xnest.1 || die
305
306 # needed directory
307 mkeepdir /usr/share/X11/xkb/compiled || die
308 }
309
310 src_install_xdmx()
311 {
312 cd ${SRCDIR}
313
314 minstallexec hw/dmx/Xdmx || die
315 minstallman hw/dmx/man/Xdmx.1 || die
316
317 minstallexec hw/dmx/examples/dmxaddinput || die
318 minstallexec hw/dmx/examples/dmxaddscreen || die
319 minstallexec hw/dmx/examples/dmxreconfig || die
320 minstallexec hw/dmx/examples/dmxresize || die
321 minstallexec hw/dmx/examples/dmxrminput || die
322 minstallexec hw/dmx/examples/dmxrmscreen || die
323 minstallexec hw/dmx/examples/dmxwininfo || die
324 minstallexec hw/dmx/examples/dmxinfo || die
325
326 minstallexec hw/dmx/config/dmxtodmx || die
327 minstallman hw/dmx/config/man/dmxtodmx.1 || die
328
329 minstallexec hw/dmx/config/vdltodmx || die
330 minstallman hw/dmx/config/man/vdltodmx.1 || die
331
332 minstallexec hw/dmx/config/xdmxconfig || die
333 minstallman hw/dmx/config/man/xdmxconfig.1 || die
334
335 # needed directory
336 mkeepdir /usr/share/X11/xkb/compiled || die
337 }
338
339 src_install_xvfb()
340 {
341 cd ${SRCDIR}
342
343 minstallexec hw/vfb/Xvfb || die
344 minstallman hw/vfb/man/Xvfb.1 || die
345
346 # xvfb-run script to ease things
347 minstallexec -s xvfb-run || die
348 minstallman ${SOURCEDIR}/$(mpname)/xvfb-run.1 || die
349
350 # needed directory
351 mkeepdir /usr/share/X11/xkb/compiled || die
352 }
353
354 preinstall_xorg-server()
355 {
356 preinstall_complain_about_deprecated_packages
357
358 # fix some deprecated symlinks from ancient xorg-1.5 servers
359 # or deprecated dynamic opengl symlinks in favor of libglvnd
360 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
361 then
362 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
363 fi
364
365 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
366 then
367 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
368 fi
369
370 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
371 then
372 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
373 fi
374
375 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
376 then
377 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
378 fi
379 }
380
381 postinstall_xorg-server()
382 {
383 # provided by xf86-input-evdev now
384 if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
385 then
386 rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
387 fi
388
389 echo "Searching deprecated package 'opengl-update'..."
390 if [[ ! -z $(magequery -n opengl-update) ]]
391 then
392 echo "Uninstalling deprecated package 'opengl-update'..."
393 mage uninstall opengl-update
394 fi
395 }
396