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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Tue May 1 05:44:20 2007 UTC (7 years, 2 months ago) by dberkholz
Branch: MAIN
Changes since 1.2: +5 -8 lines
Remove VIDEO_CARDS flags for binary drivers and block binary ati and nvidia drivers, since none of them work yet with 1.3. Since we aren't yet sure which versions will, block them unconditionally for now and add appropriate dependencies later.
(Portage version: 2.1.2.5)

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

  ViewVC Help
Powered by ViewVC 1.1.20