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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations) (download)
Sat Sep 6 21:03:30 2008 UTC (6 years ago) by chainsaw
Branch: MAIN
Changes since 1.1: +2 -5 lines
Only depend on x11-drivers/xf86-input-synaptics as the older package does not build against this new server. Closes bug #236870 by Seemant Kulleen <seemant_g2@kulleen.org>.
(Portage version: 2.2_rc8/cvs/Linux 2.6.27-rc5-00283-g70bb089-dirty x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20