# -*- 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                sword
version             1.9.0
revision            6
set branch          [join [lrange [split ${version} .] 0 1] .]
categories          textproc
platforms           darwin
maintainers         nomaintainer
license             GPL-2

description         cross-platform API/library for Bible software

long_description    The SWORD Project is an open source, cross-platform \
                    (Linux, Windows, Solaris, etc.) API/library for \
                    Bible software with a constantly growing list of \
                    front-ends (GUI, textmode, web-based, etc.) and a \
                    library of over 200 text modules.

homepage            http://www.crosswire.org/${name}/index.jsp
master_sites        http://www.crosswire.org/ftpmirror/pub/${name}/source/v${branch}/

checksums           rmd160  59d9fe9f0d0c2af5211f23585ffbd7443266c20d \
                    sha256  42409cf3de2faf1108523e2c5ac0745d21f9ed2a5c78ed878ee9dcc303426b8a \
                    size    2606652

depends_build       port:autoconf \
                    port:automake \
                    port:libtool \
                    port:pkgconfig

depends_lib         port:curl \
                    path:lib/pkgconfig/icu-uc.pc:icu \
                    path:lib/libssl.dylib:openssl \
                    port:zlib \
                    port:clucene

# required for ICU
compiler.cxx_standard     2011
configure.cppflags-append -DU_USING_ICU_NAMESPACE=1
configure.cxxflags-append -std=c++11 -ftemplate-depth-128

# fix screenfulls of subdir-objects warnings
patchfiles          patch-sword-subdir-objects.diff

pre-configure {
    system -W ${worksrcpath} "env LTIZE=${prefix}/bin/glibtoolize ./autogen.sh"
}

configure.args      --with-zlib \
                    --with-conf \
                    --with-curl \
                    --with-icu  \
                    --with-clucene

destroot.keepdirs   ${destroot}${prefix}/share/${name}/mods.d \
                    ${destroot}${prefix}/share/${name}/modules
post-destroot {
    xinstall -d -m 0755 ${destroot}${prefix}/share/${name}/mods.d
    xinstall -d -m 0755 ${destroot}${prefix}/share/${name}/modules

    xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
    xinstall -m 0644 -W ${worksrcpath} README INSTALL LICENSE ${destroot}${prefix}/share/doc/${name}
    copy ${worksrcpath}/samples ${destroot}${prefix}/share/doc/${name}/
    delete ${destroot}${prefix}/share/${name}/mods.d/globals.conf
    move ${destroot}${prefix}/etc/sword.conf ${destroot}${prefix}/etc/sword.conf.sample
}

post-activate {
    if {![file exists ${prefix}/share/${name}/mods.d/globals.conf]} {
        copy ${prefix}/share/doc/${name}/samples/mods.d/globals.conf ${prefix}/share/${name}/mods.d/
    }
    if {![file exists ${prefix}/etc/sword.conf]} {
        copy ${prefix}/etc/sword.conf.sample ${prefix}/etc/sword.conf
    }
}

livecheck.type      regex
livecheck.url       http://www.crosswire.org/sword/software/swordapi.jsp
livecheck.regex     {SWORD Engine / API v([0-9\.]+)}
