/[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.1 - (hide annotations) (download)
Sat Sep 6 07:12:13 2008 UTC (6 years, 1 month ago) by dberkholz
Branch: MAIN
Version bump.
(Portage version: 2.2_rc8/cvs/Linux 2.6.27-rc5 x86_64)

1 dberkholz 1.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.4.99.906.ebuild,v 1.1 2008/07/26 19:38:41 dberkholz 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 ~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    
209     input_devices_synaptics? ( ||
210     ( x11-drivers/xf86-input-synaptics x11-drivers/synaptics )
211     )
212     input_devices_wacom? ( x11-drivers/linuxwacom )
213    
214     video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.2.0 )
215     video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.7.0 )
216     video_cards_ast? ( >=x11-drivers/xf86-video-ast-0.85.0 )
217     video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.2.0 )
218     video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.2.1 )
219     video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.3.0 )
220     video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.4.0 )
221     video_cards_geode? ( >=x11-drivers/xf86-video-geode-2.9.0 )
222     video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.2.1 )
223     video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.3.1 )
224     video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.2.0 )
225     video_cards_i810? ( >=x11-drivers/xf86-video-i810-2.4.2-r1 )
226     video_cards_mach64? ( >=x11-drivers/xf86-video-mach64-6.8.0 )
227     video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.9 )
228     video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.2.1 )
229     video_cards_nv? ( >=x11-drivers/xf86-video-nv-2.1.12 )
230     video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-173.14.09 )
231     video_cards_r128? ( >=x11-drivers/xf86-video-r128-6.8.0 )
232     video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.9.0 )
233     video_cards_radeonhd? ( >=x11-drivers/xf86-video-radeonhd-1.2.1 )
234     video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.2.0 )
235     video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.6.0 )
236     video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.10.1 )
237     video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.2.1 )
238     video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.6.0 )
239     video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.10.0 )
240     video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.9.0 )
241     video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.2.0 )
242     video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.2.0 )
243     video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.4.0 )
244     video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.2.0 )
245     video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.3.0 )
246     video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.2.0 )
247     video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.2.0 )
248     video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-2.0.0 )
249     video_cards_via? ( >=x11-drivers/xf86-video-openchrome-0.2.903 )
250     video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.16.5 )
251     video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.2.0 )
252     video_cards_xgi? ( >=x11-drivers/xf86-video-xgi-1.5.0 )
253    
254     video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
255     !x11-drivers/ati-drivers
256    
257     !x11-drivers/xf86-video-impact
258     !x11-drivers/xf86-video-imstt
259     !x11-drivers/xf86-video-newport
260     !x11-drivers/xf86-video-sunbw2
261     !x11-drivers/xf86-video-suncg14
262     !x11-drivers/xf86-video-suncg3
263     !x11-drivers/xf86-video-suncg6
264     !x11-drivers/xf86-video-suntcx
265     !x11-drivers/xf86-video-vermilion
266    
267     !x11-drivers/xf86-video-cyrix
268     !x11-drivers/xf86-video-nsc
269     !x11-drivers/xf86-video-vga
270     )"
271     LICENSE="${LICENSE} MIT"
272    
273     EPATCH_FORCE="yes"
274     EPATCH_SUFFIX="patch"
275    
276     # Local customizations, unsuitable for upstream
277     GENTOO_PATCHES=(
278     "${FILESDIR}/1.4-fpic-libxf86config.patch"
279     "${FILESDIR}/1.4-fix-kdrive-automake.patch"
280     )
281    
282     # These have been sent upstream
283     UPSTREAMED_PATCHES=()
284    
285     PATCHES=(
286     "${GENTOO_PATCHES[@]}"
287     "${UPSTREAMED_PATCHES[@]}"
288     )
289    
290     pkg_setup() {
291     use minimal || ensure_a_server_is_building
292    
293     # SDL only available in kdrive build
294     if use kdrive && use sdl; then
295     conf_opts="${conf_opts} --enable-xsdl"
296     else
297     conf_opts="${conf_opts} --disable-xsdl"
298     fi
299    
300     # localstatedir is used for the log location; we need to override the default
301     # from ebuild.sh
302     # sysconfdir is used for the xorg.conf location; same applies
303     # --enable-install-setuid needed because sparcs default off
304     CONFIGURE_OPTIONS="
305     $(use_enable ipv6)
306     $(use_enable dmx)
307     $(use_enable kdrive)
308     $(use_enable !minimal xvfb)
309     $(use_enable !minimal xnest)
310     $(use_enable !minimal xfree86-utils)
311     $(use_enable !minimal install-libxf86config)
312     $(use_enable dri)
313     $(use_enable xorg)
314     $(use_enable nptl glx-tls)
315     $(use_enable !minimal xorgcfg)
316     $(use_enable hal config-dbus)
317     $(use_enable hal config-hal)
318     --disable-dri2
319     --sysconfdir=/etc/X11
320     --localstatedir=/var
321     --enable-install-setuid
322     --with-fontdir=/usr/share/fonts
323     --with-xkb-output=/var/lib/xkb
324     ${conf_opts}"
325    
326     local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
327     if built_with_use media-libs/mesa nptl; then
328     use nptl || die "${diemsg}"
329     else
330     use nptl && die "${diemsg}"
331     fi
332    
333     # (#121394) Causes window corruption
334     filter-flags -fweb
335    
336     # Nothing else provides new enough glxtokens.h
337     ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
338     OLD_IMPLEM="$(eselect opengl show)"
339     eselect opengl set --impl-headers ${OPENGL_DIR}
340     }
341    
342     src_unpack() {
343     x-modular_specs_check
344     x-modular_dri_check
345     x-modular_unpack_source
346     x-modular_patch_source
347    
348     # Set up kdrive servers to build
349     if use kdrive; then
350     kdrive_setup
351     fi
352    
353     # Make sure eautoreconf gets run if we need the autoconf/make
354     # changes.
355     if [[ ${SNAPSHOT} != "yes" ]]; then
356     if use kdrive || use dmx; then
357     SNAPSHOT="yes"
358     fi
359     fi
360    
361     if use hal; then
362     sed -i \
363     -e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \
364     "${S}"/config/Makefile.am \
365     || die "failed to fix DBUS config directory"
366     SNAPSHOT="yes"
367     fi
368    
369     x-modular_reconf_source
370     }
371    
372     src_install() {
373     x-modular_src_install
374    
375     dynamic_libgl_install
376    
377     server_based_install
378    
379     # Install video mode files for system-config-display
380     insinto /usr/share/xorg
381     doins hw/xfree86/common/{extra,vesa}modes \
382     || die "couldn't install extra modes"
383    
384     # Bug #151421 - this file is not built with USE="minimal"
385     # Bug #151670 - this file is also not build if USE="-xorg"
386     if ! use minimal && use xorg; then
387     # Install xorg.conf.example
388     insinto /etc/X11
389     doins hw/xfree86/xorg.conf.example \
390     || die "couldn't install xorg.conf.example"
391     fi
392     }
393    
394     pkg_postinst() {
395     switch_opengl_implem
396    
397     # Bug #135544
398     ewarn "Users of reduced blanking now need:"
399     ewarn " Option \"ReducedBlanking\""
400     ewarn "In the relevant Monitor section(s)."
401     ewarn "Make sure your reduced blanking modelines are safe!"
402    
403     echo
404     ewarn "You must rebuild all drivers if upgrading from xorg-server 1.4.1"
405     ewarn "or earlier, because the ABI changed. If you cannot start X because"
406     ewarn "of module version mismatch errors, this is your problem."
407    
408     echo
409     ewarn "You can generate a list of all installed packages in the x11-drivers"
410     ewarn "category using this command:"
411     ewarn "emerge portage-utils; qlist -I -C x11-drivers/"
412    
413     ebeep 5
414     epause 10
415     }
416    
417     pkg_postrm() {
418     # Get rid of module dir to ensure opengl-update works properly
419     if ! has_version x11-base/xorg-server; then
420     if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
421     rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
422     fi
423     fi
424     }
425    
426     kdrive_setup() {
427     local card real_card disable_card kdrive_fbdev kdrive_vesa
428    
429     einfo "Removing unused kdrive drivers ..."
430    
431     # Some kdrive servers require fbdev and vesa
432     kdrive_fbdev="radeon neomagic sis siliconmotion"
433     # Some kdrive servers require just vesa
434     kdrive_vesa="chips mach64 mga nv glint r128 via"
435    
436     for card in ${IUSE_VIDEO_CARDS}; do
437     real_card=${card#video_cards_}
438    
439     # Differences between VIDEO_CARDS name and kdrive server name
440     real_card=${real_card/glint/pm2}
441     real_card=${real_card/radeon/ati}
442     real_card=${real_card/%nv/nvidia}
443     real_card=${real_card/siliconmotion/smi}
444     real_card=${real_card/%sis/sis300}
445    
446     disable_card=0
447    
448     # Check whether it's a valid kdrive server before we waste time
449     # on the rest of this
450     if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then
451     continue
452     fi
453    
454     if ! use ${card}; then
455     if use x86; then
456     # Some kdrive servers require fbdev and vesa
457     for i in ${kdrive_fbdev}; do
458     if use video_cards_${i}; then
459     if [[ ${real_card} = fbdev ]] \
460     || [[ ${real_card} = vesa ]]; then
461     continue 2 # Don't disable
462     fi
463     fi
464     done
465    
466     # Some kdrive servers require just vesa
467     for i in ${kdrive_vesa}; do
468     if use video_cards_${i}; then
469     if [[ ${real_card} = vesa ]]; then
470     continue 2 # Don't disable
471     fi
472     fi
473     done
474     fi
475     disable_card=1
476     # Bug #150052
477     # fbdev is the only VIDEO_CARDS setting that works on non-x86
478     elif ! use x86 \
479     && [[ ${real_card} != fbdev ]]; then
480     ewarn " $real_card does not work on your architecture; disabling."
481     disable_card=1
482     fi
483    
484     if [[ $disable_card = 1 ]]; then
485     ebegin " ${real_card}"
486     sed -i \
487     -e "s:\b${real_card}\b::g" \
488     "${S}"/hw/kdrive/Makefile.am \
489     || die "sed of ${real_card} failed"
490     eend
491     fi
492    
493     done
494     }
495    
496     dynamic_libgl_install() {
497     # next section is to setup the dynamic libGL stuff
498     ebegin "Moving GL files for dynamic switching"
499     dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
500     local x=""
501     for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
502     if [ -f ${x} -o -L ${x} ]; then
503     mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
504     fi
505     done
506     eend 0
507     }
508    
509     server_based_install() {
510     if ! use xorg; then
511     rm "${D}"/usr/share/man/man1/Xserver.1x \
512     "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
513     "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
514     "${D}"/usr/share/man/man1/Xserver.1x
515     fi
516     }
517    
518     switch_opengl_implem() {
519     # Switch to the xorg implementation.
520     # Use new opengl-update that will not reset user selected
521     # OpenGL interface ...
522     echo
523     # eselect opengl set --use-old ${OPENGL_DIR}
524     eselect opengl set ${OLD_IMPLEM}
525     }
526    
527     ensure_a_server_is_building() {
528     for server in ${IUSE_SERVERS}; do
529     use ${server} && return;
530     done
531     eerror "You need to specify at least one server to build."
532     eerror "Valid servers are: ${IUSE_SERVERS}."
533     die "No servers were specified to build."
534     }

  ViewVC Help
Powered by ViewVC 1.1.20