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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (show annotations) (download)
Wed Nov 19 22:46:27 2008 UTC (5 years, 11 months ago) by lu_zero
Branch: MAIN
Changes since 1.8: +2 -2 lines
ati-drivers now support xorg 1.5
(Portage version: 2.2_rc14/cvs/Linux 2.6.26-gentoo-r1 x86_64, RepoMan options: --force)

1 # Copyright 1999-2008 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.2.ebuild,v 1.8 2008/11/01 23:40:59 solar 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 DESCRIPTION="X.Org X servers"
15 KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
16 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_tslib
42 input_devices_ur98
43 input_devices_vmmouse
44 input_devices_void
45
46 input_devices_synaptics
47 input_devices_wacom"
48 IUSE_VIDEO_CARDS="
49 video_cards_apm
50 video_cards_ark
51 video_cards_ast
52 video_cards_chips
53 video_cards_cirrus
54 video_cards_cyrix
55 video_cards_dummy
56 video_cards_epson
57 video_cards_fbdev
58 video_cards_geode
59 video_cards_glint
60 video_cards_i128
61 video_cards_i740
62 video_cards_intel
63 video_cards_impact
64 video_cards_imstt
65 video_cards_mach64
66 video_cards_mga
67 video_cards_neomagic
68 video_cards_newport
69 video_cards_nsc
70 video_cards_nv
71 video_cards_r128
72 video_cards_radeon
73 video_cards_radeonhd
74 video_cards_rendition
75 video_cards_s3
76 video_cards_s3virge
77 video_cards_savage
78 video_cards_siliconmotion
79 video_cards_sis
80 video_cards_sisusb
81 video_cards_sunbw2
82 video_cards_suncg14
83 video_cards_suncg3
84 video_cards_suncg6
85 video_cards_sunffb
86 video_cards_sunleo
87 video_cards_suntcx
88 video_cards_tdfx
89 video_cards_tga
90 video_cards_trident
91 video_cards_tseng
92 video_cards_v4l
93 video_cards_vermilion
94 video_cards_vesa
95 video_cards_vga
96 video_cards_via
97 video_cards_vmware
98 video_cards_voodoo
99 video_cards_xgi
100 video_cards_fglrx
101 video_cards_nvidia"
102 IUSE_SERVERS="dmx kdrive xorg"
103 IUSE="${IUSE_VIDEO_CARDS}
104 ${IUSE_INPUT_DEVICES}
105 ${IUSE_SERVERS}
106 3dfx tslib
107 dri hal ipv6 minimal nptl sdl"
108 RDEPEND="hal? ( sys-apps/hal )
109 tslib? ( x11-libs/tslib )
110 >=x11-libs/libXfont-1.3.3
111 >=x11-libs/xtrans-1.2.2
112 >=x11-libs/libXau-1.0.4
113 >=x11-libs/libXext-1.0.4
114 >=x11-libs/libX11-1.1.5
115 >=x11-libs/libxkbfile-1.0.4
116 >=x11-libs/libXdmcp-1.0.2
117 >=x11-libs/libXmu-1.0.3
118 >=x11-libs/libXrender-0.9.4
119 >=x11-libs/libXi-1.1.3
120 >=x11-libs/pixman-0.12
121 media-libs/freetype
122 >=media-libs/mesa-7.1
123 media-fonts/font-adobe-75dpi
124 media-fonts/font-misc-misc
125 media-fonts/font-cursor-misc
126 >=x11-misc/xbitmaps-1.0.1
127 >=x11-misc/xkeyboard-config-1.3
128 >=x11-apps/iceauth-1.0.2
129 >=x11-apps/rgb-1.0.3
130 >=x11-apps/xauth-1.0.3
131 >=x11-apps/xinit-1.0.8-r3
132 app-admin/eselect-opengl
133 >=x11-libs/libXaw-1.0.4
134 >=x11-libs/libXpm-3.5.7
135 >=x11-libs/libXxf86misc-1.0.1
136 >=x11-libs/libXxf86vm-1.0.2
137 >=x11-libs/libpciaccess-0.10.3
138 dmx? ( >=x11-libs/libdmx-1.0.2
139 >=x11-libs/libXfixes-4.0.3 )
140 !minimal? ( >=x11-libs/libXtst-1.0.3
141 >=x11-libs/libXres-1.0.3 )
142 >=x11-libs/libxkbui-1.0.2
143 >=x11-libs/liblbxutil-1.0.1
144 kdrive? ( sdl? ( media-libs/libsdl ) )"
145 # Xres is dmx-dependent, xkbui is xorgcfg-dependent
146 # Xaw is dmx- and xorgcfg-dependent
147 # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
148 # Xxf86misc and Xxf86vm are xorgcfg-dependent
149 # liblbxutil is lbx- dependent
150 DEPEND="${RDEPEND}
151 !net-dialup/dtrace
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 dri? ( >=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.0.6 )
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-173.14.09 )
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 "${FILESDIR}/1.5.2-force-LC_ALL-C-when-running-awk.patch"
286 "${FILESDIR}/1.5.2-fix-xvesa-with-new-kernels.patch"
287 )
288
289 PATCHES=(
290 "${GENTOO_PATCHES[@]}"
291 "${UPSTREAMED_PATCHES[@]}"
292 )
293
294 pkg_setup() {
295 use minimal || ensure_a_server_is_building
296
297 # SDL only available in kdrive build
298 if use kdrive && use sdl; then
299 conf_opts="${conf_opts} --enable-xsdl"
300 else
301 conf_opts="${conf_opts} --disable-xsdl"
302 fi
303
304 # localstatedir is used for the log location; we need to override the default
305 # from ebuild.sh
306 # sysconfdir is used for the xorg.conf location; same applies
307 # --enable-install-setuid needed because sparcs default off
308 CONFIGURE_OPTIONS="
309 $(use_enable ipv6)
310 $(use_enable dmx)
311 $(use_enable kdrive)
312 $(use_enable tslib)
313 $(use_enable !minimal xvfb)
314 $(use_enable !minimal xnest)
315 $(use_enable !minimal xtrap)
316 $(use_enable !minimal record)
317 $(use_enable !minimal xfree86-utils)
318 $(use_enable !minimal install-libxf86config)
319 $(use_enable dri)
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 built_with_use media-libs/mesa nptl; then
335 use nptl || die "${diemsg}"
336 else
337 use nptl && die "${diemsg}"
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