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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations) (download)
Tue May 1 05:44:20 2007 UTC (6 years, 11 months ago) by dberkholz
Branch: MAIN
Changes since 1.2: +5 -8 lines
Remove VIDEO_CARDS flags for binary drivers and block binary ati and nvidia drivers, since none of them work yet with 1.3. Since we aren't yet sure which versions will, block them unconditionally for now and add appropriate dependencies later.
(Portage version: 2.1.2.5)

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

  ViewVC Help
Powered by ViewVC 1.1.20