Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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