1 |
dberkholz |
1.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.3.0.0-r1.ebuild,v 1.9 2007/10/09 07:22:49 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="6.5.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_apm |
55 |
|
|
video_cards_ark |
56 |
|
|
video_cards_chips |
57 |
|
|
video_cards_cirrus |
58 |
|
|
video_cards_cyrix |
59 |
|
|
video_cards_dummy |
60 |
|
|
video_cards_epson |
61 |
|
|
video_cards_fbdev |
62 |
|
|
video_cards_glint |
63 |
|
|
video_cards_i128 |
64 |
|
|
video_cards_i740 |
65 |
|
|
video_cards_i810 |
66 |
|
|
video_cards_impact |
67 |
|
|
video_cards_imstt |
68 |
|
|
video_cards_mach64 |
69 |
|
|
video_cards_mga |
70 |
|
|
video_cards_neomagic |
71 |
|
|
video_cards_newport |
72 |
|
|
video_cards_nsc |
73 |
|
|
video_cards_nv |
74 |
|
|
video_cards_r128 |
75 |
|
|
video_cards_radeon |
76 |
|
|
video_cards_rendition |
77 |
|
|
video_cards_s3 |
78 |
|
|
video_cards_s3virge |
79 |
|
|
video_cards_savage |
80 |
|
|
video_cards_siliconmotion |
81 |
|
|
video_cards_sis |
82 |
|
|
video_cards_sisusb |
83 |
|
|
video_cards_sunbw2 |
84 |
|
|
video_cards_suncg14 |
85 |
|
|
video_cards_suncg3 |
86 |
|
|
video_cards_suncg6 |
87 |
|
|
video_cards_sunffb |
88 |
|
|
video_cards_sunleo |
89 |
|
|
video_cards_suntcx |
90 |
|
|
video_cards_tdfx |
91 |
|
|
video_cards_tga |
92 |
|
|
video_cards_trident |
93 |
|
|
video_cards_tseng |
94 |
|
|
video_cards_v4l |
95 |
|
|
video_cards_vesa |
96 |
|
|
video_cards_vga |
97 |
|
|
video_cards_via |
98 |
|
|
video_cards_vmware |
99 |
|
|
video_cards_voodoo |
100 |
|
|
video_cards_fglrx |
101 |
|
|
video_cards_nvidia" |
102 |
|
|
IUSE_SERVERS="dmx kdrive xorg" |
103 |
|
|
IUSE="${IUSE_VIDEO_CARDS} |
104 |
|
|
${IUSE_INPUT_DEVICES} |
105 |
|
|
${IUSE_SERVERS} |
106 |
|
|
3dfx |
107 |
|
|
dri ipv6 minimal nptl sdl xprint" |
108 |
|
|
RDEPEND=">=x11-libs/libXfont-1.2.5 |
109 |
|
|
x11-libs/xtrans |
110 |
|
|
x11-libs/libXau |
111 |
|
|
x11-libs/libXext |
112 |
|
|
x11-libs/libX11 |
113 |
|
|
x11-libs/libxkbfile |
114 |
|
|
x11-libs/libXdmcp |
115 |
|
|
x11-libs/libXmu |
116 |
|
|
<x11-libs/libXrender-0.9.3 |
117 |
|
|
x11-libs/libXi |
118 |
|
|
media-libs/freetype |
119 |
|
|
>=media-libs/mesa-6.5.2 |
120 |
|
|
media-fonts/font-adobe-75dpi |
121 |
|
|
media-fonts/font-misc-misc |
122 |
|
|
media-fonts/font-cursor-misc |
123 |
|
|
x11-misc/xbitmaps |
124 |
|
|
|| ( x11-misc/xkeyboard-config x11-misc/xkbdata ) |
125 |
|
|
x11-apps/iceauth |
126 |
|
|
x11-apps/rgb |
127 |
|
|
x11-apps/xauth |
128 |
|
|
x11-apps/xinit |
129 |
|
|
app-admin/eselect-opengl |
130 |
|
|
x11-libs/libXaw |
131 |
|
|
x11-libs/libXpm |
132 |
|
|
x11-libs/libXxf86misc |
133 |
|
|
x11-libs/libXxf86vm |
134 |
|
|
dmx? ( x11-libs/libdmx |
135 |
|
|
x11-libs/libXfixes ) |
136 |
|
|
!minimal? ( x11-libs/libXtst |
137 |
|
|
x11-libs/libXres ) |
138 |
|
|
>=x11-libs/libxkbui-1.0.2 |
139 |
|
|
x11-libs/liblbxutil |
140 |
|
|
kdrive? ( sdl? ( media-libs/libsdl ) )" |
141 |
|
|
# Xres is dmx-dependent, xkbui is xorgcfg-dependent |
142 |
|
|
# Xaw is dmx- and xorgcfg-dependent |
143 |
|
|
# Xpm is dmx- and xorgcfg-dependent, pulls in Xt |
144 |
|
|
# Xxf86misc and Xxf86vm are xorgcfg-dependent |
145 |
|
|
# liblbxutil is lbx- dependent |
146 |
|
|
DEPEND="${RDEPEND} |
147 |
|
|
>=x11-proto/randrproto-1.2.1 |
148 |
|
|
<x11-proto/renderproto-0.9.3 |
149 |
|
|
>=x11-proto/fixesproto-4 |
150 |
|
|
>=x11-proto/damageproto-1.1 |
151 |
|
|
x11-proto/xextproto |
152 |
|
|
x11-proto/xproto |
153 |
|
|
x11-proto/xf86dgaproto |
154 |
|
|
x11-proto/xf86miscproto |
155 |
|
|
x11-proto/xf86rushproto |
156 |
|
|
x11-proto/xf86vidmodeproto |
157 |
|
|
x11-proto/xf86bigfontproto |
158 |
|
|
>=x11-proto/compositeproto-0.3 |
159 |
|
|
x11-proto/recordproto |
160 |
|
|
x11-proto/resourceproto |
161 |
|
|
x11-proto/videoproto |
162 |
|
|
>=x11-proto/scrnsaverproto-1.1.0 |
163 |
|
|
x11-proto/evieext |
164 |
|
|
x11-proto/trapproto |
165 |
|
|
>=x11-proto/xineramaproto-1.1-r1 |
166 |
|
|
x11-proto/fontsproto |
167 |
|
|
>=x11-proto/kbproto-1.0.3 |
168 |
|
|
x11-proto/inputproto |
169 |
|
|
x11-proto/bigreqsproto |
170 |
|
|
x11-proto/xcmiscproto |
171 |
|
|
>=x11-proto/glproto-1.4.8 |
172 |
|
|
dmx? ( x11-proto/dmxproto ) |
173 |
|
|
dri? ( x11-proto/xf86driproto |
174 |
|
|
>=x11-libs/libdrm-2.3 ) |
175 |
|
|
xprint? ( x11-proto/printproto |
176 |
|
|
x11-apps/mkfontdir |
177 |
|
|
x11-apps/mkfontscale |
178 |
|
|
x11-apps/xplsprinters )" |
179 |
|
|
|
180 |
|
|
# Drivers |
181 |
|
|
PDEPEND=" |
182 |
|
|
xorg? ( |
183 |
|
|
input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) |
184 |
|
|
input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) |
185 |
|
|
input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) |
186 |
|
|
input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) |
187 |
|
|
input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) |
188 |
|
|
input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) |
189 |
|
|
input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) |
190 |
|
|
input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) |
191 |
|
|
input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) |
192 |
|
|
input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) |
193 |
|
|
input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) |
194 |
|
|
input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) |
195 |
|
|
input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) |
196 |
|
|
input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) |
197 |
|
|
input_devices_keyboard? ( =x11-drivers/xf86-input-keyboard-1.1* ) |
198 |
|
|
input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) |
199 |
|
|
input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) |
200 |
|
|
input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) |
201 |
|
|
input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) |
202 |
|
|
input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) |
203 |
|
|
input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) |
204 |
|
|
input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) |
205 |
|
|
input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) |
206 |
|
|
input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) |
207 |
|
|
input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) |
208 |
|
|
input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) |
209 |
|
|
input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) |
210 |
|
|
|
211 |
|
|
input_devices_synaptics? ( x11-drivers/synaptics ) |
212 |
|
|
input_devices_wacom? ( x11-drivers/linuxwacom ) |
213 |
|
|
|
214 |
|
|
video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) |
215 |
|
|
video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) |
216 |
|
|
video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) |
217 |
|
|
video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) |
218 |
|
|
video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) |
219 |
|
|
video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) |
220 |
|
|
video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) |
221 |
|
|
video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) |
222 |
|
|
video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) |
223 |
|
|
video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) |
224 |
|
|
video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) |
225 |
|
|
video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) |
226 |
|
|
video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) |
227 |
|
|
video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) |
228 |
|
|
video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) |
229 |
|
|
video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) |
230 |
|
|
video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) |
231 |
|
|
video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) |
232 |
|
|
video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) |
233 |
|
|
video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) |
234 |
|
|
video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) |
235 |
|
|
video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) |
236 |
|
|
video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) |
237 |
|
|
video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) |
238 |
|
|
video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) |
239 |
|
|
video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) |
240 |
|
|
video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) |
241 |
|
|
video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) |
242 |
|
|
video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) |
243 |
|
|
video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) |
244 |
|
|
video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) |
245 |
|
|
video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) |
246 |
|
|
video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) |
247 |
|
|
video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) |
248 |
|
|
video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) |
249 |
|
|
video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) |
250 |
|
|
video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) |
251 |
|
|
video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) |
252 |
|
|
video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) |
253 |
|
|
video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) |
254 |
|
|
video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) |
255 |
|
|
video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) |
256 |
|
|
video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) |
257 |
|
|
video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) |
258 |
|
|
video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) |
259 |
|
|
video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) |
260 |
|
|
video_cards_nvidia? ( x11-drivers/nvidia-drivers ) |
261 |
|
|
video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.37.6 ) |
262 |
|
|
)" |
263 |
|
|
LICENSE="${LICENSE} MIT" |
264 |
|
|
|
265 |
|
|
PATCHES=" |
266 |
|
|
${FILESDIR}/${PV}-fix-dual-head-screen-resolutions.patch |
267 |
|
|
${FILESDIR}/${PV}-fix-randr-resizing.patch |
268 |
|
|
${FILESDIR}/${PV}-fix-xephyr-amd64-segfault.patch |
269 |
|
|
${FILESDIR}/${PV}-ramdac.patch |
270 |
|
|
${FILESDIR}/use-composite-for-unequal-depths.patch |
271 |
|
|
${FILESDIR}/1.2.0-fix-amd-cpu-detection.patch |
272 |
|
|
${FILESDIR}/1.2.0-properly-free-device-devprivates-memory-leak-fix.patch |
273 |
|
|
${FILESDIR}/1.2.0-typo-fix.patch |
274 |
|
|
${FILESDIR}/1.2.0-zero-out-client-devprivates-on-allocation.patch |
275 |
|
|
${FILESDIR}/${PV}-use-proc-instead-of-sys.patch |
276 |
|
|
${FILESDIR}/avoid-crash-on-minimized-xv-window.patch |
277 |
|
|
${FILESDIR}/xorg-server-sam225bw-quirks.patch |
278 |
|
|
${FILESDIR}/1.3-alpha-build-fix.patch |
279 |
|
|
${FILESDIR}/${PV}-xephyr_crash_at_exit.patch |
280 |
|
|
${FILESDIR}/xorg-x11-server-1.0.1-fpic-libxf86config.patch |
281 |
|
|
" |
282 |
|
|
|
283 |
|
|
pkg_setup() { |
284 |
|
|
use minimal || ensure_a_server_is_building |
285 |
|
|
|
286 |
|
|
# SDL only available in kdrive build |
287 |
|
|
if use kdrive && use sdl; then |
288 |
|
|
conf_opts="${conf_opts} --enable-xsdl" |
289 |
|
|
else |
290 |
|
|
conf_opts="${conf_opts} --disable-xsdl" |
291 |
|
|
fi |
292 |
|
|
|
293 |
|
|
# Only Xorg and Xgl support this, and we won't build Xgl |
294 |
|
|
# until it merges to trunk |
295 |
|
|
if use xorg; then |
296 |
|
|
conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" |
297 |
|
|
fi |
298 |
|
|
|
299 |
|
|
# localstatedir is used for the log location; we need to override the default |
300 |
|
|
# from ebuild.sh |
301 |
|
|
# sysconfdir is used for the xorg.conf location; same applies |
302 |
|
|
# --enable-install-setuid needed because sparcs default off |
303 |
|
|
CONFIGURE_OPTIONS=" |
304 |
|
|
$(use_enable ipv6) |
305 |
|
|
$(use_enable dmx) |
306 |
|
|
$(use_enable kdrive) |
307 |
|
|
$(use_enable !minimal xvfb) |
308 |
|
|
$(use_enable !minimal xnest) |
309 |
|
|
$(use_enable !minimal install-libxf86config) |
310 |
|
|
$(use_enable dri) |
311 |
|
|
$(use_enable xorg) |
312 |
|
|
$(use_enable xprint) |
313 |
|
|
$(use_enable nptl glx-tls) |
314 |
|
|
$(use_enable !minimal xorgcfg) |
315 |
|
|
--sysconfdir=/etc/X11 |
316 |
|
|
--localstatedir=/var |
317 |
|
|
--enable-install-setuid |
318 |
|
|
--with-fontdir=/usr/share/fonts |
319 |
|
|
--with-xkb-output=/var/lib/xkb |
320 |
|
|
${conf_opts}" |
321 |
|
|
|
322 |
|
|
local diemsg="You must build xorg-server and mesa with the same nptl USE setting." |
323 |
|
|
if built_with_use media-libs/mesa nptl; then |
324 |
|
|
use nptl || die "${diemsg}" |
325 |
|
|
else |
326 |
|
|
use nptl && die "${diemsg}" |
327 |
|
|
fi |
328 |
|
|
|
329 |
|
|
# (#121394) Causes window corruption |
330 |
|
|
filter-flags -fweb |
331 |
|
|
|
332 |
|
|
# Nothing else provides new enough glxtokens.h |
333 |
|
|
ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." |
334 |
|
|
OLD_IMPLEM="$(eselect opengl show)" |
335 |
|
|
eselect opengl set --impl-headers ${OPENGL_DIR} |
336 |
|
|
} |
337 |
|
|
|
338 |
|
|
src_unpack() { |
339 |
|
|
x-modular_specs_check |
340 |
|
|
x-modular_dri_check |
341 |
|
|
x-modular_unpack_source |
342 |
|
|
x-modular_patch_source |
343 |
|
|
|
344 |
|
|
# Set up kdrive servers to build |
345 |
|
|
if use kdrive; then |
346 |
|
|
kdrive_setup |
347 |
|
|
fi |
348 |
|
|
|
349 |
|
|
# Make sure eautoreconf gets run if we need the autoconf/make |
350 |
|
|
# changes. |
351 |
|
|
if [[ ${SNAPSHOT} != "yes" ]]; then |
352 |
|
|
if use kdrive; then |
353 |
|
|
eautoreconf |
354 |
|
|
fi |
355 |
|
|
fi |
356 |
|
|
x-modular_reconf_source |
357 |
|
|
} |
358 |
|
|
|
359 |
|
|
src_install() { |
360 |
|
|
x-modular_src_install |
361 |
|
|
|
362 |
|
|
dynamic_libgl_install |
363 |
|
|
|
364 |
|
|
server_based_install |
365 |
|
|
|
366 |
|
|
# Install video mode files for system-config-display |
367 |
|
|
insinto /usr/share/xorg |
368 |
|
|
doins hw/xfree86/common/{extra,vesa}modes \ |
369 |
|
|
|| die "couldn't install extra modes" |
370 |
|
|
|
371 |
|
|
# Bug #151421 - this file is not built with USE="minimal" |
372 |
|
|
# Bug #151670 - this file is also not build if USE="-xorg" |
373 |
|
|
if ! use minimal && use xorg; then |
374 |
|
|
# Install xorg.conf.example |
375 |
|
|
insinto /etc/X11 |
376 |
|
|
doins hw/xfree86/xorg.conf.example \ |
377 |
|
|
|| die "couldn't install xorg.conf.example" |
378 |
|
|
fi |
379 |
|
|
} |
380 |
|
|
|
381 |
|
|
pkg_postinst() { |
382 |
|
|
switch_opengl_implem |
383 |
|
|
|
384 |
|
|
# Bug #135544 |
385 |
|
|
ewarn "Users of reduced blanking now need:" |
386 |
|
|
ewarn " Option \"ReducedBlanking\"" |
387 |
|
|
ewarn "In the relevant Monitor section(s)." |
388 |
|
|
ewarn "Make sure your reduced blanking modelines are safe!" |
389 |
|
|
} |
390 |
|
|
|
391 |
|
|
pkg_postrm() { |
392 |
|
|
# Get rid of module dir to ensure opengl-update works properly |
393 |
|
|
if ! has_version x11-base/xorg-server; then |
394 |
|
|
if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then |
395 |
|
|
rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules |
396 |
|
|
fi |
397 |
|
|
fi |
398 |
|
|
} |
399 |
|
|
|
400 |
|
|
kdrive_setup() { |
401 |
|
|
local card real_card disable_card kdrive_fbdev kdrive_vesa |
402 |
|
|
|
403 |
|
|
einfo "Removing unused kdrive drivers ..." |
404 |
|
|
|
405 |
|
|
# Some kdrive servers require fbdev and vesa |
406 |
|
|
kdrive_fbdev="radeon neomagic sis siliconmotion" |
407 |
|
|
# Some kdrive servers require just vesa |
408 |
|
|
kdrive_vesa="chips mach64 mga nv glint r128 via" |
409 |
|
|
|
410 |
|
|
for card in ${IUSE_VIDEO_CARDS}; do |
411 |
|
|
real_card=${card#video_cards_} |
412 |
|
|
|
413 |
|
|
# Differences between VIDEO_CARDS name and kdrive server name |
414 |
|
|
real_card=${real_card/glint/pm2} |
415 |
|
|
real_card=${real_card/radeon/ati} |
416 |
|
|
real_card=${real_card/%nv/nvidia} |
417 |
|
|
real_card=${real_card/siliconmotion/smi} |
418 |
|
|
real_card=${real_card/%sis/sis300} |
419 |
|
|
|
420 |
|
|
disable_card=0 |
421 |
|
|
|
422 |
|
|
# Check whether it's a valid kdrive server before we waste time |
423 |
|
|
# on the rest of this |
424 |
|
|
if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then |
425 |
|
|
continue |
426 |
|
|
fi |
427 |
|
|
|
428 |
|
|
if ! use ${card}; then |
429 |
|
|
if use x86; then |
430 |
|
|
# Some kdrive servers require fbdev and vesa |
431 |
|
|
for i in ${kdrive_fbdev}; do |
432 |
|
|
if use video_cards_${i}; then |
433 |
|
|
if [[ ${real_card} = fbdev ]] \ |
434 |
|
|
|| [[ ${real_card} = vesa ]]; then |
435 |
|
|
continue 2 # Don't disable |
436 |
|
|
fi |
437 |
|
|
fi |
438 |
|
|
done |
439 |
|
|
|
440 |
|
|
# Some kdrive servers require just vesa |
441 |
|
|
for i in ${kdrive_vesa}; do |
442 |
|
|
if use video_cards_${i}; then |
443 |
|
|
if [[ ${real_card} = vesa ]]; then |
444 |
|
|
continue 2 # Don't disable |
445 |
|
|
fi |
446 |
|
|
fi |
447 |
|
|
done |
448 |
|
|
fi |
449 |
|
|
disable_card=1 |
450 |
|
|
# Bug #150052 |
451 |
|
|
# fbdev is the only VIDEO_CARDS setting that works on non-x86 |
452 |
|
|
elif ! use x86 \ |
453 |
|
|
&& [[ ${real_card} != fbdev ]]; then |
454 |
|
|
ewarn " $real_card does not work on your architecture; disabling." |
455 |
|
|
disable_card=1 |
456 |
|
|
fi |
457 |
|
|
|
458 |
|
|
if [[ $disable_card = 1 ]]; then |
459 |
|
|
ebegin " ${real_card}" |
460 |
|
|
sed -i \ |
461 |
|
|
-e "s:\b${real_card}\b::g" \ |
462 |
|
|
"${S}"/hw/kdrive/Makefile.am \ |
463 |
|
|
|| die "sed of ${real_card} failed" |
464 |
|
|
eend |
465 |
|
|
fi |
466 |
|
|
|
467 |
|
|
done |
468 |
|
|
|
469 |
|
|
# smi and via are the only things on line 2. If line 2 ends up blank, |
470 |
|
|
# we need to get rid of the backslash at the end of line 1. |
471 |
|
|
if ! use video_cards_siliconmotion && ! use video_cards_via; then |
472 |
|
|
sed -i \ |
473 |
|
|
-e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ |
474 |
|
|
"${S}"/hw/kdrive/Makefile.am |
475 |
|
|
fi |
476 |
|
|
} |
477 |
|
|
|
478 |
|
|
dynamic_libgl_install() { |
479 |
|
|
# next section is to setup the dynamic libGL stuff |
480 |
|
|
ebegin "Moving GL files for dynamic switching" |
481 |
|
|
dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
482 |
|
|
local x="" |
483 |
|
|
for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do |
484 |
|
|
if [ -f ${x} -o -L ${x} ]; then |
485 |
|
|
mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
486 |
|
|
fi |
487 |
|
|
done |
488 |
|
|
eend 0 |
489 |
|
|
} |
490 |
|
|
|
491 |
|
|
server_based_install() { |
492 |
|
|
use xprint && xprint_src_install |
493 |
|
|
|
494 |
|
|
if ! use xorg; then |
495 |
|
|
rm "${D}"/usr/share/man/man1/Xserver.1x \ |
496 |
|
|
"${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \ |
497 |
|
|
"${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ |
498 |
|
|
"${D}"/usr/share/man/man1/Xserver.1x |
499 |
|
|
fi |
500 |
|
|
} |
501 |
|
|
|
502 |
|
|
switch_opengl_implem() { |
503 |
|
|
# Switch to the xorg implementation. |
504 |
|
|
# Use new opengl-update that will not reset user selected |
505 |
|
|
# OpenGL interface ... |
506 |
|
|
echo |
507 |
|
|
# eselect opengl set --use-old ${OPENGL_DIR} |
508 |
|
|
eselect opengl set ${OLD_IMPLEM} |
509 |
|
|
} |
510 |
|
|
|
511 |
|
|
xprint_src_install() { |
512 |
|
|
# RH-style init script, we provide a wrapper |
513 |
|
|
exeinto /usr/$(get_libdir)/misc |
514 |
|
|
doexe "${S}"/hw/xprint/etc/init.d/xprint |
515 |
|
|
# Install the wrapper |
516 |
|
|
newinitd "${FILESDIR}"/xprint.init xprint |
517 |
|
|
# Install profile scripts |
518 |
|
|
insinto /etc/profile.d |
519 |
|
|
doins "${S}"/hw/xprint/etc/profile.d/xprint* |
520 |
|
|
insinto /etc/X11/xinit/xinitrc.d |
521 |
|
|
doins "${S}"/hw/xprint/etc/Xsession.d/92xprint-xpserverlist |
522 |
|
|
# Patch profile scripts |
523 |
|
|
sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ |
524 |
|
|
get_xpserverlist:g" -i "${D}"/etc/profile.d/xprint* \ |
525 |
|
|
"${D}"/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist |
526 |
|
|
# Move profile scripts, we can't touch /etc/profile.d/ in Gentoo |
527 |
|
|
dodoc "${D}"/etc/profile.d/xprint* |
528 |
|
|
rm -f "${D}"/etc/profile.d/xprint* |
529 |
|
|
} |
530 |
|
|
|
531 |
|
|
ensure_a_server_is_building() { |
532 |
|
|
for server in ${IUSE_SERVERS}; do |
533 |
|
|
use ${server} && return; |
534 |
|
|
done |
535 |
|
|
eerror "You need to specify at least one server to build." |
536 |
|
|
eerror "Valid servers are: ${IUSE_SERVERS}." |
537 |
|
|
die "No servers were specified to build." |
538 |
|
|
} |