# $Id: Portfile 66577 2010-04-17 06:07:52Z kimuraw@macports.org $

PortSystem         1.0

name               ruby19
version            1.9.1-p378

categories         lang ruby
maintainers        kimuraw openmaintainer
platforms          darwin
description        Powerful and clean object-oriented scripting language
long_description   Ruby is the interpreted scripting language for quick \
        and easy object-oriented programming. It has many \
        features to process text files and to do system \
        management tasks (as in Perl). It is simple, \
        straight-forward, extensible, and portable. \
        Version 1.9 contains a new VM called YARV, is faster \
        and slightly incompatible from version 1.8.

homepage           http://www.ruby-lang.org/

master_sites       ruby:1.9
use_bzip2          yes
distname           ruby-${version}

checksums          md5 5922459622a23612eb9b68a3586cb5f8
use_parallel_build yes

depends_lib        port:libiconv \
        port:readline \
        port:openssl \
        port:zlib \
        port:ncurses

configure.args     --enable-shared \
        --mandir="${prefix}/share/man" \
        --enable-pthread \
        --without-tk \
        --program-suffix=1.9

# Ignore minor version for archdir, like i686-darwin9.
# Port "ruby" does the same.
configure.env   UNAME_RELEASE=${os.major}

post-destroot {
        foreach type {site vendor} {
                set libdir ${destroot}${prefix}/lib/ruby1.9/${type}_ruby
                xinstall -m 0755 -d ${libdir}
                xinstall -m 0644 ${filespath}/${type}-specific.rb ${libdir}
        }

        foreach subdir [exec find ${libdir} -type d -empty] {
                destroot.keepdirs-append ${subdir}
        }
}

variant nosuffix description "Don't add the 1.9 program suffix to the executables. Note: that makes the port conflict with ruby (1.8), rb-rubygems, and rb-rake ports." {
        configure.args-delete           --program-suffix=1.9
}

variant c_api_docs description "Generate documentation for Ruby C API" {
    depends_build-append port:doxygen

    post-build {
        file mkdir ${workpath}/c_api
        set doxygen_conf ${name}-doxygen.conf
        file copy -force ${filespath}/${doxygen_conf} ${workpath}
        set doxygen_conf_path ${workpath}/${name}-doxygen.conf
        reinplace "s|%WORKPATH%|${workpath}|" ${doxygen_conf_path}
        reinplace "s|%WORKSRCPATH%|${worksrcpath}|" ${doxygen_conf_path}
        system "doxygen ${doxygen_conf_path}"
    }

    post-destroot {
        set api_docs ${destroot}${prefix}/share/doc/${name}-${version}/html/c_api
        xinstall -m 755 -d ${api_docs}
        eval xinstall -m 640 [glob ${workpath}/c_api/html/*] ${api_docs}
    }
}

variant tk conflicts mactk description "Build using MacPorts Tk" {
        configure.args-delete   --without-tk
        configure.args-append   --with-tk
        depends_lib-append              port:tcl \
                                                        port:tk
}

variant mactk conflicts tk description "Build using Mac OS X Tk Framework" {
        configure.args-delete   --without-tk
        configure.args-append   --enable-tcltk-framework
}

livecheck.type  regex
livecheck.url   http://ftp.ruby-lang.org/pub/ruby/1.9/
livecheck.regex ruby-(${version})${extract.suffix}
