unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#28733] Mate Desktop
@ 2017-10-07 16:21 ng0
  2017-10-07 23:10 ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2017-10-07 16:21 UTC (permalink / raw)
  To: 28733


[-- Attachment #1.1: Type: text/plain, Size: 943 bytes --]

The appended patch series appended for review adds
an almost feature-complete Mate Desktop, including
a mate-desktop-service.

There are persistent problems with mate-screensaver,
if you use the locking function you will be locked
out and can't log back in. I'm happy for any help
with this, I think it's a worthy addition to have.
I had some elogind specific changes in the package
but it didn't help, even when the right binary in
libexec was setuid'ed.

I've been using these patches since the first Mate
patches were merged into our master.
The only change I didn't test was the removal of
the screensaver from the desktop service, but it
should just work (updates are building here right
now).

I should probably add the two links to upstream
wishlist-bugs that I filed.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://krosos.org/dist/keys/
https://www.infotropique.org https://krosos.org

[-- Attachment #1.2: 0001-gnu-mate.scm-Order-imported-modules-alphabetically.patch --]
[-- Type: text/plain, Size: 2206 bytes --]

From 643759c30c2699605d2ae50226507078f17f4e71 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Thu, 14 Sep 2017 17:30:40 +0000
Subject: [PATCH 01/21] gnu: mate.scm: Order imported modules alphabetically.

* gnu/packages/mate.scm: Order imported modules alphabetically.
---
 gnu/packages/mate.scm | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 91489ba91..ea4c8aecc 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,28 +27,28 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages freedesktop)
-  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages fonts)
-  #:use-module (gnu packages libcanberra)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages glib)
-  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
-  #:use-module (gnu packages docbook)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages documentation)
-  #:use-module (gnu packages xdisorg)
-  #:use-module (gnu packages base)
-  #:use-module (gnu packages xml)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages pulseaudio)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public mate-icon-theme
   (package
-- 
2.14.2


[-- Attachment #1.3: 0002-gnu-Add-mate-user-guide.patch --]
[-- Type: text/plain, Size: 2307 bytes --]

From 6888a2d36cc962bcd7799499306be402559dfa81 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 09:55:16 +0000
Subject: [PATCH 02/21] gnu: Add mate-user-guide.

* gnu/packages/mate.scm (mate-user-guide): New variable.
---
 gnu/packages/mate.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index ea4c8aecc..eeb5eb161 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -754,6 +754,46 @@ some users; these users may want to investigate other available window managers
 for use with MATE or as a standalone window manager.")
     (license license:gpl2+)))
 
+(define-public mate-user-guide
+  (package
+    (name "mate-user-guide")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0f3b46r9a3cywm7rpj08xlkfnlfr9db58xfcpix8i33qp50fxqmb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'adjust-desktop-file
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((yelp (assoc-ref inputs "yelp")))
+               (substitute* "mate-user-guide.desktop.in.in"
+                 (("yelp")
+                  (string-append yelp "/bin/yelp"))))
+             #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)
+       ("gettext" ,gettext-minimal)
+       ("yelp-tools" ,yelp-tools)
+       ("yelp-xsl" ,yelp-xsl)))
+    (inputs
+     `(("yelp" ,yelp)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "User Documentation for Mate software")
+    (description
+     "MATE User Guide is a collection of documentation which details
+general use of the MATE Desktop environment.  Topics covered include
+sessions, panels, menus, file management, and preferences.")
+    (license (list license:fdl1.1+ license:gpl2+))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.4: 0003-gnu-mate-session-manager-Configure-with-with-elogind.patch --]
[-- Type: text/plain, Size: 2246 bytes --]

From 0461a8b00eb2bc1a59949e269ef9c2194b979b27 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 30 Sep 2017 21:44:52 +0000
Subject: [PATCH 03/21] gnu: mate-session-manager: Configure with with elogind
 support.

* gnu/packages/mate.scm (mate-session-manager)[arguments]: Add '--enable-elogind'
to configure-flags.
(phases): Add 'pre-configure' phase.
---
 gnu/packages/mate.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index eeb5eb161..409ca570f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -235,6 +235,29 @@ configurations (profiles).")
         (base32
          "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll"))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-elogind"
+                               "--disable-schemas-compile")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Use elogind instead of systemd.
+             (substitute* "configure"
+               (("libsystemd-login")
+                "libelogind")
+               (("systemd") "elogind"))
+             (substitute* "mate-session/gsm-systemd.c"
+               (("#include <systemd/sd-login.h>")
+                "#include <elogind/sd-login.h>"))
+             ;; Remove uses of the systemd journal.
+             (substitute* "mate-session/main.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             (substitute* "mate-session/gsm-manager.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             (substitute* "mate-session/gsm-autostart-app.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             #t)))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
@@ -243,6 +266,7 @@ configurations (profiles).")
     (inputs
      `(("gtk+" ,gtk+)
        ("dbus-glib" ,dbus-glib)
+       ("elogind" ,elogind)
        ("libsm" ,libsm)
        ("mate-desktop" ,mate-desktop)))
     (home-page "https://mate-desktop.org/")
-- 
2.14.2


[-- Attachment #1.5: 0004-gnu-Add-caja-extensions.patch --]
[-- Type: text/plain, Size: 3971 bytes --]

From 1f6589fdab13e7c72da09c08032d4ca8a3090ffc Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 15 Sep 2017 12:05:08 +0000
Subject: [PATCH 04/21] gnu: Add caja-extensions.

* gnu/packages/mate.scm (caja-extensions): New variable.
---
 gnu/packages/mate.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 409ca570f..1199b405a 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,6 +27,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages attr)
   #:use-module (gnu packages base)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
@@ -39,8 +40,10 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages messaging)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
@@ -662,6 +665,61 @@ icons on the MATE desktop.  It works on local and remote filesystems.")
     ;; for us.
     (license license:gpl2+)))
 
+(define-public caja-extensions
+  (package
+    (name "caja-extensions")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-sendto"
+                               ;; TODO: package "gupnp" to enable 'upnp', package
+                               ;; "gksu" to enable 'gksu'.
+                               (string-append "--with-sendto-plugins=removable-devices,"
+                                              "caja-burn,emailclient,pidgin,gajim")
+                               "--enable-image-converter"
+                               "--enable-open-terminal" "--enable-share"
+                               "--enable-wallpaper" "--enable-xattr-tags"
+                               (string-append "--with-cajadir="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/caja/extensions-2.0/"))))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("attr" ,attr)
+       ("brasero" ,brasero)
+       ("caja" ,caja)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("gajim" ,gajim) ;runtime only?
+       ("gtk+" ,gtk+)
+       ("imagemagick" ,imagemagick)
+       ("graphicsmagick" ,graphicsmagick)
+       ("mate-desktop" ,mate-desktop)
+       ("pidgin" ,pidgin) ;runtime only?
+       ("startup-notification" ,startup-notification)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Extensions for the File manager Caja")
+    (description
+     "Caja is the official file manager for the MATE desktop.
+It allows for browsing directories, as well as previewing files and launching
+applications associated with them.  Caja is also responsible for handling the
+icons on the MATE desktop.  It works on local and remote filesystems.")
+    (license license:gpl2+)))
+
 (define-public mate-control-center
   (package
     (name "mate-control-center")
-- 
2.14.2


[-- Attachment #1.6: 0005-gnu-caja-Add-native-search-paths.patch --]
[-- Type: text/plain, Size: 981 bytes --]

From bbc1a9ab4377c41ff519468bb03b2f80f2a43e9f Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 15 Sep 2017 12:07:21 +0000
Subject: [PATCH 05/21] gnu: caja: Add native-search-paths.

* gnu/packages/mate.scm (caja)[native-search-paths]: Add it.
---
 gnu/packages/mate.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 1199b405a..274fe17e4 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -653,6 +653,10 @@ infamous 'Wanda the Fish'.")
        ("libxml2" ,libxml2)
        ("mate-desktop" ,mate-desktop)
        ("startup-notification" ,startup-notification)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "CAJA_EXTENSIONDIR")
+            (files (list "lib/caja/extensions-2.0/**")))))
     (home-page "https://mate-desktop.org/")
     (synopsis "File manager for the MATE desktop")
     (description
-- 
2.14.2


[-- Attachment #1.7: 0006-gnu-Add-atril.patch --]
[-- Type: text/plain, Size: 6383 bytes --]

From 8d2b3c6241b8dd1b83da4e8678f15a154c1d8b7f Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Thu, 14 Sep 2017 19:28:15 +0000
Subject: [PATCH 06/21] gnu: Add atril.

* gnu/packages/mate.scm (atril): New variable.
---
 gnu/packages/mate.scm | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 274fe17e4..f25eb8dd9 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -28,27 +28,37 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages javascript)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages messaging)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tex)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -610,6 +620,111 @@ the Window List, the Window Selector, the Notification Area, the Clock and the
 infamous 'Wanda the Fish'.")
     (license (list license:gpl2+ license:lgpl2.0+))))
 
