/[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.4 - (hide annotations) (download)
Mon Sep 15 00:39:42 2008 UTC (5 years, 11 months ago) by dberkholz
Branch: MAIN
Changes since 1.3: +2 -1 lines
(#237411) Add VIDEO_CARDS=ast to IUSE.
(Portage version: 2.2_rc8/cvs/Linux 2.6.27-rc6 x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20