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

PortSystem          1.0
PortGroup           perl5 1.0

name                cvsweb
version             3.0.6
revision            7
categories          devel www
license             BSD
maintainers         nomaintainer
supported_archs     noarch
platforms           {darwin any}

description         WWW interface for CVS repositories
long_description    FreeBSD-CVSweb is a WWW CGI script that allows remote users to \
                    browse a CVS repository tree via web.  It can display the revision \
                    history of a file, as well as diffs between revisions and \
                    downloading the whole file.

homepage            https://www.freebsd.org/projects/cvsweb.html
master_sites        https://people.FreeBSD.org/~scop/cvsweb/ \
                    ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/scop/

checksums           rmd160  e933c3814ea52c7fb9cec65e088c9ab778da2fee \
                    sha256  07391ee70212ae42e54b8f6d5e613623ef2aad5fd7474899a102fcca48d213c2 \
                    size    72484

perl5.branches      5.34

depends_run         port:perl${perl5.major} \
                    port:p${perl5.major}-ipc-run \
                    port:p${perl5.major}-file-temp \
                    port:p${perl5.major}-uri \
                    port:p${perl5.major}-mime-types \
                    port:p${perl5.major}-string-ediff \
                    port:cvsgraph

use_configure       no
build               {}

global cgi_path httpd_conf_path
set cgi_path        "/Library/WebServer/CGI-Executables/"
set httpd_conf_path "/private/etc/httpd/"
set icons_path      "/Library/WebServer/Documents/icons/"
set css_path        "/Library/WebServer/Documents/css/"

variant macports_apache2 description {Install for MacPorts apache2 instead of Apple Apache} {
    global cgi_path httpd_conf_path
    set cgi_path        "${prefix}/apache2/cgi-bin/"
    set httpd_conf_path "${prefix}/apache2/conf/"
    set icons_path      "${prefix}/apache2/htdocs/icons/"
    set css_path        "${prefix}/apache2/htdocs/css/"
}

destroot.violate_mtree yes

destroot {
    file mkdir ${destroot}${cgi_path}
    file mkdir ${destroot}${httpd_conf_path}
    file mkdir ${destroot}${icons_path}
    file mkdir ${destroot}${css_path}
    xinstall -m 755 ${worksrcpath}/cvsweb.cgi ${destroot}${cgi_path}
    xinstall -m 644 ${worksrcpath}/cvsweb.conf ${destroot}${httpd_conf_path}
    xinstall -m 755 {*}[glob ${worksrcpath}/icons/*] ${destroot}${icons_path}
    xinstall -m 755 {*}[glob ${worksrcpath}/css/*] ${destroot}${css_path}

    reinplace -locale en_US.ISO8859-1 "s|#!/usr/bin/perl|#!${perl5.bin}|g" \
        "${destroot}${cgi_path}/cvsweb.cgi"
    reinplace -locale en_US.ISO8859-1 "s|/usr/local/etc/cvsweb/cvsweb.conf|${httpd_conf_path}cvsweb.conf|g" \
        "${destroot}${cgi_path}/cvsweb.cgi"
    # TODO: no effect
    reinplace -locale en_US.ISO8859-1 "s|/bin /usr/bin /usr/local/bin|/bin /usr/bin /usr/local/bin ${prefix}/bin ${prefix}/sbin|g" \
        "${destroot}${cgi_path}/cvsweb.cgi"
}
