Magellan Linux

Contents of /trunk/core/xorg-server/xorg-server-1.8.0-r4.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5358 - (show annotations) (download)
Mon May 10 19:57:29 2010 UTC (14 years ago) by niro
File size: 10221 byte(s)
-only add sane devices to 10-evdev.conf
1 # $Id$
2
3 PNAME="xorg-server"
4 PVER="1.8.0"
5 PBUILD="r4"
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.1"
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.5
25 >= x11-libs/libXdmcp-1.0.3
26 >= x11-libs/pixman-0.16.2
27 >= media-libs/freetype-2.3.9
28 >= media-fonts/font-misc-misc-1
29 >= media-fonts/font-cursor-misc-1
30 >= app-crypt/libgcrypt-1.4
31 >= app-crypt/libgpg-error-1.7
32 >= sys-fs/udev-151"
33
34 # rundepends
35 SDEPEND="${COMMON_DEPEND}
36 >= x11-libs/libXext-1.1
37 >= x11-libs/libX11-1.3.1
38 >= x11-libs/libXmu-1.0.5
39 >= x11-libs/libXrender-0.9.5
40 >= x11-libs/libXi-1.3
41 == media-libs/mesa-${MESA_PVER}
42 >= x11-misc/xkeyboard-config-1.7
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.10
52 >= x11-libs/libpciaccess-0.10.9"
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}-1.4-fpic-libxf86config.patch
96 mirror://${PNAME}/${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch
97 mirror://${PNAME}/${PNAME}-${PVER}-match-only-sane-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-1.7
109 >= x11-apps/iceauth-1.0.3
110 >= x11-apps/rgb-1.0.3
111 >= x11-apps/xauth-1.0.4
112 >= x11-apps/xinit-1.1.1
113 >= x11-base/opengl-update-magellan-2.2.10
114 >= x11-libs/libpciaccess-0.10.9"
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 }
163
164 split_info_xephyr()
165 {
166 DESCRIPTION="A nested X11 server with opengl support."
167 DEPEND="${COMMON_DEPEND}
168 >= x11-libs/libXext-1.1
169 >= x11-libs/libX11-1.3.1
170 >= x11-libs/libXv-1.0.5
171 == media-libs/mesa-${MESA_PVER}
172 >= x11-libs/libXi-1.3
173 >= x11-libs/libXmu-1.0.5"
174 }
175
176 split_info_xnest()
177 {
178 DESCRIPTION="A nested X11 server."
179 DEPEND="${COMMON_DEPEND}
180 >= x11-libs/libXext-1.1
181 >= x11-libs/libX11-1.3.1"
182 }
183
184 split_info_xdmx()
185 {
186 DESCRIPTION="A distributed multihead X11 Server."
187 DEPEND="${COMMON_DEPEND}
188 >= x11-libs/libXext-1.1
189 >= x11-libs/libX11-1.3.1
190 >= x11-libs/libdmx-1.1.0
191 >= x11-libs/libXaw-1.0.7
192 >= x11-libs/libXfixes-4
193 >= x11-libs/libXi-1.3
194 >= x11-libs/libXrender-0.9.5"
195 }
196
197 split_info_xvfb()
198 {
199 DESCRIPTION="A virtual framebuffer X11 server."
200 DEPEND="${COMMON_DEPEND}"
201 }
202
203 src_prepare()
204 {
205 # must use mesa as opengl-headers!
206 [[ $(opengl-update --get-implementation) != xorg ]] &&
207 die "please change to xorg opengl-headers: opengl-update xorg"
208
209 munpack ${SRCFILE} || die
210 munpack ${MESA_SRCFILE} || die
211 cd ${SRCDIR}
212
213 # fixes fpic issues with libxf86config on 64bit systems
214 mpatch ${PNAME}-1.4-fpic-libxf86config.patch || die
215
216 # adopted from redhat; use a black background
217 mpatch ${PNAME}-1.2.0-die-ugly-pattern-die-die-die.patch || die
218
219 # only match sane devices in 10-evdev.conf
220 # having a generic catchall also adds devices like accelerometers. These
221 # devices make X unusable, hence restrict matching to "known sane" devices
222 # like pointers, touchpads, keyboards, tablets and touchscreens.
223 mpatch ${PNAME}-${PVER}-match-only-sane-devices.patch || die
224
225 # fix build issues, some wrapper files which should be generated
226 # at build time exist and the makefile doesn't whipe them. we patch
227 # the makefile to clean them and whipe these wrapper files
228 rm -f ${SRCDIR}/hw/xprint/*-wrapper.c || die
229
230 # fix xorg.conf.d location
231 sed -i 's:^\(@CONFIG_UDEV_TRUE@xorgconfddir =\).*:\1 $(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.in || die
232 sed -i 's:^\(xorgconfddir =\).*: \1$(sysconfdir)/X11/$(XF86CONFIGDIR):' config/Makefile.am || die
233
234 autoreconf --verbose --install --force || die
235 }
236
237 src_compile()
238 {
239 cd ${SRCDIR}
240
241 xorg_src_configure \
242 --with-mesa-source=${MESA_SRCDIR} \
243 --sysconfdir=/etc \
244 --localstatedir=/var \
245 --with-xkb-output=/var/lib/xkb \
246 --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1 \
247 --enable-install-setuid \
248 --enable-ipv6 \
249 --enable-xorg \
250 --enable-kdrive \
251 --enable-xephyr \
252 --enable-dmx \
253 --enable-xvfb \
254 --enable-xnest \
255 --enable-dri \
256 --enable-dri2 \
257 --enable-xtrap \
258 --enable-xevie \
259 --disable-xprint \
260 --enable-glx-tls \
261 --disable-static \
262 --disable-config-dbus \
263 --disable-config-hal \
264 --enable-config-udev \
265 || die
266
267 mmake || die
268 }
269
270 src_install_xorg-server()
271 {
272 xorg_src_install || die
273
274 # needed directories
275 minstalldir /usr/bin || die
276 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
277
278 # dynamic opengl setup
279 local i
280 for i in ${BINDIR}/usr/$(mlibdir)/xorg/modules/libglx* \
281 ${BINDIR}/usr/$(mlibdir)/xorg/modules/libdri*
282 do
283 if [ -f ${i} -o -L ${i} ]
284 then
285 mv -f ${i} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/extensions || die "${i}"
286 fi
287 done
288
289 # missing symlink
290 mlink Xorg /usr/bin/X || die
291
292 # remove stuff included in other packages
293 # xfbdev
294 rm ${BINDIR}/usr/bin/Xfbdev || die
295 # xephyr
296 rm ${BINDIR}/usr/bin/Xephyr || die
297 rm ${BINDIR}/usr/share/man/man1/Xephyr.1 || die
298 # xnest
299 rm ${BINDIR}/usr/bin/Xnest || die
300 rm ${BINDIR}/usr/share/man/man1/Xnest.1 || die
301 # xdmx
302 rm ${BINDIR}/usr/bin/Xdmx || die
303 rm ${BINDIR}/usr/share/man/man1/Xdmx.1 || die
304 rm ${BINDIR}/usr/bin/dmxaddinput || die
305 rm ${BINDIR}/usr/bin/dmxaddscreen || die
306 rm ${BINDIR}/usr/bin/dmxreconfig || die
307 rm ${BINDIR}/usr/bin/dmxresize || die
308 rm ${BINDIR}/usr/bin/dmxrminput || die
309 rm ${BINDIR}/usr/bin/dmxrmscreen || die
310 rm ${BINDIR}/usr/bin/dmxwininfo || die
311 rm ${BINDIR}/usr/bin/dmxinfo || die
312 rm ${BINDIR}/usr/bin/dmxtodmx || die
313 rm ${BINDIR}/usr/share/man/man1/dmxtodmx.1 || die
314 rm ${BINDIR}/usr/bin/vdltodmx || die
315 rm ${BINDIR}/usr/share/man/man1/vdltodmx.1 || die
316 rm ${BINDIR}/usr/bin/xdmxconfig || die
317 rm ${BINDIR}/usr/share/man/man1/xdmxconfig.1 || die
318 # xvfb
319 rm ${BINDIR}/usr/bin/Xvfb || die
320 rm ${BINDIR}/usr/share/man/man1/Xvfb.1 || die
321 }
322
323 src_install_kdrive()
324 {
325 cd ${SRCDIR}
326
327 minstallexec hw/kdrive/fbdev/Xfbdev || die
328 #minstallman hw/kdrive/fbdev/Xfbdev.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_xephyr()
338 {
339 cd ${SRCDIR}
340
341 minstallexec hw/kdrive/ephyr/Xephyr || die
342 minstallman hw/kdrive/ephyr/Xephyr.1 || die
343
344 # suid all tinyX servers
345 mchmod 4755 /usr/bin/X\* || die
346
347 # needed directory
348 mkeepdir /usr/share/X11/xkb/compiled || die
349 }
350
351 src_install_xnest()
352 {
353 cd ${SRCDIR}
354
355 minstallexec hw/xnest/Xnest || die
356 minstallman hw/xnest/Xnest.1 || die
357
358 # needed directory
359 mkeepdir /usr/share/X11/xkb/compiled || die
360 }
361
362 src_install_xdmx()
363 {
364 cd ${SRCDIR}
365
366 minstallexec hw/dmx/Xdmx || die
367 minstallman hw/dmx/Xdmx.1 || die
368
369 minstallexec hw/dmx/examples/dmxaddinput || die
370 minstallexec hw/dmx/examples/dmxaddscreen || die
371 minstallexec hw/dmx/examples/dmxreconfig || die
372 minstallexec hw/dmx/examples/dmxresize || die
373 minstallexec hw/dmx/examples/dmxrminput || die
374 minstallexec hw/dmx/examples/dmxrmscreen || die
375 minstallexec hw/dmx/examples/dmxwininfo || die
376 minstallexec hw/dmx/examples/dmxinfo || die
377
378 minstallexec hw/dmx/config/dmxtodmx || die
379 minstallman hw/dmx/config/dmxtodmx.1 || die
380
381 minstallexec hw/dmx/config/vdltodmx || die
382 minstallman hw/dmx/config/vdltodmx.1 || die
383
384 minstallexec hw/dmx/config/xdmxconfig || die
385 minstallman hw/dmx/config/xdmxconfig.1 || die
386
387 # needed directory
388 mkeepdir /usr/share/X11/xkb/compiled || die
389 }
390
391 src_install_xvfb()
392 {
393 cd ${SRCDIR}
394
395 minstallexec hw/vfb/Xvfb || die
396 minstallman hw/vfb/Xvfb.1 || die
397
398 # needed directory
399 mkeepdir /usr/share/X11/xkb/compiled || die
400 }

Properties

Name Value
svn:keywords Id