Subject: Re: [bug#28116] mate partial review

From: ng0 <[email-masked]>
Date: Fri, 25 Aug 2017 18:11:25 +0000

Efraim Flashner transcribed 16K bytes:
> I did all the building on my aarch64 board and didn't test the graphical
> aspects of running the programs. I also didn't check the
> synopsis/description, but some of them do look like they need some work.

Thanks for this first review.
I'll apply this as far as I can guess, having it all in one
patch makes it hard to read but I'll figure it out.

> patch 1: it turns out the home pages should also be https.
> 
> mate-icon-theme and mate-themes don't need gtk in the inputs to build.
> 
> libmateweather, mate-panel, mate-control-center: needs a configure flag
> 
> mate-applet: it built fine for me with upower as an input
> 
> mate-control-center: librsvg and gdk-pixbuf should be propagated
> 
> caja: I enabled the display server and the tests still failed on me
> 
> mate-metapackage: I copied the build from xfce, it seemed to build fine
> for me.

Why use it like this? I copied my version from "gnome".

> I've attached a diff of what I have. I suggest you alphabetize the
> inputs, it makes checking for duplicate or missing inputs much easier.
> 
> -- 
> Efraim Flashner   <[email-masked]>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

> diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
> index 40359ede2a..d33b1445b9 100644
> --- a/gnu/packages/mate.scm
> +++ b/gnu/packages/mate.scm
> @@ -66,9 +66,8 @@
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)
> -       ("gtk+" ,gtk+)
>         ("icon-naming-utils" ,icon-naming-utils)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "The MATE desktop environment icon theme")
>      (description
>       "This package contains the default icon theme used by the MATE desktop.")
> @@ -91,11 +90,10 @@
>       `(("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)))
>      (inputs
> -     `(("gtk+" ,gtk+)
> -       ("gdk-pixbuf" ,gdk-pixbuf)
> +     `(("gdk-pixbuf" ,gdk-pixbuf)
>         ("gtk-engines" ,gtk-engines)
>         ("murrine" ,murrine)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis
>       "Official themes for the MATE desktop")
>      (description
> @@ -131,7 +129,7 @@ themes for both gtk+-2 and gtk+-3.")
>         ("startup-notification" ,startup-notification)))
>      (propagated-inputs
>       `(("dconf" ,dconf))) ; mate-desktop-2.0.pc
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Library with common API for various MATE modules")
>      (description
>       "This package contains a public API shared by several applications on the
> @@ -152,14 +150,14 @@ desktop and the mate-about program.")
>                  "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a"))))
>      (build-system gnu-build-system)
>      (arguments
> -     `(#:configure-flags
> +     '(#:configure-flags
>         (list (string-append "--with-zoneinfo-dir="
>                              (assoc-ref %build-inputs "tzdata")
> -                            "/share/zoneinfo"))
> +                            "/share/zoneinfo")
> +             "--disable-icon-update")
>         #:phases
>         (modify-phases %standard-phases
> -         (add-before
> -          'check 'pre-check
> +         (add-before 'check 'pre-check
>            (lambda* (#:key inputs #:allow-other-keys)
>              (substitute* "data/check-timezones.sh"
>                (("/usr/share/zoneinfo/zone.tab")
> @@ -179,7 +177,7 @@ desktop and the mate-about program.")
>        ;; both of these are requires.private in mateweather.pc
>       `(("libsoup" ,libsoup)
>         ("libxml2" ,libxml2)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "MATE library for weather information from the Internet")
>      (description
>       "This library provides access to weather information from the internet for
> @@ -220,7 +218,7 @@ the MATE desktop environment.")
>         ("mate-desktop" ,mate-desktop)))
>      (propagated-inputs
>       `(("dconf" ,dconf)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "MATE Terminal Emulator")
>      (description
>       "MATE Terminal is a terminal emulation application that you can
> @@ -255,7 +253,7 @@ configurations (profiles).  MATE Terminal is a fork of GNOME Terminal.")
>         ("dbus-glib" ,dbus-glib)
>         ("libsm" ,libsm)
>         ("mate-desktop" ,mate-desktop)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Session manager for MATE")
>      (description
>       "Mate-session contains the MATE session manager, as well as a
> @@ -303,7 +301,7 @@ configuration program to choose applications starting on login.")
>         ("libcanberra" ,libcanberra)
>         ("fontconfig" ,fontconfig)
>         ("dconf" ,dconf)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Settings Daemon for MATE")
>      (description
>       "Mate-settings-daemon is a fork of gnome-settings-daemon.")
> @@ -331,7 +329,7 @@ configuration program to choose applications starting on login.")
>       `(("glib" ,glib)
>         ("pulseaudio" ,pulseaudio)
>         ("alsa-lib" ,alsa-lib)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Mixer library for the MATE desktop")
>      (description
>       "Libmatemixer is a mixer library for MATE desktop.  It provides an abstract
> @@ -364,7 +362,7 @@ sound systems.")
>         ("cairo" ,cairo)
>         ("libx11" ,libx11)
>         ("libxklavier" ,libxklavier)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "MATE keyboard configuration library")
>      (description
>       "Libmatekbd is a keyboard configuration library for the
> @@ -387,8 +385,7 @@ MATE desktop environment.")
>      (arguments
>       `(#:phases
>         (modify-phases %standard-phases
> -         (add-after
> -          'unpack 'fix-introspection-install-dir
> +         (add-after 'unpack 'fix-introspection-install-dir
>            (lambda* (#:key outputs #:allow-other-keys)
>              (let ((out (assoc-ref outputs "out")))
>                (substitute* '("configure")
> @@ -404,7 +401,7 @@ MATE desktop environment.")
>      (inputs
>       `(("glib" ,glib)
>         ("python" ,python-2)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Freedesktop menu specification implementation for MATE")
>      (description
>       "The package contains an implementation of the freedesktop menu
> @@ -426,9 +423,6 @@ assorted menu related utility programs.")
>          (base32
>           "1nplr8i1mxbxd7pqhcy8j69v25nsp5dk9fq7ffrmjmp39lrf3fh5"))))
>      (build-system glib-or-gtk-build-system)
> -    (arguments
> -     ;; FIXME: Build with upower fails.
> -     `(#:configure-flags (list "--without-upower")))
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)
> @@ -440,25 +434,27 @@ assorted menu related utility programs.")
>         ("gobject-introspection" ,gobject-introspection)))
>      (inputs
>       `(("atk" ,atk)
> +       ("dbus" ,dbus)
>         ("dbus-glib" ,dbus-glib)
> +       ("gdk-pixbuf" ,gdk-pixbuf)
>         ("glib" ,glib)
> -       ("libmateweather" ,libmateweather)
> -       ("libwnck" ,libwnck)
> -       ("pango" ,pango)
> +       ("gucharmap" ,gucharmap)
>         ("gtk+" ,gtk+)
>         ("gtksourceview" ,gtksourceview)
>         ("libgtop" ,libgtop)
> -       ("libxml2" ,libxml2)
> -       ("python-pygobject" ,python-pygobject)
> -       ("gucharmap" ,gucharmap)
> -       ("mate-panel" ,mate-panel)
> -       ("wireless-tools" ,wireless-tools)
> -       ("dbus" ,dbus)
>         ("libnotify" ,libnotify)
> +       ("libmateweather" ,libmateweather)
> +       ("libwnck" ,libwnck)
>         ("libx11" ,libx11)
> -       ("gdk-pixbuf" ,gdk-pixbuf)
> -       ("python" ,python-2)))
> -    (home-page "http://mate-desktop.org/")
> +       ("libxml2" ,libxml2)
> +       ("mate-panel" ,mate-panel)
> +       ("pango" ,pango)
> +       ("polkit" ,polkit)
> +       ("python" ,python-2)
> +       ("python-pygobject" ,python-pygobject)
> +       ("upower" ,upower)
> +       ("wireless-tools" ,wireless-tools)))
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Various applets for the MATE Panel")
>      (description
>       "Mate-applets includes various small applications for Mate-panel:
> @@ -517,7 +513,7 @@ Interactive Weather Information Network (IWIN).
>         ("libcanberra" ,libcanberra)
>         ("startup-notification" ,startup-notification)
>         ("cairo" ,cairo)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Multimedia related programs for the MATE desktop")
>      (description
>       "Mate-media includes the MATE media tools for MATE, including
> @@ -543,7 +539,8 @@ MATE-Media is a fork of GNOME-Media.")
>       `(#:configure-flags
>         (list (string-append "--with-zoneinfo-dir="
>                              (assoc-ref %build-inputs "tzdata")
> -                            "/share/zoneinfo"))
> +                            "/share/zoneinfo")
> +             "--with-in-process-applets=all")
>         #:phases
>         (modify-phases %standard-phases
>           (add-before 'configure 'fix-timezone-path
> @@ -590,7 +587,7 @@ MATE-Media is a fork of GNOME-Media.")
>         ("mate-menus" ,mate-menus)
>         ("libsm" ,libsm)
>         ("mate-desktop" ,mate-desktop)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Panel for MATE")
>      (description
>       "Mate-panel contains the MATE panel, the libmate-panel-applet library and
> @@ -614,12 +611,24 @@ infamous 'Wanda the Fish'.")
>           "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm"))))
>      (build-system glib-or-gtk-build-system)
>      (arguments
> -     `(#:tests? #f))
> +     '(#:configure-flags '("--disable-update-mimedb")
> +       #:tests? #f ; tests fail even with display set
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'check 'pre-check
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; Tests require a running X server.
> +             (system "Xvfb :1 &")
> +             (setenv "DISPLAY" ":1")
> +             ;; For the missing /etc/machine-id.
> +             (setenv "DBUS_FATAL_WARNINGS" "0")
> +             #t)))))
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)
>         ("glib:bin" ,glib "bin")
> -       ("gobject-introspection" ,gobject-introspection)))
> +       ("gobject-introspection" ,gobject-introspection)
> +       ("xorg-server" ,xorg-server))) ; display for the tests
>      (inputs
>       `(("gtk+" ,gtk+)
>         ("exempi" ,exempi)
> @@ -630,7 +639,7 @@ infamous 'Wanda the Fish'.")
>         ("libxml2" ,libxml2)
>         ("mate-desktop" ,mate-desktop)
>         ("startup-notification" ,startup-notification)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "File manager for the MATE desktop")
>      (description
>       "Caja is the official file manager for the MATE desktop.
> @@ -657,6 +666,8 @@ Caja is a fork of Nautilus.")
>          (base32
>           "0flnn0h8f5aqyccwrlv7qxchvr3kqmlfdga6wq28d55zkpv5m7dl"))))
>      (build-system glib-or-gtk-build-system)
> +    (arguments
> +     '(#:configure-flags '("--disable-update-mimedb")))
>      (native-inputs
>       `(("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)
> @@ -676,7 +687,6 @@ Caja is a fork of Nautilus.")
>         ("dbus-glib" ,dbus-glib)
>         ("libxml2" ,libxml2)
>         ("dconf" ,dconf)
> -       ("librsvg" ,librsvg)
>         ("libmatekbd" ,libmatekbd)
>         ("mate-desktop" ,mate-desktop)
>         ("caja" ,caja)
> @@ -688,7 +698,6 @@ Caja is a fork of Nautilus.")
>         ("dbus" ,dbus)
>         ("xmodmap" ,xmodmap)
>         ("cairo" ,cairo)
> -       ("gdk-pixbuf" ,gdk-pixbuf)
>         ("gtk+" ,gtk+)
>         ("libxcursor" ,libxcursor)
>         ("libx11" ,libx11)
> @@ -701,7 +710,10 @@ Caja is a fork of Nautilus.")
>         ("libxklavier" ,libxklavier)
>         ("marco" ,marco)
>         ("pango" ,pango)))
> -    (home-page "http://mate-desktop.org/")
> +    (propagated-inputs
> +     `(("gdk-pixbuf" ,gdk-pixbuf) ; mate-slab.pc
> +       ("librsvg" ,librsvg))) ; mate-slab.pc
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "MATE Desktop configuration tool")
>      (description
>       "MATE control center is MATE's main interface for configuration
> @@ -753,7 +765,7 @@ of various aspects of your desktop.")
>         ("xproto" ,xproto)
>         ("libcanberra" ,libcanberra)
>         ("mate-desktop" ,mate-desktop)))
> -    (home-page "http://mate-desktop.org/")
> +    (home-page "https://mate-desktop.org/")
>      (synopsis "Window manager for the MATE desktop")
>      (description
>       "Marco is a minimal X window manager that uses GTK+ for drawing
> @@ -769,33 +781,42 @@ for use with MATE or as a standalone window manager.")
>      (version (package-version marco))
>      (source #f)
>      (build-system trivial-build-system)
> -    (arguments '(#:builder (mkdir %output)))
> -    (propagated-inputs
> +    (arguments
> +     '(#:modules ((guix build union))
> +       #:builder
> +       (begin
> +         (use-modules (ice-9 match)
> +                      (guix build union))
> +         (match %build-inputs
> +           (((names . directories) ...)
> +            (union-build (assoc-ref %outputs "out")
> +                         directories))))))
> +    (inputs
>       ;; TODO: Add more packages
> -     `(("mate-icon-theme"           ,mate-icon-theme)
> -       ("font-cantarell"            ,font-cantarell)
> -       ("at-spi2-core"              ,at-spi2-core)
> -       ("dbus"                      ,dbus)
> +     `(("at-spi2-core"              ,at-spi2-core)
> +       ("caja"                      ,caja)
>         ("dconf"                     ,dconf)
> +       ("dbus"                      ,dbus)
>         ("desktop-file-utils"        ,desktop-file-utils)
> +       ("font-cantarell"            ,font-cantarell)
>         ("glib-networking"           ,glib-networking)
>         ("gnome-keyring"             ,gnome-keyring)
> -       ("mate-session-manager"      ,mate-session-manager)
> -       ("mate-settings-daemon"      ,mate-settings-daemon)
> -       ("mate-desktop"              ,mate-desktop)
> -       ("mate-terminal"             ,mate-terminal)
> -       ("mate-themes"               ,mate-themes)
> +       ("gvfs"                      ,gvfs)
>         ("libmatekbd"                ,libmatekbd)
> -       ("mate-menu"                 ,mate-menus)
> -       ("libmateweather"            ,libmateweather)
>         ("libmatemixer"              ,libmatemixer)
> -       ("mate-panel"                ,mate-panel)
> +       ("libmateweather"            ,libmateweather)
> +       ("marco"                     ,marco)
> +       ("mate-applets"              ,mate-applets)
>         ("mate-control-center"       ,mate-control-center)
> +       ("mate-desktop"              ,mate-desktop)
> +       ("mate-icon-theme"           ,mate-icon-theme)
>         ("mate-media"                ,mate-media)
> -       ("mate-applets"              ,mate-applets)
> -       ("gvfs"                      ,gvfs)
> -       ("caja"                      ,caja)
> -       ("marco"                     ,marco)
> +       ("mate-menu"                 ,mate-menus)
> +       ("mate-panel"                ,mate-panel)
> +       ("mate-session-manager"      ,mate-session-manager)
> +       ("mate-settings-daemon"      ,mate-settings-daemon)
> +       ("mate-terminal"             ,mate-terminal)
> +       ("mate-themes"               ,mate-themes)
>         ("pinentry-gnome3"           ,pinentry-gnome3)
>         ("pulseaudio"                ,pulseaudio)
>         ("shared-mime-info"          ,shared-mime-info)

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org