# -*- 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
# $Id: Portfile 119533 2014-04-29 16:31:59Z devans@macports.org $

PortSystem      1.0

name            gnome-control-center

if {${os.platform} eq "darwin" && ${os.major} >= 13} {

set mavericks_or_better yes
version 3.12.1
revision 1

} else {

set mavericks_or_better no
version 3.8.6
revision 3

}

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 openmaintainer
categories      gnome
license         GPL-2+
platforms       darwin
homepage        http://www.gnome.org/
master_sites    gnome:sources/${name}/${branch}/

use_xz          yes

if {$mavericks_or_better} {

checksums       rmd160  ca20fc78092f89969fcc9a0f96da8bafa4726b90 \
                sha256  5297d448eff0ec58f6c0ad9fbd1b94bed0a850496df0ee65571c0622b49c1582

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

depends_lib     port:desktop-file-utils \
                port:gtk3 \
                port:gsettings-desktop-schemas \
                port:gnome-desktop \
                port:fontconfig \
                port:policykit \
                port:libxml2 \
                port:upower \
                port:libgtop \
                port:gnome-settings-daemon \
                port:gnome-menus \
                port:gnome-online-accounts \
                port:accountsservice \
                port:libcanberra \
                port:pulseaudio \
                port:libpwquality \
                port:kerberos5 \
                port:grilo \
                port:shared-mime-info \
                port:xorg-libX11 \
                port:xorg-libXxf86misc \
                port:xorg-libXi

depends_run     port:yelp

# color panel disabled by patch, dependency colord requires libudev

patchfiles      \
                patch-disable-color-panel.diff \
                patch-disable-shell-test-hostname.diff \
                patch-panels-user-accounts.diff

pre-configure {
    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
}

use_autoreconf  yes
autoreconf.args -fvi

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

} else {

checksums       rmd160  3419412626e2de69c243423f31a0504c49955126 \
                sha256  8dba7eb3fa720580e84bb1a8241c745abacaa8999bbf9c28902819d5584fa42a

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

depends_lib     port:desktop-file-utils \
                port:gtk3 \
                port:gsettings-desktop-schemas \
                port:gnome-desktop \
                port:fontconfig \
                port:policykit \
                port:libxml2 \
                port:upower \
                port:libgtop \
                port:gnome-settings-daemon \
                port:gnome-menus \
                port:gnome-online-accounts \
                port:accountsservice \
                port:libcanberra \
                port:pulseaudio \
                port:libpwquality \
                port:kerberos5 \
                port:libsocialweb \
                port:shared-mime-info \
                port:xorg-libX11 \
                port:xorg-libXxf86misc \
                port:xorg-libXi

depends_run     port:yelp

# 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-3.8.6.diff \
                patch-disable-shell-test-hostname-3.8.6.diff \
                patch-disable-power-panel.diff \
                patch-panels-user-accounts-3.8.6.diff

pre-configure {
    copy -force ${prefix}/share/aclocal/intltool.m4 ${worksrcpath}/m4
}

use_autoreconf  yes
autoreconf.args -fvi

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

}

pre-activate {
    if {![catch {set installed [lindex [registry_active gdm] 0]}]} {
        set _version [lindex $installed 1]
        if {[vercmp $_version 3.0.0] < 0} {
            registry_deactivate_composite gdm "" [list ports_nodepcheck 1]
        }
    }
    if {![catch {set installed [lindex [registry_active gnome-media] 0]}]} {
        set _version [lindex $installed 1]
        if {[vercmp $_version 3.10.0] < 0} {
            registry_deactivate_composite gnome-media "" [list ports_nodepcheck 1]
        }
    }
}

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

if {$mavericks_or_better} {

livecheck.type  gnome

} else {

# Version 3.8.6 is the last version that will build on darwin < 13
livecheck.type  none

}
