# $Id: Portfile 120284 2014-05-21 19:52:33Z blair@macports.org $

PortSystem 1.0
PortGroup select 1.0

name            scala2.11
version         2.11.1
set branch      [join [lrange [split ${version} .] 0 1] .]
categories      lang java
license         BSD
maintainers     openmaintainer blair
description     The Scala Programming Language
long_description \
                Scala is a modern multi-paradigm programming language \
                designed to express common programming patterns in a \
                concise, elegant, and type-safe way.  It smoothly \
                integrates features of object-oriented and functional \
                languages.  It runs inside a Java Virtual Machine and \
                is fully interoperable with Java.
homepage        http://www.scala-lang.org/
platforms       darwin
supported_archs noarch

master_sites    ${homepage}files/archive/

use_configure   no
build           {}

set sharedir     ${destroot}${prefix}/share
set docdir       ${sharedir}/doc
set docscaladir  ${docdir}/scala-${branch}

if {$subport == $name} {
    depends_lib     port:scala_select
    select.group    scala
    select.file     ${filespath}/${name}

    distname        scala-${version}
    extract.suffix  .tgz
    checksums       md5    2109d72413ebf4d62360bc6b4c57f981 \
                    sha1   058281d9ed7738c99a9d5cd4988370448a12d0c1 \
                    sha256 f315602e46fab161642d0a46d28a51daa5744edf7b659e84f45bf5cb25ae5aee

    destroot {
        set man1dir ${sharedir}/man/man1
        set scaladir ${sharedir}/scala-${branch}
        set bindir ${scaladir}/bin

        xinstall -d -m 755 ${sharedir}
        file copy ${worksrcpath} ${scaladir}

        foreach f {fsc scala scalac scaladoc scalap} {
            file attributes ${bindir}/${f} -permissions 0755
            ln -s ../share/scala-${branch}/bin/${f} \
                ${destroot}${prefix}/bin/${f}-${branch}
        }

        file delete ${man1dir}
        file rename ${scaladir}/man/man1 ${man1dir}
        foreach f {fsc scala scalac scaladoc scalap} {
            file rename ${man1dir}/${f}.1 ${man1dir}/${f}-${branch}.1
        }
        file delete -force ${scaladir}/man

        xinstall -d -m 755 ${docdir}
        file rename ${scaladir}/doc ${docscaladir}
    }
}

subport ${name}-docs {
    description     The Scala Programming Language API docs

    distname        scala-docs-${version}
    use_xz          yes
    extract.suffix  .txz
    checksums       md5    0610931b1d849e345e9fa32adef73b53 \
                    sha1   91bfdc1d4d6acfa3e6468e80ef473e75a8a2f22c \
                    sha256 3a4f98d99bf7bfe2f9365503fa9c2ed0537668871a699d825c48e1c63b74ee27

    destroot {
        xinstall -d -m 755 ${docscaladir}
        file copy ${worksrcpath}/api ${docscaladir}/api
    }
}
