Magellan Linux

Contents of /branches/magellan-next/core/xorg-server/xorg-server-1.10.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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