/[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.2 - (show annotations) (download)
Fri Jan 18 21:31:33 2008 UTC (6 years, 10 months ago) by dberkholz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
(#206490, #204362) Fix major regression in the MIT-SHM patch of the security bump that prevented many applications (but apparently none that any distro developers use, since this slipped by every distro) from running.
(Portage version: 2.1.4)

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-r1.ebuild,v 1.1 2008/01/17 20:52:28 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