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

Contents of /x11-base/xorg-server/xorg-server-1.5.3-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Thu Feb 19 17:21:41 2009 UTC (5 years, 10 months ago) by remi
Branch: MAIN
Changes since 1.1: +1 -3 lines
x11-base/xorg-server: drop liblbxutil dep, there are no references to it in the sources
(Portage version: 2.2_rc23/cvs/Linux x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20