# -*- 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
# $Id$

PortSystem          1.0

name                fossil
version             1.22
epoch               20110901182519
revision            1
categories          devel
platforms           darwin
license             BSD
maintainers         ciserlohn

description         Simple, high-reliability, distributed software configuration management

long_description    Fossil is a distributed software configuration management which supports \
                    distributed version control, distributed bug tracking, distributed wiki, \
                    and a distributed blog mechanism all in single integrated package. It provides \
                    an easy-to-use web interface to access and administrate projects over the \
                    built-in webserver or CGI.

homepage            http://www.fossil-scm.org/

master_sites        ${homepage}download/
distname            ${name}-src-20120317175325

# stealth update at v1.22
dist_subdir         ${name}/${version}_1

checksums           rmd160  cc89c07f1ab859ee32cc5facaaa1e45954b69376 \
                    sha256  8ea3462a29e645fe0bd062d5742de4e1921a38acced5107d08465821d95aa9b0

test.run            yes

depends_build       port:tcl

depends_lib         port:zlib \
                    port:openssl

configure.args-append       --disable-lineedit

configure.env-append CC_FOR_BUILD="${configure.cc} [get_canonical_archflags]"

post-destroot {
    set docdir ${destroot}${prefix}/share/doc/${name}
    xinstall -d ${docdir}
    xinstall -m 644 -W ${worksrcpath} \
        COPYRIGHT-BSD2.txt \
        ${docdir}
}

post-activate {
    
    if [file exists $::env(HOME)/.fossil] {
        ui_msg "* Trying to rebuild known repositories:" 

        set exec_cmd exec
        set fossil_list {fossil all list}
        set fossil_rebuild {fossil rebuild}

        if [catch {eval $exec_cmd $fossil_list} repositories] {
            ui_error "failed to execute $fossil_list"
        }

        if [llength $repositories] {
            foreach repo $repositories {
                if {![catch {eval $exec_cmd $fossil_rebuild $repo} result]} {
                    ui_msg "* successfully rebuild $repo"
                } else {
                    ui_msg "* failed to rebuild $repo"
                }
            }
        } else {
            ui_msg "* No repositories found"
        }

        ui_msg "* Finished rebuilding repositories"
    }
}

variant readline description {Enable readline support for the embedded sqlite shell in the 'fossil sqlite3' command} {
    depends_lib-append      port:readline
    configure.args-delete   --disable-lineedit
}

notes "
It is recommended to rebuild repositories created with earlier versions of\
fossil. To rebuild a repository run:

fossil rebuild /<path>/<to>/<repository>

Rebuilding a repository is a safe operation\; executing it more then once will\
not harm the integrity of a repository.
"

livecheck.type      regex
livecheck.url       ${homepage}/download.html
livecheck.regex     {Version ([\d.]*)}