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

# strnlen
legacysupport.newest_darwin_requires_legacy 10

github.setup        rakshasa rtorrent 0.16.15 v
github.tarball_from releases
revision            0

conflicts           rtorrent-devel
categories          net
maintainers         nomaintainer
license             {GPL-2+ OpenSSLException}

checksums           rmd160  86d7e414dd9f05c20db73bec0906376db3505970 \
                    sha256  202b56b75916cae86b4db4208cc42279f12d07a06e2ffba8ac8361bcb6dac18d \
                    size    868541

description         console-based BitTorrent client

long_description    rTorrent is a console-based BitTorrent client. It aims to \
                    be a fully-featured and efficient client with the ability to \
                    run in the background using screen. It supports fast-resume \
                    and session management.

depends_build-append \
                    port:pkgconfig \
                    port:libtool

depends_lib-append  port:libtorrent \
                    port:ncurses \
                    path:lib/libssl.dylib:openssl \
                    port:zlib

# control.cc:34:15: error: aligned allocation function of type 'void
# *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
if {${os.platform} eq "darwin" && ${os.major} < 17} {
    if {[string match *clang* ${configure.compiler}]} {
        configure.cxxflags-append \
                    -fno-aligned-allocation
    }
}

# Starting with version 0.16.13, a compiler that supports C++20 is mandatory
compiler.cxx_standard   2020

configure.args      --mandir=${prefix}/share/man \
                    --disable-debug \
                    --enable-ipv6 \
                    --with-xmlrpc-c=no

variant xmlrpc description {Enable XMLRPC interface} {
    configure.args-delete   --with-xmlrpc-c=no
    configure.args-append   --with-xmlrpc-c
    depends_lib-append      port:xmlrpc-c
}
