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

github.setup        transmission transmission 4.1.3
revision            0
name                transmission-x11
conflicts           transmission-qt
categories          net x11 p2p
platforms           {darwin >= 9}
license             {GPL-2 OpenSSLException}
maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
description         Lightweight BitTorrent client
long_description    Transmission is a free, lightweight BitTorrent client. \
                    It features a simple, intuitive interface on top of \
                    an efficient, cross-platform back-end. Transmission is open \
                    source (MIT license) and runs on Mac OS X (Cocoa interface), \
                    Linux/NetBSD/FreeBSD/OpenBSD (GTK+ interface) and BeOS \
                    (native interface). This is the GTK+ version.

homepage            https://transmissionbt.com

checksums           rmd160  5e3a1af36cb50b42253424ba2d1fd7e757a62e0b \
                    sha256  ce7d2d8b101f7eb54bc3cf0bc55f52f7ebd4a25fa48e00bdca9a7e0fc02617da \
                    size    11845312

github.tarball_from releases
use_xz              yes

# Do not remove this as it allows transmission and this port to share files
dist_subdir         transmission

depends_build-append \
                    port:gettext \
                    port:intltool \
                    port:libtool \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  port:curl \
                    port:gettext-runtime \
                    port:libb64 \
                    port:libdeflate \
                    port:libevent \
                    port:libpsl \
                    port:miniupnpc \
                    port:zlib

configure.args-append \
                    -DENABLE_CLI=ON \
                    -DENABLE_DAEMON=ON \
                    -DENABLE_GTK=OFF \
                    -DENABLE_MAC=OFF \
                    -DENABLE_NLS=OFF \
                    -DENABLE_QT=OFF \
                    -DENABLE_TESTS=OFF \
                    -DINSTALL_DOC=OFF \
                    -DUSE_SYSTEM_B64=ON

compiler.c_standard     2011
compiler.cxx_standard   2020

default_variants +gtk

# transmission-gtk(47187) malloc: *** error for object 0x33480a4: Non-aligned pointer being freed
legacysupport.redirect_bins transmission-cli transmission-create transmission-daemon transmission-edit transmission-gtk transmission-remote transmission-show

variant aqua description "Build Aqua front-end" {
    configure.args-replace -DENABLE_QT=OFF -DENABLE_QT=ON \
                           -DENABLE_MAC=OFF -DENABLE_MAC=ON
}

variant gtk description "Build Gtk3 front-end" {
    depends_lib-append      path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                            port:gtkmm3 \
                            port:libnotify
    depends_run-append      port:desktop-file-utils

    configure.args-replace  -DENABLE_GTK=OFF -DENABLE_GTK=ON

    depends_run             port:adwaita-icon-theme

    post-activate {
        system "${prefix}/bin/update-desktop-database ${prefix}/share/applications"
        system "${prefix}/bin/gtk-update-icon-cache -f -t ${prefix}/share/icons/hicolor"
    }
}
