# -*- 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: Portfile 100807 2012-12-26 15:49:03Z hum@macports.org $

PortSystem          1.0

name                open_jtalk
version             1.06
categories          audio japanese
platforms           darwin
maintainers         hum openmaintainer
license             BSD

description         Japanese text-to-speech synthesis system

long_description    Open JTalk is a Japanese text-to-speech synthesis system.

homepage            http://open-jtalk.sourceforge.net/
master_sites        sourceforge:project/open-jtalk/Open%20JTalk/open_jtalk-${version}

checksums           ${distname}${extract.suffix} \
                    rmd160  397e12e7366fd98a5e91ff887345d985c9608794 \
                    sha256  cb0a17a5301458c7ea1992dbed61feb75a109af208ffdacf6a3459ecda980be7

depends_lib         port:hts_engine_API \
                    port:libiconv

patchfiles          patch-Makefile.diff

if {[variant_isset universal]} {
    use_autoreconf  yes
}

configure.args      --with-hts-engine-header-path=${prefix}/include \
                    --with-hts-engine-library-path=${prefix}/lib

default_variants    +voice

set voice_nitech    hts_voice_nitech_jp_atr503_m001-1.05
#set voice_nitech    hts_voice_nitech_jp_atr503_m001-${version}
set voice_mei       MMDAgent_Example-1.3.1
set voice_nitech_dist  ${voice_nitech}${extract.suffix}
set voice_mei_dist     ${voice_mei}.zip

variant voice description {Add HTS voices and a demo script} {
    distfiles-append    ${voice_nitech_dist} \
                        ${voice_mei_dist}:mei
    master_sites-append sourceforge:project/open-jtalk/HTS%20voice/${voice_nitech}/ \
                        sourceforge:project/mmdagent/MMDAgent_Example/${voice_mei}/:mei

    checksums-append    ${voice_nitech_dist} \
                        sha1    4298eaef57f86b7c502488aad2f95963da75f061 \
                        rmd160  0cbb453a8af84e30f840d174cd13ed30dcd9fe7d \
                        ${voice_mei_dist} \
                        rmd160  592277091d8ded3e7fe0f037e2d4d96f3ca85b5a \
                        sha256  0521ae9b7fc4b300d2364ad7595acf3285fac517ed8496324c8df54af09aacd3
    extract.only-delete ${voice_mei_dist}

    post-extract {
        ui_debug "Extracting ${voice_mei_dist}"
        system "unzip -q ${distpath}/${voice_mei_dist} -d ${workpath}"
    }

    post-destroot {
        # copy voice data.
        set voice_dir    ${prefix}/lib/${name}/voice
        xinstall -d ${destroot}${voice_dir}
        copy ${workpath}/${voice_nitech} ${destroot}${voice_dir}/nitech
        foreach dir [glob ${workpath}/${voice_mei}/Voice/*] {
            copy $dir ${destroot}${voice_dir}
        }
        # configure an executable demo script file.
        set script_name  open_jtalk_demo
        set script_dest  ${destroot}${prefix}/bin/${script_name}
        xinstall -m 755 ${filespath}/${script_name} ${script_dest}
        reinplace "s|@prefix@|${prefix}|g"          ${script_dest}
    }
}

livecheck.type      regex
livecheck.url       http://sourceforge.net/projects/open-jtalk/files/Open%20JTalk/
livecheck.regex     /${name}-(\[0-9.\]+)/
