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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations) (download)
Fri Dec 11 17:19:06 2009 UTC (4 years, 7 months ago) by scarabeus
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +1 -1 lines
FILE REMOVED
Drop no-longer required ebuild.
(Portage version: 2.2_rc58/cvs/Linux i686)

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

  ViewVC Help
Powered by ViewVC 1.1.20