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

name                ZendFramework2
version             2.4.13
categories          www lang
license             BSD
maintainers         nomaintainer
description         A framework for developing PHP web applications
long_description    This is a port of the Zend Framework. The Zend Framework \
                    aims to provide an architecture for developing entire \
                    applications with no other library dependencies. This code \
                    will always be actively developed, tested, and supported \
                    by Zend and the PHP Collaboration Project.

homepage            http://framework.zend.com/
platforms           darwin freebsd
if {$subport eq $name} {
    conflicts ZendFramework1

    distname            ZendFramework-${version}
    master_sites        https://packages.zendframework.com/releases/ZendFramework-${version}/
    extract.suffix      .tgz

    checksums           rmd160  eb5c1eb1644c2250d6d43358275da5c7741cbc0d \
                        sha256  d61c97673447c841d773a6806f7bce9a5d669c30aa1fafbb7f9214dcef16a563

    livecheck.regex     {ZF (2\.\d+\.\d+)}
}

subport ZendFramework1 {
    conflicts ZendFramework2

    version             1.12.20
    revision            0

    distname            ZendFramework-${version}
    master_sites        https://packages.zendframework.com/releases/ZendFramework-${version}/

    checksums           rmd160  7de3101bc67b929a7023274953b0a998b80d924e \
                        sha256  984396e529a2de11bd29ba9662fbf652a1f1052ed18b69a06fa7602fdce84f83

    livecheck.regex     {ZF (1\.\d+\.\d+)}
}

foreach php {php53 php54 php55 php56} {
    variant ${php} conflicts manual_extensions description "Use ${php}" "
        depends_run port:${php}-calendar port:${php}-curl port:${php}-dba port:${php}-exif port:${php}-ftp port:${php}-gd port:${php}-gettext port:${php}-gmp port:${php}-iconv port:${php}-imap port:${php}-mbstring port:${php}-mcrypt port:${php}-memcache port:${php}-mssql port:${php}-mysql port:${php}-odbc port:${php}-openssl port:${php}-pcntl port:${php}-posix port:${php}-postgresql port:${php}-soap port:${php}-sockets port:${php}-SPL_Types port:${php}-sqlite port:${php}-tidy port:${php}-wddx port:${php}-xmlrpc port:${php}-xsl port:${php}-zip
    "
}

if {![variant_isset php53] && ![variant_isset php54] && ![variant_isset php55] && ![variant_isset php56] && ![variant_isset manual_extensions]} {
    default_variants +php56
}

variant manual_extensions conflicts php53 php54 php55 php56 description {Let me pick my own php extensions} {
    depends_run         path:bin/php:php56
}

set zf_main_dir     ${prefix}/www/${subport}
set zf_doc_dir      ${prefix}/share/doc/${subport}

use_configure       no

build               {}

destroot {
    # Copy everything to www.
    copy ${worksrcpath} ${destroot}${zf_main_dir}

    # Link the CLI Zend Tool into bin.
    ln -s ${zf_main_dir}/bin/zf.sh ${destroot}${prefix}/bin
    ln -s ${zf_main_dir}/bin/zf.sh ${destroot}${prefix}/bin/zf

    # Link the documentation into share/doc.
    xinstall -d ${destroot}${zf_doc_dir}
    foreach f [glob ${worksrcpath}/*.txt] {
        ln -s ${zf_main_dir}/[file tail ${f}] ${destroot}${zf_doc_dir}
    }
}

notes               "If this is your first install, you might want to add \
                    ${zf_main_dir}/library to the include_path in your php.ini \
                    (e.g. include_path = \".:${zf_main_dir}/library\"). \
                    \n\nIf you want to use the extra ZendX components \
                    you might want to add ${zf_main_dir}/extras/library too \
                    (e.g. include_path = \".:${zf_main_dir}/library:${zf_main_dir}/extra/library\")."

livecheck.type      regex
livecheck.url       https://framework.zend.com/downloads/archives
