/[gentoo-x86]/x11-base/xorg-server/xorg-server-1.5.0.ebuild
Gentoo

Contents of /x11-base/xorg-server/xorg-server-1.5.0.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations) (download)
Sun Sep 14 01:44:31 2008 UTC (6 years, 2 months ago) by bluebird
Branch: MAIN
Changes since 1.2: +2 -2 lines
Add ~sparc keyword, bug #237411
(Portage version: 2.2_rc8/cvs/Linux 2.6.27-rc6-00036-ga551b98 sparc64)

1 # Copyright 1999-2008 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.5.0.ebuild,v 1.2 2008/09/06 21:03:30 chainsaw Exp $
4
5 # Must be before x-modular eclass is inherited
6 SNAPSHOT="yes"
7
8 inherit x-modular multilib
9
10 OPENGL_DIR="xorg-x11"
11
12 SRC_URI="${SRC_URI}
13 http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2"
14 DESCRIPTION="X.Org X servers"
15 KEYWORDS="~amd64 ~sparc ~x86"
16 IUSE_INPUT_DEVICES="
17 input_devices_acecad
18 input_devices_aiptek
19 input_devices_calcomp
20 input_devices_citron
21 input_devices_digitaledge
22 input_devices_dmc
23 input_devices_dynapro
24 input_devices_elo2300
25 input_devices_elographics
26 input_devices_evdev
27 input_devices_fpit
28 input_devices_hyperpen
29 input_devices_jamstudio
30 input_devices_joystick
31 input_devices_keyboard
32 input_devices_magellan
33 input_devices_microtouch
34 input_devices_mouse
35 input_devices_mutouch
36 input_devices_palmax
37 input_devices_penmount
38 input_devices_spaceorb
39 input_devices_summa
40 input_devices_tek4957
41 input_devices_ur98
42 input_devices_vmmouse
43 input_devices_void
44
45 input_devices_synaptics
46 input_devices_wacom"
47 IUSE_VIDEO_CARDS="
48 video_cards_apm
49 video_cards_ark
50 video_cards_chips
51 video_cards_cirrus
52 video_cards_cyrix
53 video_cards_dummy
54 video_cards_epson
55 video_cards_fbdev
56 video_cards_geode
57 video_cards_glint
58 video_cards_i128
59 video_cards_i740
60 video_cards_i810
61 video_cards_impact
62 video_cards_imstt
63 video_cards_mach64
64 video_cards_mga
65 video_cards_neomagic
66 video_cards_newport
67 video_cards_nsc
68 video_cards_nv
69 video_cards_r128
70 video_cards_radeon
71 video_cards_radeonhd
72 video_cards_rendition
73 video_cards_s3
74 video_cards_s3virge
75 video_cards_savage
76 video_cards_siliconmotion
77 video_cards_sis
78 video_cards_sisusb
79 video_cards_sunbw2
80 video_cards_suncg14
81 video_cards_suncg3
82 video_cards_suncg6
83 video_cards_sunffb
84 video_cards_sunleo
85 video_cards_suntcx
86 video_cards_tdfx
87 video_cards_tga
88 video_cards_trident
89 video_cards_tseng
90 video_cards_v4l
91 video_cards_vermilion
92 video_cards_vesa
93 video_cards_vga
94 video_cards_via
95 video_cards_vmware
96 video_cards_voodoo
97 video_cards_xgi
98 video_cards_fglrx
99 video_cards_nvidia"
100 IUSE_SERVERS="dmx kdrive xorg"
101 IUSE="${IUSE_VIDEO_CARDS}
102 ${IUSE_INPUT_DEVICES}
103 ${IUSE_SERVERS}
104 3dfx
105 dri hal ipv6 minimal nptl sdl"
106 RDEPEND="hal? ( sys-apps/hal )
107 >=x11-libs/libXfont-1.3.3
108 >=x11-libs/xtrans-1.2.1
109 >=x11-libs/libXau-1.0.4
110 >=x11-libs/libXext-1.0.4
111 >=x11-libs/libX11-1.1.5
112 >=x11-libs/libxkbfile-1.0.4
113 >=x11-libs/libXdmcp-1.0.2
114 >=x11-libs/libXmu-1.0.3
115 >=x11-libs/libXrender-0.9.4
116 >=x11-libs/libXi-1.1.3
117 >=x11-libs/pixman-0.10
118 media-libs/freetype
119 >=media-libs/mesa-7.1
120 media-fonts/font-adobe-75dpi
121 media-fonts/font-misc-misc
122 media-fonts/font-cursor-misc
123 >=x11-misc/xbitmaps-1.0.1
124 >=x11-misc/xkeyboard-config-1.3
125 >=x11-apps/iceauth-1.0.2
126 >=x11-apps/rgb-1.0.3
127 >=x11-apps/xauth-1.0.3
128 >=x11-apps/xinit-1.0.8-r3
129 app-admin/eselect-opengl
130 >=x11-libs/libXaw-1.0.4
131 >=x11-libs/libXpm-3.5.7
132 >=x11-libs/libXxf86misc-1.0.1
133 >=x11-libs/libXxf86vm-1.0.2
134 >=x11-libs/libpciaccess-0.10.3
135 dmx? ( >=x11-libs/libdmx-1.0.2
136 >=x11-libs/libXfixes-4.0.3 )
137 !minimal? ( >=x11-libs/libXtst-1.0.3
138 >=x11-libs/libXres-1.0.3 )
139 >=x11-libs/libxkbui-1.0.2
140 >=x11-libs/liblbxutil-1.0.1
141 kdrive? ( sdl? ( media-libs/libsdl ) )"
142 # Xres is dmx-dependent, xkbui is xorgcfg-dependent
143 # Xaw is dmx- and xorgcfg-dependent
144 # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
145 # Xxf86misc and Xxf86vm are xorgcfg-dependent
146 # liblbxutil is lbx- dependent
147 DEPEND="${RDEPEND}
148 !net-dialup/dtrace
149 >=x11-proto/randrproto-1.2.2
150 >=x11-proto/renderproto-0.9.3
151 >=x11-proto/fixesproto-4
152 >=x11-proto/damageproto-1.1
153 >=x11-proto/xextproto-7.0.3
154 >=x11-proto/xproto-7.0.13
155 >=x11-proto/xf86dgaproto-2.0.3
156 >=x11-proto/xf86miscproto-0.9.2
157 >=x11-proto/xf86rushproto-1.1.2
158 >=x11-proto/xf86vidmodeproto-2.2.2
159 >=x11-proto/xf86bigfontproto-1.1.2
160 >=x11-proto/compositeproto-0.4
161 >=x11-proto/recordproto-1.13.2
162 >=x11-proto/resourceproto-1.0.2
163 >=x11-proto/videoproto-2.2.2
164 >=x11-proto/scrnsaverproto-1.1.0
165 >=x11-proto/evieext-1.0.2
166 >=x11-proto/trapproto-3.4.3
167 >=x11-proto/xineramaproto-1.1.2
168 >=x11-proto/fontsproto-2.0.2
169 >=x11-proto/kbproto-1.0.3
170 >=x11-proto/inputproto-1.4.4
171 >=x11-proto/bigreqsproto-1.0.2
172 >=x11-proto/xcmiscproto-1.1.2
173 >=x11-proto/glproto-1.4.9
174 dmx? ( >=x11-proto/dmxproto-2.2.2 )
175 dri? ( >=x11-proto/xf86driproto-2.0.4
176 >=x11-libs/libdrm-2.3 )"
177
178 # Drivers
179 PDEPEND="
180 xorg? (
181 input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.2.2 )
182 input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.1.1 )
183 input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.2 )
184 input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.1 )
185 input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.1 )
186 input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.2 )
187 input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.2 )
188 input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.2 )
189 input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.2.2 )
190 input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-2.0.2 )
191 input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.2.0 )
192 input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.2.0 )
193 input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.2.0 )
194 input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.3.2 )
195 input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.3.1 )
196 input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.2.0 )
197 input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.2.0 )
198 input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.3.0 )
199 input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.2.0 )
200 input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.2.0 )
201 input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.3.0 )
202 input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.1 )
203 input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.2.0 )
204 input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.2.0 )
205 input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 )
206 input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.5.0 )
207 input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.1 )
208 input_devices_synaptics? ( x11-drivers/xf86-input-synaptics )
209 input_devices_wacom? ( x11-drivers/linuxwacom )
210
211 video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.2.0 )
212 video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.7.0 )
213 video_cards_ast? ( >=x11-drivers/xf86-video-ast-0.85.0 )
214 video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.2.0 )
215 video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.2.1 )
216 video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.3.0 )
217 video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.4.0 )
218 video_cards_geode? ( >=x11-drivers/xf86-video-geode-2.9.0 )
219 video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.2.1 )
220 video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.3.1 )
221 video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.2.0 )
222 video_cards_i810? ( >=x11-drivers/xf86-video-i810-2.4.2-r1 )
223 video_cards_mach64? ( >=x11-drivers/xf86-video-mach64-6.8.0 )
224 video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.9 )
225 video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.2.1 )
226 video_cards_nv? ( >=x11-drivers/xf86-video-nv-2.1.12 )
227 video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-173.14.09 )
228 video_cards_r128? ( >=x11-drivers/xf86-video-r128-6.8.0 )
229 video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.9.0 )
230 video_cards_radeonhd? ( >=x11-drivers/xf86-video-radeonhd-1.2.1 )
231 video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.2.0 )
232 video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.6.0 )
233 video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.10.1 )
234 video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.2.1 )
235 video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.6.0 )
236 video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.10.0 )
237 video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.9.0 )
238 video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.2.0 )
239 video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.2.0 )
240 video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.4.0 )
241 video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.2.0 )
242 video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.3.0 )
243 video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.2.0 )
244 video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.2.0 )
245 video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-2.0.0 )
246 video_cards_via? ( >=x11-drivers/xf86-video-openchrome-0.2.903 )
247 video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.16.5 )
248 video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.2.0 )
249 video_cards_xgi? ( >=x11-drivers/xf86-video-xgi-1.5.0 )
250
251 video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
252 !x11-drivers/ati-drivers
253
254 !x11-drivers/xf86-video-impact
255 !x11-drivers/xf86-video-imstt
256 !x11-drivers/xf86-video-newport
257 !x11-drivers/xf86-video-sunbw2
258 !x11-drivers/xf86-video-suncg14
259 !x11-drivers/xf86-video-suncg3
260 !x11-drivers/xf86-video-suncg6
261 !x11-drivers/xf86-video-suntcx
262 !x11-drivers/xf86-video-vermilion
263
264 !x11-drivers/xf86-video-cyrix
265 !x11-drivers/xf86-video-nsc
266 !x11-drivers/xf86-video-vga
267 )"
268 LICENSE="${LICENSE} MIT"
269
270 EPATCH_FORCE="yes"
271 EPATCH_SUFFIX="patch"
272
273 # Local customizations, unsuitable for upstream
274 GENTOO_PATCHES=(
275 "${FILESDIR}/1.4-fpic-libxf86config.patch"
276 "${FILESDIR}/1.4-fix-kdrive-automake.patch"
277 )
278
279 # These have been sent upstream
280 UPSTREAMED_PATCHES=()
281
282 PATCHES=(
283 "${GENTOO_PATCHES[@]}"
284 "${UPSTREAMED_PATCHES[@]}"
285 )
286
287 pkg_setup() {
288 use minimal || ensure_a_server_is_building
289
290 # SDL only available in kdrive build
291 if use kdrive && use sdl; then
292 conf_opts="${conf_opts} --enable-xsdl"
293 else
294 conf_opts="${conf_opts} --disable-xsdl"
295 fi
296
297 # localstatedir is used for the log location; we need to override the default
298 # from ebuild.sh
299 # sysconfdir is used for the xorg.conf location; same applies
300 # --enable-install-setuid needed because sparcs default off
301 CONFIGURE_OPTIONS="
302 $(use_enable ipv6)
303 $(use_enable dmx)
304 $(use_enable kdrive)
305 $(use_enable !minimal xvfb)
306 $(use_enable !minimal xnest)
307 $(use_enable !minimal xfree86-utils)
308 $(use_enable !minimal install-libxf86config)
309 $(use_enable dri)
310 $(use_enable xorg)
311 $(use_enable nptl glx-tls)
312 $(use_enable !minimal xorgcfg)
313 $(use_enable hal config-dbus)
314 $(use_enable hal config-hal)
315 --disable-dri2
316 --sysconfdir=/etc/X11
317 --localstatedir=/var
318 --enable-install-setuid
319 --with-fontdir=/usr/share/fonts
320 --with-xkb-output=/var/lib/xkb
321 ${conf_opts}"
322
323 local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
324 if built_with_use media-libs/mesa nptl; then
325 use nptl || die "${diemsg}"
326 else
327 use nptl && die "${diemsg}"
328 fi
329
330 # (#121394) Causes window corruption
331 filter-flags -fweb
332
333 # Nothing else provides new enough glxtokens.h
334 ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
335 OLD_IMPLEM="$(eselect opengl show)"
336 eselect opengl set --impl-headers ${OPENGL_DIR}
337 }
338
339 src_unpack() {
340 x-modular_specs_check
341 x-modular_dri_check
342 x-modular_unpack_source
343 x-modular_patch_source
344
345 # Set up kdrive servers to build
346 if use kdrive; then
347 kdrive_setup
348 fi
349
350 # Make sure eautoreconf gets run if we need the autoconf/make
351 # changes.
352 if [[ ${SNAPSHOT} != "yes" ]]; then
353 if use kdrive || use dmx; then
354 SNAPSHOT="yes"
355 fi
356 fi
357
358 if use hal; then
359 sed -i \
360 -e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \
361 "${S}"/config/Makefile.am \
362 || die "failed to fix DBUS config directory"
363 SNAPSHOT="yes"
364 fi
365
366 x-modular_reconf_source
367 }
368
369 src_install() {
370 x-modular_src_install
371
372 dynamic_libgl_install
373
374 server_based_install
375
376 # Install video mode files for system-config-display
377 insinto /usr/share/xorg
378 doins hw/xfree86/common/{extra,vesa}modes \
379 || die "couldn't install extra modes"
380
381 # Bug #151421 - this file is not built with USE="minimal"
382 # Bug #151670 - this file is also not build if USE="-xorg"
383 if ! use minimal && use xorg; then
384 # Install xorg.conf.example
385 insinto /etc/X11
386 doins hw/xfree86/xorg.conf.example \
387 || die "couldn't install xorg.conf.example"
388 fi
389 }
390
391 pkg_postinst() {
392 switch_opengl_implem
393
394 # Bug #135544
395 ewarn "Users of reduced blanking now need:"
396 ewarn " Option \"ReducedBlanking\""
397 ewarn "In the relevant Monitor section(s)."
398 ewarn "Make sure your reduced blanking modelines are safe!"
399
400 echo
401 ewarn "You must rebuild all drivers if upgrading from xorg-server 1.4.1"
402 ewarn "or earlier, because the ABI changed. If you cannot start X because"
403 ewarn "of module version mismatch errors, this is your problem."
404
405 echo
406 ewarn "You can generate a list of all installed packages in the x11-drivers"
407 ewarn "category using this command:"
408 ewarn "emerge portage-utils; qlist -I -C x11-drivers/"
409
410 ebeep 5
411 epause 10
412 }
413
414 pkg_postrm() {
415 # Get rid of module dir to ensure opengl-update works properly
416 if ! has_version x11-base/xorg-server; then
417 if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
418 rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
419 fi
420 fi
421 }
422
423 kdrive_setup() {
424 local card real_card disable_card kdrive_fbdev kdrive_vesa
425
426 einfo "Removing unused kdrive drivers ..."
427
428 # Some kdrive servers require fbdev and vesa
429 kdrive_fbdev="radeon neomagic sis siliconmotion"
430 # Some kdrive servers require just vesa
431 kdrive_vesa="chips mach64 mga nv glint r128 via"
432
433 for card in ${IUSE_VIDEO_CARDS}; do
434 real_card=${card#video_cards_}
435
436 # Differences between VIDEO_CARDS name and kdrive server name
437 real_card=${real_card/glint/pm2}
438 real_card=${real_card/radeon/ati}
439 real_card=${real_card/%nv/nvidia}
440 real_card=${real_card/siliconmotion/smi}
441 real_card=${real_card/%sis/sis300}
442
443 disable_card=0
444
445 # Check whether it's a valid kdrive server before we waste time
446 # on the rest of this
447 if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then
448 continue
449 fi
450
451 if ! use ${card}; then
452 if use x86; then
453 # Some kdrive servers require fbdev and vesa
454 for i in ${kdrive_fbdev}; do
455 if use video_cards_${i}; then
456 if [[ ${real_card} = fbdev ]] \
457 || [[ ${real_card} = vesa ]]; then
458 continue 2 # Don't disable
459 fi
460 fi
461 done
462
463 # Some kdrive servers require just vesa
464 for i in ${kdrive_vesa}; do
465 if use video_cards_${i}; then
466 if [[ ${real_card} = vesa ]]; then
467 continue 2 # Don't disable
468 fi
469 fi
470 done
471 fi
472 disable_card=1
473 # Bug #150052
474 # fbdev is the only VIDEO_CARDS setting that works on non-x86
475 elif ! use x86 \
476 && [[ ${real_card} != fbdev ]]; then
477 ewarn " $real_card does not work on your architecture; disabling."
478 disable_card=1
479 fi
480
481 if [[ $disable_card = 1 ]]; then
482 ebegin " ${real_card}"
483 sed -i \
484 -e "s:\b${real_card}\b::g" \
485 "${S}"/hw/kdrive/Makefile.am \
486 || die "sed of ${real_card} failed"
487 eend
488 fi
489
490 done
491 }
492
493 dynamic_libgl_install() {
494 # next section is to setup the dynamic libGL stuff
495 ebegin "Moving GL files for dynamic switching"
496 dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
497 local x=""
498 for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
499 if [ -f ${x} -o -L ${x} ]; then
500 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
501 fi
502 done
503 eend 0
504 }
505
506 server_based_install() {
507 if ! use xorg; then
508 rm "${D}"/usr/share/man/man1/Xserver.1x \
509 "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
510 "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
511 "${D}"/usr/share/man/man1/Xserver.1x
512 fi
513 }
514
515 switch_opengl_implem() {
516 # Switch to the xorg implementation.
517 # Use new opengl-update that will not reset user selected
518 # OpenGL interface ...
519 echo
520 # eselect opengl set --use-old ${OPENGL_DIR}
521 eselect opengl set ${OLD_IMPLEM}
522 }
523
524 ensure_a_server_is_building() {
525 for server in ${IUSE_SERVERS}; do
526 use ${server} && return;
527 done
528 eerror "You need to specify at least one server to build."
529 eerror "Valid servers are: ${IUSE_SERVERS}."
530 die "No servers were specified to build."
531 }

  ViewVC Help
Powered by ViewVC 1.1.20