+(define-public atril
+  (package
+    (name "atril")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1wl332v80c0nzz7nw36d1pfmbiibvl3l0i4d25ihg6mg9wbc0145"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list (string-append "--with-openjpeg="
+                                              (assoc-ref %build-inputs "openjpeg"))
+                               "--enable-introspection"
+                               "--with-gtk=3.0"
+                               "--disable-schemas-compile"
+                               ;; FIXME: Enable build of Caja extensions.
+                               "--disable-caja")
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-mathjax-path
+           (lambda _
+             (let* ((mathjax (assoc-ref %build-inputs "js-mathjax"))
+                    (mathjax-path (string-append mathjax
+                                                 "/share/javascript/mathjax")))
+               (substitute* "backend/epub/epub-document.c"
+                 (("/usr/share/javascript/mathjax")
+                  mathjax-path)))
+             #t))
+         (add-after 'unpack 'fix-introspection-install-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* '("configure")
+                 (("\\$\\(\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0\\)")
+                  (string-append "\"" out "/share/gir-1.0/\""))
+                 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
+                  (string-append out "/lib/girepository-1.0/")))
+               #t)))
+         (add-before 'install 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "data/Makefile"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)
+       ("itstool" ,itstool)
+       ("yelp-tools" ,yelp-tools)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("xmllint" ,libxml2)
+       ("zlib" ,zlib)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("caja" ,caja)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("djvulibre" ,djvulibre)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("ghostscript" ,ghostscript)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("js-mathjax" ,js-mathjax)
+       ("libcanberra" ,libcanberra)
+       ("libsecret" ,libsecret)
+       ("libspectre" ,libspectre)
+       ("libtiff" ,libtiff)
+       ("libx11" ,libx11)
+       ("libice" ,libice)
+       ("libsm" ,libsm)
+       ("libgxps" ,libgxps)
+       ("libjpeg" ,libjpeg)
+       ("libxml2" ,libxml2)
+       ("dogtail" ,python2-dogtail)
+       ("shared-mime-info" ,shared-mime-info)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("libgnome-keyring" ,libgnome-keyring)
+       ("libarchive" ,libarchive)
+       ("marco" ,marco)
+       ("nettle" ,nettle)
+       ("openjpeg" ,openjpeg-1)
+       ("pango" ,pango)
+       ;;("texlive" ,texlive)
+       ;; TODO:
+       ;;   Build libkpathsea as a shared library for DVI support.
+       ;; ("libkpathsea" ,texlive-bin)
+       ("poppler" ,poppler)
+       ("webkitgtk" ,webkitgtk)))
+    (home-page "https://mate-desktop.org")
+    (synopsis "Document viewer for Mate")
+    (description
+     "Document viewer for Mate")
+    (license license:gpl2)))
+
 (define-public caja
   (package
     (name "caja")
-- 
2.14.2


[-- Attachment #1.8: 0007-gnu-Add-mate-calc.patch --]
[-- Type: text/plain, Size: 1832 bytes --]

From 178f5ca698e76a0565e303db54820d1713b69a54 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:05:02 +0000
Subject: [PATCH 07/21] gnu: Add mate-calc.

* gnu/packages/mate.scm (mate-calc): New variable.
---
 gnu/packages/mate.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index f25eb8dd9..484fd373d 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -995,6 +995,38 @@ general use of the MATE Desktop environment.  Topics covered include
 sessions, panels, menus, file management, and preferences.")
     (license (list license:fdl1.1+ license:gpl2+))))
 
+(define-public mate-calc
+  (package
+    (name "mate-calc")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0qfs6kx2nymbn6j3mnzgvk8p54ghc78jslsf4wjqsdq021qyl0ly"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)
+       ("libcanberra" ,libcanberra)
+       ("pango" ,pango)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Calculator for MATE")
+    (description
+     "Mate Calc is the GTK+ calculator application for the MATE Desktop.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.9: 0008-gnu-Add-mate-backgrounds.patch --]
[-- Type: text/plain, Size: 1612 bytes --]

From ba1a136818cc954107ea9551d51b2114d765874c Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:13:27 +0000
Subject: [PATCH 08/21] gnu: Add mate-backgrounds.

* gnu/packages/mate.scm (mate-backgrounds): New variable.
---
 gnu/packages/mate.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 484fd373d..3c65c8614 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1027,6 +1027,29 @@ sessions, panels, menus, file management, and preferences.")
      "Mate Calc is the GTK+ calculator application for the MATE Desktop.")
     (license license:gpl2+)))
 
+(define-public mate-backgrounds
+  (package
+    (name "mate-backgrounds")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "06q8ksjisijps2wn959arywsimhzd3j35mqkr048c26ck24d60zi"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Calculator for MATE")
+    (description
+     "MATE backgrounds package contains a collection of graphics files which
+can be used as backgrounds in the MATE Desktop environment.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.10: 0009-gnu-Add-mate-common.patch --]
[-- Type: text/plain, Size: 1416 bytes --]

From 121f284fcdabca9d1bdd1a1bed69d9b4528288a8 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:36:30 +0000
Subject: [PATCH 09/21] gnu: Add mate-common.

* gnu/packages/mate.scm (mate-common): New variable.
---
 gnu/packages/mate.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 3c65c8614..55b072b19 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -63,6 +63,27 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public mate-common
+  (package
+    (name "mate-common")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1005laf3z1h8qczm7pmwr40r842665cv6ykhjg7r93vldra48z6p"))))
+    (build-system gnu-build-system)
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Common files for development of MATE packages")
+    (description
+     "Mate Common includes common files and macros used by
+MATE applications.")
+    (license license:gpl3+)))
+
 (define-public mate-icon-theme
   (package
     (name "mate-icon-theme")
-- 
2.14.2


[-- Attachment #1.11: 0010-gnu-Add-mate-icon-theme-faenza.patch --]
[-- Type: text/plain, Size: 2561 bytes --]

From e6880df5c4f2c3a966d510f2d2ded988d91b898d Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:55:03 +0000
Subject: [PATCH 10/21] gnu: Add mate-icon-theme-faenza.

* gnu/packages/mate.scm (mate-icon-theme-faenza): New variable.
---
 gnu/packages/mate.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 55b072b19..de0102b9b 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -28,6 +28,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
@@ -107,6 +108,44 @@ MATE applications.")
      "This package contains the default icon theme used by the MATE desktop.")
     (license license:lgpl3+)))
 
+(define-public mate-icon-theme-faenza
+  (package
+    (name "mate-icon-theme-faenza")
+    (version "1.18.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://pub.mate-desktop.org/releases/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0vc3wg9l5yrxm0xmligz4lw2g3nqj1dz8fwv90xvym8pbjds2849"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda _
+             (setenv "SHELL" (which "sh"))
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (zero? (system* "sh" "autogen.sh")))))))
+    (native-inputs
+     `(("autoconf" ,(autoconf-wrapper))
+       ("automake" ,automake)
+       ("intltool" ,intltool)
+       ("icon-naming-utils" ,icon-naming-utils)
+       ("libtool" ,libtool)
+       ("mate-common" ,mate-common)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "MATE desktop environment icon theme faenza")
+    (description
+     "Icon theme using Faenza and Faience icon themes and some
+customized icons for MATE.  Furthermore it includes some icons
+from Mint-X-F and Faenza-Fresh icon packs.")
+    (license license:gpl2+)))
+
 (define-public mate-themes
   (package
     (name "mate-themes")
-- 
2.14.2


[-- Attachment #1.12: 0011-gnu-Add-libfakekey.patch --]
[-- Type: text/plain, Size: 2120 bytes --]

From 0ac4d151c507ecd4e9879a4774c40ad37a70b459 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 12:45:07 +0000
Subject: [PATCH 11/21] gnu: Add libfakekey.

* gnu/packages/xdisorg.scm (libfakekey): New variable.
---
 gnu/packages/xdisorg.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 7ca4986a0..b62bafb62 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
-;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -187,6 +187,33 @@ X11 (yet).")
     (license (license:x11-style "file://COPYING"
                                 "See 'COPYING' in the distribution."))))
 
+(define-public libfakekey
+  (package
+    (name "libfakekey")
+    (version "0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://downloads.yoctoproject.org/releases"
+                            "/matchbox/libfakekey/" version "/libfakekey-"
+                            version ".tar.bz2"))
+        (sha256
+         (base32
+          "1501l0bflcrhqbf12n7a7cqilvr0w4xawxw0vw75p2940nkl4464"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list "AM_LDFLAGS=-lX11")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libxtst" ,libxtst)
+       ("libx11" ,libx11)))
+    (home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox")
+    (synopsis "X virtual keyboard library")
+    (description
+     "Libfakekey is a virtual keyboard library for X.")
+    (license license:gpl2)))
+
 (define-public xdotool
   (package
     (name "xdotool")
-- 
2.14.2


[-- Attachment #1.13: 0012-gnu-Add-mate-netbook.patch --]
[-- Type: text/plain, Size: 2465 bytes --]

From 00b1760c77404917ce4b60b48dd7f17ea6497819 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 12:47:56 +0000
Subject: [PATCH 12/21] gnu: Add mate-netbook.

* gnu/packages/mate.scm (mate-netbook): New variable.
---
 gnu/packages/mate.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index de0102b9b..0cb24fd5f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -62,6 +62,7 @@
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg))
 
 (define-public mate-common
@@ -1110,6 +1111,48 @@ sessions, panels, menus, file management, and preferences.")
 can be used as backgrounds in the MATE Desktop environment.")
     (license license:gpl2+)))
 
+(define-public mate-netbook
+  (package
+    (name "mate-netbook")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0zj4x9qis8dw0irxzb4va1189k8bqbvymxq3h7phnjwvr1m983gf"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libfakekey" ,libfakekey)
+       ("libwnck" ,libwnck)
+       ("libxtst" ,libxtst)
+       ("libx11" ,libx11)
+       ("mate-panel" ,mate-panel)
+       ("xproto" ,xproto)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Tool for MATE on Netbooks")
+    (description
+     "Mate Netbook is a simple window management tool which:
+
+@enumerate
+@item Allows you to set basic rules for a window type, such as maximise|undecorate
+@item Allows exceptions to the rules, based on string matching for window name
+and window class.
+@item Allows 'reversing' of rules when the user manually changes something:
+Re-decorates windows on un-maximise.
+@end enumerate\n")
+    (license license:gpl3+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.14: 0013-gnu-Add-mate-screensaver.patch --]
[-- Type: text/plain, Size: 3645 bytes --]

From 6304b6225bb51ee3de07244fc514a316a4a1d8bb Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 14:48:17 +0000
Subject: [PATCH 13/21] gnu: Add mate-screensaver.

* gnu/packages/mate.scm (mate-screensaver): New variable.
---
 gnu/packages/mate.scm | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 0cb24fd5f..e413ee33e 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1153,6 +1153,83 @@ Re-decorates windows on un-maximise.
 @end enumerate\n")
     (license license:gpl3+)))
 
+(define-public mate-screensaver
+  (package
+    (name "mate-screensaver")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0dfi10faf1fnvrm7c7wnfqg35ygq09ws1vjyv8394jlf0nn39g9j"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       ;; FIXME: There is a permissions problem with screen locking
+       ;; which effectively locks you out completely. Enable locking
+       ;; once this has been fixed.
+       (list "--enable-locking" "--with-kbd-layout-indicator"
+             "--with-xf86gamma-ext" "--enable-pam"
+             "--disable-schemas-compile" "--without-console-kit")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dbus-dir (string-append out "/share/dbus-1/services")))
+             (setenv "SHELL" (which "sh"))
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (substitute* "configure"
+               (("dbus-1") ""))))))))
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,(autoconf-wrapper))
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("kbproto" ,kbproto)
+       ("mate-common" ,mate-common)
+       ("pkg-config" ,pkg-config)
+       ("randrproto" ,randrproto)
+       ("renderproto" ,renderproto)
+       ("scrnsaverproto" ,scrnsaverproto)
+       ("which" ,which)
+       ("xextpro" ,xextproto)
+       ("xproto" ,xproto)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libglade" ,libglade)
+       ("libmatekbd" ,libmatekbd)
+       ("libnotify" ,libnotify)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxklavier" ,libxklavier)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("libxxf86vm" ,libxxf86vm)
+       ("linux-pam" ,linux-pam)
+       ("mate-desktop" ,mate-desktop)
+       ("mate-menus" ,mate-menus)
+       ("pango" ,pango)
+       ("startup-notification" ,startup-notification)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Screensaver for MATE")
+    (description
+     "MATE backgrounds package contains a collection of graphics files which
+can be used as backgrounds in the MATE Desktop environment.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.15: 0014-gnu-Add-mate-utils.patch --]
[-- Type: text/plain, Size: 2408 bytes --]

From 31dfcc094e01a8c77b9f74635801fba27458cc91 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 16:58:06 +0000
Subject: [PATCH 14/21] gnu: Add mate-utils.

* gnu/packages/mate.scm (mate-utils): New variable.
---
 gnu/packages/mate.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index e413ee33e..23e326d83 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1230,6 +1230,60 @@ Re-decorates windows on un-maximise.
 can be used as backgrounds in the MATE Desktop environment.")
     (license license:gpl2+)))
 
+(define-public mate-utils
+  (package
+    (name "mate-utils")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0wr395dqfigj19ps0d76ycgwfljl9xxgs1a1g5wx6kcz5mvhzn5v"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libice" ,libice)
+       ("libsm" ,libsm)
+       ("pkg-config" ,pkg-config)
+       ("scrollkeeper" ,scrollkeeper)
+       ("xextpro" ,xextproto)
+       ("xproto" ,xproto)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libgtop" ,libgtop)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("mate-panel" ,mate-panel)
+       ("pango" ,pango)
+       ("zlib" ,zlib)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Utilities for the MATE Desktop")
+    (description
+     "Mate Utilities for the MATE Desktop containing:
+
+@enumerate
+@item mate-system-log
+@item mate-search-tool
+@item mate-dictionary
+@item mate-screenshot
+@item mate-disk-usage-analyzer
+@end enumerate\n")
+    (license (list license:gpl2
+                   license:fdl1.1+
+                   license:lgpl2.1))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.16: 0015-gnu-Add-eom.patch --]
[-- Type: text/plain, Size: 2403 bytes --]

From 2002d2d8c0f378241564f0bc7047c8f78b404992 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 19:10:22 +0000
Subject: [PATCH 15/21] gnu: Add eom.

* gnu/packages/mate.scm (eom): New variable.
---
 gnu/packages/mate.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 23e326d83..082c5a0d5 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1284,6 +1284,57 @@ can be used as backgrounds in the MATE Desktop environment.")
                    license:fdl1.1+
                    license:lgpl2.1))))
 
+(define-public eom
+  (package
+    (name "eom")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "00ns7g7qykakc89lijrw2vwy9x9ijqiyvmnd4sw0j6py90zs8m87"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("exempi" ,exempi)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libpeas" ,libpeas)
+       ("libxml2" ,libxml2)
+       ("libexif" ,libexif)
+       ("libjpeg" ,libjpeg)
+       ("librsvg" ,librsvg)
+       ("lcms" ,lcms)
+       ("mate-desktop" ,mate-desktop)
+       ("pango" ,pango)
+       ("shared-mime-info" ,shared-mime-info)
+       ("startup-notification" ,startup-notification)
+       ("zlib" ,zlib)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Eye of MATE")
+    (description
+     "Eye of MATE is the Image viewer for the MATE Desktop.")
+    (license (list license:gpl2))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.17: 0016-gnu-Add-engrampa.patch --]
[-- Type: text/plain, Size: 3081 bytes --]

From 5c7c3f08212c6816f3ef9575147f35fd424ed825 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:03:14 +0000
Subject: [PATCH 16/21] gnu: Add engrampa.

* gnu/packages/mate.scm (engrampa): New variable.
---
 gnu/packages/mate.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 082c5a0d5..77ffe414f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -1335,6 +1336,60 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Eye of MATE is the Image viewer for the MATE Desktop.")
     (license (list license:gpl2))))
 
+(define-public engrampa
+  (package
+    (name "engrampa")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--disable-schemas-compile"
+                               "--disable-run-in-place"
+                               "--enable-magic"
+                               "--enable-packagekit"
+                               (string-append "--with-cajadir="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/caja/extensions-2.0/"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "data/Makefile"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("caja" ,caja)
+       ("file" ,file)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("json-glib" ,json-glib)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libsm" ,libsm)
+       ("packagekit" ,packagekit)
+       ("pango" ,pango)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Archive Manager for MATE")
+    (description
+     "Engrampa is the archive manager for the MATE Desktop.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.18: 0017-gnu-Add-pluma.patch --]
[-- Type: text/plain, Size: 3041 bytes --]

From 1f64bb45a0a5e57e03f1439774ff28cceef14d6c Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:27:04 +0000
Subject: [PATCH 17/21] gnu: Add pluma.

* gnu/packages/mate.scm (pluma): New variable.
---
 gnu/packages/mate.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 77ffe414f..5d4f51c91 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
@@ -48,6 +49,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
@@ -1390,6 +1392,57 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Engrampa is the archive manager for the MATE Desktop.")
     (license license:gpl2)))
 
+(define-public pluma
+  (package
+    (name "pluma")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1z0938yiygxipj2a77n9dv8v4253snrc5gbbnarcnim9xba2j3zz"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(; Tests can not succeed.
+       ;; https://github.com/mate-desktop/mate-text-editor/issues/33
+       #:tests? #f))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("enchant" ,enchant)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("iso-codes" ,iso-codes)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libsm" ,libsm)
+       ("libpeas" ,libpeas)
+       ("libxml2" ,libxml2)
+       ("libice" ,libice)
+       ("packagekit" ,packagekit)
+       ("pango" ,pango)
+       ("python-2" ,python-2)
+       ("scrollkeeper" ,scrollkeeper)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Text Editor for MATE")
+    (description
+     "Pluma is the text editor for the MATE Desktop.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.19: 0018-gnu-Add-mate-system-monitor.patch --]
[-- Type: text/plain, Size: 2141 bytes --]

From 589dbe17fbf30e3e095ac1a58beb272baed6c928 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:41:00 +0000
Subject: [PATCH 18/21] gnu: Add mate-system-monitor.

* gnu/packages/mate.scm (mate-system-monitor): New variable.
---
 gnu/packages/mate.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 5d4f51c91..e21b76351 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1443,6 +1443,47 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Pluma is the text editor for the MATE Desktop.")
     (license license:gpl2)))
 
+(define-public mate-system-monitor
+  (package
+    (name "mate-system-monitor")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1wcvrl4lfnjkhywb311p29prf1qiab6iynb6q1fgfsl6za8hsz48"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("glibmm" ,glibmm)
+       ("gtkmm" ,gtkmm)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("libsigc++" ,libsigc++)
+       ("libcanberra" ,libcanberra)
+       ("libxml2" ,libxml2)
+       ("libwnck" ,libwnck)
+       ("libgtop" ,libgtop)
+       ("librsvg" ,librsvg)
+       ("polkit" ,polkit)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "System Monitor for MATE")
+    (description
+     "Mate System Monitor provides a tool for for the
+MATE Desktop to monitor your system resources and usage.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.20: 0019-gnu-Add-mate-polkit.patch --]
[-- Type: text/plain, Size: 1928 bytes --]

From a1155209568168170c635471779e0fc2410be5b4 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:53:10 +0000
Subject: [PATCH 19/21] gnu: Add mate-polkit.

* gnu/packages/mate.scm (mate-polkit): New variable.
---
 gnu/packages/mate.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index e21b76351..36b2d3f05 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1484,6 +1484,40 @@ can be used as backgrounds in the MATE Desktop environment.")
 MATE Desktop to monitor your system resources and usage.")
     (license license:gpl2)))
 
+(define-public mate-polkit
+  (package
+    (name "mate-polkit")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "15vf2hnyjg8zsw3iiwjwi497yygkmvpnn6w1hik7dfw4a621w0gc"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("accountsservice" ,accountsservice)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("polkit" ,polkit)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "DBus specific service for MATE")
+    (description
+     "MATE Polkit is a MATE specific DBUS service that is
+used to bring up authentication dialogs.")
+    (license license:lgpl2.1)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.21: 0020-gnu-mate-Add-more-packages.patch --]
[-- Type: text/plain, Size: 2496 bytes --]

From 9d3119d8824a72503f886884037f3cb7f58bb941 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 15:08:37 +0000
Subject: [PATCH 20/21] gnu: mate: Add more packages.

* gnu/packages/mate.scm (mate)[inputs]: Add "mate-user-guide", "mate-calc", "mate-backgrounds",
"mate-netbook", "hicolor-icon-theme", "mate-utils", "engrampa", "eom", "mate-polkit",
"mate-system-monitor", "mate-utils", "pluma", "atril".
---
 gnu/packages/mate.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 36b2d3f05..fde8459f8 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1537,14 +1537,18 @@ used to bring up authentication dialogs.")
     (inputs
      ;; TODO: Add more packages
      `(("at-spi2-core"              ,at-spi2-core)
+       ("atril"                     ,atril)
        ("caja"                      ,caja)
        ("dbus"                      ,dbus)
        ("dconf"                     ,dconf)
        ("desktop-file-utils"        ,desktop-file-utils)
+       ("engrampa"                  ,engrampa)
+       ("eom"                       ,eom)
        ("font-cantarell"            ,font-cantarell)
        ("glib-networking"           ,glib-networking)
        ("gnome-keyring"             ,gnome-keyring)
        ("gvfs"                      ,gvfs)
+       ("hicolor-icon-theme"        ,hicolor-icon-theme)
        ("libmatekbd"                ,libmatekbd)
        ("libmateweather"            ,libmateweather)
        ("libmatemixer"              ,libmatemixer)
@@ -1560,6 +1564,15 @@ used to bring up authentication dialogs.")
        ("mate-control-center"       ,mate-control-center)
        ("mate-media"                ,mate-media)
        ("mate-applets"              ,mate-applets)
+       ("mate-user-guide"           ,mate-user-guide)
+       ("mate-calc"                 ,mate-calc)
+       ("mate-backgrounds"          ,mate-backgrounds)
+       ("mate-netbook"              ,mate-netbook)
+       ("mate-utils"                ,mate-utils)
+       ("mate-polkit"               ,mate-polkit)
+       ("mate-system-monitor"       ,mate-system-monitor)
+       ("mate-utils"                ,mate-utils)
+       ("pluma"                     ,pluma)
        ("pinentry-gnome3"           ,pinentry-gnome3)
        ("pulseaudio"                ,pulseaudio)
        ("shared-mime-info"          ,shared-mime-info)
-- 
2.14.2


[-- Attachment #1.22: 0021-gnu-services-Add-MATE-desktop-service.patch --]
[-- Type: text/plain, Size: 7156 bytes --]

From 620e32643468da6318dde6491b0a2ff74608d435 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 29 Sep 2017 10:06:51 +0000
Subject: [PATCH 21/21] gnu: services: Add MATE desktop service.

* gnu/services/desktop.scm (<mate-desktop-configuration>,
mate-desktop-service-type): New variable.
(mate-desktop-service): New public variable.

* doc/guix.texi (Desktop Services): Document the service.
---
 doc/guix.texi            | 26 +++++++++++++++++++-------
 gnu/services/desktop.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index c10fc649d..56187d1bc 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26,7 +26,7 @@ Copyright @copyright{} 2016 Ben Woodcroft@*
 Copyright @copyright{} 2016 Chris Marusich@*
 Copyright @copyright{} 2016, 2017 Efraim Flashner@*
 Copyright @copyright{} 2016 John Darrington@*
-Copyright @copyright{} 2016 ng0@*
+Copyright @copyright{} 2016, 2017 ng0@*
 Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
@@ -11781,7 +11781,7 @@ The @code{(gnu services desktop)} module provides services that are
 usually useful in the context of a ``desktop'' setup---that is, on a
 machine running a graphical display server, possibly with graphical user
 interfaces, etc.  It also defines services that provide specific desktop
-environments like GNOME and XFCE.
+environments like GNOME, XFCE or MATE.
 
 To simplify things, the module defines a variable containing the set of
 services that users typically expect on a machine with a graphical
@@ -11806,9 +11806,10 @@ The @var{%desktop-services} variable can be used as the @code{services}
 field of an @code{operating-system} declaration (@pxref{operating-system
 Reference, @code{services}}).
 
-Additionally, the @code{gnome-desktop-service} and
-@code{xfce-desktop-service} procedures can add GNOME and/or XFCE to a
-system.  To ``add GNOME'' means that system-level services like the
+Additionally, the @code{gnome-desktop-service},
+@code{xfce-desktop-service} and @code{mate-desktop-service}
+procedures can add GNOME, XFCE and/or MATE to a system.
+To ``add GNOME'' means that system-level services like the
 backlight adjustment helpers and the power management utilities are
 added to the system, extending @code{polkit} and @code{dbus}
 appropriately, allowing GNOME to operate with elevated privileges on a
@@ -11819,6 +11820,11 @@ not only adds the @code{xfce} metapackage to the system profile, but it
 also gives the Thunar file manager the ability to open a ``root-mode''
 file management window, if the user authenticates using the
 administrator's password via the standard polkit graphical interface.
+To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
+appropriately, allowing MATE to operate with elevated privileges on a
+limited number of special-purpose system interfaces.  Additionally,
+adding a service made by @code{mate-desktop-service} adds the MATE
+metapackage to the system profile.
 
 @deffn {Scheme Procedure} gnome-desktop-service
 Return a service that adds the @code{gnome} package to the system
@@ -11833,9 +11839,15 @@ file system as root from within a user session, after the user has
 authenticated with the administrator's password.
 @end deffn
 
-Because the GNOME and XFCE desktop services pull in so many packages,
+@deffn {Scheme Procedure} mate-desktop-service
+Return a service that adds the @code{mate} package to the system
+profile, and extends polkit with the actions from
+@code{mate-settings-daemon}.
+@end deffn
+
+Because the GNOME, XFCE and MATE desktop services pull in so many packages,
 the default @code{%desktop-services} variable doesn't include either of
-them by default.  To add GNOME or XFCE, just @code{cons} them onto
+them by default.  To add GNOME, XFCE orMATE, just @code{cons} them onto
 @code{%desktop-services} in the @code{services} field of your
 @code{operating-system}:
 
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 527a3101c..3c6a18125 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (gnu packages suckless)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages mate)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -82,6 +84,11 @@
             gnome-desktop-service
             gnome-desktop-service-type
 
+            mate-desktop-configuration
+            mate-desktop-configuration?
+            mate-desktop-service
+            mate-desktop-service-type
+
             xfce-desktop-configuration
             xfce-desktop-configuration?
             xfce-desktop-service
@@ -798,6 +805,44 @@ accountsservice web site} for more information."
 and extends polkit with the actions from @code{gnome-settings-daemon}."
   (service gnome-desktop-service-type config))
 
+;; MATE Desktop service.
+
+(define-record-type* <mate-desktop-configuration> mate-desktop-configuration
+  make-mate-desktop-configuration
+  mate-desktop-configuration
+  (mate-package mate-package (default mate))
+  (screensaver-package screensaver-package (default mate-screensaver)))
+
+(define %mate-desktop-pam-services
+  (list (unix-pam-service "mate-screensaver")))
+
+(define mate-desktop-setuid-programs
+  (match-lambda
+    (($ <mate-desktop-configuration> screensaver-package)
+     (list (file-append screensaver-package "/libexec/mate-screensaver-dialog")))))
+
+(define mate-desktop-service-type
+  (service-type
+   (name 'mate-desktop)
+   (extensions
+    (list (service-extension polkit-service-type
+                             (compose list
+                                      (package-direct-input-selector
+                                       "mate-settings-daemon")
+                                      mate-package))
+          (service-extension pam-root-service-type
+                             (const %mate-desktop-pam-services))
+          (service-extension setuid-program-service-type
+                             mate-desktop-setuid-programs)
+          (service-extension profile-service-type
+                             (compose list
+                                      mate-package))))))
+
+(define* (mate-desktop-service #:key (config (mate-desktop-configuration)))
+  "Return a service that adds the @code{mate} package to the system profile,
+and extends polkit with the actions from @code{mate-settings-daemon}."
+  (service mate-desktop-service-type config))
+
 \f
 ;;;
 ;;; XFCE desktop service.
-- 
2.14.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#28733] Mate Desktop
  2017-10-07 16:21 [bug#28733] Mate Desktop ng0
@ 2017-10-07 23:10 ` ng0
  2017-11-02 19:14   ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2017-10-07 23:10 UTC (permalink / raw)
  To: 28733


[-- Attachment #1.1: Type: text/plain, Size: 244 bytes --]

I forgot to add the changes to gnu/services/desktop.scm,
they are now included in this version.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://krosos.org/dist/keys/
https://www.infotropique.org https://krosos.org

[-- Attachment #1.2: 0001-gnu-mate.scm-Order-imported-modules-alphabetically.patch --]
[-- Type: text/plain, Size: 2206 bytes --]

From ec8c6733be6de7b4ff93876066780edbd417651a Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Thu, 14 Sep 2017 17:30:40 +0000
Subject: [PATCH 01/21] gnu: mate.scm: Order imported modules alphabetically.

* gnu/packages/mate.scm: Order imported modules alphabetically.
---
 gnu/packages/mate.scm | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 91489ba91..ea4c8aecc 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,28 +27,28 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
-  #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages freedesktop)
-  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages fonts)
-  #:use-module (gnu packages libcanberra)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages glib)
-  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
-  #:use-module (gnu packages docbook)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
-  #:use-module (gnu packages xorg)
-  #:use-module (gnu packages documentation)
-  #:use-module (gnu packages xdisorg)
-  #:use-module (gnu packages base)
-  #:use-module (gnu packages xml)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages pulseaudio)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public mate-icon-theme
   (package
-- 
2.14.2


[-- Attachment #1.3: 0002-gnu-Add-mate-user-guide.patch --]
[-- Type: text/plain, Size: 2307 bytes --]

From 707b379cde30b4f3e31dfc6ed941c628d69ae887 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 09:55:16 +0000
Subject: [PATCH 02/21] gnu: Add mate-user-guide.

* gnu/packages/mate.scm (mate-user-guide): New variable.
---
 gnu/packages/mate.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index ea4c8aecc..eeb5eb161 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -754,6 +754,46 @@ some users; these users may want to investigate other available window managers
 for use with MATE or as a standalone window manager.")
     (license license:gpl2+)))
 
+(define-public mate-user-guide
+  (package
+    (name "mate-user-guide")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0f3b46r9a3cywm7rpj08xlkfnlfr9db58xfcpix8i33qp50fxqmb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'adjust-desktop-file
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((yelp (assoc-ref inputs "yelp")))
+               (substitute* "mate-user-guide.desktop.in.in"
+                 (("yelp")
+                  (string-append yelp "/bin/yelp"))))
+             #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)
+       ("gettext" ,gettext-minimal)
+       ("yelp-tools" ,yelp-tools)
+       ("yelp-xsl" ,yelp-xsl)))
+    (inputs
+     `(("yelp" ,yelp)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "User Documentation for Mate software")
+    (description
+     "MATE User Guide is a collection of documentation which details
+general use of the MATE Desktop environment.  Topics covered include
+sessions, panels, menus, file management, and preferences.")
+    (license (list license:fdl1.1+ license:gpl2+))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.4: 0003-gnu-mate-session-manager-Configure-with-with-elogind.patch --]
[-- Type: text/plain, Size: 2246 bytes --]

From d2378d5ed187457baeed71be1f2d50a99e4ff418 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 30 Sep 2017 21:44:52 +0000
Subject: [PATCH 03/21] gnu: mate-session-manager: Configure with with elogind
 support.

* gnu/packages/mate.scm (mate-session-manager)[arguments]: Add '--enable-elogind'
to configure-flags.
(phases): Add 'pre-configure' phase.
---
 gnu/packages/mate.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index eeb5eb161..409ca570f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -235,6 +235,29 @@ configurations (profiles).")
         (base32
          "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll"))))
     (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-elogind"
+                               "--disable-schemas-compile")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'pre-configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Use elogind instead of systemd.
+             (substitute* "configure"
+               (("libsystemd-login")
+                "libelogind")
+               (("systemd") "elogind"))
+             (substitute* "mate-session/gsm-systemd.c"
+               (("#include <systemd/sd-login.h>")
+                "#include <elogind/sd-login.h>"))
+             ;; Remove uses of the systemd journal.
+             (substitute* "mate-session/main.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             (substitute* "mate-session/gsm-manager.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             (substitute* "mate-session/gsm-autostart-app.c"
+               (("#ifdef HAVE_SYSTEMD") "#if 0"))
+             #t)))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
@@ -243,6 +266,7 @@ configurations (profiles).")
     (inputs
      `(("gtk+" ,gtk+)
        ("dbus-glib" ,dbus-glib)
+       ("elogind" ,elogind)
        ("libsm" ,libsm)
        ("mate-desktop" ,mate-desktop)))
     (home-page "https://mate-desktop.org/")
-- 
2.14.2


[-- Attachment #1.5: 0004-gnu-Add-caja-extensions.patch --]
[-- Type: text/plain, Size: 3971 bytes --]

From 89f944b27e17fef857f284dcdfff2e793c59ba82 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 15 Sep 2017 12:05:08 +0000
Subject: [PATCH 04/21] gnu: Add caja-extensions.

* gnu/packages/mate.scm (caja-extensions): New variable.
---
 gnu/packages/mate.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 409ca570f..1199b405a 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,6 +27,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages attr)
   #:use-module (gnu packages base)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
@@ -39,8 +40,10 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages messaging)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
@@ -662,6 +665,61 @@ icons on the MATE desktop.  It works on local and remote filesystems.")
     ;; for us.
     (license license:gpl2+)))
 
+(define-public caja-extensions
+  (package
+    (name "caja-extensions")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-sendto"
+                               ;; TODO: package "gupnp" to enable 'upnp', package
+                               ;; "gksu" to enable 'gksu'.
+                               (string-append "--with-sendto-plugins=removable-devices,"
+                                              "caja-burn,emailclient,pidgin,gajim")
+                               "--enable-image-converter"
+                               "--enable-open-terminal" "--enable-share"
+                               "--enable-wallpaper" "--enable-xattr-tags"
+                               (string-append "--with-cajadir="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/caja/extensions-2.0/"))))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("attr" ,attr)
+       ("brasero" ,brasero)
+       ("caja" ,caja)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("gajim" ,gajim) ;runtime only?
+       ("gtk+" ,gtk+)
+       ("imagemagick" ,imagemagick)
+       ("graphicsmagick" ,graphicsmagick)
+       ("mate-desktop" ,mate-desktop)
+       ("pidgin" ,pidgin) ;runtime only?
+       ("startup-notification" ,startup-notification)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Extensions for the File manager Caja")
+    (description
+     "Caja is the official file manager for the MATE desktop.
+It allows for browsing directories, as well as previewing files and launching
+applications associated with them.  Caja is also responsible for handling the
+icons on the MATE desktop.  It works on local and remote filesystems.")
+    (license license:gpl2+)))
+
 (define-public mate-control-center
   (package
     (name "mate-control-center")
-- 
2.14.2


[-- Attachment #1.6: 0005-gnu-caja-Add-native-search-paths.patch --]
[-- Type: text/plain, Size: 981 bytes --]

From 318272f1eefb74d12d93cc12ff4ee65e9ee353c9 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 15 Sep 2017 12:07:21 +0000
Subject: [PATCH 05/21] gnu: caja: Add native-search-paths.

* gnu/packages/mate.scm (caja)[native-search-paths]: Add it.
---
 gnu/packages/mate.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 1199b405a..274fe17e4 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -653,6 +653,10 @@ infamous 'Wanda the Fish'.")
        ("libxml2" ,libxml2)
        ("mate-desktop" ,mate-desktop)
        ("startup-notification" ,startup-notification)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "CAJA_EXTENSIONDIR")
+            (files (list "lib/caja/extensions-2.0/**")))))
     (home-page "https://mate-desktop.org/")
     (synopsis "File manager for the MATE desktop")
     (description
-- 
2.14.2


[-- Attachment #1.7: 0006-gnu-Add-atril.patch --]
[-- Type: text/plain, Size: 6383 bytes --]

From 375db019a3f3498cfca84652fce0e23569a28b83 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Thu, 14 Sep 2017 19:28:15 +0000
Subject: [PATCH 06/21] gnu: Add atril.

* gnu/packages/mate.scm (atril): New variable.
---
 gnu/packages/mate.scm | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 274fe17e4..f25eb8dd9 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -28,27 +28,37 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages javascript)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages messaging)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tex)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -610,6 +620,111 @@ the Window List, the Window Selector, the Notification Area, the Clock and the
 infamous 'Wanda the Fish'.")
     (license (list license:gpl2+ license:lgpl2.0+))))
 
+(define-public atril
+  (package
+    (name "atril")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1wl332v80c0nzz7nw36d1pfmbiibvl3l0i4d25ihg6mg9wbc0145"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list (string-append "--with-openjpeg="
+                                              (assoc-ref %build-inputs "openjpeg"))
+                               "--enable-introspection"
+                               "--with-gtk=3.0"
+                               "--disable-schemas-compile"
+                               ;; FIXME: Enable build of Caja extensions.
+                               "--disable-caja")
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-mathjax-path
+           (lambda _
+             (let* ((mathjax (assoc-ref %build-inputs "js-mathjax"))
+                    (mathjax-path (string-append mathjax
+                                                 "/share/javascript/mathjax")))
+               (substitute* "backend/epub/epub-document.c"
+                 (("/usr/share/javascript/mathjax")
+                  mathjax-path)))
+             #t))
+         (add-after 'unpack 'fix-introspection-install-dir
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* '("configure")
+                 (("\\$\\(\\$PKG_CONFIG --variable=girdir gobject-introspection-1.0\\)")
+                  (string-append "\"" out "/share/gir-1.0/\""))
+                 (("\\$\\(\\$PKG_CONFIG --variable=typelibdir gobject-introspection-1.0\\)")
+                  (string-append out "/lib/girepository-1.0/")))
+               #t)))
+         (add-before 'install 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "data/Makefile"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)
+       ("itstool" ,itstool)
+       ("yelp-tools" ,yelp-tools)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("xmllint" ,libxml2)
+       ("zlib" ,zlib)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("caja" ,caja)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("djvulibre" ,djvulibre)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("ghostscript" ,ghostscript)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("js-mathjax" ,js-mathjax)
+       ("libcanberra" ,libcanberra)
+       ("libsecret" ,libsecret)
+       ("libspectre" ,libspectre)
+       ("libtiff" ,libtiff)
+       ("libx11" ,libx11)
+       ("libice" ,libice)
+       ("libsm" ,libsm)
+       ("libgxps" ,libgxps)
+       ("libjpeg" ,libjpeg)
+       ("libxml2" ,libxml2)
+       ("dogtail" ,python2-dogtail)
+       ("shared-mime-info" ,shared-mime-info)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("libgnome-keyring" ,libgnome-keyring)
+       ("libarchive" ,libarchive)
+       ("marco" ,marco)
+       ("nettle" ,nettle)
+       ("openjpeg" ,openjpeg-1)
+       ("pango" ,pango)
+       ;;("texlive" ,texlive)
+       ;; TODO:
+       ;;   Build libkpathsea as a shared library for DVI support.
+       ;; ("libkpathsea" ,texlive-bin)
+       ("poppler" ,poppler)
+       ("webkitgtk" ,webkitgtk)))
+    (home-page "https://mate-desktop.org")
+    (synopsis "Document viewer for Mate")
+    (description
+     "Document viewer for Mate")
+    (license license:gpl2)))
+
 (define-public caja
   (package
     (name "caja")
-- 
2.14.2


[-- Attachment #1.8: 0007-gnu-Add-mate-calc.patch --]
[-- Type: text/plain, Size: 1832 bytes --]

From 51598ef81d7fbd6657b02aeb04d7e68b306e21ad Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:05:02 +0000
Subject: [PATCH 07/21] gnu: Add mate-calc.

* gnu/packages/mate.scm (mate-calc): New variable.
---
 gnu/packages/mate.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index f25eb8dd9..484fd373d 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -995,6 +995,38 @@ general use of the MATE Desktop environment.  Topics covered include
 sessions, panels, menus, file management, and preferences.")
     (license (list license:fdl1.1+ license:gpl2+))))
 
+(define-public mate-calc
+  (package
+    (name "mate-calc")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0qfs6kx2nymbn6j3mnzgvk8p54ghc78jslsf4wjqsdq021qyl0ly"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)
+       ("libcanberra" ,libcanberra)
+       ("pango" ,pango)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Calculator for MATE")
+    (description
+     "Mate Calc is the GTK+ calculator application for the MATE Desktop.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.9: 0008-gnu-Add-mate-backgrounds.patch --]
[-- Type: text/plain, Size: 1612 bytes --]

From af39a2c36dd69190f0e0c4adf8df2cdb9cfddd1c Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:13:27 +0000
Subject: [PATCH 08/21] gnu: Add mate-backgrounds.

* gnu/packages/mate.scm (mate-backgrounds): New variable.
---
 gnu/packages/mate.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 484fd373d..3c65c8614 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1027,6 +1027,29 @@ sessions, panels, menus, file management, and preferences.")
      "Mate Calc is the GTK+ calculator application for the MATE Desktop.")
     (license license:gpl2+)))
 
+(define-public mate-backgrounds
+  (package
+    (name "mate-backgrounds")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "06q8ksjisijps2wn959arywsimhzd3j35mqkr048c26ck24d60zi"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Calculator for MATE")
+    (description
+     "MATE backgrounds package contains a collection of graphics files which
+can be used as backgrounds in the MATE Desktop environment.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.10: 0009-gnu-Add-mate-common.patch --]
[-- Type: text/plain, Size: 1416 bytes --]

From c80c03c0a38d6ad0869f850e6be74822949e0bbb Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:36:30 +0000
Subject: [PATCH 09/21] gnu: Add mate-common.

* gnu/packages/mate.scm (mate-common): New variable.
---
 gnu/packages/mate.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 3c65c8614..55b072b19 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -63,6 +63,27 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public mate-common
+  (package
+    (name "mate-common")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1005laf3z1h8qczm7pmwr40r842665cv6ykhjg7r93vldra48z6p"))))
+    (build-system gnu-build-system)
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Common files for development of MATE packages")
+    (description
+     "Mate Common includes common files and macros used by
+MATE applications.")
+    (license license:gpl3+)))
+
 (define-public mate-icon-theme
   (package
     (name "mate-icon-theme")
-- 
2.14.2


[-- Attachment #1.11: 0010-gnu-Add-mate-icon-theme-faenza.patch --]
[-- Type: text/plain, Size: 2561 bytes --]

From 1bbb86ede8895b536691972cb18b68e24463f8cc Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 11:55:03 +0000
Subject: [PATCH 10/21] gnu: Add mate-icon-theme-faenza.

* gnu/packages/mate.scm (mate-icon-theme-faenza): New variable.
---
 gnu/packages/mate.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 55b072b19..de0102b9b 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -28,6 +28,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages attr)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
@@ -107,6 +108,44 @@ MATE applications.")
      "This package contains the default icon theme used by the MATE desktop.")
     (license license:lgpl3+)))
 
+(define-public mate-icon-theme-faenza
+  (package
+    (name "mate-icon-theme-faenza")
+    (version "1.18.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://pub.mate-desktop.org/releases/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0vc3wg9l5yrxm0xmligz4lw2g3nqj1dz8fwv90xvym8pbjds2849"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda _
+             (setenv "SHELL" (which "sh"))
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (zero? (system* "sh" "autogen.sh")))))))
+    (native-inputs
+     `(("autoconf" ,(autoconf-wrapper))
+       ("automake" ,automake)
+       ("intltool" ,intltool)
+       ("icon-naming-utils" ,icon-naming-utils)
+       ("libtool" ,libtool)
+       ("mate-common" ,mate-common)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "MATE desktop environment icon theme faenza")
+    (description
+     "Icon theme using Faenza and Faience icon themes and some
+customized icons for MATE.  Furthermore it includes some icons
+from Mint-X-F and Faenza-Fresh icon packs.")
+    (license license:gpl2+)))
+
 (define-public mate-themes
   (package
     (name "mate-themes")
-- 
2.14.2


[-- Attachment #1.12: 0011-gnu-Add-libfakekey.patch --]
[-- Type: text/plain, Size: 2120 bytes --]

From 8cdf3081ba32806924222e590cefb61c9290dfa2 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 12:45:07 +0000
Subject: [PATCH 11/21] gnu: Add libfakekey.

* gnu/packages/xdisorg.scm (libfakekey): New variable.
---
 gnu/packages/xdisorg.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 7ca4986a0..b62bafb62 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
-;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -187,6 +187,33 @@ X11 (yet).")
     (license (license:x11-style "file://COPYING"
                                 "See 'COPYING' in the distribution."))))
 
+(define-public libfakekey
+  (package
+    (name "libfakekey")
+    (version "0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://downloads.yoctoproject.org/releases"
+                            "/matchbox/libfakekey/" version "/libfakekey-"
+                            version ".tar.bz2"))
+        (sha256
+         (base32
+          "1501l0bflcrhqbf12n7a7cqilvr0w4xawxw0vw75p2940nkl4464"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list "AM_LDFLAGS=-lX11")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libxtst" ,libxtst)
+       ("libx11" ,libx11)))
+    (home-page "https://www.yoctoproject.org/tools-resources/projects/matchbox")
+    (synopsis "X virtual keyboard library")
+    (description
+     "Libfakekey is a virtual keyboard library for X.")
+    (license license:gpl2)))
+
 (define-public xdotool
   (package
     (name "xdotool")
-- 
2.14.2


[-- Attachment #1.13: 0012-gnu-Add-mate-netbook.patch --]
[-- Type: text/plain, Size: 2465 bytes --]

From e79119f36d88995d8410ee9e0331a0d7b62c011e Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 12:47:56 +0000
Subject: [PATCH 12/21] gnu: Add mate-netbook.

* gnu/packages/mate.scm (mate-netbook): New variable.
---
 gnu/packages/mate.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index de0102b9b..0cb24fd5f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -62,6 +62,7 @@
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg))
 
 (define-public mate-common
@@ -1110,6 +1111,48 @@ sessions, panels, menus, file management, and preferences.")
 can be used as backgrounds in the MATE Desktop environment.")
     (license license:gpl2+)))
 
+(define-public mate-netbook
+  (package
+    (name "mate-netbook")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0zj4x9qis8dw0irxzb4va1189k8bqbvymxq3h7phnjwvr1m983gf"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libfakekey" ,libfakekey)
+       ("libwnck" ,libwnck)
+       ("libxtst" ,libxtst)
+       ("libx11" ,libx11)
+       ("mate-panel" ,mate-panel)
+       ("xproto" ,xproto)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Tool for MATE on Netbooks")
+    (description
+     "Mate Netbook is a simple window management tool which:
+
+@enumerate
+@item Allows you to set basic rules for a window type, such as maximise|undecorate
+@item Allows exceptions to the rules, based on string matching for window name
+and window class.
+@item Allows 'reversing' of rules when the user manually changes something:
+Re-decorates windows on un-maximise.
+@end enumerate\n")
+    (license license:gpl3+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.14: 0013-gnu-Add-mate-screensaver.patch --]
[-- Type: text/plain, Size: 3645 bytes --]

From 7ef9184a3e114f7cf8b4c66129c86a97daeaf237 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 14:48:17 +0000
Subject: [PATCH 13/21] gnu: Add mate-screensaver.

* gnu/packages/mate.scm (mate-screensaver): New variable.
---
 gnu/packages/mate.scm | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 0cb24fd5f..e413ee33e 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1153,6 +1153,83 @@ Re-decorates windows on un-maximise.
 @end enumerate\n")
     (license license:gpl3+)))
 
+(define-public mate-screensaver
+  (package
+    (name "mate-screensaver")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0dfi10faf1fnvrm7c7wnfqg35ygq09ws1vjyv8394jlf0nn39g9j"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       ;; FIXME: There is a permissions problem with screen locking
+       ;; which effectively locks you out completely. Enable locking
+       ;; once this has been fixed.
+       (list "--enable-locking" "--with-kbd-layout-indicator"
+             "--with-xf86gamma-ext" "--enable-pam"
+             "--disable-schemas-compile" "--without-console-kit")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dbus-dir (string-append out "/share/dbus-1/services")))
+             (setenv "SHELL" (which "sh"))
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (substitute* "configure"
+               (("dbus-1") ""))))))))
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,(autoconf-wrapper))
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("kbproto" ,kbproto)
+       ("mate-common" ,mate-common)
+       ("pkg-config" ,pkg-config)
+       ("randrproto" ,randrproto)
+       ("renderproto" ,renderproto)
+       ("scrnsaverproto" ,scrnsaverproto)
+       ("which" ,which)
+       ("xextpro" ,xextproto)
+       ("xproto" ,xproto)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libglade" ,libglade)
+       ("libmatekbd" ,libmatekbd)
+       ("libnotify" ,libnotify)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxklavier" ,libxklavier)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("libxxf86vm" ,libxxf86vm)
+       ("linux-pam" ,linux-pam)
+       ("mate-desktop" ,mate-desktop)
+       ("mate-menus" ,mate-menus)
+       ("pango" ,pango)
+       ("startup-notification" ,startup-notification)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Screensaver for MATE")
+    (description
+     "MATE backgrounds package contains a collection of graphics files which
+can be used as backgrounds in the MATE Desktop environment.")
+    (license license:gpl2+)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.15: 0014-gnu-Add-mate-utils.patch --]
[-- Type: text/plain, Size: 2408 bytes --]

