source: trunk/dports/science/root6/Portfile @ 119871

Last change on this file since 119871 was 119871, checked in by mojca@…, 6 years ago

root: new ports root5, root6, root_select

  • root: replaced by root5
  • root6: new CMake-based installation of ROOT 6
  • root_select: easy switching between ROOT5 and 6
  • revbump iAIDA
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 21.6 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 119871 2014-05-08 20:29:26Z mojca@macports.org $
3
4PortSystem          1.0
5
6PortGroup           active_variants 1.1
7PortGroup           cmake 1.0
8PortGroup           compiler_blacklist_versions 1.0
9PortGroup           github 1.0
10PortGroup           select 1.0
11
12# TODO:
13# - try to figure out if one could also build root6 on < 10.9
14# - version 5.99.06-beta is broken also on 10.9
15#if {${os.major} < 13 } {
16github.setup        root-mirror root e3dec6e203
17version             5.99.05-beta
18checksums           rmd160  69f6a99413908eed7789bc30939a621f45eac7a2 \
19                    sha256  10f2956cd821471477a351c01355c2eb802c01e046764d18865e7416dfa810f8
20#} else {
21#   github.setup    root-mirror root 5-99-06 v
22#   version         5.99.06-beta
23#   checksums       rmd160  b8b5ae705aae185c0d6ed097a5efa6fbeb961bfb \
24#                   sha256  c873d536769ff06616c0a9981e7f1db2414eaca0a1bcab045d4073b36644981a
25#}
26
27name                root6
28set version_major   6
29categories          science
30maintainers         hep.phy.cam.ac.uk:jonesc mojca
31license             LGPL-2.1+
32
33description         ROOT is a data analysis framework from CERN
34long_description    The ROOT system provides a set of frameworks with all \
35                    the functionality needed to handle and analyze large amounts \
36                    of data in a very efficient way. This version provides a build \
37                    of a snapshot of the ROOT 6 development version. \
38                    For a stable release install the root port instead.
39
40homepage            http://root.cern.ch/
41platforms           darwin
42
43dist_subdir         root
44configure.dir       ${workpath}/build
45build.dir           ${configure.dir}
46
47post-extract {
48    file mkdir ${configure.dir}
49}
50
51depends_lib         port:expat \
52                    port:gmp \
53                    port:giflib \
54                    port:jpeg \
55                    port:libpng \
56                    port:lzma \
57                    port:pcre \
58                    port:tiff \
59                    port:zlib \
60                    port:xz
61                  # port:freetype
62
63depends_run         port:root_select
64
65# TODO: the file ${filespath}/${name} would have to be generated on the fly instead
66select.group        root
67select.file         ${filespath}/${name}
68
69# TODO: exact compiler fallback/black list
70# Force a compatible compiler
71compiler.blacklist-append {clang < 425} macports-clang-2.9
72compiler.fallback-append macports-clang-3.5 macports-clang-3.4 macports-clang-3.3
73
74# port specific location
75set install_prefix ${prefix}/libexec/root${version_major}
76
77configure.args-append \
78                    -Dgnuinstall=ON \
79                    -DCMAKE_INSTALL_PREFIX="${install_prefix}" \
80                    -DCMAKE_INSTALL_SYSCONFDIR="${install_prefix}/etc/root" \
81                    -Dfortran=OFF \
82                    -Dbuiltin_freetype=ON \
83                    -Dbuiltin_glew=OFF \
84                    -Dbuiltin_pcre=OFF \
85                    -Dbuiltin_zlib=OFF \
86                    -Dbuiltin_lzma=OFF \
87                    -Dfftw3=OFF \
88                    -Dkrb5=OFF \
89                    -Dldap=OFF \
90                    -Dmysql=OFF \
91                    -Dsqlite=OFF \
92                    -Dodbc=OFF \
93                    -Dopengl=OFF \
94                    -Dpythia6=OFF \
95                    -Dpythia8=OFF \
96                    -Droofit=OFF \
97                    -Dssl=OFF \
98                    -Dxml=OFF \
99                    -Dpython=OFF \
100                    -Dfitsio=OFF \
101                    -Dgsl_shared=OFF \
102                    -Dpgsql=OFF \
103                    -Ddcache=OFF \
104                    -Dchirp=OFF \
105                    -Dhdfs=OFF \
106                    -Druby=OFF \
107                    -Dminuit2=OFF \
108                    -Dtmva=OFF \
109                    -Dqt=OFF \
110                    -Dqtgsi=OFF \
111                    -Dbonjour=OFF \
112                    -Dgviz=OFF \
113                    -Dsoversion=OFF \
114                    -Dc++11=OFF \
115                    -Dlibcxx=OFF \
116                    -Dxrootd=OFF \
117                    -Dbuiltin_ftgl=ON \
118                    -Dmathmore=ON \
119                    -Dgenvector=ON \
120                    -Dmemstat=ON \
121                    -Dunuran=ON \
122                    -Dreflex=ON \
123                    -Dtable=ON \
124                    -Dgdml=ON \
125                    -DPNG_LIBRARY=${prefix}/lib/libpng.dylib \
126                    -DPNG_PNG_INCLUDE_DIR=${prefix}/include
127
128configure.post_args ${worksrcpath}
129
130# TODO: temporary:
131configure.args-append       -DCMAKE_INCLUDE_PATH=${prefix}/include
132configure.cppflags-delete   -I${prefix}/include
133
134# TODO: Check ${configure.cxx_stdlib} directly once MacPorts 2.3 is released
135platform darwin {
136    set cxxstdlib {}
137
138    if {[info exists configure.cxx_stdlib] &&
139        ${configure.cxx_stdlib} ne {} &&
140        [string match *clang* ${configure.cxx}]} {
141        set cxxstdlib ${configure.cxx_stdlib}
142    } elseif {[string match *clang* ${configure.cxx}] && ${os.major} >= 13} {
143        set cxxstdlib libc++
144    } else {
145        set cxxstdlib libstdc++
146    }
147
148    if {${cxxstdlib} eq "libc++"} {
149        configure.args-replace -Dc++11=OFF -Dc++11=ON
150    }
151}
152
153post-destroot {
154    # create versioned symlinks for the content of libexec
155    # bin dir
156    foreach f [glob -directory ${destroot}${install_prefix}/bin *] {
157        set filename  [file tail $f]
158        set extension [file extension $filename]
159        set base      [file rootname $filename]
160        set versioned_filename ${base}${version_major}${extension}
161        ln -s ${install_prefix}/bin/${filename} ${destroot}${prefix}/bin/${versioned_filename}
162    }
163    # lib dir
164    ln -s ${install_prefix}/lib/root ${destroot}${prefix}/lib/root${version_major}
165    # include dir
166    ln -s ${install_prefix}/include/root ${destroot}${prefix}/include/root${version_major}
167    # etc dir
168    ln -s ${install_prefix}/etc/root ${destroot}${prefix}/etc/root${version_major}
169    # share dir
170    ln -s ${install_prefix}/share ${destroot}${prefix}/share/root${version_major}
171    # 'Fix' genreflex
172    #reinplace "s|lib/python/genreflex|lib/root${version_major}/python/genreflex|g" ${destroot}${install_prefix}/bin/genreflex
173    # Compress manpages in custom location (borrowed from mariadb)
174    set manpath ${install_prefix}/share/man
175    set gzip [findBinary gzip ${portutil::autoconf::gzip_path}]
176    foreach manpage [glob -type f ${destroot}${manpath}/man1/*] {
177        # Zip the man file
178        system "$gzip -9vf ${manpage}"
179        # Create man pages for versioned files
180        set filename  [file tail $manpage]
181        set extension [file extension $filename]
182        set base      [file rootname $filename]
183        set versioned_filename ${base}${version_major}${extension}.gz
184        set d [file tail $manpage]
185        ln -s ${manpath}/man1/${d}.gz ${destroot}${prefix}/share/man/man1/${versioned_filename}
186    }
187}
188
189set run_port_select "No"
190pre-activate {
191  if { ![file exists ${prefix}/bin/root]  &&
192       ![file exists ${prefix}/bin/root5] &&
193       ![file exists ${prefix}/bin/root6] } {
194     set run_port_select "Yes"
195  }
196}
197
198post-activate {
199  ui_msg "======================================================================================"
200  if { ${run_port_select} == "Yes" } {
201      ui_msg "  Making root${version_major} your default root version. To change this run 'sudo port select root'"
202      catch { system "port select root root${version_major}" }
203  } else {
204      ui_msg "  To make root${version_major} your default root version, run 'sudo port select root root${version_major}'"
205  }
206  ui_msg "======================================================================================"
207}
208
209universal_variant   no
210
211default_variants    +ssl +xml +gsl +minuit2 +tmva +roofit +graphviz +opengl +soversion
212
213# Since ROOT 5.34.15 the cocoa backend is default on OSX 10.8 or newer
214# We also make it default on 10.7
215if {${os.major} > 10} {
216    set default_gui_variant +cocoa
217} else {
218    set default_gui_variant +x11
219}
220
221# TODO - Doesn't seem to work. To be reported upstream..
222# variant xrootd description {Build with XRootD support} {
223#   system "export XRDSYS=${prefix}/lib"
224#   configure.args-replace  -Dxrootd=OFF -Dxrootd=ON
225#  #configure.args-append   -Dbuiltin_xrootd=ON
226#   configure.args-append   -DXROOTD_INCLUDE_DIR="${prefix}/include/xrootd"
227#   depends_lib-append      port:xrootd
228# }
229
230variant soversion description {Build with soversion support} {
231    configure.args-replace  -Dsoversion=OFF -Dsoversion=ON
232}
233
234variant graphviz description {Build with graphviz support} {
235    configure.args-replace  -Dgviz=OFF -Dgviz=ON
236    configure.args-append   -DGRAPHVIZ_INCLUDE_DIR="${prefix}/include"
237#                           -DGRAPHVIZ_CDT_LIBRARY="${prefix}/lib/libcdt.dylib" \
238#                           -DGRAPHVIZ_GRAPH_LIBRARY="${prefix}/lib/libcgraph.dylib" \
239#                           -DGRAPHVIZ_GVC_LIBRARY="${prefix}/lib/libgvc.dylib" \
240#                           -DGRAPHVIZ_PATHPLAN_LIBRARY="${prefix}/lib/libpathplan.dylib"
241    depends_lib-append      path:bin/dot:graphviz
242}
243
244variant avahi description {Build with avahi support} {
245    configure.args-replace  -Dbonjour=OFF -Dbonjour=ON
246#   configure.args-append   -DAVAHI_INCLUDE_DIR="${prefix}/include" \
247#                           -DAVAHI_client_LIBRARY="${prefix}/lib"
248    depends_lib-append      port:avahi
249}
250
251variant fftw3 description {Build with fftw3 support} {
252    configure.args-replace  -Dfftw3=OFF -Dfftw3=ON
253    configure.args-append   -DFFTW_INCLUDE_DIR="${prefix}/include" \
254                            -DFFTW_LIBRARY="${prefix}/lib/libfftw3.dylib"
255    depends_lib-append      port:fftw-3
256}
257
258variant gsl description {Build with gsl support} {
259    configure.args-replace  -Dgsl_shared=OFF -Dgsl_shared=ON
260    configure.args-append   -DGSL_CONFIG_EXECUTABLE="${prefix}/bin/gsl-config"
261    depends_lib-append      port:gsl
262}
263
264variant fitsio description {Build with fitsio support} {
265    configure.args-replace  -Dfitsio=OFF -Dfitsio=ON
266    configure.args-append   -DCFITSIO_INCLUDE_DIR="${prefix}/include" \
267                            -DCFITSIO_LIBRARIES="${prefix}/lib"
268    depends_lib-append      port:cfitsio
269}
270
271variant odbc description {Build with odbc support} {
272    configure.args-replace  -Dodbc=OFF -Dodbc=ON
273    configure.args-append   -DODBC_INCLUDE_DIR="${prefix}/include" \
274                            -DODBC_LIBRARY="${prefix}/lib/libiodbc.dylib"
275    depends_lib-append      port:libiodbc
276}
277
278variant ldap description {Build with ldap support} {
279    configure.args-replace  -Dldap=OFF -Dldap=ON
280#   configure.args-append   -DLDAP_INCLUDE_DIR="${prefix}/include" \
281#                           -DLDAP_LIBRARY="${prefix}/lib"
282    depends_lib-append      port:openldap
283}
284
285variant roofit description {Build the RooFit advanced fitting package} {
286    configure.args-replace  -Droofit=OFF -Droofit=ON
287}
288
289variant tmva description {Build the TMVA package} {
290    configure.args-replace  -Dtmva=OFF -Dtmva=ON
291    post-destroot {
292        set tmvaTuts ${destroot}${install_prefix}/share/root/tutorial/tmva
293        file mkdir ${tmvaTuts}
294        foreach f [glob ${worksrcpath}/tmva/test/*] { file copy $f ${tmvaTuts}/ }
295    }
296}
297
298variant minuit2 description {Build with minuit2 support} {
299    configure.args-replace  -Dminuit2=OFF -Dminuit2=ON
300}
301
302variant opengl description {Build with opengl support} {
303    configure.args-delete   -Dopengl=OFF
304    configure.args-delete   -Dbuiltin_glew=OFF
305    configure.args-append   -Dopengl=ON -Dbuiltin_glew=ON
306}
307
308# ========================================================================================
309# Setup various python variants
310# ========================================================================================
311
312# List of possible python versions ( 3.x does not seem to work yet )
313set python_versions { 2.6 2.7 }
314
315# Define the available variants
316foreach ver ${python_versions} {
317    set ver_no_dot [join [split ${ver} "."] ""]
318    set variant_line {variant python${ver_no_dot} description "Build with python ${ver} support"}
319    foreach over ${python_versions} {
320        if { ${ver} == ${over} } { continue }
321        set over_no_dot [join [split ${over} "."] ""]
322        append variant_line " conflicts python${over_no_dot}"
323    }
324    append variant_line { { } }
325    eval $variant_line
326}
327
328# Is a variant active ?
329set active_python_variant ""
330foreach ver ${python_versions} {
331    set ver_no_dot [join [split ${ver} "."] ""]
332    if {[variant_isset python${ver_no_dot}]} {
333        set active_python_variant ${ver}
334    }
335}
336
337# If so, set it up.
338if { ${active_python_variant} != "" } {
339    set ver_no_dot [join [split ${active_python_variant} "."] ""]
340    set portname root5
341    if {![catch {set result [active_variants ${portname} python${ver_no_dot}]}]} {
342        if {$result} {
343            ui_error "Cannot install ${name} with +python${ver_no_dot} variant"
344            return -code error "${portname} port is already installed with +python${ver_no_dot} and both cannot be active at once. Pick a different python variant."
345        }
346    }
347    set mypydir ${prefix}/Library/Frameworks/Python.framework/Versions/${active_python_variant}
348    configure.args-replace  -Dpython=OFF -Dpython=ON
349    configure.args-append   -DPYTHON_INCLUDE_DIR="${mypydir}/Headers" \
350                            -DPYTHON_LIBRARY="${prefix}/lib/libpython${active_python_variant}.dylib" \
351                            -DPYTHON_EXECUTABLE="${prefix}/bin/python${active_python_variant}"
352    depends_lib-append      port:python${ver_no_dot}
353    post-destroot {
354        set mypylibdir  ${prefix}/Library/Frameworks/Python.framework/Versions/${active_python_variant}/lib/python${active_python_variant}
355        set mypysitedir ${mypylibdir}/site-packages/
356        file mkdir ${destroot}${mypysitedir}
357        foreach pyfile [glob ${destroot}${install_prefix}/lib/root/*.py*] { move $pyfile ${destroot}${mypysitedir}/ }
358        ln -sf ${install_prefix}/lib/root/libPyROOT.so ${destroot}${mypylibdir}/
359    }
360}
361
362# ========================================================================================
363
364variant ssl description {Build with ssl support} {
365    configure.args-replace  -Dssl=OFF -Dssl=ON
366#   configure.args-append   -DOPENSSL_INCLUDE_DIR="${prefix}/include" \
367#                           -DOPENSSL_SSL_LIBRARY="${prefix}/lib/libssl.dylib" \
368#                           -DOPENSSL_CRYPTO_LIBRARY="${prefix}/lib/libcrypto.dylib"
369    depends_lib-append      port:openssl
370}
371
372variant xml description {Build with xml support} {
373    configure.args-replace  -Dxml=OFF -Dxml=ON
374    configure.args-append   -DLIBXML2_INCLUDE_DIR="${prefix}/include/libxml2" \
375                            -DLIBXML2_LIBRARIES="${prefix}/lib/libxml2.dylib" \
376                            -DLIBXML2_XMLLINT_EXECUTABLE="${prefix}/bin/xmllint"
377    depends_lib-append      port:libxml2
378}
379
380variant mysql conflicts mysql51 mysql55 mariadb percona description {Build with mysql5 support} {
381    configure.args-replace  -Dmysql=OFF -Dmysql=ON
382    configure.args-append   -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql5/bin/mysql_config"
383    depends_lib-append      port:mysql5
384}
385
386variant mysql51 conflicts mysql mysql55 mariadb percona description {Build with mysql51 support} {
387    configure.args-replace  -Dmysql=OFF -Dmysql=ON
388    configure.args-append   -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql51/bin/mysql_config"
389    depends_lib-append      port:mysql51
390}
391
392variant mysql55 conflicts mysql mysql51 mariadb percona description {Build with mysql55 support} {
393    configure.args-replace  -Dmysql=OFF -Dmysql=ON
394    configure.args-append   -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mysql55/bin/mysql_config"
395    depends_lib-append      port:mysql55
396}
397
398variant mariadb conflicts mysql mysql51 mysql55 percona description {Build with mariadb support} {
399    configure.args-replace  -Dmysql=OFF -Dmysql=ON
400    configure.args-append   -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/mariadb/bin/mysql_config"
401    depends_lib-append      port:mariadb
402}
403
404variant percona conflicts mysql mysql51 mysql55 mariadb description {Build with percona support} {
405    configure.args-replace  -Dmysql=OFF -Dmysql=ON
406    configure.args-append   -DMYSQL_CONFIG_EXECUTABLE=${prefix}"/lib/percona/bin/mysql_config"
407    depends_lib-append      port:percona
408}
409
410# TODO - Doesn't seem to work. To be reported upstream..
411# variant postgresql90 conflicts postgresql92 description {Build with PostgreSQL 9.0 support} {
412#     configure.args-replace -Dpgsql=OFF -Dpgsql=ON
413#     configure.args-append  -DPOSTGRESQL_INCLUDE_DIR="${prefix}/include/postgresql90" \
414#                            -DPOSTGRESQL_LIBRARIES="${prefix}/lib/postgresql90"
415#     depends_lib-append      port:libpqxx port:postgresql90
416# }
417
418# TODO - Doesn't seem to work. To be reported upstream..
419# variant postgresql92 conflicts postgresql90 description {Build with PostgreSQL 9.2 support} {
420#     configure.args-replace -Dpgsql=OFF -Dpgsql=ON
421#     configure.args-append  -DPOSTGRESQL_INCLUDE_DIR="${prefix}/include/postgresql92" \
422#                            -DPOSTGRESQL_LIBRARIES="${prefix}/lib/postgresql92"
423#     depends_lib-append      port:libpqxx port:postgresql92
424# }
425
426# variant oracle description {Build with Oracle support} {
427#     configure.args-replace --disable-oracle --enable-oracle
428#     configure.args-append  -DORACLE_PATH_INCLUDES="${prefix}/lib/oracle/sdk/include" \
429#                            -DORACLE_PATH_LIB="${prefix}/lib/oracle" \
430#                            -DORACLE_OCI_VERSION=8
431#     depends_lib-append     port:oracle-instantclient
432# }
433
434# TODO - Doesn't seem to work. To be reported upstream..
435# variant pythia description {Pythia 8 support for root} {
436#     configure.args-replace  -Dpythia8=OFF -Dpythia8=ON
437#     configure.args-append   -DPYTHIA8_INCLUDE_DIR=${prefix}/include \
438#                             -DPYTHIA8_LIBRARY=${prefix}/lib/libpythia8.dylib
439#     depends_lib-append      port:pythia
440# }
441
442variant cocoa conflicts x11 description {Enables native OSX graphical backend} {
443    # Enable cocoa support in configure
444    configure.args-append   -Dcocoa=ON
445}
446
447variant x11 conflicts cocoa description {Enables X11 graphical backend} {
448    # Dependencies on X11 ports
449    depends_lib-append      port:xorg-libX11 port:mesa port:Xft2 port:xpm
450    # Disable cocoa
451    configure.args-append   -Dcocoa=OFF
452}
453
454# If neither graphical variant is set, use default
455if { ![variant_isset cocoa] && ![variant_isset x11] } {
456    default_variants-append ${default_gui_variant}
457}
458
459# ========================================================================================
460# Setup various clang variants, to provide alternative C++ compilers that support cocoa
461# ========================================================================================
462
463# List of possible clang versions that work
464set clang_versions { 3.3 3.4 3.5 }
465
466# Define the available variants
467foreach ver ${clang_versions} {
468    set ver_no_dot [join [split ${ver} "."] ""]
469    set variant_line {variant clang${ver_no_dot} description "Compile using MacPorts clang ${ver}"}
470    foreach over ${clang_versions} {
471        if { ${ver} == ${over} } { continue }
472        set over_no_dot [join [split ${over} "."] ""]
473        append variant_line " conflicts clang${over_no_dot}"
474    }
475    append variant_line { { } }
476    eval $variant_line
477}
478
479# Is a variant active ?
480set active_clang_variant ""
481foreach ver ${clang_versions} {
482    set ver_no_dot [join [split ${ver} "."] ""]
483    if {[variant_isset clang${ver_no_dot}]} {
484        set active_clang_variant ${ver}
485    }
486}
487
488# If so, set it up.
489if { ${active_clang_variant} != "" } {
490    configure.compiler      macports-clang-${active_clang_variant}
491    # TODO
492    # configure.args-append   --with-llvm-config="${prefix}/bin/llvm-config-mp-"${active_clang_variant}
493    depends_run-append      port:clang-${active_clang_variant}
494}
495
496# ========================================================================================
497# Following is for fortran support
498# Might eventually move to a portgroup, or similar, so could be simplified.
499# Based on recipe from https://trac.macports.org/wiki/PortfileRecipes#fortran
500# Note that g95 does not work here, so that variant is removed
501# ========================================================================================
502
503set gcc_versions { 4.7 4.8 4.9 }
504set default_fortran_variant +gcc48
505
506foreach ver ${gcc_versions} {
507    set ver_no_dot [join [split ${ver} "."] ""]
508
509    set variant_line {variant gcc${ver_no_dot} description "Build with gfortran from gcc${ver_no_dot}"}
510
511    foreach over ${gcc_versions} {
512        if {${ver} == ${over}} {
513            continue
514        }
515
516        set over_no_dot [join [split ${over} "."] ""]
517        append variant_line " conflicts gcc${over_no_dot}"
518    }
519    append variant_line { {} }
520
521    eval $variant_line
522
523    if {[variant_isset gcc${ver_no_dot}]} {
524        if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
525            set default_fortran_variant ""
526        }
527    }
528}
529
530if {${default_fortran_variant} != ""} {
531    default_variants-append "${default_fortran_variant}"
532}
533
534foreach ver ${gcc_versions} {
535    set ver_no_dot [join [split ${ver} "."] ""]
536
537    if {[variant_isset gcc${ver_no_dot}]} {
538        depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
539        depends_build-append port:gcc${ver_no_dot}
540
541        configure.fc  ${prefix}/bin/gfortran-mp-${ver}
542        configure.f77 ${prefix}/bin/gfortran-mp-${ver}
543        configure.f90 ${prefix}/bin/gfortran-mp-${ver}
544
545        configure.args-replace -Dfortran=OFF -Dfortran=ON
546    }
547}
548
549# ========================================================================================
550
551# Problems finding includes ...
552# variant ruby description {Build with ruby support} {
553#     configure.args-replace  -Druby=OFF -Druby=ON
554#     depends_lib-append      port:ruby
555# }
556
557# TODO
558# livecheck.type              regex
559# livecheck.url               http://root.cern.ch/svn/root/trunk
560# livecheck.regex             ${name}_v(\[0-9a-z.\]+)\\.source
Note: See TracBrowser for help on using the repository browser.