# -*- 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               active_variants 1.1
PortGroup               cmake 1.1

github.setup            pdfpc pdfpc 4.7.0 v

maintainers             {gmx.de:Torsten.Maehne @maehne} openmaintainer

categories              graphics
description             \
    pdfpc is a GTK based presentation viewer application for GNU/Linux which \
    uses Keynote like multi-monitor output to provide meta information to the \
    speaker during the presentation.
long_description    ${description}\
    It is able to show a normal presentation window on one screen, while showing \
    a more sophisticated overview on the other one providing information like \
    a picture of the next slide, as well as the left over time till the end of \
    the presentation. The input files processed by pdfpc are PDF documents, \
    which can be created using nearly any of today's presentation software.

license                 GPL-2+

homepage                https://${github.author}.github.io/

checksums               rmd160  a203038d1b9f680fe5457e29c617d903a3e21881 \
                        sha256  0083a958a2e9288a15c31aabb76b3eadf104672b4e815017f31ffa0d87db02ec \
                        size    7768713
github.tarball_from     archive

depends_build-append    path:bin/vala:vala \
                        path:bin/pkg-config:pkgconfig
depends_lib-append      path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                        path:lib/pkgconfig/poppler.pc:poppler \
                        port:libgee \
                        path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
                        port:discount \
                        port:qrencode \
                        port:json-glib

# Please keep -DMDVIEW=off for legacy systems, even if it is enabled
# on modern ones, since webkit2gtk is broken there.
configure.args          -DCMAKE_INSTALL_SYSCONFDIR=${prefix}/etc \
                        -DMDVIEW=off \
                        -DMOVIES=off

# soup-message.h:18: error: redefinition of typedef ‘SoupMessage’
compiler.c_standard     2011

pre-configure {
    if {![variant_isset quartz] && ![variant_isset x11]} {
        error "Either +x11 or +quartz is required"
    }
}

variant quartz conflicts x11 {
    require_active_variants     path:lib/pkgconfig/gtk+-3.0.pc:gtk3 quartz
    patchfiles-append           patch-quartz.diff
}

variant x11 conflicts quartz {
    require_active_variants     path:lib/pkgconfig/gtk+-3.0.pc:gtk3 x11
}

variant video description {Enable video playback using gstreamer1} {
    depends_lib-append          port:gstreamer1 \
                                port:gstreamer1-gst-plugins-base \
                                port:gstreamer1-gst-plugins-good
    require_active_variants     port:gstreamer1-gst-plugins-good gtk3

    configure.args-delete       -DMOVIES=off
}

if {![variant_isset quartz]} {
    default_variants +x11 +video
} else {
    default_variants +video
}

livecheck.type          regex
livecheck.url           ${homepage}
livecheck.regex         "[quotemeta ${name}] (\\d+(?:\\.\\d+)*) release"
