1 |
# Copyright 1999-2009 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.5.3-r7.ebuild,v 1.6 2009/11/28 09:14:38 scarabeus 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 |
SRC_URI="${SRC_URI} |
13 |
http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2 |
14 |
mirror://gentoo/${P}-gentoo-patches-08.tar.bz2" |
15 |
DESCRIPTION="X.Org X servers" |
16 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" |
17 |
IUSE_INPUT_DEVICES=" |
18 |
input_devices_acecad |
19 |
input_devices_aiptek |
20 |
input_devices_citron |
21 |
input_devices_elographics |
22 |
input_devices_evdev |
23 |
input_devices_fpit |
24 |
input_devices_hyperpen |
25 |
input_devices_joystick |
26 |
input_devices_keyboard |
27 |
input_devices_mouse |
28 |
input_devices_mutouch |
29 |
input_devices_penmount |
30 |
input_devices_tslib |
31 |
input_devices_virtualbox |
32 |
input_devices_vmmouse |
33 |
input_devices_void |
34 |
|
35 |
input_devices_synaptics |
36 |
input_devices_wacom" |
37 |
IUSE_VIDEO_CARDS=" |
38 |
video_cards_apm |
39 |
video_cards_ark |
40 |
video_cards_ast |
41 |
video_cards_chips |
42 |
video_cards_cirrus |
43 |
video_cards_dummy |
44 |
video_cards_epson |
45 |
video_cards_fbdev |
46 |
video_cards_geode |
47 |
video_cards_glint |
48 |
video_cards_i128 |
49 |
video_cards_i740 |
50 |
video_cards_intel |
51 |
video_cards_impact |
52 |
video_cards_imstt |
53 |
video_cards_mach64 |
54 |
video_cards_mga |
55 |
video_cards_neomagic |
56 |
video_cards_newport |
57 |
video_cards_nv |
58 |
video_cards_r128 |
59 |
video_cards_radeon |
60 |
video_cards_radeonhd |
61 |
video_cards_rendition |
62 |
video_cards_s3 |
63 |
video_cards_s3virge |
64 |
video_cards_savage |
65 |
video_cards_siliconmotion |
66 |
video_cards_sis |
67 |
video_cards_sisusb |
68 |
video_cards_sunbw2 |
69 |
video_cards_suncg14 |
70 |
video_cards_suncg3 |
71 |
video_cards_suncg6 |
72 |
video_cards_sunffb |
73 |
video_cards_sunleo |
74 |
video_cards_suntcx |
75 |
video_cards_tdfx |
76 |
video_cards_tga |
77 |
video_cards_trident |
78 |
video_cards_tseng |
79 |
video_cards_v4l |
80 |
video_cards_vermilion |
81 |
video_cards_vesa |
82 |
video_cards_via |
83 |
video_cards_virtualbox |
84 |
video_cards_vmware |
85 |
video_cards_voodoo |
86 |
video_cards_xgi |
87 |
video_cards_fglrx |
88 |
video_cards_nvidia" |
89 |
IUSE_SERVERS="dmx kdrive xorg" |
90 |
IUSE="${IUSE_VIDEO_CARDS} |
91 |
${IUSE_INPUT_DEVICES} |
92 |
${IUSE_SERVERS} |
93 |
3dfx tslib |
94 |
hal ipv6 minimal nptl sdl" |
95 |
RDEPEND="hal? ( sys-apps/hal ) |
96 |
tslib? ( x11-libs/tslib x11-libs/libXCalibrate ) |
97 |
dev-libs/openssl |
98 |
>=x11-libs/libXfont-1.3.3 |
99 |
>=x11-libs/xtrans-1.2.2 |
100 |
>=x11-libs/libXau-1.0.4 |
101 |
>=x11-libs/libXext-1.0.4 |
102 |
>=x11-libs/libX11-1.1.5 |
103 |
>=x11-libs/libxkbfile-1.0.4 |
104 |
>=x11-libs/libXdmcp-1.0.2 |
105 |
>=x11-libs/libXmu-1.0.3 |
106 |
>=x11-libs/libXrender-0.9.4 |
107 |
>=x11-libs/libXi-1.1.3 |
108 |
>=x11-libs/pixman-0.12 |
109 |
media-libs/freetype |
110 |
>=x11-misc/xbitmaps-1.0.1 |
111 |
>=x11-misc/xkeyboard-config-1.4 |
112 |
x11-apps/xkbcomp |
113 |
>=x11-apps/iceauth-1.0.2 |
114 |
>=x11-apps/rgb-1.0.3 |
115 |
>=x11-apps/xauth-1.0.3 |
116 |
>=x11-apps/xinit-1.0.8-r3 |
117 |
>=app-admin/eselect-opengl-1.0.7 |
118 |
>=x11-libs/libXaw-1.0.4 |
119 |
>=x11-libs/libXpm-3.5.7 |
120 |
>=x11-libs/libXxf86misc-1.0.1 |
121 |
>=x11-libs/libXxf86vm-1.0.2 |
122 |
>=x11-libs/libpciaccess-0.10.3 |
123 |
dmx? ( >=x11-libs/libdmx-1.0.2 |
124 |
>=x11-libs/libXfixes-4.0.3 ) |
125 |
!minimal? ( >=x11-libs/libXtst-1.0.3 |
126 |
>=x11-libs/libXres-1.0.3 |
127 |
>=media-libs/mesa-7.1 |
128 |
media-fonts/font-adobe-75dpi ) |
129 |
>=x11-libs/libxkbui-1.0.2 |
130 |
kdrive? ( sdl? ( media-libs/libsdl ) )" |
131 |
# Xres is dmx-dependent, xkbui is xorgcfg-dependent |
132 |
# Xaw is dmx- and xorgcfg-dependent |
133 |
# Xpm is dmx- and xorgcfg-dependent, pulls in Xt |
134 |
# Xxf86misc and Xxf86vm are xorgcfg-dependent |
135 |
# xkbcomp is launched at startup but not checked by ./configure |
136 |
DEPEND="${RDEPEND} |
137 |
!net-dialup/dtrace |
138 |
sys-devel/flex |
139 |
>=x11-proto/randrproto-1.2.2 |
140 |
>=x11-proto/renderproto-0.9.3 |
141 |
>=x11-proto/fixesproto-4 |
142 |
>=x11-proto/damageproto-1.1 |
143 |
>=x11-proto/xextproto-7.0.3 |
144 |
>=x11-proto/xproto-7.0.13 |
145 |
>=x11-proto/xf86dgaproto-2.0.3 |
146 |
>=x11-proto/xf86miscproto-0.9.2 |
147 |
>=x11-proto/xf86rushproto-1.1.2 |
148 |
>=x11-proto/xf86vidmodeproto-2.2.2 |
149 |
>=x11-proto/xf86bigfontproto-1.1.2 |
150 |
>=x11-proto/compositeproto-0.4 |
151 |
>=x11-proto/recordproto-1.13.2 |
152 |
>=x11-proto/resourceproto-1.0.2 |
153 |
>=x11-proto/videoproto-2.2.2 |
154 |
>=x11-proto/scrnsaverproto-1.1.0 |
155 |
>=x11-proto/evieext-1.0.2 |
156 |
>=x11-proto/trapproto-3.4.3 |
157 |
>=x11-proto/xineramaproto-1.1.2 |
158 |
>=x11-proto/fontsproto-2.0.2 |
159 |
>=x11-proto/kbproto-1.0.3 |
160 |
>=x11-proto/inputproto-1.4.4 |
161 |
>=x11-proto/bigreqsproto-1.0.2 |
162 |
>=x11-proto/xcmiscproto-1.1.2 |
163 |
>=x11-proto/glproto-1.4.9 |
164 |
dmx? ( >=x11-proto/dmxproto-2.2.2 ) |
165 |
!minimal? ( >=x11-proto/xf86driproto-2.0.4 |
166 |
>=x11-libs/libdrm-2.3 )" |
167 |
|
168 |
# Drivers |
169 |
PDEPEND=" |
170 |
xorg? ( |
171 |
input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.2.2 ) |
172 |
input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.1.1 ) |
173 |
input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.1 ) |
174 |
input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.2.2 ) |
175 |
input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-2.1.0 ) |
176 |
input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.2.0 ) |
177 |
input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.2.0 ) |
178 |
input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.3.2 ) |
179 |
input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.3.1 ) |
180 |
input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.3.0 ) |
181 |
input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.2.1 ) |
182 |
input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.3.0 ) |
183 |
input_devices_tslib? ( x11-drivers/xf86-input-tslib x11-libs/libXCalibrate ) |
184 |
input_devices_virtualbox? ( x11-drivers/xf86-input-virtualbox ) |
185 |
input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.5.0 ) |
186 |
input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.1 ) |
187 |
input_devices_synaptics? ( >=x11-drivers/xf86-input-synaptics-0.15.0 ) |
188 |
input_devices_wacom? ( x11-drivers/linuxwacom ) |
189 |
|
190 |
video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.2.0 ) |
191 |
video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.7.0 ) |
192 |
video_cards_ast? ( >=x11-drivers/xf86-video-ast-0.85.0 ) |
193 |
video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.2.0 ) |
194 |
video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.2.1 ) |
195 |
video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.3.0 ) |
196 |
video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.4.0 ) |
197 |
video_cards_geode? ( >=x11-drivers/xf86-video-geode-2.9.0 ) |
198 |
video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.2.1 ) |
199 |
video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.3.1 ) |
200 |
video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.2.0 ) |
201 |
video_cards_intel? ( >=x11-drivers/xf86-video-intel-2.4.2-r1 ) |
202 |
video_cards_mach64? ( >=x11-drivers/xf86-video-mach64-6.8.0 ) |
203 |
video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.9 ) |
204 |
video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.2.1 ) |
205 |
video_cards_newport? ( x11-drivers/xf86-video-newport ) |
206 |
video_cards_nv? ( >=x11-drivers/xf86-video-nv-2.1.12 ) |
207 |
video_cards_nvidia? ( x11-drivers/nvidia-drivers ) |
208 |
video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.552-r2 ) |
209 |
video_cards_r128? ( >=x11-drivers/xf86-video-r128-6.8.0 ) |
210 |
video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.9.0 ) |
211 |
video_cards_radeonhd? ( >=x11-drivers/xf86-video-radeonhd-1.2.1 ) |
212 |
video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.2.0 ) |
213 |
video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.6.0 ) |
214 |
video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.10.1 ) |
215 |
video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.2.1 ) |
216 |
video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.6.0 ) |
217 |
video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.10.0 ) |
218 |
video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.9.0 ) |
219 |
video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.2.0 ) |
220 |
video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.2.0 ) |
221 |
video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.4.0 ) |
222 |
video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.2.0 ) |
223 |
video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.3.0 ) |
224 |
video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.2.0 ) |
225 |
video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.2.0 ) |
226 |
video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-2.0.0 ) |
227 |
video_cards_via? ( >=x11-drivers/xf86-video-openchrome-0.2.903 ) |
228 |
video_cards_virtualbox? ( x11-drivers/xf86-video-virtualbox ) |
229 |
video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.16.5 ) |
230 |
video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.2.0 ) |
231 |
video_cards_xgi? ( >=x11-drivers/xf86-video-xgi-1.5.0 ) |
232 |
|
233 |
video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) |
234 |
|
235 |
!x11-drivers/xf86-video-impact |
236 |
!x11-drivers/xf86-video-imstt |
237 |
!x11-drivers/xf86-video-sunbw2 |
238 |
!x11-drivers/xf86-video-suncg14 |
239 |
!x11-drivers/xf86-video-suncg3 |
240 |
!x11-drivers/xf86-video-suncg6 |
241 |
!x11-drivers/xf86-video-suntcx |
242 |
!x11-drivers/xf86-video-vermilion |
243 |
|
244 |
!x11-drivers/xf86-video-cyrix |
245 |
!x11-drivers/xf86-video-nsc |
246 |
!x11-drivers/xf86-video-vga |
247 |
)" |
248 |
LICENSE="${LICENSE} MIT" |
249 |
|
250 |
EPATCH_FORCE="yes" |
251 |
EPATCH_SUFFIX="patch" |
252 |
|
253 |
# Local customizations, unsuitable for upstream |
254 |
GENTOO_PATCHES=( |
255 |
"${FILESDIR}/1.4-fpic-libxf86config.patch" |
256 |
"${FILESDIR}/1.4-fix-kdrive-automake.patch" |
257 |
) |
258 |
|
259 |
# These have been sent upstream |
260 |
UPSTREAMED_PATCHES=( |
261 |
"${WORKDIR}/patches/" |
262 |
) |
263 |
|
264 |
PATCHES=( |
265 |
"${GENTOO_PATCHES[@]}" |
266 |
"${UPSTREAMED_PATCHES[@]}" |
267 |
) |
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 |
# localstatedir is used for the log location; we need to override the default |
280 |
# from ebuild.sh |
281 |
# sysconfdir is used for the xorg.conf location; same applies |
282 |
# --enable-install-setuid needed because sparcs default off |
283 |
CONFIGURE_OPTIONS=" |
284 |
$(use_enable ipv6) |
285 |
$(use_enable dmx) |
286 |
$(use_enable kdrive) |
287 |
$(use_enable tslib) |
288 |
$(use_enable tslib xcalibrate) |
289 |
$(use_enable !minimal xvfb) |
290 |
$(use_enable !minimal xnest) |
291 |
$(use_enable !minimal xtrap) |
292 |
$(use_enable !minimal record) |
293 |
$(use_enable !minimal xfree86-utils) |
294 |
$(use_enable !minimal install-libxf86config) |
295 |
$(use_enable !minimal dri) |
296 |
$(use_enable !minimal glx) |
297 |
$(use_enable xorg) |
298 |
$(use_enable nptl glx-tls) |
299 |
$(use_enable !minimal xorgcfg) |
300 |
$(use_enable hal config-dbus) |
301 |
$(use_enable hal config-hal) |
302 |
--disable-dri2 |
303 |
--sysconfdir=/etc/X11 |
304 |
--localstatedir=/var |
305 |
--enable-install-setuid |
306 |
--with-fontdir=/usr/share/fonts |
307 |
--with-xkb-output=/var/lib/xkb |
308 |
--without-dtrace |
309 |
${conf_opts}" |
310 |
|
311 |
local diemsg="You must build xorg-server and mesa with the same nptl USE setting." |
312 |
if ! use minimal; then |
313 |
if built_with_use media-libs/mesa nptl; then |
314 |
use nptl || die "${diemsg}" |
315 |
else |
316 |
use nptl && die "${diemsg}" |
317 |
fi |
318 |
fi |
319 |
|
320 |
# (#121394) Causes window corruption |
321 |
filter-flags -fweb |
322 |
|
323 |
# Incompatible with GCC 3.x SSP on x86, bug #244352 |
324 |
if use x86 ; then |
325 |
if [[ $(gcc-major-version) -lt 4 ]]; then |
326 |
filter-flags -fstack-protector |
327 |
fi |
328 |
fi |
329 |
|
330 |
# Nothing else provides new enough glxtokens.h |
331 |
ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." |
332 |
OLD_IMPLEM="$(eselect opengl show)" |
333 |
eselect opengl set ${OPENGL_DIR} |
334 |
} |
335 |
|
336 |
src_unpack() { |
337 |
x-modular_specs_check |
338 |
x-modular_dri_check |
339 |
x-modular_unpack_source |
340 |
x-modular_patch_source |
341 |
|
342 |
# Set up kdrive servers to build |
343 |
if use kdrive; then |
344 |
kdrive_setup |
345 |
fi |
346 |
|
347 |
# Make sure eautoreconf gets run if we need the autoconf/make |
348 |
# changes. |
349 |
if [[ ${SNAPSHOT} != "yes" ]]; then |
350 |
if use kdrive || use dmx; then |
351 |
SNAPSHOT="yes" |
352 |
fi |
353 |
fi |
354 |
|
355 |
if use hal; then |
356 |
sed -i \ |
357 |
-e "s:^\(dbusconfigdir = \).*\(dbus-1.*\):\1/etc/\2:g" \ |
358 |
"${S}"/config/Makefile.am \ |
359 |
|| die "failed to fix DBUS config directory" |
360 |
SNAPSHOT="yes" |
361 |
fi |
362 |
|
363 |
x-modular_reconf_source |
364 |
} |
365 |
|
366 |
src_install() { |
367 |
x-modular_src_install |
368 |
|
369 |
dynamic_libgl_install |
370 |
|
371 |
server_based_install |
372 |
|
373 |
# Install video mode files for system-config-display |
374 |
insinto /usr/share/xorg |
375 |
doins hw/xfree86/common/{extra,vesa}modes \ |
376 |
|| die "couldn't install extra modes" |
377 |
|
378 |
# Bug #151421 - this file is not built with USE="minimal" |
379 |
# Bug #151670 - this file is also not build if USE="-xorg" |
380 |
if ! use minimal && use xorg; then |
381 |
# Install xorg.conf.example |
382 |
insinto /etc/X11 |
383 |
doins hw/xfree86/xorg.conf.example \ |
384 |
|| die "couldn't install xorg.conf.example" |
385 |
fi |
386 |
} |
387 |
|
388 |
pkg_postinst() { |
389 |
switch_opengl_implem |
390 |
|
391 |
# Bug #135544 |
392 |
ewarn "Users of reduced blanking now need:" |
393 |
ewarn " Option \"ReducedBlanking\"" |
394 |
ewarn "In the relevant Monitor section(s)." |
395 |
ewarn "Make sure your reduced blanking modelines are safe!" |
396 |
|
397 |
echo |
398 |
ewarn "You must rebuild all drivers if upgrading from xorg-server 1.4.1" |
399 |
ewarn "or earlier, because the ABI changed. If you cannot start X because" |
400 |
ewarn "of module version mismatch errors, this is your problem." |
401 |
|
402 |
echo |
403 |
ewarn "You can generate a list of all installed packages in the x11-drivers" |
404 |
ewarn "category using this command:" |
405 |
ewarn "emerge portage-utils; qlist -I -C x11-drivers/" |
406 |
|
407 |
ebeep 5 |
408 |
epause 10 |
409 |
} |
410 |
|
411 |
pkg_postrm() { |
412 |
# Get rid of module dir to ensure opengl-update works properly |
413 |
if ! has_version x11-base/xorg-server; then |
414 |
if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then |
415 |
rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules |
416 |
fi |
417 |
fi |
418 |
} |
419 |
|
420 |
kdrive_setup() { |
421 |
local card real_card disable_card kdrive_fbdev kdrive_vesa |
422 |
|
423 |
einfo "Removing unused kdrive drivers ..." |
424 |
|
425 |
# Some kdrive servers require fbdev and vesa |
426 |
kdrive_fbdev="radeon neomagic sis siliconmotion" |
427 |
# Some kdrive servers require just vesa |
428 |
kdrive_vesa="chips mach64 mga nv glint r128 via" |
429 |
|
430 |
for card in ${IUSE_VIDEO_CARDS}; do |
431 |
real_card=${card#video_cards_} |
432 |
|
433 |
# Differences between VIDEO_CARDS name and kdrive server name |
434 |
real_card=${real_card/glint/pm2} |
435 |
real_card=${real_card/radeon/ati} |
436 |
real_card=${real_card/%nv/nvidia} |
437 |
real_card=${real_card/siliconmotion/smi} |
438 |
real_card=${real_card/%sis/sis300} |
439 |
|
440 |
disable_card=0 |
441 |
|
442 |
# Check whether it's a valid kdrive server before we waste time |
443 |
# on the rest of this |
444 |
if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then |
445 |
continue |
446 |
fi |
447 |
|
448 |
if ! use ${card}; then |
449 |
if use x86; then |
450 |
# Some kdrive servers require fbdev and vesa |
451 |
for i in ${kdrive_fbdev}; do |
452 |
if use video_cards_${i}; then |
453 |
if [[ ${real_card} = fbdev ]] \ |
454 |
|| [[ ${real_card} = vesa ]]; then |
455 |
continue 2 # Don't disable |
456 |
fi |
457 |
fi |
458 |
done |
459 |
|
460 |
# Some kdrive servers require just vesa |
461 |
for i in ${kdrive_vesa}; do |
462 |
if use video_cards_${i}; then |
463 |
if [[ ${real_card} = vesa ]]; then |
464 |
continue 2 # Don't disable |
465 |
fi |
466 |
fi |
467 |
done |
468 |
fi |
469 |
disable_card=1 |
470 |
# Bug #150052 |
471 |
# fbdev is the only VIDEO_CARDS setting that works on non-x86 |
472 |
elif ! use x86 \ |
473 |
&& [[ ${real_card} != fbdev ]]; then |
474 |
ewarn " $real_card does not work on your architecture; disabling." |
475 |
disable_card=1 |
476 |
fi |
477 |
|
478 |
if [[ $disable_card = 1 ]]; then |
479 |
ebegin " ${real_card}" |
480 |
sed -i \ |
481 |
-e "s:\b${real_card}\b::g" \ |
482 |
"${S}"/hw/kdrive/Makefile.am \ |
483 |
|| die "sed of ${real_card} failed" |
484 |
eend |
485 |
fi |
486 |
|
487 |
done |
488 |
} |
489 |
|
490 |
dynamic_libgl_install() { |
491 |
# next section is to setup the dynamic libGL stuff |
492 |
ebegin "Moving GL files for dynamic switching" |
493 |
dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
494 |
local x="" |
495 |
for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri}*; do |
496 |
if [ -f ${x} -o -L ${x} ]; then |
497 |
mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
498 |
fi |
499 |
done |
500 |
eend 0 |
501 |
} |
502 |
|
503 |
server_based_install() { |
504 |
if ! use xorg; then |
505 |
rm "${D}"/usr/share/man/man1/Xserver.1x \ |
506 |
"${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \ |
507 |
"${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ |
508 |
"${D}"/usr/share/man/man1/Xserver.1x |
509 |
fi |
510 |
} |
511 |
|
512 |
switch_opengl_implem() { |
513 |
# Switch to the xorg implementation. |
514 |
# Use new opengl-update that will not reset user selected |
515 |
# OpenGL interface ... |
516 |
echo |
517 |
# eselect opengl set --use-old ${OPENGL_DIR} |
518 |
eselect opengl set ${OLD_IMPLEM} |
519 |
} |
520 |
|
521 |
ensure_a_server_is_building() { |
522 |
for server in ${IUSE_SERVERS}; do |
523 |
use ${server} && return; |
524 |
done |
525 |
eerror "You need to specify at least one server to build." |
526 |
eerror "Valid servers are: ${IUSE_SERVERS}." |
527 |
die "No servers were specified to build." |
528 |
} |