Magellan Linux

Contents of /branches/R11-stable/extras/xorg-server/xorg-server-1.16.3-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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