Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 30493 - (show annotations) (download)
Fri Jan 26 13:12:26 2018 UTC (6 years, 3 months ago) by niro
File size: 11199 byte(s)
auto added: ver bump to 1.19.6-r1
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.19.6"
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="17.3.3"
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.6
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.23
33 >= sys-libs/libsystemd-233
34 >= sys-fs/udev-233
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.2
53 >= x11-misc/xkeyboard-config-2.22
54 >= x11-apps/iceauth-1.0.7
55 >= x11-apps/rgb-1.0.6
56 >= x11-apps/xauth-1.0.10
57 >= x11-apps/xinit-1.3
58 >= x11-base/opengl-update-2.3.11
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.10
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.3
81 >= x11-libs/libXaw-1.0.12
82 >= x11-libs/libXfixes-5
83 >= x11-libs/libXrender-0.9.8"
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.89
96 >= x11-libs/libXtst-1.2
97 >= x11-libs/libXres-1.0.7
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 }