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 6517 - (show annotations) (download)
Tue Aug 31 18:24:17 2010 UTC (13 years, 8 months ago) by niro
File size: 10776 byte(s)
-added missing dependencies
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-libs/libXtst-1.1
85 >= x11-apps/mkfontdir-1.0.5
86 >= x11-apps/mkfontscale-1.0.7
87 >= x11-misc/xbitmaps-1.1.0"
88
89 SPLIT_PACKAGES="xorg-server kdrive xephyr xdmx xnest xvfb"
90
91 SRC_URI=( ${SRC_URI[*]}
92 mirror://${PNAME}/${SRCFILE}
93 ftp://ftp.freedesktop.org/pub/mesa/${MESA_PVER}/${MESA_SRCFILE}
94 sourceforge://mesa3d/${MESA_SRCFILE}
95 mirror://mesa/${MESA_SRCFILE}
96 mirror://${PNAME}/${PNAME}-${PVER}-fpic-libxf86config.patch
97 mirror://${PNAME}/${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch
98 mirror://${PNAME}/${PNAME}-1.8.0-match-only-sane-devices.patch
99 mirror://${PNAME}/${PNAME}-1.8.0-kdrive-default-mode.patch
100 mirror://${PNAME}/${PNAME}-1.8.0-kdrive-evdev-with-valid-mouse-devices.patch
101 )
102
103 UP2SUBDIR="xserver"
104 UP2DATE="updatecmd_xorg ${PNAME}"
105
106 split_info_xorg-server()
107 {
108 DESCRIPTION="Modular X.Org X Server."
109 DEPEND="${COMMON_DEPEND}
110 == media-libs/mesa-${MESA_PVER}
111 >= x11-misc/xkeyboard-config-1.9
112 >= x11-apps/iceauth-1.0.3
113 >= x11-apps/rgb-1.0.3
114 >= x11-apps/xauth-1.0.4
115 >= x11-apps/xinit-1.1.1
116 >= x11-base/opengl-update-magellan-2.2.12
117 >= x11-libs/libpciaccess-0.12"
118
119 preinstall()
120 {
121 # fix some deprecated symlinks from ancient xorg-1.5 servers
122 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so ]
123 then
124 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libdri.so
125 fi
126
127 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so ]
128 then
129 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libdri.so
130 fi
131
132 if [ -L ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so ]
133 then
134 rm ${MROOT}/usr/$(mlibdir)/xorg/modules/extensions/libglx.so
135 fi
136
137 if [ -f ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so ]
138 then
139 rm ${MROOT}/usr/$(mlibdir)/opengl/xorg/extensions/libglx.so
140 fi
141 }
142
143 postinstall()
144 {
145 ${MROOT}/usr/sbin/opengl-update --use-old xorg
146 }
147
148 postremove()
149 {
150 # get rid of module dir to ensure opengl-update works properbly
151 if [ -e ${MROOT}/usr/$(mlibdir)/xorg/modules ]
152 then
153 if [[ -z $(magequery -n xorg-server) ]]
154 then
155 rm -rf ${MROOT}/usr/$(mlibdir)/xorg/modules
156 fi
157 fi
158 }
159 }
160
161 split_info_kdrive()
162 {
163 DESCRIPTION="Tiny X.Org X Server."
164 DEPEND="${COMMON_DEPEND}"
165 unset -f preinstall
166 unset -f postinstall
167 unset -f postremove
168 }
169
170 split_info_xephyr()
171 {
172 DESCRIPTION="A nested X11 server with opengl support."
173 DEPEND="${COMMON_DEPEND}
174 >= x11-libs/libXext-1.1
175 >= x11-libs/libX11-1.3.5
176 >= x11-libs/libXv-1.0.5
177 == media-libs/mesa-${MESA_PVER}
178 >= x11-libs/libXi-1.3
179 >= x11-libs/libXmu-1.0.5"
180 unset -f preinstall
181 unset -f postinstall
182 unset -f postremove
183 }
184
185 split_info_xnest()
186 {
187 DESCRIPTION="A nested X11 server."
188 DEPEND="${COMMON_DEPEND}
189 >= x11-libs/libXext-1.1
190 >= x11-libs/libX11-1.3.5"
191 unset -f preinstall
192 unset -f postinstall
193 unset -f postremove
194 }
195
196 split_info_xdmx()
197 {
198 DESCRIPTION="A distributed multihead X11 Server."
199 DEPEND="${COMMON_DEPEND}
200 >= x11-libs/libXext-1.1
201 >= x11-libs/libX11-1.3.5
202 >= x11-libs/libdmx-1.1.0
203 >= x11-libs/libXaw-1.0.7
204 >= x11-libs/libXfixes-4
205 >= x11-libs/libXi-1.3
206 >= x11-libs/libXrender-0.9.6"
207 unset -f preinstall
208 unset -f postinstall
209 unset -f postremove
210 }
211
212 split_info_xvfb()
213 {
214 DESCRIPTION="A virtual framebuffer X11 server."
215 DEPEND="${COMMON_DEPEND}"
216 unset -f preinstall
217 unset -f postinstall
218 unset -f postremove
219 }
220
221 src_prepare()
222 {
223 # must use mesa as opengl-headers!
224 [[ $(opengl-update --get-implementation) != xorg ]] &&
225 die "please change to xorg opengl-headers: opengl-update xorg"
226
227 munpack ${SRCFILE} || die
228 munpack ${MESA_SRCFILE} || die
229 cd ${SRCDIR}
230
231 # fixes fpic issues with libxf86config on 64bit systems
232 mpatch ${PNAME}-${PVER}-fpic-libxf86config.patch || die
233
234 # adopted from redhat; use a black background
235 mpatch ${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch || die
236
237 # fix kdrive default mode -> use 640x480@60hz instead of 800x600@75hz
238 mpatch ${PNAME}-1.8.0-kdrive-default-mode.patch || die
239
240 # fix new evdev event devices (event4 and event5)
241 mpatch ${PNAME}-1.8.0-kdrive-evdev-with-valid-mouse-devices.patch || die
242
243 # fix build issues, some wrapper files which should be generated
244 # at build time exist and the makefile doesn't whipe them. we patch
245 # the makefile to clean them and whipe these wrapper files
246 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
247
248 # fix xorg.conf.d location
249 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
250 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
251
252 autoreconf --verbose --install --force || die
253 }
254
255 src_compile()
256 {
257 cd ${SRCDIR}
258
259 xorg_src_configure \
260 --with-mesa-source=${MESA_SRCDIR} \
261 --sysconfdir=/etc \
262 --localstatedir=/var \
263 --with-xkb-output=/var/lib/xkb \
264 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
265 --enable-install-setuid \
266 --enable-ipv6 \
267 --enable-xorg \
268 --enable-kdrive \
269 --enable-xephyr \
270 --enable-dmx \
271 --enable-xvfb \
272 --enable-xnest \
273 --enable-dri \
274 --enable-dri2 \
275 --enable-xtrap \
276 --enable-xevie \
277 --disable-xprint \
278 --enable-glx-tls \
279 --disable-static \
280 --disable-config-dbus \
281 --disable-config-hal \
282 --enable-config-udev \
283 --enable-kdrive-kbd \
284 --enable-kdrive-mouse \
285 --enable-kdrive-evdev \
286 || die
287
288 mmake || die
289 }
290
291 src_install_xorg-server()
292 {
293 xorg_src_install || die
294
295 # needed directories
296 minstalldir /usr/bin || die
297 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
298
299 # dynamic opengl setup
300 local i
301 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
302 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
303 do
304 if [ -f ${i} -o -L ${i} ]
305 then
306 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
307 fi
308 done
309
310 # missing symlink
311 mlink Xorg /usr/bin/X || die
312
313 # remove stuff included in other packages
314 # xfbdev
315 rm ${BINDIR}/usr/bin/Xfbdev || die
316 # xephyr
317 rm ${BINDIR}/usr/bin/Xephyr || die
318 rm ${BINDIR}/usr/share/man/man1/Xephyr.1 || die
319 # xnest
320 rm ${BINDIR}/usr/bin/Xnest || die
321 rm ${BINDIR}/usr/share/man/man1/Xnest.1 || die
322 # xdmx
323 rm ${BINDIR}/usr/bin/Xdmx || die
324 rm ${BINDIR}/usr/share/man/man1/Xdmx.1 || die
325 rm ${BINDIR}/usr/bin/dmxaddinput || die
326 rm ${BINDIR}/usr/bin/dmxaddscreen || die
327 rm ${BINDIR}/usr/bin/dmxreconfig || die
328 rm ${BINDIR}/usr/bin/dmxresize || die
329 rm ${BINDIR}/usr/bin/dmxrminput || die
330 rm ${BINDIR}/usr/bin/dmxrmscreen || die
331 rm ${BINDIR}/usr/bin/dmxwininfo || die
332 rm ${BINDIR}/usr/bin/dmxinfo || die
333 rm ${BINDIR}/usr/bin/dmxtodmx || die
334 rm ${BINDIR}/usr/share/man/man1/dmxtodmx.1 || die
335 rm ${BINDIR}/usr/bin/vdltodmx || die
336 rm ${BINDIR}/usr/share/man/man1/vdltodmx.1 || die
337 rm ${BINDIR}/usr/bin/xdmxconfig || die
338 rm ${BINDIR}/usr/share/man/man1/xdmxconfig.1 || die
339 # xvfb
340 rm ${BINDIR}/usr/bin/Xvfb || die
341 rm ${BINDIR}/usr/share/man/man1/Xvfb.1 || die
342 }
343
344 src_install_kdrive()
345 {
346 cd ${SRCDIR}
347
348 minstallexec hw/kdrive/fbdev/Xfbdev || die
349 #minstallman hw/kdrive/fbdev/Xfbdev.1 || die
350
351 # suid all tinyX servers
352 mchmod 4755 /usr/bin/X\* || die
353
354 # needed directory
355 mkeepdir /usr/share/X11/xkb/compiled || die
356 }
357
358 src_install_xephyr()
359 {
360 cd ${SRCDIR}
361
362 minstallexec hw/kdrive/ephyr/Xephyr || die
363 minstallman hw/kdrive/ephyr/Xephyr.1 || die
364
365 # suid all tinyX servers
366 mchmod 4755 /usr/bin/X\* || die
367
368 # needed directory
369 mkeepdir /usr/share/X11/xkb/compiled || die
370 }
371
372 src_install_xnest()
373 {
374 cd ${SRCDIR}
375
376 minstallexec hw/xnest/Xnest || die
377 minstallman hw/xnest/Xnest.1 || die
378
379 # needed directory
380 mkeepdir /usr/share/X11/xkb/compiled || die
381 }
382
383 src_install_xdmx()
384 {
385 cd ${SRCDIR}
386
387 minstallexec hw/dmx/Xdmx || die
388 minstallman hw/dmx/Xdmx.1 || die
389
390 minstallexec hw/dmx/examples/dmxaddinput || die
391 minstallexec hw/dmx/examples/dmxaddscreen || die
392 minstallexec hw/dmx/examples/dmxreconfig || die
393 minstallexec hw/dmx/examples/dmxresize || die
394 minstallexec hw/dmx/examples/dmxrminput || die
395 minstallexec hw/dmx/examples/dmxrmscreen || die
396 minstallexec hw/dmx/examples/dmxwininfo || die
397 minstallexec hw/dmx/examples/dmxinfo || die
398
399 minstallexec hw/dmx/config/dmxtodmx || die
400 minstallman hw/dmx/config/dmxtodmx.1 || die
401
402 minstallexec hw/dmx/config/vdltodmx || die
403 minstallman hw/dmx/config/vdltodmx.1 || die
404
405 minstallexec hw/dmx/config/xdmxconfig || die
406 minstallman hw/dmx/config/xdmxconfig.1 || die
407
408 # needed directory
409 mkeepdir /usr/share/X11/xkb/compiled || die
410 }
411
412 src_install_xvfb()
413 {
414 cd ${SRCDIR}
415
416 minstallexec hw/vfb/Xvfb || die
417 minstallman hw/vfb/Xvfb.1 || die
418
419 # needed directory
420 mkeepdir /usr/share/X11/xkb/compiled || die
421 }