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

# filesystem
legacysupport.newest_darwin_requires_legacy 19
legacysupport.redirect_bins N_m3u8DL-RE

github.setup        barracuda156 N_m3u8DL-RE-cpp bb4f14b26d6d524670181a892edc7617a56fd3a9
# Override MacPorts, we do not want C# stuff.
name                n-m3u8dl-re
# Version is picked to match C# upstream :)
version             0.6.0
revision            1
categories          net multimedia
license             BSD
maintainers         {@barracuda156 macos-powerpc.org:barracuda} openmaintainer

description         Cross-platform DASH/HLS/MSS downloader (C++ port)
long_description    N_m3u8DL-RE is a cross-platform command-line tool for \
                    downloading streaming media content from DASH (MPD), \
                    HLS (M3U8) and MSS manifests. This is a C++20 port \
                    of the original C\# version, offering lower memory usage \
                    and faster startup times. Features include parallel \
                    segment downloading, AES-128/ChaCha20 decryption \
                    and automatic manifest parsing.
checksums           rmd160  7193984be405019aceeac2591cffc6549612f6b2 \
                    sha256  96e0db1e0e83e3f178cb39f2d90402b2144cee2a5b0db6e437cc4bc30d2be8b4 \
                    size    29915
github.tarball_from archive

set libfmt_v        12
cmake.prefix_path-append \
                    ${prefix}/lib/libfmt${libfmt_v}/cmake

depends_build-append \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  port:CLI11 \
                    port:curl \
                    port:libfmt${libfmt_v} \
                    port:pugixml \
                    port:spdlog

# Compiler requirements for C++20
compiler.cxx_standard   2020
compiler.blacklist-append {clang < 1300}

configure.args-append \
                    -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
