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

if {${os.platform} eq "darwin" && ${os.major} < 17} {
    PortGroup       qmake 1.0

} else {
    PortGroup       qmake5 1.0

    qt5.depends_component   qttools qtwebkit
}

name                smtube
version             21.10.0
revision            1

categories          www
license             GPL-2+
maintainers         {gmail.com:lasticppc @lastic} openmaintainer

homepage            https://www.smtube.org
description         Browse, search, and play YouTube videos
long_description    ${description}. Uses a media player, by default MPlayer, for best performance. \
                    Broad compatibility, and good performance on older systems.

master_sites        sourceforge
use_bzip2           yes

checksums           rmd160  febb3403f24f6f621870ffd243b3291666f0d87d \
                    sha256  650214022fd80becec607561969ad9e4ae8d1af4fa2e88e6750d59f960a0d655 \
                    size    931110

depends_build-append \
                    port:makeicns

depends_run-append  port:yt-dlp

configure.dir       ${worksrcpath}/src

patchfiles          patch-smplayer.diff

post-patch {
    reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/src/players.cpp \
                                         ${worksrcpath}/src/retrieveyoutubeurl.cpp
    reinplace "s|@@APPLICATIONS@@|${applications_dir}|" ${worksrcpath}/src/players.cpp
}

pre-build {
    system -W ${worksrcpath}  "${prefix}/bin/makeicns \
                               -256 ./icons/smtube_256.png \
                               -128 ./icons/smtube_128.png \
                               -64 ./icons/smtube_64.png   \
                               -48 ./icons/smtube_48.png   \
                               -32 ./icons/smtube_32.png   \
                               -16 ./icons/smtube_16.png   \
                               -out src/smtube.icns"
}

build.dir           ${worksrcpath}/src

# fixme - the translations are made, but forcing the installed app to find them
# is proving somewhat difficult.

post-build {
    reinplace "s|com.yourcompany.smtube|org.smtube.smtube|g" ${worksrcpath}/src/smtube.app/Contents/Info.plist
    move ${worksrcpath}/src/translations ${worksrcpath}/src/smtube.app/Contents/Resources/
}

destroot {
    copy ${worksrcpath}/src/smtube.app ${destroot}${applications_dir}/smtube.app
}

notes "
The mechanism smtube uses has changed slightly. You may notice\
a slight delay before the video starts to play.
"

variant mplayer description "Use MPlayer for playback" {
    depends_run-append   path:${prefix}/bin/mplayer:MPlayer
}

variant qmplay2 description "Use QMPlay2 for playback" {
    depends_run-append   port:QMPlay2

    notes-append "
    To use QMPlay2 for playback, please launch ${name}, open Preferences>Players,\
    click Add predefined players and move QMPlay2 to the top of the list.
    "
}

# Notice, there is no conflict between variants, they merely add a runtime dep.
default_variants-append  +mplayer
