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

name                gnome-control-center
version             3.26.2
revision            4
set branch          [join [lrange [split ${version} .] 0 1] .]
description         GNOME's main interface for configuration of the various \
                    aspects of your desktop.
long_description    ${description}
maintainers         {devans @dbevans} openmaintainer
categories          gnome
license             GPL-2+
platforms           darwin
homepage            https://www.gnome.org/
master_sites        gnome:sources/${name}/${branch}/

use_xz              yes

checksums           rmd160  73050ea0c46e83dd0bcef40c4e49c7d1243004f2 \
                    sha256  07aed27d6317f2cad137daa6d94a37ad02c32b958dcd30c8f07d0319abfb04c5

depends_build       port:pkgconfig \
                    port:intltool \
                    port:libxslt \
                    port:gnome-common \
                    port:autoconf \
                    port:automake \
                    port:libtool \
                    port:gtk-doc

depends_lib         port:desktop-file-utils \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    port:gsettings-desktop-schemas \
                    port:gnome-desktop \
                    port:fontconfig \
                    port:policykit \
                    port:libxml2 \
                    port:upower \
                    port:libgtop \
                    port:gnome-settings-daemon \
                    port:gnome-online-accounts \
                    port:accountsservice \
                    port:libcanberra \
                    port:pulseaudio \
                    port:libpwquality \
                    port:kerberos5 \
                    port:grilo \
                    port:samba3 \
                    port:shared-mime-info \
                    port:xorg-libX11 \
                    port:xorg-libXi

depends_run         port:gnome-keyring

# color, display panels disabled by patch, dependency colord requires libudev

patchfiles          patch-disable-color-panel.diff \
                    patch-disable-display-panel.diff \
                    patch-panels-user-accounts.diff \
                    patch-remove-gdkcolor-deprecation-warnings.diff \
                    patch-printers-pp-printer.c.diff

# reconfigure using upstream autogen.sh for intltool 0.51 compatibility

post-patch {
    xinstall -m 755 ${filespath}/autogen.sh ${worksrcpath}
}

configure.cmd       ./autogen.sh

configure.args      --x-includes=${prefix}/include \
                    --x-libraries=${prefix}/lib \
                    --without-cheese \
                    --disable-ibus \
                    --disable-maintainer-mode \
                    --disable-update-mimedb \
                    --disable-silent-rules

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

platform darwin {
    if {${configure.cxx_stdlib} eq "libstdc++"} {
        version         3.8.6
        revision        6
        checksums       rmd160  3419412626e2de69c243423f31a0504c49955126 \
                        sha256  8dba7eb3fa720580e84bb1a8241c745abacaa8999bbf9c28902819d5584fa42a
        depends_lib-delete \
                        port:grilo \
                        port:samba3
        depends_lib-append \
                        port:gnome-menus \
                        port:libsocialweb
        # color panel disabled by patch, dependency colord requires libudev
        # power panel disabled by patch, doesn't support upower 0.99 API
        patchfiles      patch-display-new-config-model.diff \
                        patch-output-is-laptop.diff \
                        patch-background-linker-fix.diff \
                        patch-background-libsocialweb.diff \
                        patch-users-logged-in-check.diff \
                        patch-disable-color-panel-${version}.diff \
                        patch-disable-shell-test-hostname-${version}.diff \
                        patch-disable-power-panel.diff \
                        patch-panels-user-accounts-${version}.diff
        configure.args-append \
                        --with-libsocialweb
        # Version 3.8.6 is the last version that will build on platforms supporting libstdc++
        livecheck.type  none
    } else {
        livecheck.type  gnome
    }
}
