Magellan Linux

Contents of /trunk/core/xorg-server/xorg-server-1.11.4-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12806 - (show annotations) (download)
Tue Jul 3 14:10:03 2012 UTC (12 years, 2 months ago) by niro
File size: 10812 byte(s)
-rebuild against mesa-8.0.3 and udev-185 and fixed dependencies
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.11.4"
5 PBUILD="r3"
6
7 PCAT="x11-base"
8 HOMEPAGE="http://xorg.freedesktop.org"
9
10 sminclude xorg mtools
11
12 # mesa sources are needed to compile opengl extensions
13 MESA_PVER="8.0.3"
14 MESA_SRCFILE="MesaLib-${MESA_PVER/_/-}.tar.gz"
15 MESA_SRCDIR="${BUILDDIR}/MesaLib-${MESA_PVER/_/-}"
16
17 PROVIDE="virtual/x11"
18
19 # common depends
20 COMMON_DEPEND=">= x11-libs/libXfont-1.4
21 >= x11-libs/libXau-1.0.6
22 >= x11-libs/libXdmcp-1.1
23 >= x11-libs/pixman-0.22
24 >= media-libs/freetype-2.4
25 >= media-fonts/font-misc-misc-1
26 >= media-fonts/font-cursor-misc-1
27 >= app-crypt/libgcrypt-1.4.6
28 >= app-crypt/libgpg-error-1.9
29 >= sys-fs/udev-185"
30 LIBXEXT_DEPEND=">= x11-libs/libXext-1.3"
31 LIBX11_DEPEND=">= x11-libs/libX11-1.4"
32 LIBXI_DEPEND=">= x11-libs/libXi-1.4"
33 MESA_DEPEND="== media-libs/mesa-${MESA_PVER}"
34
35 XORG_DEPEND="${COMMON_DEPEND}
36 ${MESA_DEPEND}
37 >= x11-misc/xkeyboard-config-2.2
38 >= x11-apps/iceauth-1.0.5
39 >= x11-apps/rgb-1.0.4
40 >= x11-apps/xauth-1.0.6
41 >= x11-apps/xinit-1.3
42 >= x11-base/opengl-update-magellan-2.2.13
43 >= x11-libs/libpciaccess-0.12.1"
44
45 KDRIVE_DEPEND="${COMMON_DEPEND}"
46
47 XEPHYR_DEPEND="${COMMON_DEPEND}
48 ${LIBXEXT_DEPEND}
49 ${LIBX11_DEPEND}
50 ${LIBXI_DEPEND}
51 ${MESA_DEPEND}
52 >= x11-libs/libXv-1.0.6
53 >= x11-libs/libXmu-1.1"
54
55 XNEST_DEPEND="${COMMON_DEPEND}
56 ${LIBXEXT_DEPEND}
57 ${LIBX11_DEPEND}"
58
59 XDMX_DEPEND="${COMMON_DEPEND}
60 ${LIBXEXT_DEPEND}
61 ${LIBX11_DEPEND}
62 ${LIBXI_DEPEND}
63 >= x11-libs/libdmx-1.1.1
64 >= x11-libs/libXaw-1.0.9
65 >= x11-libs/libXfixes-5
66 >= x11-libs/libXrender-0.9.6"
67
68 XVFB_DEPEND="${COMMON_DEPEND}"
69
70 SDEPEND="${XORG_DEPEND}
71 ${KDRIVE_DEPEND}
72 ${XEPHYR_DEPEND}
73 ${XNEST_DEPEND}
74 ${XDMX_DEPEND}
75 ${XVFB_DEPEND}
76 >= x11-libs/xtrans-1.2.6
77 >= x11-proto/randrproto-1.3.2
78 >= x11-proto/renderproto-0.11
79 >= x11-proto/fixesproto-5
80 >= x11-proto/damageproto-1.2
81 >= x11-proto/xextproto-7.2
82 >= x11-proto/xproto-7.0.21
83 >= x11-proto/xf86dgaproto-2.1
84 >= x11-proto/xf86miscproto-0.9.3
85 >= x11-proto/xf86vidmodeproto-2.3
86 >= x11-proto/xf86bigfontproto-1.2
87 >= x11-proto/compositeproto-0.4.2
88 >= x11-proto/recordproto-1.14
89 >= x11-proto/resourceproto-1.2
90 >= x11-proto/videoproto-2.3
91 >= x11-proto/scrnsaverproto-1.2
92 >= x11-proto/evieext-1.1
93 >= x11-proto/xineramaproto-1.2
94 >= x11-proto/fontsproto-2.1
95 >= x11-proto/kbproto-1.0.5
96 >= x11-proto/inputproto-2
97 >= x11-proto/bigreqsproto-1.1
98 >= x11-proto/xcmiscproto-1.2
99 >= x11-proto/glproto-1.4.12
100 >= x11-proto/dmxproto-2.3
101 >= x11-proto/xf86driproto-2.1
102 >= x11-proto/dri2proto-2.3
103 >= x11-libs/libdrm-2.4.37
104 >= x11-libs/libXtst-1.2
105 >= x11-libs/libXres-1.0.5"
106
107 SPLIT_PACKAGES="xorg-server kdrive xephyr xdmx xnest xvfb"
108
109 SRC_URI=( ${SRC_URI[*]}
110 mirror://${PNAME}/${SRCFILE}
111 ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
112 #sourceforge://mesa3d/${MESA_SRCFILE}
113 mirror://mesa/${MESA_SRCFILE}
114 mirror://${PNAME}/${PNAME}-${PVER}-fpic-libxf86config.patch
115 mirror://${PNAME}/${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch
116 mirror://${PNAME}/${PNAME}-1.8.0-kdrive-default-mode.patch
117 mirror://${PNAME}/${PNAME}-1.8.0-kdrive-evdev-with-valid-mouse-devices.patch
118 mirror://${PNAME}/${PNAME}-${PVER}-keyboard-build-issues.patch
119 )
120
121 UP2SUBDIR="xserver"
122 UP2DATE="updatecmd_xorg ${PNAME}"
123
124 split_info_xorg-server()
125 {
126 DESCRIPTION="Modular X.Org X Server."
127 DEPEND="${COMMON_DEPEND}
128 == media-libs/mesa-${MESA_PVER}
129 >= x11-misc/xkeyboard-config-2.2
130 >= x11-apps/iceauth-1.0.5
131 >= x11-apps/rgb-1.0.4
132 >= x11-apps/xauth-1.0.6
133 >= x11-apps/xinit-1.3
134 >= x11-base/opengl-update-magellan-2.2.13
135 >= x11-libs/libpciaccess-0.12.1"
136 }
137
138 split_info_kdrive()
139 {
140 DESCRIPTION="Tiny X.Org X Server."
141 DEPEND="${COMMON_DEPEND}"
142 }
143
144 split_info_xephyr()
145 {
146 DESCRIPTION="A nested X11 server with opengl support."
147 DEPEND="${COMMON_DEPEND}
148 >= x11-libs/libXext-1.3
149 >= x11-libs/libX11-1.4
150 >= x11-libs/libXv-1.0.6
151 == media-libs/mesa-${MESA_PVER}
152 >= x11-libs/libXi-1.4
153 >= x11-libs/libXmu-1.1"
154 }
155
156 split_info_xnest()
157 {
158 DESCRIPTION="A nested X11 server."
159 DEPEND="${COMMON_DEPEND}
160 >= x11-libs/libXext-1.3
161 >= x11-libs/libX11-1.4"
162 }
163
164 split_info_xdmx()
165 {
166 DESCRIPTION="A distributed multihead X11 Server."
167 DEPEND="${COMMON_DEPEND}
168 >= x11-libs/libXext-1.3
169 >= x11-libs/libX11-1.4
170 >= x11-libs/libdmx-1.1.1
171 >= x11-libs/libXaw-1.0.9
172 >= x11-libs/libXfixes-5
173 >= x11-libs/libXi-1.5
174 >= x11-libs/libXrender-0.9.6"
175 }
176
177 split_info_xvfb()
178 {
179 DESCRIPTION="A virtual framebuffer X11 server."
180 DEPEND="${COMMON_DEPEND}"
181 }
182
183 src_prepare()
184 {
185 # must use mesa as opengl-headers!
186 [[ $(opengl-update --get-implementation) != xorg ]] &&
187 die "please change to xorg opengl-headers: opengl-update xorg"
188
189 munpack ${SRCFILE} || die
190 munpack ${MESA_SRCFILE} || die
191 cd ${SRCDIR}
192
193 # fixes fpic issues with libxf86config on 64bit systems
194 mpatch ${PNAME}-${PVER}-fpic-libxf86config.patch || die
195
196 # adopted from redhat; use a black background
197 mpatch ${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch || die
198
199 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
200 mpatch ${PNAME}-1.8.0-kdrive-default-mode.patch || die
201
202 # fix new evdev event devices (event4 and event5)
203 mpatch ${PNAME}-1.8.0-kdrive-evdev-with-valid-mouse-devices.patch || die
204
205 # fix build issues with keyboard code
206 mpatch ${PNAME}-${PVER}-keyboard-build-issues.patch || die
207
208 # fix build issues, some wrapper files which should be generated
209 # at build time exist and the makefile doesn't whipe them. we patch
210 # the makefile to clean them and whipe these wrapper files
211 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
212
213 # fix xorg.conf.d location
214 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
215 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
216
217 autoreconf --verbose --install --force || die
218 }
219
220 src_compile()
221 {
222 cd ${SRCDIR}
223
224 xorg_src_configure \
225 --with-mesa-source=${MESA_SRCDIR} \
226 --sysconfdir=/etc \
227 --localstatedir=/var \
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 --enable-install-setuid \
231 --enable-ipv6 \
232 --enable-xorg \
233 --enable-kdrive \
234 --enable-xephyr \
235 --enable-dmx \
236 --enable-xvfb \
237 --enable-xnest \
238 --enable-dri \
239 --enable-dri2 \
240 --enable-xtrap \
241 --enable-xevie \
242 --disable-xprint \
243 --enable-glx-tls \
244 --disable-static \
245 --disable-config-dbus \
246 --disable-config-hal \
247 --enable-config-udev \
248 --enable-kdrive-kbd \
249 --enable-kdrive-mouse \
250 --enable-kdrive-evdev \
251 || die
252
253 mmake || die
254 }
255
256 src_install_xorg-server()
257 {
258 xorg_src_install || die
259
260 # needed directories
261 minstalldir /usr/bin || die
262 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
263
264 # dynamic opengl setup
265 local i
266 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
267 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
268 do
269 if [ -f ${i} -o -L ${i} ]
270 then
271 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
272 fi
273 done
274
275 # missing symlink
276 mlink Xorg /usr/bin/X || die
277
278 # remove stuff included in other packages
279 # xfbdev
280 rm ${BINDIR}/usr/bin/Xfbdev || die
281 # xephyr
282 rm ${BINDIR}/usr/bin/Xephyr || die
283 rm ${BINDIR}/usr/share/man/man1/Xephyr.1 || die
284 # xnest
285 rm ${BINDIR}/usr/bin/Xnest || die
286 rm ${BINDIR}/usr/share/man/man1/Xnest.1 || die
287 # xdmx
288 rm ${BINDIR}/usr/bin/Xdmx || die
289 rm ${BINDIR}/usr/share/man/man1/Xdmx.1 || die
290 rm ${BINDIR}/usr/bin/dmxaddinput || die
291 rm ${BINDIR}/usr/bin/dmxaddscreen || die
292 rm ${BINDIR}/usr/bin/dmxreconfig || die
293 rm ${BINDIR}/usr/bin/dmxresize || die
294 rm ${BINDIR}/usr/bin/dmxrminput || die
295 rm ${BINDIR}/usr/bin/dmxrmscreen || die
296 rm ${BINDIR}/usr/bin/dmxwininfo || die
297 rm ${BINDIR}/usr/bin/dmxinfo || die
298 rm ${BINDIR}/usr/bin/dmxtodmx || die
299 rm ${BINDIR}/usr/share/man/man1/dmxtodmx.1 || die
300 rm ${BINDIR}/usr/bin/vdltodmx || die
301 rm ${BINDIR}/usr/share/man/man1/vdltodmx.1 || die
302 rm ${BINDIR}/usr/bin/xdmxconfig || die
303 rm ${BINDIR}/usr/share/man/man1/xdmxconfig.1 || die
304 # xvfb
305 rm ${BINDIR}/usr/bin/Xvfb || die
306 rm ${BINDIR}/usr/share/man/man1/Xvfb.1 || die
307 }
308
309 src_install_kdrive()
310 {
311 cd ${SRCDIR}
312
313 minstallexec hw/kdrive/fbdev/Xfbdev || die
314 #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
315
316 # suid all tinyX servers
317 mchmod 4755 /usr/bin/X\* || die
318
319 # needed directory
320 mkeepdir /usr/share/X11/xkb/compiled || die
321 }
322
323 src_install_xephyr()
324 {
325 cd ${SRCDIR}
326
327 minstallexec hw/kdrive/ephyr/Xephyr || die
328 minstallman hw/kdrive/ephyr/man/Xephyr.1 || die
329
330 # suid all tinyX servers
331 mchmod 4755 /usr/bin/X\* || die
332
333 # needed directory
334 mkeepdir /usr/share/X11/xkb/compiled || die
335 }
336
337 src_install_xnest()
338 {
339 cd ${SRCDIR}
340
341 minstallexec hw/xnest/Xnest || die
342 minstallman hw/xnest/man/Xnest.1 || die
343
344 # needed directory
345 mkeepdir /usr/share/X11/xkb/compiled || die
346 }
347
348 src_install_xdmx()
349 {
350 cd ${SRCDIR}
351
352 minstallexec hw/dmx/Xdmx || die
353 minstallman hw/dmx/man/Xdmx.1 || die
354
355 minstallexec hw/dmx/examples/dmxaddinput || die
356 minstallexec hw/dmx/examples/dmxaddscreen || die
357 minstallexec hw/dmx/examples/dmxreconfig || die
358 minstallexec hw/dmx/examples/dmxresize || die
359 minstallexec hw/dmx/examples/dmxrminput || die
360 minstallexec hw/dmx/examples/dmxrmscreen || die
361 minstallexec hw/dmx/examples/dmxwininfo || die
362 minstallexec hw/dmx/examples/dmxinfo || die
363
364 minstallexec hw/dmx/config/dmxtodmx || die
365 minstallman hw/dmx/config/man/dmxtodmx.1 || die
366
367 minstallexec hw/dmx/config/vdltodmx || die
368 minstallman hw/dmx/config/man/vdltodmx.1 || die
369
370 minstallexec hw/dmx/config/xdmxconfig || die
371 minstallman hw/dmx/config/man/xdmxconfig.1 || die
372
373 # needed directory
374 mkeepdir /usr/share/X11/xkb/compiled || die
375 }
376
377 src_install_xvfb()
378 {
379 cd ${SRCDIR}
380
381 minstallexec hw/vfb/Xvfb || die
382 minstallman hw/vfb/man/Xvfb.1 || die
383
384 # needed directory
385 mkeepdir /usr/share/X11/xkb/compiled || die
386 }
387
388 preinstall_xorg-server()
389 {
390 # fix some deprecated symlinks from ancient xorg-1.5 servers
391 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
392 then
393 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
394 fi
395
396 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
397 then
398 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
399 fi
400
401 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
402 then
403 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
404 fi
405
406 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
407 then
408 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
409 fi
410 }
411
412 postinstall_xorg-server()
413 {
414 ${MROOT}/usr/sbin/opengl-update --use-old xorg
415 }
416
417 postremove_xorg-server()
418 {
419 # get rid of module dir to ensure opengl-update works properbly
420 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
421 then
422 if [[ -z $(magequery -n xorg-server) ]]
423 then
424 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
425 fi
426 fi
427 }