Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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