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