# Maintainer: Eli Schwartz <eschwartz@archlinux.org>
# Contributor: Alexandre Filgueira <alexfilgueira@cinnarch.com>
# Contributor: M0Rf30
# Contributor: unifiedlinux
# Contributor: CReimer

pkgname=cinnamon
pkgver=5.0.5
pkgrel=1
pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
arch=('x86_64')
url="https://github.com/linuxmint/${pkgname}"
license=('GPL2')
depends=('accountsservice' 'caribou' 'cinnamon-control-center' 'cinnamon-menus' 'cinnamon-screensaver'
         'cinnamon-session' 'cinnamon-settings-daemon' 'cjs' 'gnome-backgrounds'
         'gnome-themes-extra' 'gstreamer' 'libcroco' 'libgnomekbd' 'libkeybinder3' 'librsvg' 'muffin'
         'network-manager-applet' 'nemo' 'polkit-gnome' 'python-cairo' 'python-dbus'
         'python-gobject' 'python-pam' 'python-pexpect' 'python-pillow' 'python-pyinotify'
         'python-pytz' 'python-tinycss2' 'python-xapp' 'timezonemap' 'xapps')
optdepends=('blueberry: Bluetooth support'
            'cinnamon-translations: i18n'
            'gnome-panel: fallback mode'
            'metacity: fallback mode'
            'system-config-printer: printer settings')
makedepends=('meson' 'samurai' 'gobject-introspection' 'intltool')
options=('!emptydirs')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
        "0001-cinnamon-settings-don-t-rely-on-the-presence-of-cinn.patch"
        "set_wheel.diff"
        "default-theme.patch")
sha512sums=('a54437a3b76748612e4ce3c357e94be6911087616d08cab1c20e37e9a97813eea29db2513bbc384489b223375fd02dbdb61a130f87a40fd8f353b7ca46df26eb'
            '77c2229d350bb1445375d206af769f1dde9329ce3575e40e9c1d5fea3ec0f49c0a7ef36d78caf895d9224147947bd102bab924b5579dc8dc5f8d3269e0c76374'
            'fd7e117054996ed1c3dfd0f968c2bf98ca4fcee9a100221f8839a232147745ec0140e1f68eeffba58a3c44f66f26e05d433648a7a28858ec669524f7266ba04c'
            'ee7dedd59ea370cf81d75def49060f9a29b22e7b025ca7d5db87a0102d50f138c79aa562b0d36a748c4b1c59a37f600ba1f60ff6caf303cf5b6fc4d110d051b4')
b2sums=('c7f523bde1b36564155e90735a719de7d6d125dfd41c0559c68aaf02c2a3f963e7b039cabf3b47e88a527aaf333b1ad154cad04497752b3b75370dbd4491a9c4'
        '1d873efa0d17e358f834c4374f39bbf3f74340849f9c28a0950c0a064772083798aba3435e564acdf43a94665389917788e295073d4a65cc18600d71b7a9f008'
        '3becf1f40068fc629109e6e7d464c3c484296afacc9ab6328b2ccbb3c9735bcbfa9550f9f73b430ede178ae668e37c660ce322b5b4d1873526de3d3d41185160'
        '86c3a29acd132ca321f08fd81dd5a45707accdc035b2aeec95bf358b29072ff1eedb77b2566cf48d7253d1d791599f0f44938c4600761d711cb18b59019f1c62')

prepare() {
    cd "${srcdir}"/${pkgname}-${pkgver}

    # Check for the cc-panel module path, not for the irrelevant binary
    # https://github.com/linuxmint/cinnamon/pull/7382
    patch --no-backup-if-mismatch -p1 -i ../0001-cinnamon-settings-don-t-rely-on-the-presence-of-cinn.patch

    # Use wheel group instread of sudo (taken from Fedora)
    patch -Np1 -i ../set_wheel.diff

    # Set default theme to 'cinnamon'
    patch -Np1 -i ../default-theme.patch

    # Replace MintInstall with GNOME Software
    sed -i 's/mintinstall.desktop/org.gnome.Software.desktop/' data/org.cinnamon.gschema.xml

    # Add polkit agent to required components
    sed -i 's/RequiredComponents=\(.*\)$/RequiredComponents=\1polkit-gnome-authentication-agent-1;/' \
        cinnamon*.session.in

    # https://github.com/linuxmint/cinnamon/issues/3575#issuecomment-374887122
    # Cinnamon has no upstream backgrounds, use GNOME backgrounds instead
    sed -i 's|/usr/share/cinnamon-background-properties|/usr/share/gnome-background-properties|' \
        files/usr/share/cinnamon/cinnamon-settings/modules/cs_backgrounds.py
}

build() {
    mkdir -p "${srcdir}"/${pkgname}-${pkgver}/builddir
    cd "${srcdir}"/${pkgname}-${pkgver}/builddir

    meson --prefix=/usr \
          --libexecdir=lib/cinnamon \
          --buildtype=plain \
          ..

    samu
}

package() {
    cd "${srcdir}"/${pkgname}-${pkgver}/builddir

    DESTDIR="${pkgdir}" samu install
}
