Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31142 - (show annotations) (download)
Fri Jun 8 07:06:39 2018 UTC (5 years, 10 months ago) by niro
File size: 10372 byte(s)
-no kdrive split package anmyore, upstream dropped Xfbdev
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.20.0"
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="18.1.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.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 XEPHYR_DEPEND="${COMMON_DEPEND}
62 ${LIBXEXT_DEPEND}
63 ${LIBX11_DEPEND}
64 ${LIBXI_DEPEND}
65 ${MESA_DEPEND}
66 ${EPOXY_DEPEND}
67 >= x11-libs/libXv-1.0.11
68 >= x11-libs/libXmu-1.1"
69
70 XNEST_DEPEND="${COMMON_DEPEND}
71 ${LIBXEXT_DEPEND}
72 ${LIBX11_DEPEND}"
73
74 XDMX_DEPEND="${COMMON_DEPEND}
75 ${LIBXEXT_DEPEND}
76 ${LIBX11_DEPEND}
77 ${LIBXI_DEPEND}
78 >= x11-libs/libdmx-1.1.4
79 >= x11-libs/libXaw-1.0.13
80 >= x11-libs/libXfixes-5
81 >= x11-libs/libXrender-0.9.10"
82
83 XVFB_DEPEND="${COMMON_DEPEND}"
84
85 SDEPEND="${XORG_DEPEND}
86 ${KDRIVE_DEPEND}
87 ${XEPHYR_DEPEND}
88 ${XNEST_DEPEND}
89 ${XDMX_DEPEND}
90 ${XVFB_DEPEND}
91 >= media-fonts/font-util-1.3
92 == x11-proto/xorg-protos-7.7.${PVER}
93 >= x11-libs/libdrm-2.4.92
94 >= x11-libs/libXtst-1.2
95 >= x11-libs/libXres-1.2
96 >= x11-libs/xcb-util-image-0.4
97 >= x11-libs/xcb-util-keysyms-0.4
98 >= x11-libs/xcb-util-wm-0.3.9
99 >= x11-libs/libxkbfile-1"
100
101 SPECIAL_FUNCTIONS="preinstall_complain_about_deprecated_packages"
102
103 UP2SUBDIR="xserver"
104 sminclude xorg mtools
105
106 SRC_URI=( ${SRC_URI[*]}
107 mirror://${PNAME}/${SRCFILE}
108 ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
109 ftp://ftp.freedesktop.org/pub/mesa/${MESA_SRCFILE}
110 #sourceforge://mesa3d/${MESA_SRCFILE}
111 mirror://mesa/${MESA_SRCFILE}
112 mirror://${PNAME}/xvfb-run
113 mirror://${PNAME}/xvfb-run.1
114 mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
115 )
116
117 split_info_xorg-server()
118 {
119 DESCRIPTION="Modular X.Org X Server."
120 DEPEND="${XORG_DEPEND}"
121 PROVIDE+=" ${XORG_SERVER_PROVIDE}"
122 }
123
124 split_info_xephyr()
125 {
126 DESCRIPTION="A nested X11 server with opengl support."
127 DEPEND="${XEPHYR_DEPEND}"
128 }
129
130 split_info_xnest()
131 {
132 DESCRIPTION="A nested X11 server."
133 DEPEND="${XNEST_DEPEND}"
134 }
135
136 split_info_xdmx()
137 {
138 DESCRIPTION="A distributed multihead X11 Server."
139 DEPEND="${XDMX_DEPEND}"
140 }
141
142 split_info_xvfb()
143 {
144 DESCRIPTION="A virtual framebuffer X11 server."
145 DEPEND="${XVFB_DEPEND}"
146 }
147
148 preinstall_complain_about_deprecated_packages()
149 {
150 if [[ ! -z $(magequery -n glamor-egl) ]]
151 then
152 echo -e ${COLRED}
153 echo -e "Error: x11-libs/glamor-egl is installed!!"
154 echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore."
155 echo -e "Please uninstall x11-libs/glamor-egl first!"
156 echo -e ${COLDEFAULT}
157 die "x11-libs/glamor-egl found!"
158 fi
159
160 if [[ ! -z $(magequery -n xf86-video-modesetting) ]]
161 then
162 echo -e ${COLRED}
163 echo -e "Error: x11-drivers/xf86-video-modesetting is installed!!"
164 echo -e "xf86-video-modesetting is now provided by xorg-server and doesn't need an extra package anymore."
165 echo -e "Please uninstall x11-drivers/xf86-video-modesetting first!"
166 echo -e ${COLDEFAULT}
167 die "x11-drivers/xf86-video-modesetting found!"
168 fi
169 }
170
171 pkg_setup()
172 {
173 preinstall_complain_about_deprecated_packages
174
175 # must use mesa as opengl-headers!
176 if [[ $(opengl-update --get-implementation) != xorg ]]
177 then
178 die "please change to xorg opengl-headers: opengl-update xorg"
179 fi
180 }
181
182 src_prepare()
183 {
184 munpack ${SRCFILE} || die
185 munpack ${MESA_SRCFILE} || die
186 cd ${SRCDIR}
187
188 # adopted from redhat; use a black background
189 mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
190
191 # fix build issues, some wrapper files which should be generated
192 # at build time exist and the makefile doesn't whipe them. we patch
193 # the makefile to clean them and whipe these wrapper files
194 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
195
196 # fix xorg.conf.d location
197 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
198 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
199
200 mautoreconf || die
201 }
202
203 src_compile()
204 {
205 cd ${SRCDIR}
206
207 xorg_src_configure \
208 --with-mesa-source=${MESA_SRCDIR} \
209 --sysconfdir=/etc \
210 --localstatedir=/var \
211 --libexecdir=/usr/$(mlibdir)/${PNAME} \
212 --with-xkb-output=/var/lib/xkb \
213 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
214 --disable-install-setuid \
215 --enable-suid-wrapper \
216 --enable-ipv6 \
217 --enable-xorg \
218 --enable-kdrive \
219 --enable-xephyr \
220 --enable-dmx \
221 --enable-xvfb \
222 --enable-xnest \
223 --enable-dri \
224 --enable-dri2 \
225 --enable-dri3 \
226 --enable-glamor \
227 --enable-xtrap \
228 --enable-xevie \
229 --enable-xcsecurity \
230 --enable-libunwind \
231 --disable-xprint \
232 --enable-glx-tls \
233 --disable-static \
234 --disable-config-dbus \
235 --disable-config-hal \
236 --enable-config-udev \
237 --enable-kdrive-kbd \
238 --enable-kdrive-mouse \
239 --enable-kdrive-evdev \
240 --enable-systemd-logind \
241 --with-sha1=libgcrypt \
242 || die
243
244 mmake || die
245 }
246
247 src_install_xorg-server()
248 {
249 xorg_src_install || die
250
251 # needed directories
252 minstalldir /usr/bin || die
253 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
254
255 # dynamic opengl setup
256 local i
257 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
258 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
259 do
260 if [ -f ${i} -o -L ${i} ]
261 then
262 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
263 fi
264 done
265
266 # missing symlink
267 mlink Xorg /usr/bin/X || die
268
269 # remove stuff included in other packages
270 # xephyr
271 mdelete /usr/bin/Xephyr || die
272 mdelete /usr/share/man/man1/Xephyr.1 || die
273 # xnest
274 mdelete /usr/bin/Xnest || die
275 mdelete /usr/share/man/man1/Xnest.1 || die
276 # xdmx
277 mdelete /usr/bin/Xdmx || die
278 mdelete /usr/share/man/man1/Xdmx.1 || die
279 mdelete /usr/bin/dmxaddinput || die
280 mdelete /usr/bin/dmxaddscreen || die
281 mdelete /usr/bin/dmxreconfig || die
282 mdelete /usr/bin/dmxresize || die
283 mdelete /usr/bin/dmxrminput || die
284 mdelete /usr/bin/dmxrmscreen || die
285 mdelete /usr/bin/dmxwininfo || die
286 mdelete /usr/bin/dmxinfo || die
287 mdelete /usr/bin/dmxtodmx || die
288 mdelete /usr/share/man/man1/dmxtodmx.1 || die
289 mdelete /usr/bin/vdltodmx || die
290 mdelete /usr/share/man/man1/vdltodmx.1 || die
291 mdelete /usr/bin/xdmxconfig || die
292 mdelete /usr/share/man/man1/xdmxconfig.1 || die
293 # xvfb
294 mdelete /usr/bin/Xvfb || die
295 mdelete /usr/share/man/man1/Xvfb.1 || 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 # xvfb-run script to ease things
360 minstallexec -s xvfb-run || die
361 minstallman ${SOURCEDIR}/$(mpname)/xvfb-run.1 || die
362
363 # needed directory
364 mkeepdir /usr/share/X11/xkb/compiled || die
365 }
366
367 preinstall_xorg-server()
368 {
369 preinstall_complain_about_deprecated_packages
370
371 # fix some deprecated symlinks from ancient xorg-1.5 servers
372 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
373 then
374 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
375 fi
376
377 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
378 then
379 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
380 fi
381
382 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
383 then
384 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
385 fi
386
387 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
388 then
389 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
390 fi
391 }
392
393 postinstall_xorg-server()
394 {
395 # provided by xf86-input-evdev now
396 if [ -f ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf ]
397 then
398 rm ${MROOT}/etc/X11/xorg.conf.d/10-evdev.conf
399 fi
400
401 ${MROOT}/usr/sbin/opengl-update --use-old xorg
402 }
403
404 postremove_xorg-server()
405 {
406 # get rid of module dir to ensure opengl-update works properly
407 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
408 then
409 if [[ -z $(magequery -n xorg-server) ]]
410 then
411 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
412 fi
413 fi
414 }