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

Contents of /x11-base/xorg-server/xorg-server-1.4-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations) (download)
Thu Jan 17 21:31:41 2008 UTC (10 years, 9 months ago) by dberkholz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +1 -1 lines
FILE REMOVED
Security cleanup. Still waiting on mips/sh/arm to stable 1.3.0.0-r3 before I can pull -r2.
(Portage version: 2.1.4)

1 dberkholz 1.1 # Copyright 1999-2007 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 dberkholz 1.8 # $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.4-r2.ebuild,v 1.7 2007/11/30 06:29:48 dberkholz 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     MESA_PN="Mesa"
13     MESA_PV="7.0.1"
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 dberkholz 1.6 video_cards_fglrx
104 dberkholz 1.1 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 dberkholz 1.5 !net-dialup/dtrace
153 dberkholz 1.1 >=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 dberkholz 1.6 video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.433 )
270 cardoe 1.3 video_cards_nvidia? ( >=x11-drivers/nvidia-drivers-71.86.01 )
271 dberkholz 1.1 )"
272     LICENSE="${LICENSE} MIT"
273    
274     PATCHES="
275     ${FILESDIR}/${PV}-ia64.patch
276     ${FILESDIR}/1.3.0.0-use-proc-instead-of-sys.patch
277     ${FILESDIR}/${PV}-fpic-libxf86config.patch
278     ${FILESDIR}/${PV}-document-new-font-catalogs.patch
279     ${FILESDIR}/${PV}-fix-dmx-build.patch
280     ${FILESDIR}/${PV}-fix-dmx-link.patch
281     ${FILESDIR}/${PV}-fix-xephyr-link.patch
282     ${FILESDIR}/${PV}-fix-xprint-build.patch
283     ${FILESDIR}/${PV}-fix-xprint-link.patch
284     "
285    
286     pkg_setup() {
287     use minimal || ensure_a_server_is_building
288    
289     # SDL only available in kdrive build
290     if use kdrive && use sdl; then
291     conf_opts="${conf_opts} --enable-xsdl"
292     else
293     conf_opts="${conf_opts} --disable-xsdl"
294     fi
295    
296     # Only Xorg and Xgl support this, and we won't build Xgl
297     # until it merges to trunk
298     if use xorg; then
299     conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
300     fi
301    
302     # localstatedir is used for the log location; we need to override the default
303     # from ebuild.sh
304     # sysconfdir is used for the xorg.conf location; same applies
305     # --enable-install-setuid needed because sparcs default off
306     CONFIGURE_OPTIONS="
307     $(use_enable ipv6)
308     $(use_enable dmx)
309     $(use_enable kdrive)
310     $(use_enable !minimal xvfb)
311     $(use_enable !minimal xnest)
312     $(use_enable !minimal install-libxf86config)
313     $(use_enable dri)
314     $(use_enable xorg)
315     $(use_enable xprint)
316     $(use_enable nptl glx-tls)
317     $(use_enable !minimal xorgcfg)
318     $(use_enable hal config-dbus)
319     $(use_enable hal config-hal)
320     --sysconfdir=/etc/X11
321     --localstatedir=/var
322     --enable-install-setuid
323     --with-fontdir=/usr/share/fonts
324     --with-xkb-output=/var/lib/xkb
325     ${conf_opts}"
326    
327     local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
328     if built_with_use media-libs/mesa nptl; then
329     use nptl || die "${diemsg}"
330     else
331     use nptl && die "${diemsg}"
332     fi
333    
334     # (#121394) Causes window corruption
335     filter-flags -fweb
336    
337     # Nothing else provides new enough glxtokens.h
338     ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
339     OLD_IMPLEM="$(eselect opengl show)"
340     eselect opengl set --impl-headers ${OPENGL_DIR}
341     }
342    
343     src_unpack() {
344     x-modular_specs_check
345     x-modular_dri_check
346     x-modular_unpack_source
347     x-modular_patch_source
348    
349     # Set up kdrive servers to build
350     if use kdrive; then
351     kdrive_setup
352     fi
353    
354     # Make sure eautoreconf gets run if we need the autoconf/make
355     # changes.
356     if [[ ${SNAPSHOT} != "yes" ]]; then
357     if use kdrive || use dmx || use xprint; then
358     SNAPSHOT="yes"
359     fi
360     fi
361    
362     if use hal; then
363     sed -i \
364     -e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \
365     "${S}"/config/Makefile.am \
366     || die "failed to fix DBUS config directory"
367     SNAPSHOT="yes"
368     fi
369    
370     x-modular_reconf_source
371     }
372    
373     src_install() {
374     x-modular_src_install
375    
376     dynamic_libgl_install
377    
378     server_based_install
379    
380     # Install video mode files for system-config-display
381     insinto /usr/share/xorg
382     doins hw/xfree86/common/{extra,vesa}modes \
383     || die "couldn't install extra modes"
384    
385     # Bug #151421 - this file is not built with USE="minimal"
386     # Bug #151670 - this file is also not build if USE="-xorg"
387     if ! use minimal && use xorg; then
388     # Install xorg.conf.example
389     insinto /etc/X11
390     doins hw/xfree86/xorg.conf.example \
391     || die "couldn't install xorg.conf.example"
392     fi
393     }
394    
395     pkg_postinst() {
396     switch_opengl_implem
397    
398     # Bug #135544
399     ewarn "Users of reduced blanking now need:"
400     ewarn " Option \"ReducedBlanking\""
401     ewarn "In the relevant Monitor section(s)."
402     ewarn "Make sure your reduced blanking modelines are safe!"
403    
404     echo
405     ewarn "You must rebuild all drivers if upgrading from xorg-server 1.3"
406     ewarn "or earlier, because the ABI changed. If you cannot start X because"
407     ewarn "of module version mismatch errors, this is your problem."
408 dberkholz 1.4
409     print_installed x11-drivers/
410    
411 dberkholz 1.1 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 dberkholz 1.2 if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
419     rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
420 dberkholz 1.1 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 dberkholz 1.2 if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then
449 dberkholz 1.1 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 dberkholz 1.2 "${S}"/hw/kdrive/Makefile.am \
487 dberkholz 1.1 || die "sed of ${real_card} failed"
488     eend
489     fi
490    
491     done
492    
493     # smi and via are the only things on line 2. If line 2 ends up blank,
494     # we need to get rid of the backslash at the end of line 1.
495     if ! use video_cards_siliconmotion && ! use video_cards_via; then
496     sed -i \
497     -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \
498 dberkholz 1.2 "${S}"/hw/kdrive/Makefile.am
499 dberkholz 1.1 fi
500     }
501    
502     dynamic_libgl_install() {
503     # next section is to setup the dynamic libGL stuff
504     ebegin "Moving GL files for dynamic switching"
505     dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
506     local x=""
507 dberkholz 1.2 for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
508 dberkholz 1.1 if [ -f ${x} -o -L ${x} ]; then
509 dberkholz 1.2 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
510 dberkholz 1.1 fi
511     done
512     eend 0
513     }
514    
515     server_based_install() {
516     use xprint && xprint_src_install
517    
518     if ! use xorg; then
519 dberkholz 1.2 rm "${D}"/usr/share/man/man1/Xserver.1x \
520     "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
521     "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
522     "${D}"/usr/share/man/man1/Xserver.1x
523 dberkholz 1.1 fi
524     }
525    
526     switch_opengl_implem() {
527     # Switch to the xorg implementation.
528     # Use new opengl-update that will not reset user selected
529     # OpenGL interface ...
530     echo
531     # eselect opengl set --use-old ${OPENGL_DIR}
532     eselect opengl set ${OLD_IMPLEM}
533     }
534    
535 dberkholz 1.4 print_installed() {
536     local command line token=$1
537    
538     if $(type -P qlist >/dev/null 2>&1); then
539     command="qlist -I -v -C ${token}"
540     elif $(type -P equery >/dev/null 2>&1); then
541     command="equery -q -C list ${token} | grep -o '${token}[[:alnum:].-]*'"
542     elif $(type -P epm >/dev/null 2>&1); then
543     command="epm -qaG | grep ${token}"
544     else
545     local dir
546     command="true"
547     for dir in "${PORTDIR}"/${token}*; do
548     command="${command} ; best_version ${dir#${PORTDIR}/}"
549     done
550     fi
551     while read line; do
552     ewarn "${line}"
553     done < <(eval ${command})
554     }
555    
556 dberkholz 1.1 xprint_src_install() {
557     # RH-style init script, we provide a wrapper
558     exeinto /usr/$(get_libdir)/misc
559 dberkholz 1.2 doexe "${S}"/hw/xprint/etc/init.d/xprint
560 dberkholz 1.1 # Install the wrapper
561 dberkholz 1.2 newinitd "${FILESDIR}"/xprint.init xprint
562 dberkholz 1.1 # Install profile scripts
563     insinto /etc/profile.d
564 dberkholz 1.2 doins "${S}"/hw/xprint/etc/profile.d/xprint*
565 dberkholz 1.1 exeinto /etc/X11/xinit/xinitrc.d
566 dberkholz 1.2 doexe "${S}"/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
567 dberkholz 1.1 # Patch profile scripts
568     sed -e "s:/etc/init.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
569 dberkholz 1.2 get_xpserverlist:g" -i "${D}"/etc/profile.d/xprint* \
570     "${D}"/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
571 dberkholz 1.1 # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
572 dberkholz 1.2 dodoc "${D}"/etc/profile.d/xprint*
573     rm -f "${D}"/etc/profile.d/xprint*
574 dberkholz 1.1 }
575    
576     ensure_a_server_is_building() {
577     for server in ${IUSE_SERVERS}; do
578     use ${server} && return;
579     done
580     eerror "You need to specify at least one server to build."
581     eerror "Valid servers are: ${IUSE_SERVERS}."
582     die "No servers were specified to build."
583     }

  ViewVC Help
Powered by ViewVC 1.1.20