# $Id: Portfile 56235 2009-08-25 14:03:05Z ram@macports.org $

PortSystem        1.0

name              git-core
version           1.6.4.1
description       A fast version control system
long_description  Git is a fast, scalable, distributed open source version \
                  control system focusing on speed and efficiency.
maintainers       larsen.st:bryan \
                  gmail.com:maccheck \
                  openmaintainer
categories        devel
platforms         darwin
homepage          http://git.or.cz/
use_bzip2         yes
master_sites      http://www.kernel.org/pub/software/scm/git/
distname          git-${version}
distfiles         git-${version}${extract.suffix} \
                  git-manpages-${version}${extract.suffix}

checksums    git-${version}${extract.suffix} sha1 1b1378d2a457d9bbccca92d7adb78a4afa5157c5 \
             git-manpages-${version}${extract.suffix} sha1 fdab7acc88d11510f9e44f44e101f3aa43920d8e

depends_run  port:rsync path:bin/perl:perl5 port:p5-error
depends_lib  port:curl port:zlib port:openssl port:expat port:libiconv

patchfiles   patch-Makefile.diff

extract.only   git-${version}${extract.suffix} \
               git-manpages-${version}${extract.suffix}

use_configure  no

build.args     CFLAGS="-Wall -O2 -I${prefix}/include" LDFLAGS="-L${prefix}/lib" \
               CC=${configure.cc} \
               prefix=${prefix} CURLDIR=${prefix} OPENSSLDIR=${prefix} ICONVDIR=${prefix} \
               PERL_PATH="${prefix}/bin/perl" NO_FINK=1 NO_DARWIN_PORTS=1 \
               NO_R_TO_GCC_LINKER=1

test.run       yes
test.cmd       make
test.target    test
test.dir       ${worksrcpath}
test.args      prefix=${prefix} CURLDIR=${prefix} OPENSSLDIR=${prefix} ICONVDIR=${prefix} \
               PERL_PATH="${prefix}/bin/perl" NO_FINK=1 NO_DARWIN_PORTS=1

destroot.destdir  DESTDIR=${destroot} prefix=${prefix}
destroot.target   install
destroot.args     CFLAGS="-Wall -O2 -I${prefix}/include" LDFLAGS="-L${prefix}/lib" \
                  prefix=${prefix} CURLDIR=${prefix} OPENSSLDIR=${prefix} ICONVDIR=${prefix} \
                  PERL_PATH="${prefix}/bin/perl" NO_FINK=1 NO_DARWIN_PORTS=1 \
                  NO_R_TO_GCC_LINKER=1

post-destroot {
    foreach f {1 5 7} {
        xinstall -d ${destroot}${prefix}/share/man/man${f}
        foreach m [glob -directory ${workpath} man${f}/*.${f}] {
            xinstall ${m} ${destroot}${prefix}/share/man/man${f}
        }
    }
    if {![variant_isset svn]} {
        system "rm ${destroot}${prefix}/libexec/git-core/git-svn*"
    }
    set docdestroot ${destroot}${prefix}/share/doc/${name}
    xinstall -d ${docdestroot}
    if {[variant_isset doc]} {
        system "cd ${docdestroot} && ${extract.cmd} ${extract.pre_args} \
            ${distpath}/git-htmldocs-${version}${extract.suffix} \
            ${extract.post_args}"
    }

    file copy ${worksrcpath}/contrib ${docdestroot}

    foreach badfile [exec find ${destroot} -name perllocal.pod] {
        ui_info "Removing ${badfile}"
        file delete ${badfile}
    }
}

variant doc description {Install HTML and plaintext documentation} {
    distfiles-append    git-htmldocs-${version}${extract.suffix}
    checksums-append    git-htmldocs-${version}${extract.suffix} sha1 834a5d119426b72c510a8a45ed98d283a8876be1
}

variant gitweb description {Install gitweb.cgi} {
    build.target-append        gitweb/gitweb.cgi

    post-destroot {
        xinstall -d ${destroot}${prefix}/share/${name}/gitweb
        xinstall -m 444 -W ${worksrcpath}/gitweb \
            gitweb.cgi \
            gitweb.css \
            git-favicon.png \
            git-logo.png \
            ${destroot}${prefix}/share/${name}/gitweb
        xinstall -d ${destroot}${prefix}/share/doc/${name}/gitweb
        xinstall -m 444 -W ${worksrcpath}/gitweb README INSTALL \
            ${destroot}${prefix}/share/doc/${name}/gitweb
    }
}

variant svn description {Bi-directional subversion repository support} {
    depends_run-append  port:subversion port:p5-libwww-perl port:p5-svn-simple port:p5-term-readkey
}

variant bash_completion {
    depends_run-append  port:bash-completion

    post-destroot {
        xinstall -d ${destroot}${prefix}/etc/bash_completion.d
        xinstall -m 644 ${worksrcpath}/contrib/completion/git-completion.bash \
            ${destroot}${prefix}/etc/bash_completion.d/git
    }
}

default_variants    +doc

livecheck.check         regex
livecheck.regex         {<div id="ver">v([0-9.]+)}