From 978154bc2fe3e5ceb8a6a9246257d4ce5ceda7c1 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 16:58:06 +0000
Subject: [PATCH 14/21] gnu: Add mate-utils.

* gnu/packages/mate.scm (mate-utils): New variable.
---
 gnu/packages/mate.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index e413ee33e..23e326d83 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1230,6 +1230,60 @@ Re-decorates windows on un-maximise.
 can be used as backgrounds in the MATE Desktop environment.")
     (license license:gpl2+)))
 
+(define-public mate-utils
+  (package
+    (name "mate-utils")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0wr395dqfigj19ps0d76ycgwfljl9xxgs1a1g5wx6kcz5mvhzn5v"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libice" ,libice)
+       ("libsm" ,libsm)
+       ("pkg-config" ,pkg-config)
+       ("scrollkeeper" ,scrollkeeper)
+       ("xextpro" ,xextproto)
+       ("xproto" ,xproto)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libgtop" ,libgtop)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("mate-panel" ,mate-panel)
+       ("pango" ,pango)
+       ("zlib" ,zlib)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Utilities for the MATE Desktop")
+    (description
+     "Mate Utilities for the MATE Desktop containing:
+
+@enumerate
+@item mate-system-log
+@item mate-search-tool
+@item mate-dictionary
+@item mate-screenshot
+@item mate-disk-usage-analyzer
+@end enumerate\n")
+    (license (list license:gpl2
+                   license:fdl1.1+
+                   license:lgpl2.1))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.16: 0015-gnu-Add-eom.patch --]
[-- Type: text/plain, Size: 2403 bytes --]

From 18574e3d906f10ab8be0ce5a80162a1ce593ef33 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 19:10:22 +0000
Subject: [PATCH 15/21] gnu: Add eom.

* gnu/packages/mate.scm (eom): New variable.
---
 gnu/packages/mate.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 23e326d83..082c5a0d5 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1284,6 +1284,57 @@ can be used as backgrounds in the MATE Desktop environment.")
                    license:fdl1.1+
                    license:lgpl2.1))))
 
