# -*- 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
PortGroup           ocaml 1.1

name                ocaml-gluten
github.setup        anmonteiro gluten 0.5.2
revision            2
categories          ocaml devel net
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer
license             BSD
description         Reusable runtime library for network protocols
long_description    {*}${description}
use_bzip2           yes
extract.suffix      .tbz
distname            gluten-${version}
checksums           rmd160  21d6f252828358fc400bdde389feb008b26414e7 \
                    sha256  b1eed89f9f6080bb4bd289cc8d252c6bcf01f03d395726e66fa6067207e7015f \
                    size    18363
github.tarball_from releases

if {${subport} eq ${name}} {
    depends_lib-append \
                    port:ocaml-bigstringaf \
                    port:ocaml-faraday
}

ocaml.build_type    dune

subport ${name}-async {
    description     Async support for gluten

    depends_lib     port:ocaml-async \
                    port:ocaml-async_ssl \
                    port:ocaml-core \
                    port:ocaml-faraday-async \
                    port:ocaml-gluten \
                    port:ocaml-tls-async
}

# subport ${name}-eio {
#     description     EIO runtime for gluten
# 
#     depends_lib     port:ocaml-eio \
#                     port:ocaml-gluten
# }

subport ${name}-lwt {
    description     Lwt-specific runtime for gluten

    depends_lib     port:ocaml-gluten \
                    port:ocaml-lwt
}

subport ${name}-lwt-unix {
    description     Lwt + Unix support for gluten

    depends_lib     port:ocaml-faraday-lwt-unix \
                    port:ocaml-gluten-lwt \
                    port:ocaml-lwt_ssl \
                    port:ocaml-tls-lwt
}
