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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Tue Oct 14 17:51:04 2008 UTC (5 years, 8 months ago) by dberkholz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
Clean up old ebuilds.
(Portage version: 2.2_rc12/cvs/Linux 2.6.27-rc9 x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20