Magellan Linux

Contents of /trunk/extras/xorg-server/xorg-server-1.16.1-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23050 - (show annotations) (download)
Wed Oct 29 15:17:24 2014 UTC (9 years, 7 months ago) by niro
File size: 10083 byte(s)
-added missing libepoxy dep, moved opengl check to pkg_setup and complain about installed glamor-egl, added an upstream glamor patch and enabled logind & glamor support
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.16.1"
5 PBUILD="r2"
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="10.3.2"
14 MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.bz2"
15 MESA_SRCDIR="${BUILDDIR}/MesaLib-${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-18 virtual/X-ABI-XINPUT-21 virtual/X-ABI-EXTENSION-8"
22
23 # common depends
24 COMMON_DEPEND=">= x11-libs/libXfont-1.5
25 >= x11-libs/libXau-1.0.8
26 >= x11-libs/libXdmcp-1.1
27 >= x11-libs/pixman-0.32
28 >= media-libs/freetype-2.5
29 >= media-fonts/font-misc-misc-1
30 >= media-fonts/font-cursor-misc-1
31 >= app-crypt/libgcrypt-1.6
32 >= app-crypt/libgpg-error-1.17
33 >= sys-fs/udev-216
34 >= sys-apps/dbus-x11-1.8"
35 LIBXEXT_DEPEND=">= x11-libs/libXext-1.3"
36 LIBX11_DEPEND=">= x11-libs/libX11-1.6"
37 LIBXI_DEPEND=">= x11-libs/libXi-1.7"
38 MESA_DEPEND="== media-libs/mesa-${MESA_PVER}"
39
40 XORG_DEPEND="${COMMON_DEPEND}
41 ${MESA_DEPEND}
42 >= media-libs/libepoxy-1.2
43 >= x11-libs/libxshmfence-1.1
44 >= x11-misc/xkeyboard-config-2.13
45 >= x11-apps/iceauth-1.0.6
46 >= x11-apps/rgb-1.0.5
47 >= x11-apps/xauth-1.0.9
48 >= x11-apps/xinit-1.3
49 >= x11-base/opengl-update-2.3.10
50 >= x11-libs/libpciaccess-0.13.2"
51
52 KDRIVE_DEPEND="${COMMON_DEPEND}"
53
54 XEPHYR_DEPEND="${COMMON_DEPEND}
55 ${LIBXEXT_DEPEND}
56 ${LIBX11_DEPEND}
57 ${LIBXI_DEPEND}
58 ${MESA_DEPEND}
59 >= x11-libs/libXv-1.0.10
60 >= x11-libs/libXmu-1.1"
61
62 XNEST_DEPEND="${COMMON_DEPEND}
63 ${LIBXEXT_DEPEND}
64 ${LIBX11_DEPEND}"
65
66 XDMX_DEPEND="${COMMON_DEPEND}
67 ${LIBXEXT_DEPEND}
68 ${LIBX11_DEPEND}
69 ${LIBXI_DEPEND}
70 >= x11-libs/libdmx-1.1.3
71 >= x11-libs/libXaw-1.0.12
72 >= x11-libs/libXfixes-5
73 >= x11-libs/libXrender-0.9.8"
74
75 XVFB_DEPEND="${COMMON_DEPEND}"
76
77 SDEPEND="${XORG_DEPEND}
78 ${KDRIVE_DEPEND}
79 ${XEPHYR_DEPEND}
80 ${XNEST_DEPEND}
81 ${XDMX_DEPEND}
82 ${XVFB_DEPEND}
83 >= media-fonts/font-util-1.3
84 == x11-proto/xorg-protos-7.7.${PVER}
85 >= x11-libs/libdrm-2.4.58
86 >= x11-libs/libXtst-1.2
87 >= x11-libs/libXres-1.0.7
88 >= x11-libs/xcb-util-image-0.4
89 >= x11-libs/xcb-util-keysyms-0.4
90 >= x11-libs/xcb-util-wm-0.3.9"
91
92 SPECIAL_FUNCTIONS="preinstall_complain_about_glamor"
93
94 UP2SUBDIR="xserver"
95 sminclude xorg mtools
96
97 SRC_URI=( ${SRC_URI[*]}
98 mirror://${PNAME}/${SRCFILE}
99 ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
100 #sourceforge://mesa3d/${MESA_SRCFILE}
101 mirror://mesa/${MESA_SRCFILE}
102 mirror://${PNAME}/${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch
103 mirror://${PNAME}/${PNAME}-1.12.3-kdrive-default-mode.patch
104 mirror://${PNAME}/${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch
105 mirror://${PNAME}/${PNAME}-${PVER}-glamor-upstream-fix.patch
106 )
107
108 split_info_xorg-server()
109 {
110 DESCRIPTION="Modular X.Org X Server."
111 DEPEND="${XORG_DEPEND}"
112 PROVIDE+=" ${XORG_SERVER_PROVIDE}"
113 }
114
115 split_info_kdrive()
116 {
117 DESCRIPTION="Tiny X.Org X Server."
118 DEPEND="${KDRIVE_DEPEND}"
119 }
120
121 split_info_xephyr()
122 {
123 DESCRIPTION="A nested X11 server with opengl support."
124 DEPEND="${XEPHYR_DEPEND}"
125 }
126
127 split_info_xnest()
128 {
129 DESCRIPTION="A nested X11 server."
130 DEPEND="${XNEST_DEPEND}"
131 }
132
133 split_info_xdmx()
134 {
135 DESCRIPTION="A distributed multihead X11 Server."
136 DEPEND="${XDMX_DEPEND}"
137 }
138
139 split_info_xvfb()
140 {
141 DESCRIPTION="A virtual framebuffer X11 server."
142 DEPEND="${XVFB_DEPEND}"
143 }
144
145 preinstall_complain_about_glamor()
146 {
147 if [[ ! -z $(magequery -n glamor-egl) ]]
148 then
149 echo -e ${COLRED}
150 echo -e "Error: x11-libs/glamor-egl is installed!!"
151 echo -e "glamor-egl is now provided by xorg-server and doesn't need an extra package anymore."
152 echo -e "Please uninstall x11-libs/glamor-egl first!"
153 echo -e ${COLDEFAULT}
154 die "x11-libs/glamor-egl found!"
155 fi
156 }
157
158 pkg_setup()
159 {
160 preinstall_complain_about_glamor
161
162 # must use mesa as opengl-headers!
163 if [[ $(opengl-update --get-implementation) != xorg ]]
164 then
165 die "please change to xorg opengl-headers: opengl-update xorg"
166 fi
167 }
168
169 src_prepare()
170 {
171 munpack ${SRCFILE} || die
172 munpack ${MESA_SRCFILE} || die
173 cd ${SRCDIR}
174
175 # adopted from redhat; use a black background
176 mpatch ${PNAME}-1.12.3-die-ugly-pattern-die-die-die.patch || die
177
178 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
179 mpatch ${PNAME}-1.12.3-kdrive-default-mode.patch || die
180
181 # fix new evdev event devices (event4 and event5)
182 mpatch ${PNAME}-1.12.3-kdrive-evdev-with-valid-mouse-devices.patch || die
183
184 # upstream glamor patch
185 mpatch ${PNAME}-${PVER}-glamor-upstream-fix.patch || die
186
187 # fix build issues, some wrapper files which should be generated
188 # at build time exist and the makefile doesn't whipe them. we patch
189 # the makefile to clean them and whipe these wrapper files
190 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
191
192 # fix xorg.conf.d location
193 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
194 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
195
196 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 --with-xkb-output=/var/lib/xkb \
208 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
209 --enable-install-setuid \
210 --enable-ipv6 \
211 --enable-xorg \
212 --enable-kdrive \
213 --enable-xephyr \
214 --enable-dmx \
215 --enable-xvfb \
216 --enable-xnest \
217 --enable-dri \
218 --enable-dri2 \
219 --enable-dri3 \
220 --enable-glamor \
221 --enable-xtrap \
222 --enable-xevie \
223 --enable-xcsecurity \
224 --disable-xprint \
225 --enable-glx-tls \
226 --disable-static \
227 --disable-config-dbus \
228 --disable-config-hal \
229 --enable-config-udev \
230 --enable-kdrive-kbd \
231 --enable-kdrive-mouse \
232 --enable-kdrive-evdev \
233 --enable-systemd-logind \
234 || die
235
236 mmake || die
237 }
238
239 src_install_xorg-server()
240 {
241 xorg_src_install || die
242
243 # needed directories
244 minstalldir /usr/bin || die
245 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
246
247 # dynamic opengl setup
248 local i
249 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
250 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
251 do
252 if [ -f ${i} -o -L ${i} ]
253 then
254 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
255 fi
256 done
257
258 # missing symlink
259 mlink Xorg /usr/bin/X || die
260
261 # remove stuff included in other packages
262 # xfbdev
263 mdelete /usr/bin/Xfbdev || die
264 # xephyr
265 mdelete /usr/bin/Xephyr || die
266 mdelete /usr/share/man/man1/Xephyr.1 || die
267 # xnest
268 mdelete /usr/bin/Xnest || die
269 mdelete /usr/share/man/man1/Xnest.1 || die
270 # xdmx
271 mdelete /usr/bin/Xdmx || die
272 mdelete /usr/share/man/man1/Xdmx.1 || die
273 mdelete /usr/bin/dmxaddinput || die
274 mdelete /usr/bin/dmxaddscreen || die
275 mdelete /usr/bin/dmxreconfig || die
276 mdelete /usr/bin/dmxresize || die
277 mdelete /usr/bin/dmxrminput || die
278 mdelete /usr/bin/dmxrmscreen || die
279 mdelete /usr/bin/dmxwininfo || die
280 mdelete /usr/bin/dmxinfo || die
281 mdelete /usr/bin/dmxtodmx || die
282 mdelete /usr/share/man/man1/dmxtodmx.1 || die
283 mdelete /usr/bin/vdltodmx || die
284 mdelete /usr/share/man/man1/vdltodmx.1 || die
285 mdelete /usr/bin/xdmxconfig || die
286 mdelete /usr/share/man/man1/xdmxconfig.1 || die
287 # xvfb
288 mdelete /usr/bin/Xvfb || die
289 mdelete /usr/share/man/man1/Xvfb.1 || die
290 }
291
292 src_install_kdrive()
293 {
294 cd ${SRCDIR}
295
296 minstallexec hw/kdrive/fbdev/Xfbdev || die
297 #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
298
299 # suid all tinyX servers
300 mchmod 4755 /usr/bin/X\* || die
301
302 # needed directory
303 mkeepdir /usr/share/X11/xkb/compiled || die
304 }
305
306 src_install_xephyr()
307 {
308 cd ${SRCDIR}
309
310 minstallexec hw/kdrive/ephyr/Xephyr || die
311 minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
312
313 # suid all tinyX servers
314 mchmod 4755 /usr/bin/X\* || die
315
316 # needed directory
317 mkeepdir /usr/share/X11/xkb/compiled || die
318 }
319
320 src_install_xnest()
321 {
322 cd ${SRCDIR}
323
324 minstallexec hw/xnest/Xnest || die
325 minstallman hw/xnest/man/Xnest.1 || die
326
327 # needed directory
328 mkeepdir /usr/share/X11/xkb/compiled || die
329 }
330
331 src_install_xdmx()
332 {
333 cd ${SRCDIR}
334
335 minstallexec hw/dmx/Xdmx || die
336 minstallman hw/dmx/man/Xdmx.1 || die
337
338 minstallexec hw/dmx/examples/dmxaddinput || die
339 minstallexec hw/dmx/examples/dmxaddscreen || die
340 minstallexec hw/dmx/examples/dmxreconfig || die
341 minstallexec hw/dmx/examples/dmxresize || die
342 minstallexec hw/dmx/examples/dmxrminput || die
343 minstallexec hw/dmx/examples/dmxrmscreen || die
344 minstallexec hw/dmx/examples/dmxwininfo || die
345 minstallexec hw/dmx/examples/dmxinfo || die
346
347 minstallexec hw/dmx/config/dmxtodmx || die
348 minstallman hw/dmx/config/man/dmxtodmx.1 || die
349
350 minstallexec hw/dmx/config/vdltodmx || die
351 minstallman hw/dmx/config/man/vdltodmx.1 || die
352
353 minstallexec hw/dmx/config/xdmxconfig || die
354 minstallman hw/dmx/config/man/xdmxconfig.1 || die
355
356 # needed directory
357 mkeepdir /usr/share/X11/xkb/compiled || die
358 }
359
360 src_install_xvfb()
361 {
362 cd ${SRCDIR}
363
364 minstallexec hw/vfb/Xvfb || die
365 minstallman hw/vfb/man/Xvfb.1 || die
366
367 # needed directory
368 mkeepdir /usr/share/X11/xkb/compiled || die
369 }
370
371 preinstall_xorg-server()
372 {
373 preinstall_complain_about_glamor
374
375 # fix some deprecated symlinks from ancient xorg-1.5 servers
376 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
377 then
378 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
379 fi
380
381 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
382 then
383 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
384 fi
385
386 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
387 then
388 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
389 fi
390
391 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
392 then
393 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
394 fi
395 }
396
397 postinstall_xorg-server()
398 {
399 ${MROOT}/usr/sbin/opengl-update --use-old xorg
400 }
401
402 postremove_xorg-server()
403 {
404 # get rid of module dir to ensure opengl-update works properly
405 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
406 then
407 if [[ -z $(magequery -n xorg-server) ]]
408 then
409 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
410 fi
411 fi
412 }