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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations) (download)
Thu Jan 17 21:31:41 2008 UTC (6 years, 8 months ago) by dberkholz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +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 # Copyright 1999-2007 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 "
288
289 pkg_setup() {
290 use minimal || ensure_a_server_is_building
291
292 # SDL only available in kdrive build
293 if use kdrive && use sdl; then
294 conf_opts="${conf_opts} --enable-xsdl"
295 else
296 conf_opts="${conf_opts} --disable-xsdl"
297 fi
298
299 # Only Xorg and Xgl support this, and we won't build Xgl
300 # until it merges to trunk
301 if use xorg; then
302 conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
303 fi
304
305 # localstatedir is used for the log location; we need to override the default
306 # from ebuild.sh
307 # sysconfdir is used for the xorg.conf location; same applies
308 # --enable-install-setuid needed because sparcs default off
309 CONFIGURE_OPTIONS="
310 $(use_enable ipv6)
311 $(use_enable dmx)
312 $(use_enable kdrive)
313 $(use_enable !minimal xvfb)
314 $(use_enable !minimal xnest)
315 $(use_enable !minimal install-libxf86config)
316 $(use_enable dri)
317 $(use_enable xorg)
318 $(use_enable xprint)
319 $(use_enable nptl glx-tls)
320 $(use_enable !minimal xorgcfg)
321 $(use_enable hal config-dbus)
322 $(use_enable hal config-hal)
323 --sysconfdir=/etc/X11
324 --localstatedir=/var
325 --enable-install-setuid
326 --with-fontdir=/usr/share/fonts
327 --with-xkb-output=/var/lib/xkb
328 ${conf_opts}"
329
330 local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
331 if built_with_use media-libs/mesa nptl; then
332 use nptl || die "${diemsg}"
333 else
334 use nptl && die "${diemsg}"
335 fi
336
337 # (#121394) Causes window corruption
338 filter-flags -fweb
339
340 # Nothing else provides new enough glxtokens.h
341 ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
342 OLD_IMPLEM="$(eselect opengl show)"
343 eselect opengl set --impl-headers ${OPENGL_DIR}
344 }
345
346 src_unpack() {
347 x-modular_specs_check
348 x-modular_dri_check
349 x-modular_unpack_source
350 x-modular_patch_source
351
352 # Clean up for ${PV}-clean-generated-files.patch
353 pushd hw/xprint >/dev/null
354 rm -f *-wrapper.c || die
355 popd >/dev/null
356
357 # Set up kdrive servers to build
358 if use kdrive; then
359 kdrive_setup
360 fi
361
362 # Make sure eautoreconf gets run if we need the autoconf/make
363 # changes.
364 if [[ ${SNAPSHOT} != "yes" ]]; then
365 if use kdrive || use dmx || use xprint; then
366 SNAPSHOT="yes"
367 fi
368 fi
369
370 if use hal; then
371 sed -i \
372 -e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \
373 "${S}"/config/Makefile.am \
374 || die "failed to fix DBUS config directory"
375 SNAPSHOT="yes"
376 fi
377
378 x-modular_reconf_source
379 #do not install xprint's Xsession.d files, we'll do it later
380 if use xprint; then
381 sed -e "s:install-data-am\: install-dist_xpcDATA:install-data-am\::g" \
382 -i "${S}"/hw/xprint/etc/Xsession.d/Makefile.in \
383 || die "sed of Xsession.d makefile failed"
384 fi
385 }
386
387 src_install() {
388 x-modular_src_install
389
390 dynamic_libgl_install
391
392 server_based_install
393
394 # Install video mode files for system-config-display
395 insinto /usr/share/xorg
396 doins hw/xfree86/common/{extra,vesa}modes \
397 || die "couldn't install extra modes"
398
399 # Bug #151421 - this file is not built with USE="minimal"
400 # Bug #151670 - this file is also not build if USE="-xorg"
401 if ! use minimal && use xorg; then
402 # Install xorg.conf.example
403 insinto /etc/X11
404 doins hw/xfree86/xorg.conf.example \
405 || die "couldn't install xorg.conf.example"
406 fi
407 }
408
409 pkg_postinst() {
410 switch_opengl_implem
411
412 # Bug #135544
413 ewarn "Users of reduced blanking now need:"
414 ewarn " Option \"ReducedBlanking\""
415 ewarn "In the relevant Monitor section(s)."
416 ewarn "Make sure your reduced blanking modelines are safe!"
417
418 echo
419 ewarn "You must rebuild all drivers if upgrading from xorg-server 1.3"
420 ewarn "or earlier, because the ABI changed. If you cannot start X because"
421 ewarn "of module version mismatch errors, this is your problem."
422
423 ewarn "Here's a list of installed X drivers to emerge:"
424 print_installed x11-drivers/
425
426 echo
427 ewarn "You can generate a similar list at any point using this command:"
428 ewarn "emerge portage-utils; qlist -I -C x11-drivers/"
429
430 ebeep 5
431 epause 10
432 }
433
434 pkg_postrm() {
435 # Get rid of module dir to ensure opengl-update works properly
436 if ! has_version x11-base/xorg-server; then
437 if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
438 rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
439 fi
440 fi
441 }
442
443 kdrive_setup() {
444 local card real_card disable_card kdrive_fbdev kdrive_vesa
445
446 einfo "Removing unused kdrive drivers ..."
447
448 # Some kdrive servers require fbdev and vesa
449 kdrive_fbdev="radeon neomagic sis siliconmotion"
450 # Some kdrive servers require just vesa
451 kdrive_vesa="chips mach64 mga nv glint r128 via"
452
453 for card in ${IUSE_VIDEO_CARDS}; do
454 real_card=${card#video_cards_}
455
456 # Differences between VIDEO_CARDS name and kdrive server name
457 real_card=${real_card/glint/pm2}
458 real_card=${real_card/radeon/ati}
459 real_card=${real_card/%nv/nvidia}
460 real_card=${real_card/siliconmotion/smi}
461 real_card=${real_card/%sis/sis300}
462
463 disable_card=0
464
465 # Check whether it's a valid kdrive server before we waste time
466 # on the rest of this
467 if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then
468 continue
469 fi
470
471 if ! use ${card}; then
472 if use x86; then
473 # Some kdrive servers require fbdev and vesa
474 for i in ${kdrive_fbdev}; do
475 if use video_cards_${i}; then
476 if [[ ${real_card} = fbdev ]] \
477 || [[ ${real_card} = vesa ]]; then
478 continue 2 # Don't disable
479 fi
480 fi
481 done
482
483 # Some kdrive servers require just vesa
484 for i in ${kdrive_vesa}; do
485 if use video_cards_${i}; then
486 if [[ ${real_card} = vesa ]]; then
487 continue 2 # Don't disable
488 fi
489 fi
490 done
491 fi
492 disable_card=1
493 # Bug #150052
494 # fbdev is the only VIDEO_CARDS setting that works on non-x86
495 elif ! use x86 \
496 && [[ ${real_card} != fbdev ]]; then
497 ewarn " $real_card does not work on your architecture; disabling."
498 disable_card=1
499 fi
500
501 if [[ $disable_card = 1 ]]; then
502 ebegin " ${real_card}"
503 sed -i \
504 -e "s:\b${real_card}\b::g" \
505 "${S}"/hw/kdrive/Makefile.am \
506 || die "sed of ${real_card} failed"
507 eend
508 fi
509
510 done
511 }
512
513 dynamic_libgl_install() {
514 # next section is to setup the dynamic libGL stuff
515 ebegin "Moving GL files for dynamic switching"
516 dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
517 local x=""
518 for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
519 if [ -f ${x} -o -L ${x} ]; then
520 mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
521 fi
522 done
523 eend 0
524 }
525
526 server_based_install() {
527 use xprint && xprint_src_install
528
529 if ! use xorg; then
530 rm "${D}"/usr/share/man/man1/Xserver.1x \
531 "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
532 "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
533 "${D}"/usr/share/man/man1/Xserver.1x
534 fi
535 }
536
537 switch_opengl_implem() {
538 # Switch to the xorg implementation.
539 # Use new opengl-update that will not reset user selected
540 # OpenGL interface ...
541 echo
542 # eselect opengl set --use-old ${OPENGL_DIR}
543 eselect opengl set ${OLD_IMPLEM}
544 }
545
546 print_installed() {
547 local command line token=$1
548
549 if $(type -P qlist >/dev/null 2>&1); then
550 command="qlist -I -C ${token}"
551 elif $(type -P equery >/dev/null 2>&1); then
552 command="equery -q -C list ${token} | grep -o '${token}[[:alnum:].-]*'"
553 elif $(type -P epm >/dev/null 2>&1); then
554 command="epm -qaG | grep ${token}"
555 else
556 local dir
557 command="true"
558 for dir in "${PORTDIR}"/${token}*; do
559 command="${command} ; best_version ${dir#${PORTDIR}/}"
560 done
561 fi
562 while read line; do
563 ewarn "${line}"
564 done < <(eval ${command})
565 }
566
567 xprint_src_install() {
568 # RH-style init script, we provide a wrapper
569 exeinto /usr/$(get_libdir)/misc
570 doexe "${S}"/hw/xprint/etc/init.d/xprint
571 # Install the wrapper
572 newinitd "${FILESDIR}"/xprint.init xprint
573 # Install profile scripts
574 insinto /etc/profile.d
575 doins "${S}"/hw/xprint/etc/profile.d/xprint*
576 exeinto /etc/X11/xinit/xinitrc.d
577 doexe "${S}"/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
578 # Patch profile scripts
579 sed -e "s:/etc/init.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
580 get_xpserverlist:g" -i "${D}"/etc/profile.d/xprint* \
581 "${D}"/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
582 # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
583 dodoc "${D}"/etc/profile.d/xprint*
584 rm -f "${D}"/etc/profile.d/xprint*
585 }
586
587 ensure_a_server_is_building() {
588 for server in ${IUSE_SERVERS}; do
589 use ${server} && return;
590 done
591 eerror "You need to specify at least one server to build."
592 eerror "Valid servers are: ${IUSE_SERVERS}."
593 die "No servers were specified to build."
594 }

  ViewVC Help
Powered by ViewVC 1.1.20