# -*- 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           python 1.0

github.setup        nicotine-plus nicotine-plus 3.3.6
revision            0
categories          www p2p python
license             GPL-3
platforms           {darwin any}
supported_archs     noarch
maintainers         nomaintainer
description         Nicotine+ is a graphical client for the Soulseek peer-to-peer network
long_description    Nicotine+ aims to be a lightweight, pleasant, free and open-source alternative \
                    to the official Soulseek client, while also providing a comprehensive set of features.
homepage            https://nicotine-plus.org
checksums           rmd160  dfd85784edcd0af1859d886b8d57ebc70e98af2c \
                    sha256  3911c178f96da1fdd48dedd98ac2d2ad6a59da388f091f91bb5722871cca91da \
                    size    3752758
github.tarball_from archive

variant python311 conflicts python312 description "Use Python 3.11" {
    python.default_version  311
}

variant python312 conflicts python311 description "Use Python 3.12" {
    python.default_version  312
}

if {![variant_isset python311] && ![variant_isset python312]} {
    default_variants-append +python312
}

depends_build-append \
                    port:gettext \
                    path:bin/pkg-config:pkgconfig \
                    port:py${python.version}-setuptools

depends_lib-append  port:adwaita-icon-theme \
                    port:gettext-runtime \
                    port:py${python.version}-gobject3

# Patches from the upstream. Drop in next release.
# https://github.com/nicotine-plus/nicotine-plus/issues/3172
# https://github.com/nicotine-plus/nicotine-plus/issues/3176
patchfiles-append   937eacfb63e026030e4f010097c3c2e8f8a0cbf6.patch \
                    0757668709f00190c357549f3eb5101566da0bde.patch

variant gtk3 conflicts gtk4 description "Build with GTK3" {
    patchfiles-append \
                    patch-GTK3.diff

    depends_lib-append \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3
}

# https://github.com/nicotine-plus/nicotine-plus/issues/2942
# https://github.com/nicotine-plus/nicotine-plus/issues/3172
variant gtk4 conflicts gtk3 description "Build with GTK4" {
    patchfiles-append \
                    patch-GTK4.diff

    depends_lib-append \
                    path:lib/pkgconfig/gtk4.pc:gtk4
}

if {![variant_isset gtk3] && ![variant_isset gtk4]} {
    default_variants-append +gtk4
}

notes "
To choose GTK version at runtime, you may set NICOTINE_GTK_VERSION=\
in the environment.
"
