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

  ViewVC Help
Powered by ViewVC 1.1.20