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

name                gnome-session
version             3.26.1
revision            3
license             LGPL-2+
set branch          [join [lrange [split ${version} .] 0 1] .]
description         Session component for the GNOME 3 desktop.
long_description    ${description}  This package contains the \
                    commands needed to start GNOME 3.0.
maintainers         {devans @dbevans} openmaintainer
categories          gnome
platforms           darwin
homepage            https://wiki.gnome.org/Projects/SessionManagement/
master_sites        gnome:sources/${name}/${branch}/

use_xz              yes

checksums           rmd160  29a6f241ebc0836411163a8b92d7a3d49dbf6ca2 \
                    sha256  d9414b368db982d3837ca106e64019f18e6cdd5b13965bea6c7d02ddf5103708 \
                    size    782676

depends_build       port:pkgconfig \
                    port:intltool \
                    port:libxslt \
                    port:gnome-common \
                    port:autoconf \
                    port:automake \
                    port:libtool
 
depends_lib         port:desktop-file-utils \
                    port:gnome-desktop \
                    port:metacity \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    port:dbus-glib \
                    port:json-glib \
                    port:xorg-libX11 \
                    port:xorg-libsm \
                    port:xorg-libice \
                    port:xorg-xtrans \
                    port:xorg-libXext \
                    port:xorg-libXau \
                    port:xorg-libXtst \
                    port:xorg-libXcomposite \
                    port:xrender \
                    port:libepoxy \
                    port:mesa

depends_run         port:adwaita-icon-theme

patchfiles          patch-configure.ac.diff \
                    patch-tools-Makefile.am.diff \
                    patch-gnome-session-main.c.diff \
                    patch-gnome-session-check-accelerated-gl-helper.c.diff \
                    patch-header-guard-typo.diff

platform darwin {
    if {${os.major} < 19} {
# only patch gnome-session/main.c with static rpmatch() on darwin 18 and earlier
# darwin 19 finally has a copy of its own
        patchfiles-append \
                    patch-rpmatch.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.cflags-append \
                    -Wno-format-nonliteral

configure.args      --x-includes=${prefix}/include \
                    --x-libraries=${prefix}/lib \
                    --disable-gconf \
                    --disable-systemd \
                    --disable-docbook-docs \
                    --disable-schemas-compile \
                    --disable-silent-rules

variant gconf description {Enable gconf start-up} {
    depends_lib-append      port:gconf
    configure.args-replace  --disable-gconf --enable-gconf
    patchfiles-delete       patch-configure.ac.diff
}

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

livecheck.type      gnome