+(define-public eom
+  (package
+    (name "eom")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "00ns7g7qykakc89lijrw2vwy9x9ijqiyvmnd4sw0j6py90zs8m87"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("dconf" ,dconf)
+       ("dbus" ,dbus)
+       ("dbus-glib" ,dbus-glib)
+       ("exempi" ,exempi)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libpeas" ,libpeas)
+       ("libxml2" ,libxml2)
+       ("libexif" ,libexif)
+       ("libjpeg" ,libjpeg)
+       ("librsvg" ,librsvg)
+       ("lcms" ,lcms)
+       ("mate-desktop" ,mate-desktop)
+       ("pango" ,pango)
+       ("shared-mime-info" ,shared-mime-info)
+       ("startup-notification" ,startup-notification)
+       ("zlib" ,zlib)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Eye of MATE")
+    (description
+     "Eye of MATE is the Image viewer for the MATE Desktop.")
+    (license (list license:gpl2))))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.17: 0016-gnu-Add-engrampa.patch --]
[-- Type: text/plain, Size: 3081 bytes --]

From 59a99e008ed4e80dd4f006c101e57598632b865a Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:03:14 +0000
Subject: [PATCH 16/21] gnu: Add engrampa.

* gnu/packages/mate.scm (engrampa): New variable.
---
 gnu/packages/mate.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 082c5a0d5..77ffe414f 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -1335,6 +1336,60 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Eye of MATE is the Image viewer for the MATE Desktop.")
     (license (list license:gpl2))))
 
