Magellan Linux

Contents of /trunk/core/xorg-server/xorg-server-1.11.3-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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