# -*- 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: Portfile 80617 2011-07-15 22:07:24Z ciserlohn@macports.org $

PortSystem          1.0

name                fossil
version             1.18
epoch               20110713230341
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-${epoch}

checksums           sha1    41162f4db6711210bc19271414454e953e348c5e \
                    rmd160  c0033a685457e032eea8ad9804be61121e8c8492

test.run            yes

depends_build       port:tcl

depends_lib         port:zlib \
                    port:openssl

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

post-activate {

    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"

}

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.version   ${epoch}
livecheck.url       ${homepage}/download.html
livecheck.regex     ${name}-src-(\\d{14})${extract.suffix}
