# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           gitlab 1.0
PortGroup           legacysupport 1.0
PortGroup           meson 1.0

gitlab.instance     https://gitlab.freedesktop.org
gitlab.setup        polkit polkit 121
name                policykit
version             0.121
revision            0
description         PolicyKit is an application-level toolkit for defining and \
                    handling the policy that allows unprivileged processes to \
                    speak to privileged processes
long_description    ${description}
maintainers         {devans @dbevans} openmaintainer
categories          security
license             LGPL-2+

checksums           rmd160  38baf7576ede6694608fac84f9f38232f12c4753 \
                    sha256  a32fd80ef6387dfdce114af7342476f823608f4c9ff3c7f2d36e62321affd9de \
                    size    703384

depends_build-append \
                    path:lib/pkgconfig/gobject-introspection-1.0.pc:gobject-introspection \
                    port:docbook-xml-4.1.2 \
                    port:docbook-xml-4.5 \
                    port:docbook-xsl-nons \
                    port:gettext \
                    port:libxslt \
                    port:pkgconfig

depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:dbus \
                    port:duktape

pre-patch {
    if {${os.platform} eq "darwin" && ${os.major} < 10} {
        reinplace "s|security/pam|pam/pam|" \
            ${worksrcpath}/meson.build \
            ${worksrcpath}/src/polkitagent/polkitagenthelper-pam.c \
            ${worksrcpath}/src/programs/pkexec.c
    }
}

patchfiles          patch-src__polkitbackend__meson.build-define-darwin-c-source.diff

configure.args      -Dpolkitd_user=polkitd \
                    -Dauthfw=pam \
                    -Dpam_module_dir=/usr/lib/pam \
                    -Dpam_prefix=/etc/pam.d \
                    -Dman=true \
                    -Dgtk_doc=false \
                    -Djs_engine=duktape \
                    -Dintrospection=true

destroot.keepdirs   ${destroot}${prefix}/etc/polkit-1/localauthority \
                    ${destroot}${prefix}/var/lib/polkit-1

variant docs description {Build API docs using gtk-doc} {
        configure.args-replace \
            -Dgtk_doc=false \
            -Dgtk_doc=true
        depends_build-append  port:gtk-doc
}

add_users           polkitd group=polkitd realname=Policy\ Kit

livecheck.type      regex
livecheck.url       https://gitlab.freedesktop.org/polkit/polkit/-/tags
livecheck.regex     "polkit-(\\d+(?:\\.\\d+)*)"