# -*- 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
PortGroup           github 1.0

github.setup        msgpack msgpack-c 3.2.1 cpp-
name                msgpack
revision            0

conflicts           msgpack0 msgpack1 msgpack2

categories          devel
platforms           darwin
license             Boost-1
maintainers         nomaintainer

description         Library for a binary-based efficient data interchange format
long_description    MessagePack is a binary-based efficient data interchange \
                    format that is focused on high performance. \
                    It is like JSON, but very fast and small.

homepage            https://msgpack.org/

checksums           rmd160  2828906d83a68dbf7596aa3778a4127a0d28d9c3 \
                    sha256  7d3220196a69579e5e0050a6d41402ed228a85bd359a15c08dc82217488853f6 \
                    size    492761

# except for msgpack0, build everything with CMake
if {${subport} ne "msgpack0"} {
    PortGroup       cmake 1.1

    configure.args-append \
                    -DCMAKE_MSGPACK_BUILD_TESTS=OFF
}

subport ${name}0 {
    github.setup    msgpack msgpack-c 0.5.9 cpp-
    revision        0
    checksums       rmd160  c708651d37d62fa8e1fb18cadbce129fd838b777 \
                    sha256  edfe42e4a9199b9e6c05d421c087a0de8575d045cae88df0873ed9158a9494e0 \
                    size    111682
    conflicts       msgpack1 msgpack2 msgpack
    license         Apache-2

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

    pre-configure {
        system -W ${worksrcpath} "./bootstrap"
    }

    livecheck.type  none
}

subport ${name}1 {
    github.setup    msgpack msgpack-c 1.4.2 cpp-
    revision        0
    checksums       rmd160  67d03587f5d8e094200bd67bc12d5ebb773bb9f8 \
                    sha256  67f2e45023d954fa1df0749999eb5aaa79b2c76ac940bf453b9f2692aac0b805 \
                    size    409200
    conflicts       msgpack0 msgpack2 msgpack
    livecheck.type  none
}

subport ${name}2 {
    github.setup    msgpack msgpack-c 2.1.5 cpp-
    revision        0
    checksums       rmd160  f23bc02686eb831098275b2c95ab57b147bb5950 \
                    sha256  20b3bdb840b7f6ecff7b87b920b8768904641beb6a5b7c5cf64c7abdd96be208 \
                    size    461199
    conflicts       msgpack0 msgpack1 msgpack
    livecheck.type  none
}

post-destroot {
    set docdir ${prefix}/share/doc/${name}
    xinstall -d ${destroot}${docdir}
    xinstall -m 0644 -W ${worksrcpath} \
        COPYING NOTICE QUICKSTART-C.md QUICKSTART-CPP.md README.md ${destroot}${docdir}

    if {${subport} eq "msgpack0"} {
        xinstall -m 0644 -W ${worksrcpath} AUTHORS ChangeLog LICENSE README_crosslang.md \
            ${destroot}${docdir}
    } else {
        xinstall -m 0644 -W ${worksrcpath} CHANGELOG.md LICENSE_1_0.txt ${destroot}${docdir}
    }
}
