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

Contents of /x11-base/xorg-server/xorg-server-1.4.0.90-r1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Thu Jan 17 20:52:28 2008 UTC (6 years, 3 months ago) by dberkholz
Branch: MAIN
(#204362) Security bump. Bump for 1.3 series coming a bit later.
(Portage version: 2.1.4)

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.0.90.ebuild,v 1.2 2007/12/16 23:30:23 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     MESA_PN="Mesa"
13     MESA_PV="7.0.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     KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
22     IUSE_INPUT_DEVICES="
23     input_devices_acecad
24     input_devices_aiptek
25     input_devices_calcomp
26     input_devices_citron
27     input_devices_digitaledge
28     input_devices_dmc
29     input_devices_dynapro
30     input_devices_elo2300
31     input_devices_elographics
32     input_devices_evdev
33     input_devices_fpit
34     input_devices_hyperpen
35     input_devices_jamstudio
36     input_devices_joystick
37     input_devices_keyboard
38     input_devices_magellan
39     input_devices_microtouch
40     input_devices_mouse
41     input_devices_mutouch
42     input_devices_palmax
43     input_devices_penmount
44     input_devices_spaceorb
45     input_devices_summa
46     input_devices_tek4957
47     input_devices_ur98
48     input_devices_vmmouse
49     input_devices_void
50    
51     input_devices_synaptics
52     input_devices_wacom"
53     IUSE_VIDEO_CARDS="
54     video_cards_amd
55     video_cards_apm
56     video_cards_ark
57     video_cards_chips
58     video_cards_cirrus
59     video_cards_cyrix
60     video_cards_dummy
61     video_cards_epson
62     video_cards_fbdev
63     video_cards_glint
64     video_cards_i128
65     video_cards_i740
66     video_cards_i810
67     video_cards_impact
68     video_cards_imstt
69     video_cards_mach64
70     video_cards_mga
71     video_cards_neomagic
72     video_cards_newport
73     video_cards_nsc
74     video_cards_nv
75     video_cards_r128
76     video_cards_radeon
77     video_cards_rendition
78     video_cards_s3
79     video_cards_s3virge
80     video_cards_savage
81     video_cards_siliconmotion
82     video_cards_sis
83     video_cards_sisusb
84     video_cards_sunbw2
85     video_cards_suncg14
86     video_cards_suncg3
87     video_cards_suncg6
88     video_cards_sunffb
89     video_cards_sunleo
90     video_cards_suntcx
91     video_cards_tdfx
92     video_cards_tga
93     video_cards_trident
94     video_cards_tseng
95     video_cards_v4l
96     video_cards_vermilion
97     video_cards_vesa
98     video_cards_vga
99     video_cards_via
100     video_cards_vmware
101     video_cards_voodoo
102     video_cards_xgi
103     video_cards_fglrx
104     video_cards_nvidia"
105     IUSE_SERVERS="dmx kdrive xorg"
106     IUSE="${IUSE_VIDEO_CARDS}
107     ${IUSE_INPUT_DEVICES}
108     ${IUSE_SERVERS}
109     3dfx
110     dri hal ipv6 minimal nptl sdl xprint"
111     RDEPEND="hal? ( sys-apps/hal )
112     >=x11-libs/libXfont-1.3.1
113     >=x11-libs/xtrans-1.0.4
114     >=x11-libs/libXau-1.0.3
115     >=x11-libs/libXext-1.0.2
116     >=x11-libs/libX11-1.1.3
117     >=x11-libs/libxkbfile-1.0.4
118     >=x11-libs/libXdmcp-1.0.2
119     >=x11-libs/libXmu-1.0.3
120     >=x11-libs/libXrender-0.9.4
121     >=x11-libs/libXi-1.1.3
122     >=x11-libs/pixman-0.9.5
123     media-libs/freetype
124     >=media-libs/mesa-7.0.1
125     media-fonts/font-adobe-75dpi
126     media-fonts/font-misc-misc
127     media-fonts/font-cursor-misc
128     >=x11-misc/xbitmaps-1.0.1
129     >=x11-misc/xkeyboard-config-0.9
130     >=x11-apps/iceauth-1.0.2
131     >=x11-apps/rgb-1.0.1
132     >=x11-apps/xauth-1.0.2
133     >=x11-apps/xinit-1.0.5
134     app-admin/eselect-opengl
135     >=x11-libs/libXaw-1.0.4
136     >=x11-libs/libXpm-3.5.7
137     >=x11-libs/libXxf86misc-1.0.1
138     >=x11-libs/libXxf86vm-1.0.1
139     dmx? ( >=x11-libs/libdmx-1.0.2
140     >=x11-libs/libXfixes-4.0.3 )
141     !minimal? ( >=x11-libs/libXtst-1.0.3
142     >=x11-libs/libXres-1.0.3 )
143     >=x11-libs/libxkbui-1.0.2
144     >=x11-libs/liblbxutil-1.0.1
145     kdrive? ( sdl? ( media-libs/libsdl ) )"
146     # Xres is dmx-dependent, xkbui is xorgcfg-dependent
147     # Xaw is dmx- and xorgcfg-dependent
148     # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
149     # Xxf86misc and Xxf86vm are xorgcfg-dependent
150     # liblbxutil is lbx- dependent
151     DEPEND="${RDEPEND}
152     !net-dialup/dtrace
153     >=x11-proto/randrproto-1.2.1
154     >=x11-proto/renderproto-0.9.3
155     >=x11-proto/fixesproto-4
156     >=x11-proto/damageproto-1.1
157     >=x11-proto/xextproto-7.0.2
158     >=x11-proto/xproto-7.0.10
159     >=x11-proto/xf86dgaproto-2.0.3
160     >=x11-proto/xf86miscproto-0.9.2
161     >=x11-proto/xf86rushproto-1.1.2
162     >=x11-proto/xf86vidmodeproto-2.2.2
163     >=x11-proto/xf86bigfontproto-1.1.2
164     >=x11-proto/compositeproto-0.4
165     >=x11-proto/recordproto-1.13.2
166     >=x11-proto/resourceproto-1.0.2
167     >=x11-proto/videoproto-2.2.2
168     >=x11-proto/scrnsaverproto-1.1.0
169     >=x11-proto/evieext-1.0.2
170     >=x11-proto/trapproto-3.4.3
171     >=x11-proto/xineramaproto-1.1-r1
172     >=x11-proto/fontsproto-2.0.2
173     >=x11-proto/kbproto-1.0.3
174     >=x11-proto/inputproto-1.4.2.1
175     >=x11-proto/bigreqsproto-1.0.2
176     >=x11-proto/xcmiscproto-1.1.2
177     >=x11-proto/glproto-1.4.8
178     dmx? ( >=x11-proto/dmxproto-2.2.2 )
179     dri? ( >=x11-proto/xf86driproto-2.0.3
180     >=x11-libs/libdrm-2.3 )
181     xprint? ( >=x11-proto/printproto-1.0.3
182     >=x11-apps/mkfontdir-1.0.3
183     >=x11-apps/mkfontscale-1.0.3
184     >=x11-apps/xplsprinters-1.0.1 )"
185    
186     # Drivers
187     PDEPEND="
188     xorg? (
189     input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 )
190     input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 )
191     input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.1 )
192     input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.1 )
193     input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 )
194     input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 )
195     input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.1 )
196     input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.1 )
197     input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 )
198     input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 )
199     input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 )
200     input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 )
201     input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 )
202     input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 )
203     input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.2.0 )
204     input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.1 )
205     input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.1 )
206     input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 )
207     input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 )
208     input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 )
209     input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.2.1 )
210     input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.1 )
211     input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 )
212     input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 )
213     input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 )
214     input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.2 )
215     input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 )
216    
217     input_devices_synaptics? ( x11-drivers/synaptics )
218     input_devices_wacom? ( x11-drivers/linuxwacom )
219    
220     video_cards_amd? ( >=x11-drivers/xf86-video-amd-2.7.7.0 )
221     video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 )
222     video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 )
223     video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 )
224     video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 )
225     video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 )
226     video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 )
227     video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 )
228     video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 )
229     video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 )
230     video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 )
231     video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 )
232     video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 )
233     video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 )
234     video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 )
235     video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 )
236     video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 )
237     video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 )
238     video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 )
239     video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 )
240     video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 )
241     video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 )
242     video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 )
243     video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 )
244     video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 )
245     video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 )
246     video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 )
247     video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 )
248     video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 )
249     video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 )
250     video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 )
251     video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 )
252     video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 )
253     video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 )
254     video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 )
255     video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 )
256     video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 )
257     video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 )
258     video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 )
259     video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 )
260     video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 )
261     video_cards_vermilion? ( >=x11-drivers/xf86-video-vermilion-1.0.0 )
262     video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 )
263     video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 )
264     video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 )
265     video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 )
266     video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 )
267     video_cards_xgi? ( >=x11-drivers/xf86-video-xgi-1.5.0 )
268     video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
269     video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.433 )
270     video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-71.86.01 )
271     )"
272     LICENSE="${LICENSE} MIT"
273    
274     PATCHES="
275     ${FILESDIR}/1.4-ia64.patch
276     ${FILESDIR}/1.3.0.0-use-proc-instead-of-sys.patch
277     ${FILESDIR}/1.4-fpic-libxf86config.patch
278     ${FILESDIR}/1.4-document-new-font-catalogs.patch
279     ${FILESDIR}/1.4-fix-dmx-build.patch
280     ${FILESDIR}/1.4-fix-dmx-link.patch
281     ${FILESDIR}/1.4-fix-xephyr-link.patch
282     ${FILESDIR}/1.4-fix-xprint-build.patch
283     ${FILESDIR}/1.4-fix-xprint-link.patch
284     ${FILESDIR}/1.4-fix-kdrive-automake.patch
285     ${FILESDIR}/1.4-dont-hang-openoffice.patch
286     ${FILESDIR}/${PV}-clean-generated-files.patch
287     ${FILESDIR}/1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch
288     ${FILESDIR}/1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch
289     ${FILESDIR}/1.4-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch
290     ${FILESDIR}/1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch
291     ${FILESDIR}/1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch
292     ${FILESDIR}/1.4-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch
293     "
294    
295     pkg_setup() {
296     use minimal || ensure_a_server_is_building
297    
298     # SDL only available in kdrive build
299     if use kdrive && use sdl; then
300     conf_opts="${conf_opts} --enable-xsdl"
301     else
302     conf_opts="${conf_opts} --disable-xsdl"
303     fi
304    
305     # Only Xorg and Xgl support this, and we won't build Xgl
306     # until it merges to trunk
307     if use xorg; then
308     conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
309     fi
310    
311     # localstatedir is used for the log location; we need to override the default
312     # from ebuild.sh
313     # sysconfdir is used for the xorg.conf location; same applies
314     # --enable-install-setuid needed because sparcs default off
315     CONFIGURE_OPTIONS="
316     $(use_enable ipv6)
317     $(use_enable dmx)
318     $(use_enable kdrive)
319     $(use_enable !minimal xvfb)
320     $(use_enable !minimal xnest)
321     $(use_enable !minimal install-libxf86config)
322     $(use_enable dri)
323     $(use_enable xorg)
324     $(use_enable xprint)
325     $(use_enable nptl glx-tls)
326     $(use_enable !minimal xorgcfg)
327     $(use_enable hal config-dbus)
328     $(use_enable hal config-hal)
329     --sysconfdir=/etc/X11
330     --localstatedir=/var
331     --enable-install-setuid
332     --with-fontdir=/usr/share/fonts
333     --with-xkb-output=/var/lib/xkb
334     ${conf_opts}"
335    
336     local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
337     if built_with_use media-libs/mesa nptl; then
338     use nptl || die "${diemsg}"
339     else
340     use nptl && die "${diemsg}"
341     fi
342    
343     # (#121394) Causes window corruption
344     filter-flags -fweb
345    
346     # Nothing else provides new enough glxtokens.h
347     ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
348     OLD_IMPLEM="$(eselect opengl show)"
349     eselect opengl set --impl-headers ${OPENGL_DIR}
350     }
351    
352     src_unpack() {
353     x-modular_specs_check
354     x-modular_dri_check
355     x-modular_unpack_source
356     x-modular_patch_source
357    
358     # Clean up for ${PV}-clean-generated-files.patch
359     pushd hw/xprint >/dev/null
360     rm -f *-wrapper.c || die
361     popd >/dev/null
362    
363     # Set up kdrive servers to build
364     if use kdrive; then
365     kdrive_setup
366     fi
367    
368     # Make sure eautoreconf gets run if we need the autoconf/make
369     # changes.
370     if [[ ${SNAPSHOT} != "yes" ]]; then
371     if use kdrive || use dmx || use xprint; then
372     SNAPSHOT="yes"
373     fi
374     fi
375    
376     if use hal; then
377     sed -i \
378     -e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \
379     "${S}"/config/Makefile.am \
380     || die "failed to fix DBUS config directory"
381     SNAPSHOT="yes"
382     fi
383    
384     x-modular_reconf_source
385     #do not install xprint's Xsession.d files, we'll do it later
386     if use xprint; then
387     sed -e "s:install-data-am\: install-dist_xpcDATA:install-data-am\::g" \
388     -i "${S}"/hw/xprint/etc/Xsession.d/Makefile.in \
389     || die "sed of Xsession.d makefile failed"
390     fi
391     }
392    
393     src_install() {
394     x-modular_src_install
395    
396     dynamic_libgl_install
397    
398     server_based_install
399    
400     # Install video mode files for system-config-display
401     insinto /usr/share/xorg
402     doins hw/xfree86/common/{extra,vesa}modes \
403     || die "couldn't install extra modes"
404    
405     # Bug #151421 - this file is not built with USE="minimal"
406     # Bug #151670 - this file is also not build if USE="-xorg"
407     if ! use minimal && use xorg; then
408     # Install xorg.conf.example
409     insinto /etc/X11
410     doins hw/xfree86/xorg.conf.example \
411     || die "couldn't install xorg.conf.example"
412     fi
413     }
414    
415     pkg_postinst() {
416     switch_opengl_implem
417    
418     # Bug #135544
419     ewarn "Users of reduced blanking now need:"
420     ewarn " Option \"ReducedBlanking\""
421     ewarn "In the relevant Monitor section(s)."
422     ewarn "Make sure your reduced blanking modelines are safe!"
423    
424     echo
425     ewarn "You must rebuild all drivers if upgrading from xorg-server 1.3"
426     ewarn "or earlier, because the ABI changed. If you cannot start X because"
427     ewarn "of module version mismatch errors, this is your problem."
428    
429     ewarn "Here's a list of installed X drivers to emerge:"
430     print_installed x11-drivers/
431    
432     echo
433     ewarn "You can generate a similar list at any point using this command:"
434     ewarn "emerge portage-utils; qlist -I -C x11-drivers/"
435    
436     ebeep 5
437     epause 10
438     }
439    
440     pkg_postrm() {
441     # Get rid of module dir to ensure opengl-update works properly
442     if ! has_version x11-base/xorg-server; then
443     if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
444     rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
445     fi
446     fi
447     }
448    
449     kdrive_setup() {
450     local card real_card disable_card kdrive_fbdev kdrive_vesa
451    
452     einfo "Removing unused kdrive drivers ..."
453    
454     # Some kdrive servers require fbdev and vesa
455     kdrive_fbdev="radeon neomagic sis siliconmotion"
456     # Some kdrive servers require just vesa
457     kdrive_vesa="chips mach64 mga nv glint r128 via"
458    
459     for card in ${IUSE_VIDEO_CARDS}; do
460     real_card=${card#video_cards_}
461    
462     # Differences between VIDEO_CARDS name and kdrive server name
463     real_card=${real_card/glint/pm2}
464     real_card=${real_card/radeon/ati}
465     real_card=${real_card/%nv/nvidia}
466     real_card=${real_card/siliconmotion/smi}
467     real_card=${real_card/%sis/sis300}
468    
469     disable_card=0
470    
471     # Check whether it's a valid kdrive server before we waste time
472     # on the rest of this
473     if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then
474     continue
475     fi
476    
477     if ! use ${card}; then
478     if use x86; then
479     # Some kdrive servers require fbdev and vesa
480     for i in ${kdrive_fbdev}; do
481     if use video_cards_${i}; then
482     if [[ ${real_card} = fbdev ]] \
483     || [[ ${real_card} = vesa ]]; then
484     continue 2 # Don't disable
485     fi
486     fi
487     done
488    
489     # Some kdrive servers require just vesa
490     for i in ${kdrive_vesa}; do
491     if use video_cards_${i}; then
492     if [[ ${real_card} = vesa ]]; then
493     continue 2 # Don't disable
494     fi
495     fi
496     done
497     fi
498     disable_card=1
499     # Bug #150052
500     # fbdev is the only VIDEO_CARDS setting that works on non-x86
501     elif ! use x86 \
502     && [[ ${real_card} != fbdev ]]; then
503     ewarn " $real_card does not work on your architecture; disabling."
504     disable_card=1
505     fi
506    
507     if [[ $disable_card = 1 ]]; then
508     ebegin " ${real_card}"
509     sed -i \
510     -e "s:\b${real_card}\b::g" \
511     "${S}"/hw/kdrive/Makefile.am \
512     || die "sed of ${real_card} failed"
513     eend
514     fi
515    
516     done
517     }
518    
519     dynamic_libgl_install() {
520     # next section is to setup the dynamic libGL stuff
521     ebegin "Moving GL files for dynamic switching"
522     dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
523     local x=""
524     for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
525     if [ -f ${x} -o -L ${x} ]; then
526     mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
527     fi
528     done
529     eend 0
530     }
531    
532     server_based_install() {
533     use xprint && xprint_src_install
534    
535     if ! use xorg; then
536     rm "${D}"/usr/share/man/man1/Xserver.1x \
537     "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
538     "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
539     "${D}"/usr/share/man/man1/Xserver.1x
540     fi
541     }
542    
543     switch_opengl_implem() {
544     # Switch to the xorg implementation.
545     # Use new opengl-update that will not reset user selected
546     # OpenGL interface ...
547     echo
548     # eselect opengl set --use-old ${OPENGL_DIR}
549     eselect opengl set ${OLD_IMPLEM}
550     }
551    
552     print_installed() {
553     local command line token=$1
554    
555     if $(type -P qlist >/dev/null 2>&1); then
556     command="qlist -I -C ${token}"
557     elif $(type -P equery >/dev/null 2>&1); then
558     command="equery -q -C list ${token} | grep -o '${token}[[:alnum:].-]*'"
559     elif $(type -P epm >/dev/null 2>&1); then
560     command="epm -qaG | grep ${token}"
561     else
562     local dir
563     command="true"
564     for dir in "${PORTDIR}"/${token}*; do
565     command="${command} ; best_version ${dir#${PORTDIR}/}"
566     done
567     fi
568     while read line; do
569     ewarn "${line}"
570     done < <(eval ${command})
571     }
572    
573     xprint_src_install() {
574     # RH-style init script, we provide a wrapper
575     exeinto /usr/$(get_libdir)/misc
576     doexe "${S}"/hw/xprint/etc/init.d/xprint
577     # Install the wrapper
578     newinitd "${FILESDIR}"/xprint.init xprint
579     # Install profile scripts
580     insinto /etc/profile.d
581     doins "${S}"/hw/xprint/etc/profile.d/xprint*
582     exeinto /etc/X11/xinit/xinitrc.d
583     doexe "${S}"/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
584     # Patch profile scripts
585     sed -e "s:/etc/init.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
586     get_xpserverlist:g" -i "${D}"/etc/profile.d/xprint* \
587     "${D}"/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
588     # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
589     dodoc "${D}"/etc/profile.d/xprint*
590     rm -f "${D}"/etc/profile.d/xprint*
591     }
592    
593     ensure_a_server_is_building() {
594     for server in ${IUSE_SERVERS}; do
595     use ${server} && return;
596     done
597     eerror "You need to specify at least one server to build."
598     eerror "Valid servers are: ${IUSE_SERVERS}."
599     die "No servers were specified to build."
600     }

  ViewVC Help
Powered by ViewVC 1.1.20