+(define-public engrampa
+  (package
+    (name "engrampa")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags (list "--disable-schemas-compile"
+                               "--disable-run-in-place"
+                               "--enable-magic"
+                               "--enable-packagekit"
+                               (string-append "--with-cajadir="
+                                              (assoc-ref %outputs "out")
+                                              "/lib/caja/extensions-2.0/"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'skip-gtk-update-icon-cache
+           ;; Don't create 'icon-theme.cache'.
+           (lambda _
+             (substitute* "data/Makefile"
+               (("gtk-update-icon-cache") "true"))
+             #t)))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("caja" ,caja)
+       ("file" ,file)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf+svg)
+       ("json-glib" ,json-glib)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libsm" ,libsm)
+       ("packagekit" ,packagekit)
+       ("pango" ,pango)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Archive Manager for MATE")
+    (description
+     "Engrampa is the archive manager for the MATE Desktop.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.18: 0017-gnu-Add-pluma.patch --]
[-- Type: text/plain, Size: 3041 bytes --]

From 8fc87e539642d80e97fb0052f0a8504b6abc9b52 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:27:04 +0000
Subject: [PATCH 17/21] gnu: Add pluma.

* gnu/packages/mate.scm (pluma): New variable.
---
 gnu/packages/mate.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 77ffe414f..5d4f51c91 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages djvu)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
@@ -48,6 +49,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages linux)
@@ -1390,6 +1392,57 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Engrampa is the archive manager for the MATE Desktop.")
     (license license:gpl2)))
 
+(define-public pluma
+  (package
+    (name "pluma")
+    (version "1.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1z0938yiygxipj2a77n9dv8v4253snrc5gbbnarcnim9xba2j3zz"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(; Tests can not succeed.
+       ;; https://github.com/mate-desktop/mate-text-editor/issues/33
+       #:tests? #f))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("atk" ,atk)
+       ("cairo" ,cairo)
+       ("enchant" ,enchant)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("iso-codes" ,iso-codes)
+       ("libcanberra" ,libcanberra)
+       ("libx11" ,libx11)
+       ("libsm" ,libsm)
+       ("libpeas" ,libpeas)
+       ("libxml2" ,libxml2)
+       ("libice" ,libice)
+       ("packagekit" ,packagekit)
+       ("pango" ,pango)
+       ("python-2" ,python-2)
+       ("scrollkeeper" ,scrollkeeper)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "Text Editor for MATE")
+    (description
+     "Pluma is the text editor for the MATE Desktop.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.19: 0018-gnu-Add-mate-system-monitor.patch --]
[-- Type: text/plain, Size: 2141 bytes --]

From c19e629e92998881f58939af8a27bee95c6bde4e Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:41:00 +0000
Subject: [PATCH 18/21] gnu: Add mate-system-monitor.

* gnu/packages/mate.scm (mate-system-monitor): New variable.
---
 gnu/packages/mate.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 5d4f51c91..e21b76351 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1443,6 +1443,47 @@ can be used as backgrounds in the MATE Desktop environment.")
      "Pluma is the text editor for the MATE Desktop.")
     (license license:gpl2)))
 
+(define-public mate-system-monitor
+  (package
+    (name "mate-system-monitor")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1wcvrl4lfnjkhywb311p29prf1qiab6iynb6q1fgfsl6za8hsz48"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("glib" ,glib)
+       ("glibmm" ,glibmm)
+       ("gtkmm" ,gtkmm)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("libsigc++" ,libsigc++)
+       ("libcanberra" ,libcanberra)
+       ("libxml2" ,libxml2)
+       ("libwnck" ,libwnck)
+       ("libgtop" ,libgtop)
+       ("librsvg" ,librsvg)
+       ("polkit" ,polkit)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "System Monitor for MATE")
+    (description
+     "Mate System Monitor provides a tool for for the
+MATE Desktop to monitor your system resources and usage.")
+    (license license:gpl2)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.20: 0019-gnu-Add-mate-polkit.patch --]
[-- Type: text/plain, Size: 1928 bytes --]

From c0c256e1cce42ddc0e72c0a3dc5bf8dcf97fca5c Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sun, 17 Sep 2017 20:53:10 +0000
Subject: [PATCH 19/21] gnu: Add mate-polkit.

* gnu/packages/mate.scm (mate-polkit): New variable.
---
 gnu/packages/mate.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index e21b76351..36b2d3f05 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1484,6 +1484,40 @@ can be used as backgrounds in the MATE Desktop environment.")
 MATE Desktop to monitor your system resources and usage.")
     (license license:gpl2)))
 
+(define-public mate-polkit
+  (package
+    (name "mate-polkit")
+    (version "1.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pub.mate-desktop.org/releases/"
+                           (version-major+minor version) "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "15vf2hnyjg8zsw3iiwjwi497yygkmvpnn6w1hik7dfw4a621w0gc"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("gtk-doc" ,gtk-doc)
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("accountsservice" ,accountsservice)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+" ,gtk+)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("polkit" ,polkit)))
+    (home-page "https://mate-desktop.org/")
+    (synopsis "DBus specific service for MATE")
+    (description
+     "MATE Polkit is a MATE specific DBUS service that is
+used to bring up authentication dialogs.")
+    (license license:lgpl2.1)))
+
 (define-public mate
   (package
     (name "mate")
-- 
2.14.2


[-- Attachment #1.21: 0020-gnu-mate-Add-more-packages.patch --]
[-- Type: text/plain, Size: 2496 bytes --]

From a44f48f33231304d0fbc79b888f25341f3ebf30b Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Sat, 16 Sep 2017 15:08:37 +0000
Subject: [PATCH 20/21] gnu: mate: Add more packages.

* gnu/packages/mate.scm (mate)[inputs]: Add "mate-user-guide", "mate-calc", "mate-backgrounds",
"mate-netbook", "hicolor-icon-theme", "mate-utils", "engrampa", "eom", "mate-polkit",
"mate-system-monitor", "mate-utils", "pluma", "atril".
---
 gnu/packages/mate.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 36b2d3f05..fde8459f8 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1537,14 +1537,18 @@ used to bring up authentication dialogs.")
     (inputs
      ;; TODO: Add more packages
      `(("at-spi2-core"              ,at-spi2-core)
+       ("atril"                     ,atril)
        ("caja"                      ,caja)
        ("dbus"                      ,dbus)
        ("dconf"                     ,dconf)
        ("desktop-file-utils"        ,desktop-file-utils)
+       ("engrampa"                  ,engrampa)
+       ("eom"                       ,eom)
        ("font-cantarell"            ,font-cantarell)
        ("glib-networking"           ,glib-networking)
        ("gnome-keyring"             ,gnome-keyring)
        ("gvfs"                      ,gvfs)
+       ("hicolor-icon-theme"        ,hicolor-icon-theme)
        ("libmatekbd"                ,libmatekbd)
        ("libmateweather"            ,libmateweather)
        ("libmatemixer"              ,libmatemixer)
@@ -1560,6 +1564,15 @@ used to bring up authentication dialogs.")
        ("mate-control-center"       ,mate-control-center)
        ("mate-media"                ,mate-media)
        ("mate-applets"              ,mate-applets)
+       ("mate-user-guide"           ,mate-user-guide)
+       ("mate-calc"                 ,mate-calc)
+       ("mate-backgrounds"          ,mate-backgrounds)
+       ("mate-netbook"              ,mate-netbook)
+       ("mate-utils"                ,mate-utils)
+       ("mate-polkit"               ,mate-polkit)
+       ("mate-system-monitor"       ,mate-system-monitor)
+       ("mate-utils"                ,mate-utils)
+       ("pluma"                     ,pluma)
        ("pinentry-gnome3"           ,pinentry-gnome3)
        ("pulseaudio"                ,pulseaudio)
        ("shared-mime-info"          ,shared-mime-info)
-- 
2.14.2


[-- Attachment #1.22: 0021-gnu-services-Add-MATE-desktop-service.patch --]
[-- Type: text/plain, Size: 6568 bytes --]

From 34df014a462b92f1426b759e1397ceb3feae3719 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@infotropique.org>
Date: Fri, 29 Sep 2017 10:06:51 +0000
Subject: [PATCH 21/21] gnu: services: Add MATE desktop service.

* gnu/services/desktop.scm (<mate-desktop-configuration>,
mate-desktop-service-type): New variable.
(mate-desktop-service): New public variable.

* doc/guix.texi (Desktop Services): Document the service.
---
 doc/guix.texi            | 26 +++++++++++++++++++-------
 gnu/services/desktop.scm | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 7b5b71179..62dca565a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26,7 +26,7 @@ Copyright @copyright{} 2016 Ben Woodcroft@*
 Copyright @copyright{} 2016 Chris Marusich@*
 Copyright @copyright{} 2016, 2017 Efraim Flashner@*
 Copyright @copyright{} 2016 John Darrington@*
-Copyright @copyright{} 2016 ng0@*
+Copyright @copyright{} 2016, 2017 ng0@*
 Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
@@ -11783,7 +11783,7 @@ The @code{(gnu services desktop)} module provides services that are
 usually useful in the context of a ``desktop'' setup---that is, on a
 machine running a graphical display server, possibly with graphical user
 interfaces, etc.  It also defines services that provide specific desktop
-environments like GNOME and XFCE.
+environments like GNOME, XFCE or MATE.
 
 To simplify things, the module defines a variable containing the set of
 services that users typically expect on a machine with a graphical
@@ -11808,9 +11808,10 @@ The @var{%desktop-services} variable can be used as the @code{services}
 field of an @code{operating-system} declaration (@pxref{operating-system
 Reference, @code{services}}).
 
-Additionally, the @code{gnome-desktop-service} and
-@code{xfce-desktop-service} procedures can add GNOME and/or XFCE to a
-system.  To ``add GNOME'' means that system-level services like the
+Additionally, the @code{gnome-desktop-service},
+@code{xfce-desktop-service} and @code{mate-desktop-service}
+procedures can add GNOME, XFCE and/or MATE to a system.
+To ``add GNOME'' means that system-level services like the
 backlight adjustment helpers and the power management utilities are
 added to the system, extending @code{polkit} and @code{dbus}
 appropriately, allowing GNOME to operate with elevated privileges on a
@@ -11821,6 +11822,11 @@ not only adds the @code{xfce} metapackage to the system profile, but it
 also gives the Thunar file manager the ability to open a ``root-mode''
 file management window, if the user authenticates using the
 administrator's password via the standard polkit graphical interface.
+To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
+appropriately, allowing MATE to operate with elevated privileges on a
+limited number of special-purpose system interfaces.  Additionally,
+adding a service made by @code{mate-desktop-service} adds the MATE
+metapackage to the system profile.
 
 @deffn {Scheme Procedure} gnome-desktop-service
 Return a service that adds the @code{gnome} package to the system
@@ -11835,9 +11841,15 @@ file system as root from within a user session, after the user has
 authenticated with the administrator's password.
 @end deffn
 
-Because the GNOME and XFCE desktop services pull in so many packages,
+@deffn {Scheme Procedure} mate-desktop-service
+Return a service that adds the @code{mate} package to the system
+profile, and extends polkit with the actions from
+@code{mate-settings-daemon}.
+@end deffn
+
+Because the GNOME, XFCE and MATE desktop services pull in so many packages,
 the default @code{%desktop-services} variable doesn't include either of
-them by default.  To add GNOME or XFCE, just @code{cons} them onto
+them by default.  To add GNOME, XFCE orMATE, just @code{cons} them onto
 @code{%desktop-services} in the @code{services} field of your
 @code{operating-system}:
 
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 527a3101c..ff72d1841 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (gnu packages suckless)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages mate)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix store)
@@ -82,6 +84,11 @@
             gnome-desktop-service
             gnome-desktop-service-type
 
+            mate-desktop-configuration
+            mate-desktop-configuration?
+            mate-desktop-service
+            mate-desktop-service-type
+
             xfce-desktop-configuration
             xfce-desktop-configuration?
             xfce-desktop-service
@@ -798,6 +805,32 @@ accountsservice web site} for more information."
 and extends polkit with the actions from @code{gnome-settings-daemon}."
   (service gnome-desktop-service-type config))
 
+;; MATE Desktop service.
+;; TODO: Add mate-screensaver.
+
+(define-record-type* <mate-desktop-configuration> mate-desktop-configuration
+  make-mate-desktop-configuration
+  mate-desktop-configuration
+  (mate-package mate-package (default mate)))
+
+(define mate-desktop-service-type
+  (service-type
+   (name 'mate-desktop)
+   (extensions
+    (list (service-extension polkit-service-type
+                             (compose list
+                                      (package-direct-input-selector
+                                       "mate-settings-daemon")
+                                      mate-package))
+          (service-extension profile-service-type
+                             (compose list
+                                      mate-package))))))
+
+(define* (mate-desktop-service #:key (config (mate-desktop-configuration)))
+  "Return a service that adds the @code{mate} package to the system profile,
+and extends polkit with the actions from @code{mate-settings-daemon}."
+  (service mate-desktop-service-type config))
+
 \f
 ;;;
 ;;; XFCE desktop service.
-- 
2.14.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#28733] Mate Desktop
  2017-10-07 23:10 ` ng0
@ 2017-11-02 19:14   ` ng0
  2017-12-30 22:00     ` Danny Milosavljevic
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2017-11-02 19:14 UTC (permalink / raw)
  To: 28733

[-- Attachment #1: Type: text/plain, Size: 1412 bytes --]

ng0 transcribed 60K bytes:
> I forgot to add the changes to gnu/services/desktop.scm,
> they are now included in this version.

A comment on this series:

All the "applications" work.
The service works, but I need some fresh eyes on debugging the screensaver
package (it would be super nice to have screenlocking without locking users
out (disabled for now)). Furthermore I have no experience with our
systemd replacement and how it is supposed to be integrated into
applications, given that I get messages in the syslog about my attempt and
its failed configuration, I need help:

Nov  2 07:35:40 localhost mate-session[546]: WARNING: Could not connect to ConsoleKit: Could not get owner of name 'org.freedesktop.ConsoleKit': no such name 
Nov  2 07:35:40 localhost last message repeated 3 times
Nov  2 07:40:58 localhost mate-session[546]: WARNING: Could not connect to ConsoleKit: Could not get owner of name 'org.freedesktop.ConsoleKit': no such name 
Nov  2 07:41:22 localhost mate-session[546]: WARNING: Could not connect to ConsoleKit: Could not get owner of name 'org.freedesktop.ConsoleKit': no such name 

Yep, I know it's not ConsoleKit, I modified their canonical "--enable-systemd" to
"--enable-elogind".

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.ng0.infotropique.org/dist/keys/
https://www.infotropique.org https://ng0.infotropique.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#28733] Mate Desktop
  2017-11-02 19:14   ` ng0
@ 2017-12-30 22:00     ` Danny Milosavljevic
  2018-03-05  8:35       ` bug#28733: " ng0
  0 siblings, 1 reply; 5+ messages in thread
From: Danny Milosavljevic @ 2017-12-30 22:00 UTC (permalink / raw)
  To: ng0; +Cc: 28733

Hi ng0,

thanks for the patches.  I've applied them to master.

I'm keeping this report open for the screensaver package fixes.

It would be possible to package ConsoleKit and use it - but I don't think that it's maintained anymore.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#28733: Mate Desktop
  2017-12-30 22:00     ` Danny Milosavljevic
@ 2018-03-05  8:35       ` ng0
  0 siblings, 0 replies; 5+ messages in thread
From: ng0 @ 2018-03-05  8:35 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 28733-done

[-- Attachment #1: Type: text/plain, Size: 582 bytes --]

Danny Milosavljevic transcribed 237 bytes:
> Hi ng0,
> 
> thanks for the patches.  I've applied them to master.
> 
> I'm keeping this report open for the screensaver package fixes.
> 
> It would be possible to package ConsoleKit and use it - but I don't think that it's maintained anymore.
> 
> 
> 
> 

I think it's better to close this bug. The screensaver locker feature is not enabled
at the moment and there are a couple more features in other packages which need to be
integrated.

Bug closed.
-- 
A88C8ADD129828D7EAC02E52E22F9BBFEE348588
https://n0.is/~ng0

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-03-05  8:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-07 16:21 [bug#28733] Mate Desktop ng0
2017-10-07 23:10 ` ng0
2017-11-02 19:14   ` ng0
2017-12-30 22:00     ` Danny Milosavljevic
2018-03-05  8:35       ` bug#28733: " ng0

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).