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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.20 - (show annotations) (download)
Sun Apr 18 08:41:21 2010 UTC (4 years, 4 months ago) by scarabeus
Branch: MAIN
CVS Tags: HEAD
Changes since 1.19: +1 -1 lines
FILE REMOVED
Drop xorg-server 1.5 series
(Portage version: 2.2_rc67/cvs/Linux x86_64)

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

  ViewVC Help
Powered by ViewVC 1.1.20