# -*- 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
PortGroup           perl5 1.0

name                mod_perl2
version             2.0.8
revision            2
maintainers         cyberscript.net:ryan
categories          www
license             Apache-2
platforms           darwin
description         Embeds a Perl interpreter in the Apache2 server
long_description    mod_perl brings together the full power of the Perl programming language \
                    and the Apache HTTP server. You can use Perl to manage Apache, respond to \
                    requests for web pages and much more. \
                    \
                    mod_perl gives you a persistent Perl interpreter embedded in your web \
                    server. This lets you avoid the overhead of starting an external interpreter \
                    and avoids the penalty of Perl start-up time, giving you super-fast \
                    dynamic content. \
                    \
                    As you'd expect from the Perl community, there are hundreds of modules \
                    written for mod_perl, everything from persistent database connections, to \
                    templating sytems, to complete XML content delivery systems. Web sites like \
                    Slashdot and Wired Magazine use mod_perl.
homepage            http://perl.apache.org/
master_sites        apache:perl/
distname            mod_perl-${version}

checksums           rmd160  5863f229c1fe982852f05bf5c1af5d28dae28b7f \
                    sha256  35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6

perl5.require_variant   yes
perl5.conflict_variants yes
perl5.branches          5.16 5.18 5.20
perl5.create_variants   ${perl5.branches}

depends_lib         port:apache2 \
                    port:perl${perl5.major}
worksrcdir          mod_perl-${version}

if {[string match *clang* ${configure.compiler}]} {
    patchfiles-append clang-compatibility_src-modules-perl-modperl_common_util.h.patch
}

set APXS ${prefix}/apache2/bin/apxs

configure {
    system -W ${worksrcpath} "${perl5.bin} Makefile.PL MP_APXS=${APXS}"
}

destroot.violate_mtree yes

post-destroot {
        xinstall -m 755 -d ${destroot}${prefix}/apache2/include/modules/perl \
            ${destroot}${prefix}/apache2/libexec
    eval xinstall -m 755 [glob ${worksrcpath}/src/modules/perl/*.h] \
        ${destroot}${prefix}/apache2/include/modules/perl

        xinstall -m 755 ${worksrcpath}/src/modules/perl/mod_perl.so \
            ${destroot}${prefix}/apache2/libexec/

        fs-traverse f ${destroot}${prefix} {
            if {[file isfile ${f}]} {
                switch [file tail ${f}] {
                    .packlist -
                    perllocal.pod {
                        delete ${f}
                    }
                }
            }
        }
}

notes "
If this your first install, you might want to enable mod_perl in apache:

    cd ${prefix}/apache2/libexec
    ${APXS} -a -e -n \"perl\" mod_perl.so

And then relaunch apache:

    ${prefix}/apache2/bin/apachectl restart
"

livecheck.url       http://perl.apache.org/download/index.html
livecheck.type      regex
livecheck.regex     "mod_perl-(\\d+\\.\\d+(\[0-9rc.\]+)?).tar.gz"