diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 2028 |
1 files changed, 1119 insertions, 909 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index efa000fd87..fe53c83741 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -60,6 +60,10 @@ ;;; Copyright © 2020, 2021 Sébastien Lerique <sl@eauchat.org> ;;; Copyright © 2021 Trevor Hass <thass@okstate.edu> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -145,6 +149,7 @@ #:use-module (gnu packages lirc) #:use-module (gnu packages lua) #:use-module (gnu packages mail) + #:use-module (gnu packages man) #:use-module (gnu packages mp3) #:use-module (gnu packages multiprecision) #:use-module (gnu packages music) @@ -862,17 +867,17 @@ tomorrow, the rest of the week and for special occasions.") (define-public gnome-photos (package (name "gnome-photos") - (version "3.34.2") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w")))) + "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -888,8 +893,8 @@ tomorrow, the rest of the week and for special occasions.") (let* ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/gnome-photos") - `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH"))))) - #t))))) + `("GRL_PLUGIN_PATH" = + (,(getenv "GRL_PLUGIN_PATH")))))))))) (native-inputs `(("dbus" ,dbus) ("desktop-file-utils" ,desktop-file-utils) @@ -916,6 +921,7 @@ tomorrow, the rest of the week and for special occasions.") ("libdazzle" ,libdazzle) ("libgdata" ,libgdata) ("libgfbgraph" ,gfbgraph) + ("libhandy" ,libhandy) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("librest" ,rest) @@ -932,17 +938,17 @@ cloud integration is offered through GNOME Online Accounts.") (define-public gnome-music (package (name "gnome-music") - (version "3.34.5") + (version "40.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy")))) + "0lcdal4qdhclr8961p57xf010y92l6wwmkw86lyi9wy224z6gjr0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -957,11 +963,14 @@ cloud integration is offered through GNOME Online Accounts.") (package-version python)) "/site-packages"))) (wrap-program (string-append out "/bin/gnome-music") - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) - `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) - `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH"))) - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)))) - #t))))) + `("GI_TYPELIB_PATH" = + (,(getenv "GI_TYPELIB_PATH"))) + `("GST_PLUGIN_SYSTEM_PATH" = + (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) + `("GRL_PLUGIN_PATH" = + (,(getenv "GRL_PLUGIN_PATH"))) + `("GUIX_PYTHONPATH" = + (,(getenv "GUIX_PYTHONPATH") ,pylib))))))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) @@ -975,8 +984,10 @@ cloud integration is offered through GNOME Online Accounts.") ("grilo" ,grilo) ("grilo-plugins" ,grilo-plugins) ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) ("gstreamer" ,gstreamer) ("gvfs" ,gvfs) + ("json-glib" ,json-glib) ("libdazzle" ,libdazzle) ("libmediaart" ,libmediaart) ("libsoup" ,libsoup) @@ -1019,7 +1030,7 @@ between different kinds of computer systems.") (define-public tepl (package (name "tepl") - (version "4.4.0") + (version "6.00.0") (source (origin (method url-fetch) @@ -1029,12 +1040,14 @@ between different kinds of computer systems.") name "-" version ".tar.xz")) (sha256 (base32 - "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6")))) - (build-system glib-or-gtk-build-system) + "0qvs7s86gqyyrzi0r5fbrj8zczlgv8xhdjswgbgc1afwjnl9fqx8")))) + (build-system meson-build-system) (arguments - `(#:tests? #f)) ; FIX-ME: Requires gvfs + `(#:glib-or-gtk? #t + #:tests? #f)) ; FIX-ME: Requires gvfs (native-inputs - `(("gobject-introspection" ,gobject-introspection) + `(("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) (inputs `(("amtk" ,amtk) @@ -1049,6 +1062,22 @@ GtkSourceView-based text editors and IDEs.") (home-page "https://wiki.gnome.org/Projects/Tepl") (license license:lgpl2.1+))) +(define-public tepl-5 + (package + (inherit tepl) + (name "tepl") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0118j64s4fb350phbgda2rk6sv19rfgglxc7nf248llzc1klj9xi")))))) + (define-public krb5-auth-dialog (package (name "krb5-auth-dialog") @@ -1124,21 +1153,15 @@ freedesktop.org desktop notification specification.") "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")))) (build-system meson-build-system) (arguments - `(#:meson ,meson-0.55 - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch (lambda* (#:key inputs #:allow-other-keys) (substitute* "util/mm-common-prepare.in" - (("ln") (string-append (assoc-ref inputs "coreutils") - "/bin/ln")) - (("cp") (string-append (assoc-ref inputs "coreutils") - "/bin/cp")) - (("sed") (string-append (assoc-ref inputs "sed") - "/bin/sed")) - (("cat") (string-append (assoc-ref inputs "coreutils") - "/bin/cat"))) - #t))))) + (("ln") (search-input-file inputs "/bin/ln")) + (("cp") (search-input-file inputs "/bin/cp")) + (("sed") (search-input-file inputs "/bin/sed")) + (("cat") (search-input-file inputs "/bin/cat")))))))) (native-inputs `(("coreutils" ,coreutils) ("gettext" ,gettext-minimal) @@ -1204,7 +1227,7 @@ in particular in the GNOME desktop.") (define-public gnome-color-manager (package (name "gnome-color-manager") - (version "3.32.0") + (version "3.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1212,7 +1235,7 @@ in particular in the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w")))) + "0fxdng74d8hwhfx1nwl1i4jx9h9f6c2hkyc12f01kqbjcimrxnwx")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -1265,13 +1288,30 @@ in the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44")))) + "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44")) + (patches + (search-patches + "gnome-online-miners-tracker-3.patch")))) (build-system glib-or-gtk-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda _ + (substitute* "configure.ac" + (("AX_CHECK_ENABLE_DEBUG.*") + "")))) + (add-after 'fix-configure 'autoreconf + (lambda _ + (invoke "autoreconf" "-vif")))))) (native-inputs - `(("gettext" ,gettext-minimal) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gtk+:bin" ,gtk+ "bin") + ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs `(("gnome-online-accounts" ,gnome-online-accounts) @@ -1333,6 +1373,13 @@ a debugging tool, @command{gssdp-device-sniffer}.") (base32 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p")))) (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a writable HOME. + (setenv "HOME" (getcwd))))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -1407,7 +1454,8 @@ given profile, etc. DLNA is a subset of UPnP A/V.") ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc/stable) ("libxml" ,libxml2) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) (inputs `(("gtk+" ,gtk+) ("gupnp" ,gupnp))) @@ -1430,8 +1478,6 @@ and implementation of UPnP A/V profiles.") (base32 "1mlw1qgj8nkd9ll6b6h54r1gfdy3zp8a8xqz7qfyfaj85jjgbph7")))) (build-system meson-build-system) - (arguments - `(#:meson ,meson-next)) (native-inputs `(("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) @@ -1451,15 +1497,15 @@ extraction, and lookup for applications on the desktop.") (define-public gnome-initial-setup (package (name "gnome-initial-setup") - (version "3.32.1") + (version "40.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-initial-setup/" - (version-major+minor version) + (version-major version) "/gnome-initial-setup-" version ".tar.xz")) (sha256 (base32 - "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry")))) + "06q3p4f8g9zr7a4mw3qr556mi0dg9qzrj8n46ybdz93fxs26aaj1")))) (build-system meson-build-system) (arguments '(#:configure-flags '(;; Enable camera support for user selfie. @@ -1485,10 +1531,10 @@ extraction, and lookup for applications on the desktop.") (inputs `(("accountsservice" ,accountsservice) ;("adwaita-icon-theme" ,adwaita-icon-theme) + ("elogind" ,elogind) ("gdm" ,gdm) ("geoclue" ,geoclue) ("gnome-desktop" ,gnome-desktop) - ("gnome-getting-started-docs" ,gnome-getting-started-docs) ("gnome-online-accounts" ,gnome-online-accounts) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") ("gstreamer" ,gstreamer) @@ -1516,7 +1562,7 @@ tour of all gnome components and allows the user to set them up.") (define-public gnome-user-share (package (name "gnome-user-share") - (version "3.33.1") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1524,12 +1570,12 @@ tour of all gnome components and allows the user to set them up.") name "-" version ".tar.xz")) (sha256 (base32 - "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7")))) + "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t #:configure-flags - `("-Dsystemd=false" + `("-Dsystemduserunitdir=/tmp/empty" ;; Enable nautilus extension for file sharing. "-Dnautilus_extension=true"))) (native-inputs @@ -1556,7 +1602,7 @@ sharing to the masses.") (define-public sushi (package (name "sushi") - (version "3.32.1") + (version "3.38.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1564,7 +1610,7 @@ sharing to the masses.") name "-" version ".tar.xz")) (sha256 (base32 - "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj")))) + "1sc8i0vrw6bn43rklnwp2fl1gq0r0xfd3bszcqxd0a2mh46d3rpk")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -1574,11 +1620,11 @@ sharing to the masses.") (lambda* (#:key outputs #:allow-other-keys) (let ((prog (string-append (assoc-ref outputs "out") "/bin/sushi"))) - ;; Put existing typelibs before sushi's deps, so as to correctly - ;; infer gdk-pixbuf + ;; Put existing typelibs before sushi's deps, so as to + ;; correctly infer gdk-pixbuf. (wrap-program prog - `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) + `("GI_TYPELIB_PATH" suffix + (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs `(("glib:bin" ,glib "bin") ("gettext" ,gettext-minimal) @@ -1594,7 +1640,7 @@ sharing to the masses.") ("gjs" ,gjs) ("gst-plugins-base" ,gst-plugins-base) ("gstreamer" ,gstreamer) - ("gtksourceview" ,gtksourceview-3) + ("gtksourceview" ,gtksourceview) ("harfbuzz" ,harfbuzz) ("libepoxy" ,libepoxy) ("libmusicbrainz" ,libmusicbrainz) @@ -1602,15 +1648,15 @@ sharing to the masses.") ("neon" ,neon) ("webkitgtk" ,webkitgtk))) (synopsis "File previewer for the GNOME desktop") - (description "Sushi is a DBus-activated service that allows applications to -preview files on the GNOME desktop.") + (description "Sushi is a DBus-activated service that allows applications +to preview files on the GNOME desktop.") (home-page "https://gitlab.gnome.org/GNOME/sushi") (license license:gpl2+))) (define-public rygel (package (name "rygel") - (version "0.38.3") + (version "0.40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1618,23 +1664,34 @@ preview files on the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8")))) - (build-system gnu-build-system) + "0bd3d2swa8lq47b9r04x8xwdr9nhjnrwqi6scygd134wb5vxfh22")))) + (build-system meson-build-system) + (arguments + ;; Disable the tracker plugin. + '(#:configure-flags + (list "-Dplugins=external,gst-launch,lms,media-export, +mpris,playbin,ruih,tracker3"))) (native-inputs `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc/stable) ("pkg-config" ,pkg-config) - ("vala" ,vala))) + ("vala" ,vala) + ("docbook-xml" ,docbook-xml) + ("dockbook-xsl" ,docbook-xsl) + ("xsltproc" ,libxslt))) (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("gssdp" ,gssdp) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) + ("gst-editing-services" ,gst-editing-services) ("gtk+" ,gtk+) ("gupnp" ,gupnp) ("gupnp-av" ,gupnp-av) ("gupnp-dlna" ,gupnp-dlna) + ("json-glib" ,json-glib) ("libgee" ,libgee) ("libmediaart" ,libmediaart) ("libsoup" ,libsoup) @@ -1707,7 +1764,7 @@ project.") (define-public gnome-menus (package (name "gnome-menus") - (version "3.32.0") + (version "3.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-menus/" @@ -1715,7 +1772,7 @@ project.") name "-" version ".tar.xz")) (sha256 (base32 - "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68")))) + "07xvaf8s0fiv0035nk8zpzymn5www76w2a1vflrgqmp9plw8yd6r")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1826,7 +1883,6 @@ either on a local, or remote machine via a number of methods.") (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) - ("gcc" ,gcc-8) ;required for -Wcast-function-type ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) @@ -1852,15 +1908,15 @@ and running smart commands.") (define-public gnome-user-docs (package (name "gnome-user-docs") - (version "3.32.3") + (version "40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-user-docs/" - (version-major+minor version) + (version-major version) "/gnome-user-docs-" version ".tar.xz")) (sha256 - (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig")))) + (base32 "0p6ysdqlfc7vvzsrcanl9bhsc7666sv42xxzpbgsf5j55z3yrkpr")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1875,34 +1931,6 @@ and system administrators.") (home-page "https://live.gnome.org/DocumentationProject") (license license:cc-by3.0))) -(define-public gnome-getting-started-docs - (package - (name "gnome-getting-started-docs") - (version "3.32.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/" - (version-major+minor version) - "/gnome-getting-started-docs-" version ".tar.xz")) - (sha256 - (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq")))) - (build-system gnu-build-system) - (native-inputs - `(("gettext" ,gettext-minimal) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2))) - (synopsis "Help to get new users started with the GNOME desktop") - (description - "The GNOME Getting Started Documentation contains GNOME's intuitive -\"Getting Started\" tour, with video guides, that can be viewed with Yelp. - -It is normally used together with @command{gnome-initial-setup}, but is also -useful as a tutorial and users' guide for new or less experienced users.") - (home-page "https://live.gnome.org/DocumentationProject") - (license license:cc-by-sa3.0))) - (define-public dia ;; This version from GNOME's repository includes fixes for compiling with ;; recent versions of the build tools. The latest activity on the @@ -1946,12 +1974,10 @@ relationship modeling, and network diagrams. The program supports various file formats like PNG, SVG, PDF and EPS.") (license license:gpl2+)))) -;; This is the unstable release, but it is required for the current stable -;; release of gvfs (1.38.1). (define-public libgdata (package (name "libgdata") - (version "0.17.9") + (version "0.18.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1959,27 +1985,25 @@ formats like PNG, SVG, PDF and EPS.") name "-" version ".tar.xz")) (sha256 (base32 - "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45")))) - (build-system gnu-build-system) + "1iq4d1qy0vkmy29xvr13dgz4pxvn5v3yi2swryld0ajinvp951fx")))) + (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'check 'disable-failing-tests + (add-before 'check 'set-home-for-tests (lambda _ - ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2. - ;; They have been removed in libgdata 0.17.6, so just do the same. - (substitute* "gdata/tests/Makefile" - (("picasaweb\\$\\(EXEEXT\\) ") "")) - #t))))) + (setenv "HOME" "/tmp")))))) (native-inputs `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("uhttpmock" ,uhttpmock))) (inputs `(("cyrus-sasl" ,cyrus-sasl) - ("glib-networking" ,glib-networking))) + ("glib-networking" ,glib-networking) + ("vala" ,vala))) (propagated-inputs `(("gcr" ,gcr) ("glib" ,glib) @@ -2033,16 +2057,16 @@ to other formats.") (define-public gnome-characters (package (name "gnome-characters") - (version "3.30.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" - "gnome-characters/" (version-major+minor version) + "gnome-characters/" (version-major version) "/gnome-characters-" version ".tar.xz")) (sha256 (base32 - "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp")))) + "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -2054,8 +2078,7 @@ to other formats.") (wrap-program (string-append (assoc-ref outputs "out") "/bin/gnome-characters") `("GI_TYPELIB_PATH" ":" prefix - (,(getenv "GI_TYPELIB_PATH")))) - #t))))) + (,(getenv "GI_TYPELIB_PATH"))))))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -2065,6 +2088,7 @@ to other formats.") (inputs `(("gjs" ,gjs) ("gtk+" ,gtk+) + ("libhandy" ,libhandy) ("libunistring" ,libunistring) ("gnome-desktop" ,gnome-desktop))) (home-page "https://wiki.gnome.org/Apps/CharacterMap") @@ -2099,18 +2123,18 @@ commonly used macros.") (define-public gnome-contacts (package (name "gnome-contacts") - (version "3.34") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-contacts/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r")))) + "0w2g5xhw65adzvwzakrj5kaim4sw1w7s8qqwm3nm6inq50znzpn9")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Dcheese=false") + `(#:configure-flags '("-Dcheese=disabled") #:phases (modify-phases %standard-phases (add-after 'unpack 'generate-vapis @@ -2121,16 +2145,16 @@ commonly used macros.") (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0" "--library=goa-1.0" - (string-append goa "/share/gir-1.0/Goa-1.0.gir")) - #t)) + (string-append goa "/share/gir-1.0/Goa-1.0.gir")))) (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t))))) + (("gtk-update-icon-cache") "true"))))))) (native-inputs - `(("glib:bin" ,glib "bin") + `(("docbook-xml" ,docbook-xml-4.2) + ("docbook-xsl" ,docbook-xsl) + ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) (inputs `(("docbook-xml" ,docbook-xml) @@ -2143,6 +2167,7 @@ commonly used macros.") ("gst-plugins-base" ,gst-plugins-base) ("gtk+" ,gtk+) ("libgee" ,libgee) + ("libhandy" ,libhandy) ("libxslt" ,libxslt) ("telepathy-glib" ,telepathy-glib) ("vala" ,vala))) @@ -2159,16 +2184,16 @@ offline sources, providing a centralized place for managing your contacts.") (define-public gnome-desktop (package (name "gnome-desktop") - (version "3.34.2") + (version "40.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0")))) + "1vs5knn2yj6a449p9bn5w5407i1yvxfxg8xv844qgl70hpsrdbl8")))) (build-system meson-build-system) (arguments '(#:phases @@ -2198,10 +2223,11 @@ offline sources, providing a centralized place for managing your contacts.") ;; Tests require a running X server and locales. (system "Xvfb :1 &") (setenv "DISPLAY" ":1") + (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache") + (setenv "XDG_CONFIG_HOME" "/tmp") (setenv "GUIX_LOCPATH" - (string-append (assoc-ref inputs "glibc-locales") - "/lib/locale")) - #t))))) + (search-input-directory inputs + "lib/locale"))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for gdbus-codegen ("glibc-locales" ,glibc-locales) ; for tests @@ -2273,15 +2299,15 @@ and keep up to date translations of documentation.") (define-public gnome-disk-utility (package (name "gnome-disk-utility") - (version "3.34.0") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y")))) + "1rr1ypb89p51b6428yqvczmpmylwjfnhnkgx78hzm3vxm3m15lff")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dlogind=libelogind") @@ -2309,6 +2335,7 @@ and keep up to date translations of documentation.") ("gtk+" ,gtk+) ("libcanberra" ,libcanberra) ("libdvdread" ,libdvdread) + ("libhandy" ,libhandy) ("libnotify" ,libnotify) ("libpwquality" ,libpwquality) ("libsecret" ,libsecret) @@ -2321,15 +2348,15 @@ and keep up to date translations of documentation.") (define-public gnome-font-viewer (package (name "gnome-font-viewer") - (version "3.30.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-font-viewer/" - (version-major+minor version) + (version-major version) "/gnome-font-viewer-" version ".tar.xz")) (sha256 (base32 - "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5")))) + "0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j")))) (build-system meson-build-system) (arguments '(#:phases @@ -2356,7 +2383,9 @@ and keep up to date translations of documentation.") (inputs `(("glib" ,glib) ("gnome-desktop" ,gnome-desktop) - ("gtk+" ,gtk+))) + ("gtk+" ,gtk+) + ("libhandy" ,libhandy) + ("libxml2" ,libxml2))) (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer") (synopsis "GNOME Fonts") (description "Application to show you the fonts installed on your computer @@ -2509,15 +2538,15 @@ GNOME Desktop.") (define-public gnome-keyring (package (name "gnome-keyring") - (version "3.34.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9")))) + "0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does @@ -2568,7 +2597,7 @@ GNOME Desktop.") ("autoconf" ,autoconf) ("automake" ,automake) ("libxslt" ,libxslt) ;for documentation - ("docbook-xml" ,docbook-xml-4.2) + ("docbook-xml" ,docbook-xml-4.3) ("docbook-xsl" ,docbook-xsl))) (propagated-inputs `(("gcr" ,gcr))) @@ -2587,24 +2616,30 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.36.5") + (version "40.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/evince/" - (version-major+minor version) "/" - "evince-" version ".tar.xz")) - (sha256 - (base32 - "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg")))) - (build-system glib-or-gtk-build-system) + (method url-fetch) + (uri "mirror://gnome/sources/evince/40/evince-40.2.tar.xz") + (sha256 + (base32 + "0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg")))) + (build-system meson-build-system) (arguments - `(#:configure-flags '("--disable-nautilus" "--enable-introspection") + `(#:glib-or-gtk? #t + #:build-type "release" + #:configure-flags + '("-Dnautilus=false" + "-Dintrospection=true" + ;; XXX: Generating the documentation fails because the + ;; libevdocument.devhelp document cannot be created. This seems to be + ;; caused by a problem during the XSL transformation. + "-Dgtk_doc=false") #:phases (modify-phases %standard-phases - (add-before 'install 'skip-gtk-update-icon-cache + (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "data/Makefile" + (substitute* "meson_post_install.py" (("gtk-update-icon-cache") "true")) #t))))) (inputs @@ -2633,9 +2668,7 @@ forgotten when the session ends.") ("dconf" ,dconf) ("libcanberra" ,libcanberra) ("libsecret" ,libsecret) - - ;; For tests. - ("dogtail" ,python2-dogtail))) + ("libhandy" ,libhandy))) (native-inputs `(("itstool" ,itstool) ("intltool" ,intltool) @@ -2655,16 +2688,16 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "3.34.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8")))) + "11an29br55dp0b26kfqlrfxj19glfrmhcdpds2n1w9n04gq3pf7i")))) (build-system meson-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -2673,18 +2706,17 @@ on the GNOME Desktop with a single simple application.") (let ((theme (assoc-ref inputs "gnome-backgrounds"))) (substitute* (find-files "schemas" "\\.gschema\\.xml\\.in$") - ;; Provide the correct file name of the default GNOME - ;; background, 'adwaita-timed.xml'. + ;; Provide the correct file name of the default + ;; GNOME background, 'adwaita-timed.xml'. (("@datadir@/backgrounds/gnome") (string-append theme "/share/backgrounds/gnome")) ;; Do not reference fonts, that may not exist. - (("'Source Code Pro 10'") "'Monospace 11'")) - #t)))))) + (("'Source Code Pro 10'") "'Monospace 11'")))))))) (inputs `(("glib" ,glib) ("gnome-backgrounds" ,gnome-backgrounds))) (native-inputs - `(("intltool" ,intltool) + `(("gettext" ,gettext-minimal) ("glib" ,glib "bin") ; glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) @@ -2765,7 +2797,7 @@ and how they are displayed (View).") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -2867,15 +2899,15 @@ GNOME and KDE desktops to the icon names proposed in the specification.") (define-public adwaita-icon-theme (package (inherit gnome-icon-theme) (name "adwaita-icon-theme") - (version "3.34.3") + (version "40.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7")))) + "1xpqa1rgmixlp953938d08xvf7kv36h747ysial8g65dsrp46v0b")))) (native-inputs `(("gtk-encode-symbolic-svg" ,gtk+ "bin"))))) @@ -3098,7 +3130,7 @@ some form of information without getting in the user's way.") (define-public libpeas (package (name "libpeas") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) @@ -3107,7 +3139,7 @@ some form of information without getting in the user's way.") name "-" version ".tar.xz")) (sha256 (base32 - "05cb7drn6arc4gi02wgsvzibigi2riz5gnfnmlb0zmbfnj9ikna2")))) + "18xrk1c1ixlhkmykcfiafrl2am470ws687xqvjlq40zwkcp5dx8b")))) (build-system meson-build-system) (arguments '(#:phases @@ -3117,6 +3149,8 @@ some form of information without getting in the user's way.") (let ((xorg-server (assoc-ref inputs "xorg-server")) (disp ":1")) (setenv "DISPLAY" disp) + (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache") + (setenv "XDG_CONFIG_HOME" "/tmp") ;; Tests require a running X server. (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)) #t)))))) @@ -3185,7 +3219,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (define-public glade3 (package (name "glade") - (version "3.36.0") + (version "3.38.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3193,14 +3227,28 @@ API add-ons to make GTK+ widgets OpenGL-capable.") name "-" version ".tar.xz")) (sha256 (base32 - "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) - (build-system glib-or-gtk-build-system) + "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q")) + (patches (search-patches + "glade-gls-set-script-name.patch" + "glade-test-widget-null-icon.patch")))) + (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) + ;; XXX: Remove it once this issue is fixed: + ;; https://issues.guix.gnu.org/50105. + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/meson.build" + (("\\['modules") "#['modules")))) (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) - (substitute* "man/Makefile.in" + (substitute* "man/meson.build" (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") (string-append (assoc-ref inputs "docbook-xsl") "/xml/xsl/docbook-xsl-" @@ -3224,7 +3272,10 @@ API add-ons to make GTK+ widgets OpenGL-capable.") ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) - ("python" ,python-2) + ("glib:bin" ,glib "bin") + ("python-pygobject" ,python-pygobject) + ("gobject-introspection" ,gobject-introspection) + ("gjs" ,gjs) ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") @@ -3283,104 +3334,70 @@ XML/CSS rendering engine.") (sha256 (base32 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--disable-static"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - - ;; For tests. - ("perl" ,perl) - ("perl-xml-parser" ,perl-xml-parser))) - (inputs - `(("zlib" ,zlib) - ("bzip2" ,bzip2))) - (propagated-inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib) - ("libxml2" ,libxml2))) - (home-page "https://www.gnome.org/projects/libgsf") - (synopsis "GNOME's Structured File Library") - (description - "Libgsf aims to provide an efficient extensible I/O abstraction for -dealing with different structured file formats.") - - ;; LGPLv2.1-only. - (license license:lgpl2.1))) - -(define-public librsvg - (package - (name "librsvg") - (version "2.40.21") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) + (outputs '("out" "bin" "doc")) (arguments `(#:configure-flags - (list "--disable-static" - "--enable-vala") ; needed for e.g. gnome-mines + (list + "--disable-static" + "--enable-introspection" + (string-append "--with-gir-dir=" + (assoc-ref %outputs "out") + "/share/gir-" + ,(version-major + (package-version gobject-introspection)) + ".0") + (string-append "--with-typelib-dir=" + (assoc-ref %outputs "out") + "/lib/girepository-" + ,(version-major + (package-version gobject-introspection)) + ".0") + (string-append "--with-html-dir=" + (assoc-ref %outputs "doc") + "/share/gtk-doc/html") + "--with-zlib" + "--with-bz2") #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure + (add-after 'unpack 'patch-docbook-xml (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk-pixbuf-loader/Makefile.in" - ;; By default the gdk-pixbuf loader is installed under - ;; gdk-pixbuf's prefix. Work around that. - (("gdk_pixbuf_moduledir = .*$") - (string-append "gdk_pixbuf_moduledir = " - "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/" - "loaders\n")) - ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg. - (("gdk_pixbuf_cache_file = .*$") - "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) - #t)) - (add-before 'check 'remove-failing-tests - (lambda _ - (with-directory-excursion "tests/fixtures/reftests" - (for-each delete-file - '(;; This test fails on i686: - "svg1.1/masking-path-04-b.svg" - ;; This test fails on armhf: - "svg1.1/masking-mask-01-b.svg" - ;; This test fails on aarch64: - "bugs/777834-empty-text-children.svg"))) + (with-directory-excursion "doc" + (substitute* "gsf-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.5/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) #t))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("vala" ,vala) - ("glib" ,glib "bin") ; glib-mkenums, etc. - ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc. + `(("docbook-xml" ,docbook-xml) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("perl" ,perl) + ("perl-xml-parser" ,perl-xml-parser) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) (inputs - `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for - ;; this ancient version of librsvg. - ("pango" ,pango-1.42) - ("libcroco" ,libcroco) - ("bzip2" ,bzip2) - ("libgsf" ,libgsf) - ("libxml2" ,libxml2))) - (propagated-inputs - ;; librsvg-2.0.pc refers to all of that. - `(("cairo" ,cairo) + `(("bzip2" ,bzip2) ("gdk-pixbuf" ,gdk-pixbuf) - ("glib" ,glib))) - (home-page "https://wiki.gnome.org/LibRsvg") - (synopsis "Render SVG files using Cairo") - (description - "Librsvg is a C library to render SVG files using the Cairo 2D graphics -library.") - (license license:lgpl2.0+))) + ("zlib" ,zlib))) + (propagated-inputs + `(("glib" ,glib) + ("libxml2" ,libxml2))) + (synopsis "G Structured File Library") + (description "Libgsf aims to provide an efficient extensible I/O abstraction +for dealing with different structured file formats.") + (home-page "https://gitlab.gnome.org/GNOME/libgsf") + (license + (list + ;; Library + license:lgpl2.1+ + ;; Others + license:lgpl2.0+)))) -(define-public librsvg-next +(define-public librsvg (package (name "librsvg") - (version "2.50.3") + (version "2.50.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -3388,11 +3405,10 @@ library.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "0n79i4wj9hm0d3bbn4xvknq5ylhqs16pvhaqr1rxspx9wfc8lad4")) + "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz")) (modules '((guix build utils))) (snippet - '(begin (delete-file-recursively "vendor") - #t)))) + '(begin (delete-file-recursively "vendor"))))) (build-system cargo-build-system) (outputs '("out" "doc")) (arguments @@ -3456,8 +3472,7 @@ library.") (substitute* "rsvg-docs.xml" (("http://www.oasis-open.org/docbook/xml/4.3/") (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t)) + "/xml/dtd/docbook/")))))) (add-after 'unpack 'prepare-for-build (lambda _ ;; In lieu of #:make-flags @@ -3465,8 +3480,7 @@ library.") ;; Something about the build environment resists building ;; successfully with the '--locked' flag. (substitute* '("Makefile.am" "Makefile.in") - (("--locked") "")) - #t)) + (("--locked") "")))) (add-before 'configure 'pre-configure (lambda _ (substitute* "gdk-pixbuf-loader/Makefile.in" @@ -3478,26 +3492,22 @@ library.") "loaders\n")) ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg. (("gdk_pixbuf_cache_file = .*$") - "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) - #t)) + "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))) (add-after 'configure 'gnu-configure - (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) - ((assoc-ref gnu:%standard-phases 'configure) - #:native-inputs native-inputs - #:inputs inputs - #:outputs outputs - #:configure-flags - (list "--disable-static" - "--enable-vala" - (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html"))))) + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (apply (assoc-ref gnu:%standard-phases 'configure) + #:configure-flags + (list "--disable-static" + "--enable-vala" + (string-append "--with-html-dir=" + (assoc-ref outputs "doc") + "/share/gtk-doc/html")) + args))) (add-after 'configure 'dont-vendor-self (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory (delete-file-recursively - (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) - #t)) + (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")))) (replace 'build (assoc-ref gnu:%standard-phases 'build)) (add-before 'check 'ignore-failing-tests @@ -3523,8 +3533,7 @@ library.") (("fn multiple_input_files_not_allowed_for_png_output" all) (string-append "#[ignore] " all)) (("fn stylesheet_option_error" all) - (string-append "#[ignore] " all))) - #t)) + (string-append "#[ignore] " all))))) (replace 'check (lambda* args ((assoc-ref gnu:%standard-phases 'check) @@ -4233,7 +4242,7 @@ engineering.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) @@ -4343,65 +4352,62 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.46.5") + (version "0.52.0") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/vala/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "vala-" version ".tar.xz")) (sha256 (base32 - "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s")))) - (build-system gnu-build-system) + "12y6p8wdjp01vmfhxg2cgh32xnyqq6ivblvrar9clnj6vc867qhx")))) + (build-system glib-or-gtk-build-system) (arguments - '(#:phases + '(#:configure-flags '("--enable-coverage") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc/manual" + (substitute* '("manual.xml" "version.xml.in") + (("http://www.oasis-open.org/docbook/xml/4.4/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) (add-before 'check 'pre-check - (lambda _ - (setenv "CC" "gcc") - (substitute* "valadoc/tests/testrunner.sh" - (("export PKG_CONFIG_PATH=" m) - (string-append m "$PKG_CONFIG_PATH:"))) - ;; For missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - #t))))) + (lambda _ + (setenv "CC" "gcc") + (substitute* "valadoc/tests/libvaladoc\ +/tests-extra-environment.sh" + (("export PKG_CONFIG_PATH=" m) + (string-append m "$PKG_CONFIG_PATH:")))))))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("bison" ,bison) + ("dbus" ,dbus) ; for dbus tests + ("docbook-xml" ,docbook-xml-4.4) + ("docbook-xsl" ,docbook-xsl) ("flex" ,flex) - ("bison" ,bison) - ("xsltproc" ,libxslt) - ("dbus" ,dbus) ; for dbus tests - ("gobject-introspection" ,gobject-introspection))) ; for gir tests - (inputs - `(("graphviz" ,graphviz))) + ("gobject-introspection" ,gobject-introspection) ; for gir tests + ("help2man" ,help2man) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) (propagated-inputs - `(("glib" ,glib))) ; required by libvala-0.40.pc + `(("glib" ,glib) ; required by libvala-0.40.pc + ("libgvc" ,graphviz))) (home-page "https://wiki.gnome.org/Projects/Vala/") - (synopsis "Compiler for the GObject type system") - (description - "Vala is a programming language that aims to bring modern programming -language features to GNOME developers without imposing any additional runtime -requirements and without using a different ABI compared to applications and -libraries written in C.") + (synopsis "Compiler using the GObject type system") + (description "Vala is a programming language using modern high level +abstractions without imposing additional runtime requirements and without using +a different ABI compared to applications and libraries written in C. Vala uses +the GObject type system and has additional code generation routines that make +targeting the GNOME stack simple.") (license license:lgpl2.1+))) -(define-public vala-0.50 - (package - (inherit vala) - (version "0.50.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/vala/" - (version-major+minor version) "/" - "vala-" version ".tar.xz")) - (sha256 - (base32 - "1nnf0x6vk0a9p2y6z7jwjfvmlxh3qhj581v381r0y1sxsv35s39c")))))) - (define-public vte (package (name "vte") - (version "0.60.3") + (version "0.64.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vte/" @@ -4409,7 +4415,7 @@ libraries written in C.") "vte-" version ".tar.xz")) (sha256 (base32 - "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy")))) + "063ys3330cvhbz1dln9irhciavb2prw098lvhpcc2rx6cl5q4g1b")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -4506,7 +4512,8 @@ selection and URL hints."))) (arguments ;; Disable -Werror and such, to avoid build failures on compilation ;; warnings. - '(#:configure-flags '("--enable-compile-warnings=minimum") + '(#:configure-flags '("--enable-compile-warnings=minimum" + "CFLAGS=-fcommon") #:phases (modify-phases %standard-phases (add-before 'install 'skip-gtk-update-icon-cache @@ -4592,7 +4599,7 @@ configuration storage systems.") (define-public json-glib (package (name "json-glib") - (version "1.4.4") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4600,23 +4607,82 @@ configuration storage systems.") name "-" version ".tar.xz")) (sha256 (base32 - "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j")))) + "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3")))) (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Ddocs=true" + "-Dman=true" + ,@(if (%current-target-system) + ;; If enabled, gtkdoc-scangobj will try to execute a + ;; cross-compiled binary. + '("-Dgtk_doc=disabled" + ;; Trying to build introspection data when cross-compiling + ;; causes errors during linking. + "-Dintrospection=disabled") + '())) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook + ;; TODO(core-updates): Use (or native-inputs inputs) + ;; unconditionally. + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.3/") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) + "docbook-xml") + "/xml/dtd/docbook/"))) + (substitute* "meson.build" + (("http://docbook.sourceforge.net/release/xsl/current/") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xsl") + "/xml/xsl/docbook-xsl-1.79.2/")))) + #t)) + ;; When cross-compiling, there are no docs to move. + ,(if (%current-target-system) + '(add-after 'install 'stub-docs + (lambda* (#:key outputs #:allow-other-keys) + ;; The daemon doesn't like empty output paths. + (mkdir (assoc-ref outputs "doc")))) + '(add-after 'install 'move-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal + `(("docbook-xml" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt))) + (inputs + ;; TODO(core-updates): Make this input unconditional. + (if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) + '())) (propagated-inputs - `(("glib" ,glib))) ;according to json-glib-1.0.pc + `(("glib" ,glib))) ;according to json-glib-1.0.pc (home-page "https://wiki.gnome.org/Projects/JsonGlib") - (synopsis "Compiler for the GObject type system") - (description - "JSON-GLib is a C library based on GLib providing serialization and -deserialization support for the JavaScript Object Notation (JSON) format -described by RFC 4627. It provides parser and generator GObject classes and -various wrappers for the complex data types employed by JSON, such as arrays -and objects.") + (synopsis "Glib and GObject implementation of JSON") + (description "JSON-GLib is a library providing serialization and +described by RFC 4627. It implements a full JSON parser and generator using +GLib and GObject, and integrates JSON with GLib data types.") (license license:lgpl2.1+))) (define-public libxklavier @@ -4703,7 +4769,7 @@ library.") (define-public glib-networking (package (name "glib-networking") - (version "2.62.2") + (version "2.68.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -4711,23 +4777,28 @@ library.") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06")))) + "0kwrsp1xbqf852nqmd5cr7hqw771q0dxkzpzlibdp5zn9q2vqpjk")) + (patches + (search-patches "glib-networking-gnutls-binding.patch")))) (build-system meson-build-system) - (arguments - `(#:configure-flags '("-Dlibproxy_support=false"))) (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + ("gettext" ,gettext-minimal))) (inputs `(("glib" ,glib) ("gnutls" ,gnutls) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) - (home-page "https://www.gnome.org") - (synopsis "Network-related GIO modules") - (description - "This package contains various network related extensions for the GIO -library.") - (license license:lgpl2.0+))) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("libproxy" ,libproxy))) + (home-page "https://wiki.gnome.org/Projects/GLib") + (synopsis "Network extensions for GLib") + (description + "Glib-networking contains the implementations of certain GLib networking +features that cannot be implemented directly in GLib itself because of their +dependencies. Currently it contains GnuTLS and OpenSSL-based implementations of +GTlsBackend, a libproxy-based implementation of GProxyResolver, +GLibproxyResolver, and a GNOME GProxyResolver that uses the proxy information +from the GSettings schemas in gsettings-desktop-schemas.") + (license license:lgpl2.1+))) (define-public rest (package @@ -4810,49 +4881,10 @@ libxml to ease remote use of the RESTful API.") (substitute* "tests/hsts-db-test.c" ((".*/hsts-db/subdomains.*") "")) - ;; Generate a self-signed certificate that has "localhost" as its - ;; 'dnsName'. Failing to do that, and starting with GnuTLS - ;; 3.5.12, tests such as "ssl-tests" fail: - ;; - ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK) - ;; - ;; 'certtool' is interactive so we have to pipe it the answers. - ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>. - (let ((pipe (open-output-pipe "certtool --generate-self-signed \ - --load-privkey tests/test-key.pem --outfile tests/test-cert.pem"))) - (for-each (lambda (line) - (display line pipe) - (newline pipe)) - '("" ;Common name - "" ;UID - "Guix" ;Organizational unit name - "GNU" ;Organization name - "" ;Locality name - "" ;State or province - "" ;Country - "" ;subject's domain component (DC) - "" ;E-mail - "" ;serial number - "-1" ;expiration time - "N" ;belong to authority? - "N" ;web client certificate? - "N" ;IPsec IKE? - "Y" ;web server certificate? - "localhost" ;dnsName of subject - "" ;dnsName of subject (end) - "" ;URI of subject - "127.0.0.1" ;IP address of subject - "" ;signing? - "" ;encryption (RSA)? - "" ;data encryption? - "" ;sign OCSP requests? - "" ;sign code? - "" ;time stamping? - "" ;email protection? - "" ;URI of the CRL distribution point - "y" ;above info OK? - )) - (close-pipe pipe)) + ;; FIXME: ssl-test fails, starting with + ;; glib-networking 2.68.x. + (substitute* "tests/meson.build" + (("[ \t]*\\['ssl', true, \\[\\]\\],") "")) #t)) (add-after 'install 'move-doc (lambda* (#:key outputs #:allow-other-keys) @@ -4874,7 +4906,6 @@ libxml to ease remote use of the RESTful API.") ("vala" ,vala) ("php" ,php) ("curl" ,curl) - ("gnutls" ,gnutls) ;for 'certtool' ("httpd" ,httpd))) (propagated-inputs ;; libsoup-2.4.pc refers to all of these (except where otherwise noted) @@ -5006,15 +5037,15 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public gnome-mines (package (name "gnome-mines") - (version "3.36.1") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i")))) + (base32 "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -5023,8 +5054,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (add-after 'unpack 'skip-gtk-update-icon-cache (lambda _ (substitute* "build-aux/meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))) - #t))))) + (("gtk-update-icon-cache") (which "true")))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-resources ("pkg-config" ,pkg-config) @@ -5089,16 +5119,16 @@ once.") (define-public gnome-sudoku (package (name "gnome-sudoku") - (version "3.34.1") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b")))) + "18slsxifad5cjz4fqi818i66jc9b7kzgn01qxa0ra4y7wcqha4in")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -5107,8 +5137,7 @@ once.") (add-after 'unpack 'skip-gtk-update-icon-cache (lambda _ (substitute* "build-aux/post_install.py" - (("gtk-update-icon-cache") (which "true"))) - #t))))) + (("gtk-update-icon-cache") (which "true")))))))) (native-inputs `(("pkg-config" ,pkg-config) ("desktop-file-utils" ,desktop-file-utils) @@ -5135,7 +5164,7 @@ more fun.") (define-public gnome-terminal (package (name "gnome-terminal") - (version "3.34.2") + (version "3.40.3") (source (origin (method url-fetch) @@ -5144,7 +5173,7 @@ more fun.") name "-" version ".tar.xz")) (sha256 (base32 - "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv")))) + "08hsic7sn32xw12i3j0ard2bhfhp8gmzqm0pa8xzl5l1jhzsmsfb")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags @@ -5153,14 +5182,16 @@ more fun.") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-/bin/true - (lambda _ - (substitute* "configure" - (("/bin/true") (which "true")))))))) + (lambda _ + (substitute* "configure" + (("/bin/true") (which "true")))))))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("docbook-xsl" ,docbook-xsl) + ("pkg-config" ,pkg-config) ("desktop-file-utils" ,desktop-file-utils) ("intltool" ,intltool) ("itstool" ,itstool) + ("libxslt" ,libxslt) ("xmllint" ,libxml2))) (propagated-inputs `(("dconf" ,dconf))) @@ -5317,9 +5348,7 @@ permission from user.") (add-before 'check 'set-locales (lambda* (#:key inputs #:allow-other-keys) (setenv "GUIX_LOCPATH" - (string-append (assoc-ref inputs "glibc-locales") - "/lib/locale")) - #t))))) + (search-input-directory inputs "lib/locale"))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums ("glibc-locales" ,glibc-locales) ; for tests @@ -5426,15 +5455,15 @@ service via the system message bus.") (define-public libgweather (package (name "libgweather") - (version "3.34.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902")))) + "1rkf4yv43qcahyx7bismdv6z2vh5azdnm1fqfmnzrada9cm8ykna")))) (build-system meson-build-system) (arguments `(#:tests? #f ; one of two tests requires network access @@ -5447,7 +5476,8 @@ service via the system message bus.") ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("vala" ,vala) - ("intltool" ,intltool))) + ("intltool" ,intltool) + ("python-pygobject" ,python-pygobject))) (propagated-inputs ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and ;; libsoup. @@ -5468,16 +5498,16 @@ services for numerous locations.") (define-public gnome-settings-daemon (package (name "gnome-settings-daemon") - (version "3.34.1") + (version "40.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")) + "08bv32hvsmd8izw0llvldg0c2d71srch4hi8j94jwgm5d4dsrprp")) (patches (search-patches "gnome-settings-daemon-gc.patch")))) (build-system meson-build-system) (arguments @@ -5626,7 +5656,7 @@ which are easy to play with the aid of a mouse.") (define-public amtk (package (name "amtk") - (version "5.0.2") + (version "5.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/amtk/" @@ -5634,10 +5664,8 @@ which are easy to play with the aid of a mouse.") "amtk-" version ".tar.xz")) (sha256 (base32 - "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--enable-gtk-doc"))) + "12v3nj1bb7507ndprjggq0hpz8k719b4bwvl8sm43p3ibmn27anm")))) + (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) ("glib:bin" ,glib "bin") ; for glib-mkenums @@ -5657,15 +5685,15 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") (define-public devhelp (package (name "devhelp") - (version "3.34.0") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg")))) + "1fvb69l1nyxdrs95ar95rmpfs8nfkpys4x74r8ilid44hhzdk2iy")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -5675,8 +5703,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t))))) + (("gtk-update-icon-cache") "true"))))))) (native-inputs `(("intltool" ,intltool) ("itstool" ,itstool) @@ -6044,7 +6071,7 @@ as possible!") (define-public grilo (package (name "grilo") - (version "0.3.12") + (version "0.3.13") (source (origin (method url-fetch) @@ -6052,7 +6079,7 @@ as possible!") (version-major+minor version) "/" "grilo-" version ".tar.xz")) (sha256 - (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv")))) + (base32 "0ywjvh7xw4ql1q4fvl0q5n06n08pga1g1nc9l7c3x5214gr3fj6i")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal @@ -6084,7 +6111,7 @@ for application developers.") (define-public grilo-plugins (package (name "grilo-plugins") - (version "0.3.11") + (version "0.3.13") (source (origin (method url-fetch) @@ -6092,7 +6119,7 @@ for application developers.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx")))) + (base32 "1y10nnd711qxwgpz6spzp1rnk50fyf11kk1n71a31ab4fgb0ahqw")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -6115,12 +6142,24 @@ for application developers.") ("libmediaart" ,libmediaart) ;("librest" ,rest) ; unused ("libsoup" ,libsoup) + ("python-pygobject" ,python-pygobject) ("totam-pl-parser" ,totem-pl-parser) - ("tracker" ,tracker))) ; unused because it's too old + ("tracker" ,tracker) + ("tracker-miners" ,tracker-miners))) (arguments `(#:glib-or-gtk? #t ;;Disable lua-factory as it needs missing dependencies - #:configure-flags '("-Denable-lua-factory=no"))) + #:configure-flags '("-Denable-lua-factory=no") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-shell + (lambda _ + (setenv "SHELL" (which "bash")))) + ;; Disable the tracker test that requires the UPower daemon. + (add-before 'configure 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/tracker3/meson.build" + (("'test_tracker3'.*") ""))))))) (home-page "https://live.gnome.org/Grilo") (synopsis "Plugins for the Grilo media discovery library") (description @@ -6264,12 +6303,12 @@ which can read a large number of file formats.") (gi-typelib-path (getenv "GI_TYPELIB_PATH")) (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) (grl-plugin-path (getenv "GRL_PLUGIN_PATH")) - (python-path (getenv "PYTHONPATH"))) + (python-path (getenv "GUIX_PYTHONPATH"))) (wrap-program (string-append out "/bin/rhythmbox") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)) - `("PYTHONPATH" ":" prefix (,python-path)))) + `("GUIX_PYTHONPATH" ":" prefix (,python-path)))) #t))))) (propagated-inputs `(("dconf" ,dconf))) @@ -6324,15 +6363,15 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") (define-public eog (package (name "eog") - (version "3.34.1") + (version "40.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x")))) + "0ddjwcd77nw0rxb5x5bz5hd671m8gya9827p8rsnb58x103kpai8")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -6345,15 +6384,13 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t)) + (("gtk-update-icon-cache") "true")))) (add-after 'install 'wrap-eog (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program (string-append out "/bin/eog") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - #t))))) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))))) (propagated-inputs `(("dconf" ,dconf))) (native-inputs @@ -6371,8 +6408,9 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") ("lcms" ,lcms) ("libexif" ,libexif) ("libpeas" ,libpeas) + ("libportal" ,libportal) ("libjpeg" ,libjpeg-turbo) - ("librsvg" ,librsvg-next) + ("librsvg" ,librsvg) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+))) (home-page "https://wiki.gnome.org/Apps/EyeOfGnome") @@ -6388,7 +6426,7 @@ supports image conversion, rotation, and slideshows.") ;; 'XDG_DATA_DIRS' appropriately set. (package (name "eog-plugins") - (version "3.26.4") + (version "3.26.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/eog-plugins/" @@ -6396,7 +6434,7 @@ supports image conversion, rotation, and slideshows.") "eog-plugins-" version ".tar.xz")) (sha256 (base32 - "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx")))) + "0gbvl54hjawcrj2cbkvsw5jx11p6jv1xkc58c8ikwwpb56gc3ric")))) (build-system gnu-build-system) (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins") (synopsis "Extensions for the Eye of GNOME image viewer") @@ -6457,7 +6495,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") (define-public gvfs (package (name "gvfs") - (version "1.40.2") + (version "1.48.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gvfs/" @@ -6465,10 +6503,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") "gvfs-" version ".tar.xz")) (sha256 (base32 - "07lpcfric3h0302n9b1pwa38mjb76r9s98kg2867y2d1qvzfivxx")) - ;; This patch may be removed when upgrading to version 1.46.x. - (patches - (search-patches "gvfs-add-support-for-libplist-2.2.patch")))) + "1hlxl6368h6nyqp1888szxs9hnpcw98k3h23dgqi29xd38klzsmj")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -6490,10 +6525,11 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") ("docbook-xsl" ,docbook-xsl) ("dbus" ,dbus) ("elogind" ,elogind) - ("fuse" ,fuse) + ("fuse" ,fuse-3) ("gcr" ,gcr) ("glib" ,glib) ("gnome-online-accounts" ,gnome-online-accounts) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libarchive" ,libarchive) ("libbluray" ,libbluray) ("libcap" ,libcap) @@ -6512,17 +6548,13 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") ("openssh" ,openssh) ("polkit" ,polkit) ("udisks" ,udisks))) - ;; CVE-2019-{12447,12448,12449} are fixed in the 1.40.2 release. - (properties '((lint-hidden-cve . ("CVE-2019-12447" - "CVE-2019-12448" - "CVE-2019-12449")))) (home-page "https://wiki.gnome.org/gvfs/") (synopsis "Userspace virtual file system for GIO") (description "GVFS is a userspace virtual file system designed to work with the I/O -abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support -to all applications using the GIO API. It also supports exposing the GVFS -mounts to non-GIO applications using FUSE. +abstraction of GIO. It contains a GIO module that seamlessly adds GVFS +support to all applications using the GIO API. It also supports exposing the +GVFS mounts to non-GIO applications using FUSE. GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP, DAV, and others.") @@ -6552,7 +6584,14 @@ DAV, and others.") `(("glib" ,glib) ("libusb" ,libusb))) (arguments - `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is. + `(#:tests? #f ;libusb fails to initialize. Wonder what that is. + #:configure-flags + ,(if (%current-target-system) + ;; Introspection data cannot currently be cross-compiled. + ''("-Dintrospection=false" + ;; Requires introspection data. + "-Dvapi=false") + ''()))) (home-page "https://github.com/hughsie/libgusb") (synopsis "GLib binding for libusb1") (description @@ -6565,15 +6604,15 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "3.38.2") + (version "40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/simple-scan/" - (version-major+minor version) "/" + (version-major version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "02sdkhxgr6i7iy481h4xavgaqd0a5dlsipzwrm4qd242jrr813d8")))) + (base32 "195rh8zj5n497gj42rd77mvkdl15hk0i08ll5h4hb9kcrgj7jlzb")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -6585,6 +6624,7 @@ USB transfers with your high-level application or system daemon.") ("colord" ,colord) ("gdk-pixbuf" ,gdk-pixbuf) ("gusb" ,gusb) + ("libhandy" ,libhandy) ("libsane" ,sane-backends))) (native-inputs `(("gettext" ,gettext-minimal) @@ -6638,7 +6678,7 @@ almost all of them.") ":"))) (wrap-program (string-append out "/bin/eolie") `("LD_LIBRARY_PATH" ":" prefix (,path)) - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))) #t))))) (native-inputs @@ -6675,15 +6715,15 @@ a secret password store, an adblocker, and a modern UI.") (define-public epiphany (package (name "epiphany") - (version "3.34.4") + (version "40.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" - (version-major+minor version) "/" + (version-major version) "/" "epiphany-" version ".tar.xz")) (sha256 (base32 - "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0")))) + "0r7m34xzz3shdfxf2abxb069izak3yv3ijlg29qy4pfmyawkilfs")))) (build-system meson-build-system) (arguments @@ -6694,23 +6734,20 @@ a secret password store, an adblocker, and a modern UI.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "post_install.py" - (("gtk-update-icon-cache") "true")) - #t)) + (("gtk-update-icon-cache") "true")))) (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "tests/meson.build" - ;; embed_shell fails, because webkitgtk apparently no longer supports - ;; overriding the ftp schema - ;; web_app_utils fails due to missing network access + ;; embed_shell fails, because webkitgtk apparently no longer + ;; supports overriding the ftp schema web_app_utils fails due + ;; to missing network access. (("(embed_shell|web_app_utils)_test,") - "find_program('sh'), args: ['-c', 'exit 77'],")) - #t)) + "find_program('sh'), args: ['-c', 'exit 77'],")))) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - #t))) + (setenv "DISPLAY" ":1")))) #:configure-flags ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. (list (string-append "-Dc_link_args=-Wl,-rpath=" @@ -6734,8 +6771,11 @@ a secret password store, an adblocker, and a modern UI.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("json-glib" ,json-glib) ("iso-codes" ,iso-codes) + ("libarchive" ,libarchive) ("libdazzle" ,libdazzle) + ("libhandy" ,libhandy) ("libnotify" ,libnotify) + ("libportal" ,libportal) ("libsecret" ,libsecret) ("libxslt" ,libxslt) ("nettle" ,nettle) ; for hogweed @@ -6784,7 +6824,7 @@ principles are simplicity and standards compliance.") (let ((prog (string-append (assoc-ref outputs "out") "/bin/d-feet"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -6821,10 +6861,17 @@ of running programs and invoke methods on those interfaces.") (sha256 (base32 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + "--enable-doc"))) (native-inputs - `(("gettext-minimal" ,gettext-minimal) + `(("ducktype" ,mallard-ducktype) + ("gettext" ,gettext-minimal) + ("intltool" ,intltool) ("itstool" ,itstool) - ("xmllint" ,libxml2))) + ("xmllint" ,libxml2) + ("xsltproc" ,libxslt))) (synopsis "XSL stylesheets for Yelp") (description "Yelp-XSL is a collection of programs and data files to help you build, maintain, and distribute documentation. It provides XSLT stylesheets @@ -6845,15 +6892,15 @@ jQuery.Syntax JavaScript libraries.") (define-public yelp (package (name "yelp") - (version "3.32.2") + (version "40.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f")))) + "08zflnnw6as96n33xhn7zz78r7akbl0i1fzcg2z8jqgja5w88wx1")))) (build-system glib-or-gtk-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. @@ -7035,7 +7082,7 @@ share them with others via social networking and more.") (define-public file-roller (package (name "file-roller") - (version "3.38.0") + (version "3.40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/file-roller/" @@ -7043,7 +7090,7 @@ share them with others via social networking and more.") "file-roller-" version ".tar.xz")) (sha256 (base32 - "06ikvjjcgb8nxabkn2rywy76a1c7s6w8dszaxvaxldbxarp1qgbj")))) + "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a")))) (build-system meson-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database @@ -7071,15 +7118,15 @@ such as gzip tarballs.") (define-public gnome-session (package (name "gnome-session") - (version "3.34.2") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb")))) + "02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl")))) (arguments '(#:glib-or-gtk? #t #:phases @@ -7095,20 +7142,20 @@ such as gzip tarballs.") "#include <elogind/sd-login.h>")) ;; Remove uses of the systemd daemon. (substitute* "gnome-session/gsm-autostart-app.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")) - #t)) + (("#ifdef HAVE_SYSTEMD") "#if 0")))) (add-after 'install 'wrap-gnome-session (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make sure 'gnome-session' finds the 'gsettings' program. (let ((glib (assoc-ref inputs "glib:bin")) (out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/gnome-session") - `("PATH" ":" prefix (,(string-append glib "/bin")))) - #t)))) + `("PATH" ":" prefix (,(string-append glib "/bin")))))))) #:configure-flags '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error "-Dman=false" ; FIXME: disabled because of docbook validation error + "-Dsystemd=false" + "-Dsystemd_session=disable" "-Dsystemd_journal=false"))) (build-system meson-build-system) (native-inputs @@ -7142,7 +7189,7 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.58.3") + (version "1.68.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7150,30 +7197,26 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya")))) - (build-system gnu-build-system) + "0c7fclm53v41n5vfndymp35fbh1x218lrk65iqrk1wc2lsnh5zvh")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "installed-tests/scripts/testCommandLine.sh" + (("Valentín") "") + (("☭") "")))))) + (build-system meson-build-system) (arguments - '(#:phases + '(#:configure-flags '("-Dinstalled_tests=false") + #:phases (modify-phases %standard-phases - (add-before - 'check 'pre-check - (lambda _ - ;; The test suite requires a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - - ;; For the missing /etc/machine-id. - (setenv "DBUS_FATAL_WARNINGS" "0") + (add-before 'check 'pre-check + (lambda _ + ;; The test suite requires a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") - ;; Our mozjs-38 package does not compile the required Intl API - ;; support for these failing tests. - (substitute* "installed-tests/js/testLocale.js" - ((".*toBeDefined.*") "") - ((".*expect\\(datestr\\).*") "")) - (substitute* "installed-tests/scripts/testCommandLine.sh" - (("Valentín") "") - (("☭") "")) - #t))))) + ;; For the missing /etc/machine-id. + (setenv "DBUS_FATAL_WARNINGS" "0")))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-resources ("pkg-config" ,pkg-config) @@ -7187,7 +7230,7 @@ configuration program to choose applications starting on login.") ;; These are all in the Requires.private field of gjs-1.0.pc. `(("cairo" ,cairo) ("gobject-introspection" ,gobject-introspection) - ("mozjs" ,mozjs-60))) + ("mozjs" ,mozjs-78))) (inputs `(("gtk+" ,gtk+) ("readline" ,readline))) @@ -7201,15 +7244,15 @@ javascript engine and the GObject introspection framework.") (define-public gedit (package (name "gedit") - (version "3.34.1") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb")))) + "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -7243,11 +7286,11 @@ javascript engine and the GObject introspection framework.") (let ((out (assoc-ref outputs "out")) (gtksourceview (assoc-ref inputs "gtksourceview")) (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (python-path (getenv "PYTHONPATH"))) + (python-path (getenv "GUIX_PYTHONPATH"))) (wrap-program (string-append out "/bin/gedit") ;; For plugins. `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - `("PYTHONPATH" ":" prefix (,python-path)) + `("GUIX_PYTHONPATH" ":" prefix (,python-path)) ;; For language-specs. `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview "/share"))))) @@ -7271,7 +7314,8 @@ javascript engine and the GObject introspection framework.") (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs")))) ("pkg-config" ,pkg-config))) (inputs - `(("glib" ,glib) + `(("amtk" ,amtk) + ("glib" ,glib) ("gspell" ,gspell) ("gtk+" ,gtk+) ("gtksourceview" ,gtksourceview) @@ -7280,6 +7324,7 @@ javascript engine and the GObject introspection framework.") ("iso-codes" ,iso-codes) ("python-pygobject" ,python-pygobject) ("python" ,python) + ("tepl" ,tepl) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libx11" ,libx11) ("vala" ,vala) @@ -7322,15 +7367,15 @@ to display dialog boxes from the commandline and shell scripts.") (define-public mutter (package (name "mutter") - (version "3.34.2") + (version "40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd")))) + "0bmd6p9qcwx0hv0y2bp33xjfaw4lyfkl55r0qn2cm04465riddny")))) ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked ;; versions of cogl and clutter. As a result, many of the inputs, ;; propagated-inputs, and configure flags used in cogl and clutter are @@ -7347,7 +7392,7 @@ to display dialog boxes from the commandline and shell scripts.") ;; Otherwise, the RUNPATH will lack the final path component. (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib:" - (assoc-ref %outputs "out") "/lib/mutter-5") + (assoc-ref %outputs "out") "/lib/mutter-8") ;; The following flags are needed for the bundled clutter (string-append "-Dxwayland_path=" @@ -7358,20 +7403,13 @@ to display dialog boxes from the commandline and shell scripts.") (string-append "-Dopengl_libname=" (assoc-ref %build-inputs "mesa") "/lib/libGL.so")) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-build-with-mesa-20 - (lambda _ - ;; Mimic upstream commit a444a4c5f58ea516ad for - ;; compatibility with Mesa 20. Remove for 3.36. - (substitute* '("src/backends/meta-egl-ext.h" - "src/backends/meta-egl.c" - "src/backends/meta-egl.h") - (("#include <EGL/eglext\\.h>" all) - (string-append all "\n#include <EGL/eglmesaext.h>"))) - (substitute* "cogl/cogl/meson.build" - (("#include <EGL/eglext\\.h>" all) - (string-append all "\\n#include <EGL/eglmesaext.h>"))) - #t))))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-udev-dir + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "PKG_CONFIG_UDEV_UDEVDIR" + (string-append (assoc-ref outputs "out") + "/lib/udev"))))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. @@ -7400,6 +7438,7 @@ to display dialog boxes from the commandline and shell scripts.") ("libxext" ,libxext) ("libxfixes" ,libxfixes) ("libxkbcommon" ,libxkbcommon) + ("libxml2" ,libxml2) ("libxrandr" ,libxrandr) ("mesa" ,mesa) ("pango" ,pango) @@ -7409,6 +7448,7 @@ to display dialog boxes from the commandline and shell scripts.") `(("elogind" ,elogind) ("gnome-desktop" ,gnome-desktop) ("gnome-settings-daemon" ,gnome-settings-daemon) + ("graphene" ,graphene) ("libcanberra-gtk" ,libcanberra) ("libgudev" ,libgudev) ("libice" ,libice) @@ -7417,7 +7457,7 @@ to display dialog boxes from the commandline and shell scripts.") ("libxkbfile" ,libxkbfile) ("libxrandr" ,libxrandr) ("libxtst" ,libxtst) - ("pipewire" ,pipewire) + ("pipewire" ,pipewire-0.3) ("startup-notification" ,startup-notification) ("upower-glib" ,upower) ("xkeyboard-config" ,xkeyboard-config) @@ -7435,7 +7475,7 @@ window manager.") (define-public gnome-online-accounts (package (name "gnome-online-accounts") - (version "3.36.0") + (version "3.40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7443,7 +7483,7 @@ window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw")))) + "1yn3n9pn2afrfv36cy2vxhm5r8lbn4gb0kyvpxvknm3gkyblyp2q")))) (outputs '("out" "lib")) (build-system glib-or-gtk-build-system) (arguments @@ -7462,8 +7502,7 @@ window manager.") (("@datadir@") (string-append lib "/share"))) ;; Make sure gobject-introspection knows about the output ;; too (see <https://bugs.gnu.org/36535>). - (setenv "outputs" "out lib") - #t)))))) + (setenv "outputs" "out lib"))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) @@ -7484,27 +7523,29 @@ window manager.") (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts") (description "GNOME Online Accounts provides interfaces so that applications and -libraries in GNOME can access the user's online accounts. It has providers for -Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft -Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") +libraries in GNOME can access the user's online accounts. It has providers +for Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, +Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (license license:lgpl2.0+))) (define-public evolution-data-server (package (name "evolution-data-server") (version "3.34.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (patches (search-patches "evolution-data-server-locales.patch" - "evolution-data-server-libical-compat.patch" - "evolution-data-server-CVE-2020-14928.patch" - "evolution-data-server-CVE-2020-16117.patch")) - (sha256 - (base32 - "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (patches + (search-patches "evolution-data-server-locales.patch" + "evolution-data-server-libical-compat.patch" + "evolution-data-server-CVE-2020-14928.patch" + "evolution-data-server-CVE-2020-16117.patch" + "evolution-data-server-printableoptions.patch")) + (sha256 + (base32 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -7610,12 +7651,12 @@ Evolution (hence the name), but is now used by other packages as well.") (add-after 'install 'wrap-programs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (python-path (getenv "PYTHONPATH")) + (python-path (getenv "GUIX_PYTHONPATH")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (for-each (lambda (prog) (wrap-program prog - `("PYTHONPATH" ":" prefix (,python-path)) + `("GUIX_PYTHONPATH" ":" prefix (,python-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) (list (string-append out "/bin/caribou-preferences") (string-append out "/libexec/antler-keyboard")))) @@ -7671,8 +7712,7 @@ users.") (arguments `(#:configure-flags (let ((out (assoc-ref %outputs "out")) - (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp") - "/sbin/dhclient"))) + (dhclient (search-input-file %build-inputs "/sbin/dhclient"))) (list ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path ;; component. @@ -7780,6 +7820,7 @@ users.") ("libgudev" ,libgudev) ("libndp" ,libndp) ("libnl" ,libnl) + ("libselinux" ,libselinux) ("libsoup" ,libsoup) ("mobile-broadband-provider-info" ,mobile-broadband-provider-info) ("modem-manager" ,modem-manager) @@ -7825,10 +7866,8 @@ services.") (modify-phases %standard-phases (add-after 'configure 'patch-path (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((ovpn (string-append (assoc-ref inputs "openvpn") - "/sbin/openvpn")) - (modprobe (string-append (assoc-ref inputs "kmod") - "/bin/modprobe")) + (let* ((ovpn (search-input-file inputs "/sbin/openvpn")) + (modprobe (search-input-file inputs "/bin/modprobe")) (pretty-ovpn (string-append "\"" ovpn "\""))) (for-each (lambda (file) @@ -7881,10 +7920,8 @@ to virtual private networks (VPNs) via OpenVPN.") (modify-phases %standard-phases (add-after 'configure 'patch-path (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((vpnc (string-append (assoc-ref inputs "vpnc") - "/sbin/vpnc")) - (modprobe (string-append (assoc-ref inputs "kmod") - "/bin/modprobe")) + (let* ((vpnc (search-input-file inputs "/sbin/vpnc")) + (modprobe (search-input-file inputs "/bin/modprobe")) (pretty-ovpn (string-append "\"" vpnc "\""))) (substitute* "src/nm-vpnc-service.c" (("\"/usr/local/sbin/vpnc\"") pretty-ovpn) @@ -7930,10 +7967,9 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") (modify-phases %standard-phases (add-after 'configure 'patch-path (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let* ((openconnect (string-append (assoc-ref inputs "openconnect") - "/sbin/openconnect")) - (modprobe (string-append (assoc-ref inputs "kmod") - "/bin/modprobe")) + (let* ((openconnect (search-input-file inputs + "/sbin/openconnect")) + (modprobe (search-input-file inputs "/bin/modprobe")) (pretty-ovpn (string-append "\"" openconnect "\""))) (substitute* "src/nm-openconnect-service.c" (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn) @@ -8068,7 +8104,7 @@ the available networks and allows users to easily switch between them.") (string-append xsldoc "/html/chunk.xsl"))))))))) (propagated-inputs ;; libxml++-3.0.pc refers to all these. - `(("glibmm" ,glibmm) + `(("glibmm" ,glibmm-2.64) ("libxml2" ,libxml2))) (native-inputs `(("autoconf" ,autoconf) @@ -8109,128 +8145,150 @@ library.") (define-public gdm (package (name "gdm") - (version "3.34.1") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8")) - (patches (search-patches "gdm-default-session.patch")))) - (build-system glib-or-gtk-build-system) + "1zbks7bwbys1pn7sk0aq0dbn09adx51amb441z4z4j28cvma3f5b")) + (patches + (search-patches + "gdm-default-session.patch" + "gdm-elogind-support.patch" + "gdm-remove-hardcoded-xwayland-path.patch" + "gdm-wayland-session-wrapper-from-env.patch")))) + (build-system meson-build-system) (arguments - '(#:configure-flags - `("--without-plymouth" - "--disable-systemd-journal" - - ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1, - ;; instead of having to replace it (i.e., stopping the mingetty - ;; service for TTY 1 before starting GDM). - "--with-initial-vt=7" - - ;; Use '/etc/environment' for locale settings instead of the - ;; systemd-specific '/etc/locale.conf'. - "--with-lang-file=/etc/environment" - - ,(string-append "--with-udevdir=" - (assoc-ref %outputs "out") "/lib/udev") - - "--localstatedir=/var" - ,(string-append "--with-default-path=" - (string-join '("/run/setuid-programs" - "/run/current-system/profile/bin" - "/run/current-system/profile/sbin") - ":")) - ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the - ;; XDG_DATA_DIRS so that it finds its schemas. - "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin")) + `(#:glib-or-gtk? #t + #:configure-flags + ,#~(list + "-Dplymouth=disabled" + "-Dsystemd-journal=false" + + ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1, + ;; instead of having to replace it (i.e., stopping the mingetty + ;; service for TTY 1 before starting GDM). + "-Dinitial-vt=7" + + ;; Use elogind instead of systemd. + "-Dlogind-provider=elogind" + "-Dsystemdsystemunitdir=no" + "-Dsystemduserunitdir=no" + + ;; Use '/etc/environment' for locale settings instead of the + ;; systemd-specific '/etc/locale.conf'. + "-Dlang-file=/etc/environment" + + (string-append "-Dudev-dir=" #$output "/lib/udev") + + "--localstatedir=/var" + (string-append "-Ddefault-path=" + (string-join '("/run/setuid-programs" + "/run/current-system/profile/bin" + "/run/current-system/profile/sbin") + ":")) + ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the + ;; XDG_DATA_DIRS so that it finds its schemas. + "--sbindir" (string-append #$output "/bin")) #:phases (modify-phases %standard-phases (add-before - 'configure 'pre-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; We don't have <systemd/sd-daemon.h>. - (substitute* '("common/gdm-log.c" - "daemon/gdm-server.c" - "daemon/gdm-session-worker.c" - "daemon/gdm-session-worker-job.c") - (("#include <systemd/sd-daemon\\.h>") "")) - ;; Use elogind for sd-login. - (substitute* '("common/gdm-common.c" - "daemon/gdm-local-display-factory.c" - "daemon/gdm-manager.c" - "libgdm/gdm-user-switching.c") - (("#include <systemd/sd-login\\.h>") - "#include <elogind/sd-login.h>")) - ;; Check for elogind. - (substitute* '("configure") - (("libsystemd") - "libelogind")) - ;; Look for system-installed sessions in - ;; /run/current-system/profile/share. - (substitute* '("libgdm/gdm-sessions.c" - "daemon/gdm-session.c" - "daemon/gdm-display.c" - "daemon/gdm-launch-environment.c") - (("DATADIR \"/x") - "\"/run/current-system/profile/share/x") - (("DATADIR \"/wayland") - "\"/run/current-system/profile/share/wayland") - (("DATADIR \"/gnome") - "\"/run/current-system/profile/share/gnome")) - (let ((propagate '("GDM_CUSTOM_CONF" - "GDM_DBUS_DAEMON" - "GDM_X_SERVER" - "GDM_X_SESSION" - ;; XXX: Remove this once GNOME Shell is - ;; a dependency of GDM. - "XDG_DATA_DIRS"))) - (substitute* "daemon/gdm-session.c" - (("set_up_session_environment \\(self\\);") - (apply string-append - "set_up_session_environment (self);\n" - (map (lambda (name) - (string-append - "gdm_session_set_environment_variable " - "(self, \"" name "\"," - "g_getenv (\"" name "\"));\n")) - propagate))))) - ;; Find the configuration file using an environment variable. - (substitute* '("common/gdm-settings.c") - (("GDM_CUSTOM_CONF") - (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL" - " ? g_getenv(\"GDM_CUSTOM_CONF\")" - " : GDM_CUSTOM_CONF)"))) - ;; Use service-supplied path to X. - (substitute* '("daemon/gdm-server.c") - (("\\(X_SERVER X_SERVER_ARG_FORMAT") - "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")")) - (substitute* '("daemon/gdm-wayland-session.c" - "daemon/gdm-x-session.c") - (("\"dbus-daemon\"") - "g_getenv (\"GDM_DBUS_DAEMON\")") - (("X_SERVER") - "g_getenv (\"GDM_X_SERVER\")") - (("GDMCONFDIR \"/Xsession\"") - "g_getenv (\"GDM_X_SESSION\")")) - ;; Use an absolute path for GNOME Session. - (substitute* "daemon/gdm-launch-environment.c" - (("\"gnome-session\"") - (string-append "\"" (assoc-ref inputs "gnome-session") - "/bin/gnome-session\""))) - ;; Do not automatically select the placeholder session. - (substitute* "daemon/gdm-session.c" - (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]") - (string-append "!g_str_has_suffix (base_name, \".desktop\") || " - "(g_strcmp0(search_dirs[i], \"" - (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/" - "\") == 0 && " - "g_strcmp0(base_name, \"fail.desktop\") == 0)")) - (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];") - "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }")) - #t)) + 'configure 'pre-configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; We don't have <systemd/sd-daemon.h>. + (substitute* '("common/gdm-log.c" + "daemon/gdm-server.c" + "daemon/gdm-session-worker.c" + "daemon/gdm-session-worker-job.c") + (("#include <systemd/sd-daemon\\.h>") "")) + ;; Use elogind for sd-login. + (substitute* '("common/gdm-common.c" + "daemon/gdm-local-display-factory.c" + "daemon/gdm-manager.c" + "libgdm/gdm-user-switching.c") + (("#include <systemd/sd-login\\.h>") + "#include <elogind/sd-login.h>")) + ;; Look for system-installed sessions in + ;; /run/current-system/profile/share. + (substitute* '("libgdm/gdm-sessions.c" + "daemon/gdm-session.c" + "daemon/gdm-display.c" + "daemon/gdm-launch-environment.c") + (("DATADIR \"/x") + "\"/run/current-system/profile/share/x") + (("DATADIR \"/wayland") + "\"/run/current-system/profile/share/wayland") + (("DATADIR \"/gnome") + "\"/run/current-system/profile/share/gnome")) + (let ((propagate '("GDM_CUSTOM_CONF" + "GDM_DBUS_DAEMON" + "GDM_X_SERVER" + "GDM_X_SESSION" + ;; XXX: Remove this once GNOME Shell is + ;; a dependency of GDM. + "XDG_DATA_DIRS"))) + (substitute* "daemon/gdm-session.c" + (("set_up_session_environment \\(self\\);") + (apply string-append + "set_up_session_environment (self);\n" + (map (lambda (name) + (string-append + "gdm_session_set_environment_variable " + "(self, \"" name "\"," + "g_getenv (\"" name "\"));\n")) + propagate))))) + ;; Find the configuration file using an environment variable. + (substitute* '("common/gdm-settings.c") + (("GDM_CUSTOM_CONF") + (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL" + " ? g_getenv(\"GDM_CUSTOM_CONF\")" + " : GDM_CUSTOM_CONF)"))) + ;; Use service-supplied path to X. + (substitute* '("daemon/gdm-server.c") + (("\\(X_SERVER X_SERVER_ARG_FORMAT") + "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")")) + (substitute* '("daemon/gdm-wayland-session.c" + "daemon/gdm-x-session.c") + (("\"dbus-daemon\"") + "g_getenv (\"GDM_DBUS_DAEMON\")") + (("X_SERVER") + "g_getenv (\"GDM_X_SERVER\")") + (("GDMCONFDIR \"/Xsession\"") + "g_getenv (\"GDM_X_SESSION\")")) + ;; Use an absolute path for GNOME Session. + (substitute* "daemon/gdm-launch-environment.c" + (("\"gnome-session\"") + (string-append "\"" (assoc-ref inputs "gnome-session") + "/bin/gnome-session\""))) + ;; Do not automatically select the placeholder session. + (substitute* "daemon/gdm-session.c" + (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]") + (string-append "!g_str_has_suffix (base_name, \".desktop\") || " + "(g_strcmp0(search_dirs[i], \"" + (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/" + "\") == 0 && " + "g_strcmp0(base_name, \"fail.desktop\") == 0)")) + (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];") + "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }")))) + (add-before 'install 'install-logo + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guix-icons (assoc-ref inputs "guix-icons")) + (icon + (string-append guix-icons "/share/icons/hicolor/\ +scalable/apps/guix-white-icon.svg")) + (schema + (string-append out "/share/glib-2.0/schemas/\ +org.gnome.login-screen.gschema.override"))) + (mkdir-p (dirname schema)) + (with-output-to-file schema + (lambda () + (format #t "\ +[org.gnome.login-screen] +logo='~a'~%" icon)))))) ;; GDM requires that there be at least one desktop entry ;; file. This phase installs a hidden one that simply ;; fails. This enables users to use GDM with a @@ -8252,8 +8310,7 @@ library.") "Name=Fail\n" "Comment=This session fails immediately.\n" "NoDisplay=true\n" - "Exec=false\n")))) - #t))) + "Exec=false\n"))))))) ;; GDM needs GNOME Session to run these applications. We link ;; their autostart files in `share/gdm/greeter/autostart' ;; because GDM explicitly tells GNOME Session to look there. @@ -8270,12 +8327,13 @@ library.") (with-directory-excursion autostart (for-each (lambda (desktop) (symlink desktop (basename desktop))) - (find-files (string-append settings "/etc/xdg")))) - #t)))))) + (find-files + (string-append settings "/etc/xdg")))))))))) (native-inputs `(("dconf" ,dconf) ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) + ("guix-icons" ,guix-icons) ("intltool" ,intltool) ("itstool" ,itstool) ("pkg-config" ,pkg-config) @@ -8284,6 +8342,7 @@ library.") `(("accountsservice" ,accountsservice) ("check" ,check-0.14) ;for testing ("elogind" ,elogind) + ("eudev" ,eudev) ("gnome-session" ,gnome-session) ("gnome-settings-daemon" ,gnome-settings-daemon) ("gtk+" ,gtk+) @@ -8353,7 +8412,8 @@ usage and information about running processes.") (inputs `(("eudev" ,eudev) ("libcanberra" ,libcanberra) - ("libnotify" ,libnotify))) + ("libnotify" ,libnotify) + ("python-dbus" ,python-dbus))) (synopsis "GNOME Bluetooth subsystem") (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth") (description @@ -8364,15 +8424,15 @@ devices using the GNOME desktop.") (define-public gnome-control-center (package (name "gnome-control-center") - (version "3.34.2") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8")))) + "0rr4d5m2a72vrb31jgyx49dp0s2pwgyxsrk4hyw5ym66wq63c3v1")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -8400,8 +8460,8 @@ devices using the GNOME desktop.") (("\"gkbd-keyboard-display") (string-append "\"" libgnomekbd "/bin/gkbd-keyboard-display"))) - (substitute* '("panels/network/net-device-wifi.c" - "panels/network/net-device.c" + (substitute* '("panels/network/net-device-bluetooth.c" + "panels/network/net-device-mobile.c" "panels/network/connection-editor/net-connection-editor.c") (("\"nm-connection-editor") (string-append "\"" nm-applet @@ -8409,17 +8469,15 @@ devices using the GNOME desktop.") (substitute* '("panels/user-accounts/run-passwd.c") (("/usr/bin/passwd") "/run/setuid-programs/passwd")) - (substitute* "panels/info/cc-info-overview-panel.c" + (substitute* "panels/info-overview/cc-info-overview-panel.c" (("DATADIR \"/gnome/gnome-version.xml\"") (string-append "\"" gnome-desktop - "/share/gnome/gnome-version.xml\""))) - #t))) + "/share/gnome/gnome-version.xml\"")))))) (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson/meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))) - #t))))) + (("gtk-update-icon-cache") (which "true")))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("intltool" ,intltool) @@ -8478,35 +8536,23 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "3.34.5") + (version "40.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0l3mdn7g2c22mdhrqkxvvc1pk2w0v32f2v4a6n1phvaalwcg75nj")) - (patches (search-patches "gnome-shell-CVE-2020-17489.patch" - "gnome-shell-theme.patch" - "gnome-shell-disable-test.patch")) - (modules '((guix build utils))) - (snippet - #~(begin - ;; Copy images for use on the GDM log-in screen. - (copy-file #$(file-append %artwork-repository - "/slim/0.x/background.png") - "data/theme/guix-background.png") - (copy-file #$(file-append %artwork-repository - "/logo/Guix-horizontal-white.svg") - "data/theme/guix-logo.svg") - #t)))) + "0kph3g4ix23sm3ip2b13rs7hx8sa7fvlvcyy4zdk2iaj56rmadvd")) + (patches (search-patches "gnome-shell-disable-test.patch")) + (modules '((guix build utils))))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t - #:disallowed-references ((,glib "bin") - ,inkscape ,libxslt - ,ruby-sass) + #:disallowed-references ,(list (gexp-input glib "bin") + (gexp-input libxslt) + (gexp-input ruby-sass)) #:configure-flags (list "-Dsystemd=false" ;; Otherwise, the RUNPATH will lack the final path component. @@ -8527,13 +8573,12 @@ properties, screen resolution, and other GNOME parameters.") out "/share/gnome-control-center/keybindings"))) (substitute* "meson.build" (("keysdir =.*") - (string-append "keysdir = '" keysdir "'\n"))) - #t))) - (add-before 'configure 'convert-logo-to-png - (lambda* (#:key inputs #:allow-other-keys) - ;; Convert the logo from SVG to PNG. - (invoke "inkscape" "--export-png=data/theme/guix-logo.png" - "data/theme/guix-logo.svg"))) + (string-append "keysdir = '" keysdir "'\n")))))) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson/postinstall.py" + (("gtk-update-icon-cache") "true")))) (add-before 'configure 'record-absolute-file-names (lambda* (#:key inputs #:allow-other-keys) (substitute* "js/misc/ibusManager.js" @@ -8543,19 +8588,17 @@ properties, screen resolution, and other GNOME parameters.") (substitute* "js/ui/status/keyboard.js" (("'gkbd-keyboard-display'") (string-append "'" (assoc-ref inputs "libgnomekbd") - "/bin/gkbd-keyboard-display'"))) - #t)) + "/bin/gkbd-keyboard-display'"))))) (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; Tests require a running X server. (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - #t)) + (setenv "DISPLAY" ":1"))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (python-path (getenv "PYTHONPATH"))) + (python-path (getenv "GUIX_PYTHONPATH"))) (wrap-program (string-append out "/bin/gnome-shell") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) ;; FIXME: gnome-shell loads these libraries with unqualified @@ -8569,25 +8612,24 @@ properties, screen resolution, and other GNOME parameters.") (for-each (lambda (prog) (wrap-program (string-append out "/bin/" prog) - `("PYTHONPATH" ":" prefix (,python-path)) + `("GUIX_PYTHONPATH" ":" prefix (,python-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - '("gnome-shell-extension-tool" "gnome-shell-perf-tool")) - #t))) + '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))))) (replace 'glib-or-gtk-wrap (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap))) (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest) - ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS + ;; By default intltool et al. would end up in the XDG_DATA_DIRS ;; settings of the wrappers created by the 'glib-or-gtk-wrap' ;; phase. Fix that since we don't need these. (wrap #:inputs (fold alist-delete inputs - '("inkscape" "intltool" "glib:bin")) + '("intltool" "glib:bin")) #:outputs outputs))))))) (native-inputs `(("asciidoc" ,asciidoc) ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("gobject-introspection" ,gobject-introspection) - ("inkscape" ,inkscape) + ("hicolor-icon-theme" ,hicolor-icon-theme) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python) @@ -8605,10 +8647,12 @@ properties, screen resolution, and other GNOME parameters.") ("gdm" ,gdm) ("gdk-pixbuf" ,gdk-pixbuf+svg) ("gjs" ,gjs) + ("gtk" ,gtk) ("gnome-autoar" ,gnome-autoar) ("gnome-bluetooth" ,gnome-bluetooth) ("gnome-desktop" ,gnome-desktop) ("gnome-settings-daemon" ,gnome-settings-daemon) + ("graphene" ,graphene) ("gst-plugins-base" ,gst-plugins-base) ("ibus" ,ibus) ("libcanberra" ,libcanberra) @@ -8630,9 +8674,6 @@ properties, screen resolution, and other GNOME parameters.") ;; Missing propagation? See also: <https://bugs.gnu.org/27264> ("librsvg" ,librsvg) ("geoclue" ,geoclue))) - ;; CVE-2019-3820 was fixed before GNOME 3.34 was released, in upstream - ;; commit f0a7395b3006360905ccdc642982f9fc67378927. - (properties '((lint-hidden-cve . ("CVE-2019-3820")))) (synopsis "Desktop shell for GNOME") (home-page "https://wiki.gnome.org/Projects/GnomeShell") (description @@ -8716,7 +8757,7 @@ easy, safe, and automatic.") (define-public tracker (package (name "tracker") - (version "2.3.5") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker/" @@ -8724,7 +8765,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223")))) + "13zcc07wd51sz7kglk3xbjrsq7d835cxfr7iwjr7nn2xcri8jdns")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8732,19 +8773,41 @@ easy, safe, and automatic.") ;; Otherwise, the RUNPATH will lack the final path component. (list (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib:" - (assoc-ref %outputs "out") "/lib/tracker-2.0")) + (assoc-ref %outputs "out") "/lib/tracker-3.0") + "-Ddocs=false" + "-Dsystemd_user_services=false") #:phases (modify-phases %standard-phases - (add-before 'check 'pre-check + (add-before 'configure 'set-shell (lambda _ - ;; Some tests expect to write to $HOME. - (setenv "HOME" "/tmp") - #t))))) + (setenv "SHELL" (which "bash")))) + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl") + (file (search-input-file inputs manpage))) + (substitute* "docs/manpages/meson.build" + (("/etc/asciidoc[^']+") + file))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Some tests expect to write to $HOME. + (setenv "HOME" "/tmp") + (invoke "dbus-run-session" "--" "meson" "test" + "--print-errorlogs"))))))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml-4.5" ,docbook-xml) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("asciidoc" ,asciidoc) + ("xsltproc" ,libxslt) + ("cmake-minimal" ,cmake-minimal) ("python-pygobject" ,python-pygobject) + ("gtk-doc" ,gtk-doc/stable) ("intltool" ,intltool) + ("dbus" ,dbus) ("pkg-config" ,pkg-config) ("vala" ,vala))) (inputs @@ -8786,7 +8849,7 @@ endpoint and it understands SPARQL. ") (define-public tracker-miners (package (name "tracker-miners") - (version "2.3.4") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -8794,7 +8857,7 @@ endpoint and it understands SPARQL. ") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b")))) + "0fpd69lgm8cckbamcf9c2q57glxf0s3jcfwkq8p3s4lfsvdclmd0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8803,16 +8866,54 @@ endpoint and it understands SPARQL. ") ;; Ensure the RUNPATH contains all installed library locations. (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") - "/lib/tracker-miners-2.0") + "/lib/tracker-miners-3.0") ;; TODO: Enable functional tests. Currently, the following error ;; appears: ;; Exception: The functional tests require DConf to be the default ;; GSettings backend. Got GKeyfileSettingsBackend instead. - "-Dfunctional_tests=false"))) + "-Dfunctional_tests=false" + "-Dsystemd_user_services=false") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-shell + (lambda _ + (setenv "SHELL" (which "bash")))) + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl") + (file (search-input-file inputs manpage))) + (substitute* "docs/manpages/meson.build" + (("/etc/asciidoc[^']+") + file))))) + (add-before 'configure 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + ;; Disable those tests that require the functional_tests option + ;; to be true and the UPower daemon to be started. + (substitute* "examples/python/meson.build" + (("foreach example_name:.*") + "foreach example_name: []")) + ;; Disable this test that is failing randomly: + ;; https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/170. + (substitute* "tests/libtracker-miner/meson.build" + (("'miner-fs'.*") + "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Some tests expect to write to $HOME. + (setenv "HOME" "/tmp") + (setenv "LANG" "en_US.UTF-8") + (invoke "dbus-run-session" "--" "meson" "test" + "--print-errorlogs"))))))) (native-inputs `(("dbus" ,dbus) ("intltool" ,intltool) ("glib:bin" ,glib "bin") + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml-4.5" ,docbook-xml) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("asciidoc" ,asciidoc) + ("xsltproc" ,libxslt) ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("python-pygobject" ,python-pygobject))) @@ -8824,6 +8925,7 @@ endpoint and it understands SPARQL. ") ("glib" ,glib) ("gstreamer" ,gstreamer) ("icu4c" ,icu4c) + ("json-glib" ,json-glib) ("libcue" ,libcue) ("libexif" ,libexif) ("libgsf" ,libgsf) @@ -8833,10 +8935,12 @@ endpoint and it understands SPARQL. ") ("libosinfo" ,libosinfo) ("libpng" ,libpng) ("libseccomp" ,libseccomp) + ("libsoup" ,libsoup) ("libtiff" ,libtiff) ("libvorbis" ,libvorbis) ("libxml2" ,libxml2) ("poppler" ,poppler) + ("shared-mime-info" ,shared-mime-info) ("taglib" ,taglib) ("totem-pl-parser" ,totem-pl-parser) ("tracker" ,tracker) @@ -8857,15 +8961,15 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "3.34.2") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv")))) + "03gn416vvpvyy75pj3xkpxrqilbvjhqbvrdi5fdaivp50zzg47mp")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -8875,8 +8979,7 @@ shared object databases, search tools and indexing.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson/postinstall.py" - (("gtk-update-icon-cache") "true")) - #t))) + (("gtk-update-icon-cache") "true"))))) ;; XXX: FAIL: check-nautilus ;; Settings schema 'org.gnome.nautilus.preferences' is not installed #:tests? #f)) @@ -8894,8 +8997,12 @@ shared object databases, search tools and indexing.") ("gnome-desktop" ,gnome-desktop) ("gnome-autoar" ,gnome-autoar) ("gst-plugins-base" ,gst-plugins-base) + ("json-glib" ,json-glib) + ("libhandy" ,libhandy) + ("libportal" ,libportal) ("libseccomp" ,libseccomp) ("libselinux" ,libselinux) + ("libsoup" ,libsoup) ("tracker" ,tracker) ("tracker-miners" ,tracker-miners) ;; XXX: gtk+ is required by libnautilus-extension.pc @@ -8917,16 +9024,16 @@ files.") (define-public baobab (package (name "baobab") - (version "3.38.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0ac3fbl15l836yvgw724q4whbkws9v4b6l2xy6bnp0b0g0a6i104")))) + "19yii3bdgivxrcka1c4g6dpbmql5nyawwhzlsph7z6bs68nambm6")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) @@ -8940,7 +9047,8 @@ files.") ("glib" ,glib "bin") ("vala" ,vala))) (inputs - `(("gtk+" ,gtk+))) + `(("gtk+" ,gtk+) + ("libhandy" ,libhandy))) (synopsis "Disk usage analyzer for GNOME") (description "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk @@ -8953,19 +9061,19 @@ is complete it provides a graphical representation of each selected folder.") (define-public gnome-backgrounds (package (name "gnome-backgrounds") - (version "3.34.0") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2")))) + "03m7ldfk00cly9igrq0qizq1y0f45vijmm23f1dl5kh1lc6qmpv0")))) (build-system meson-build-system) (native-inputs - `(("intltool" ,intltool))) + `(("gettext" ,gettext-minimal))) (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") (synopsis "Background images for the GNOME desktop") (description @@ -8981,16 +9089,16 @@ can add your own files to the collection.") (define-public gnome-screenshot (package (name "gnome-screenshot") - (version "3.34.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8")))) + "1qm544ymwibk31s30k47vnn79xg30m18r7l4di0c57g375dak31n")))) (build-system meson-build-system) (arguments '(#:phases @@ -9010,6 +9118,7 @@ can add your own files to the collection.") (inputs `(("gtk+" ,gtk+) ("libcanberra" ,libcanberra) + ("libhandy" ,libhandy) ("libx11" ,libx11) ("libxext" ,libxext))) (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") @@ -9023,7 +9132,7 @@ beautifying border effects.") (define-public dconf-editor (package (name "dconf-editor") - (version "3.34.2") + (version "3.38.3") (source (origin (method url-fetch) @@ -9032,7 +9141,7 @@ beautifying border effects.") name "-" version ".tar.xz")) (sha256 (base32 - "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f")))) + "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. @@ -9117,15 +9226,15 @@ associations for GNOME.") (define-public gnome-weather (package (name "gnome-weather") - (version "3.34.0") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4")))) + "0k9wnyinvx6433r07kvjyahgqc605g7gbpf3d0h6vi4p8x61849x")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -9134,34 +9243,38 @@ associations for GNOME.") ("gtk+:bin" ,gtk+ "bin") ("pkg-config" ,pkg-config))) (inputs - `( ;("adwaita-icon-theme" ,adwaita-icon-theme) - ("appstream-glib" ,appstream-glib) + `(("appstream-glib" ,appstream-glib) ("geoclue" ,geoclue) - ("gdk-pixbuf" ,gdk-pixbuf) ("gjs" ,gjs) ("gnome-desktop" ,gnome-desktop) - ("libgweather" ,libgweather))) + ("libgweather" ,libgweather) + ("libhandy" ,libhandy))) (arguments `(#:glib-or-gtk? #t #:phases - (modify-phases %standard-phases - (add-after 'install 'fix-desktop-file - ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason. - ;; See https://issues.guix.gnu.org/issue/39324. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (applications (string-append out "/share/applications"))) - (substitute* (string-append applications "/org.gnome.Weather.desktop") - (("Exec=.*") "Exec=gnome-weather\n")) - #t))) - (add-after 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) - ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime. - (wrap-program (string-append out "/bin/gnome-weather") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) - #t)))))) + ,#~(modify-phases %standard-phases + (add-after 'unpack 'fix-service-file + (lambda _ + (substitute* "data/org.gnome.Weather.service.in" + (("Exec=[[:graph:]]+") + (string-append "Exec=" #$output + "/bin/gnome-weather"))))) + (add-after 'install 'fix-desktop-file + ;; FIXME: "gapplication launch org.gnome.Weather" fails for some + ;; reason. See https://issues.guix.gnu.org/issue/39324. + (lambda _ + (let ((applications + (string-append #$output "/share/applications"))) + (substitute* (string-append applications + "/org.gnome.Weather.desktop") + (("Exec=.*") "Exec=gnome-weather\n"))))) + (add-after 'install 'wrap + (lambda _ + (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + ;; GNOME Weather needs the typelib files of GTK+, Pango etc + ;; at runtime. + (wrap-program (string-append #$output "/bin/gnome-weather") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))))) (synopsis "Weather monitoring for GNOME desktop") (description "GNOME Weather is a small application that allows you to monitor the current weather conditions for your city, or anywhere in the @@ -9177,15 +9290,12 @@ world.") (build-system trivial-build-system) (arguments '(#:builder (begin (mkdir %output) #t))) (propagated-inputs - ;; TODO: Add or remove packages according to: - ;; <https://calc.disroot.org/2nu6mpf88ynq.html>. - `( - ;; GNOME-Core-OS-Services + `(;; GNOME-Core-OS-Services ("accountsservice" ,accountsservice) ("network-manager" ,network-manager) ("packagekit" ,packagekit) ("upower" ,upower) - ;; GNOME-Core-Shell + ;; GNOME-Core-Shell ("adwaita-icon-theme" ,adwaita-icon-theme) ("gdm" ,gdm) ("glib-networking" ,glib-networking) @@ -9194,7 +9304,6 @@ world.") ("gnome-color-manager" ,gnome-color-manager) ("gnome-control-center" ,gnome-control-center) ("gnome-desktop" ,gnome-desktop) - ("gnome-getting-started-docs" ,gnome-getting-started-docs) ("gnome-initial-setup" ,gnome-initial-setup) ("gnome-keyring" ,gnome-keyring) ("gnome-menus" ,gnome-menus) @@ -9211,7 +9320,7 @@ world.") ("orca" ,orca) ("rygel" ,rygel) ("sushi" ,sushi) - ;; GNOME-Core-Utilities + ;; GNOME-Core-Utilities ("baobab" ,baobab) ("cheese" ,cheese) ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently @@ -9232,8 +9341,8 @@ world.") ("gnome-disk-utility" ,gnome-disk-utility) ("gnome-font-viewer" ,gnome-font-viewer) ("gnome-maps" ,gnome-maps) - ; TODO: ("gnome-music" ,gnome-music) - ; TODO: ("gnome-photos" ,gnome-photos) + ("gnome-music" ,gnome-music) + ("gnome-photos" ,gnome-photos) ("gnome-screenshot" ,gnome-screenshot) ("gnome-system-monitor" ,gnome-system-monitor) ("gnome-terminal" ,gnome-terminal) @@ -9241,8 +9350,9 @@ world.") ("nautilus" ,nautilus) ("simple-scan" ,simple-scan) ("totem" ,totem) + ("tracker-miners" ,tracker-miners) ("yelp" ,yelp) - ;; Others + ;; Others ("hicolor-icon-theme" ,hicolor-icon-theme) ("gnome-online-accounts" ,gnome-online-accounts) @@ -9353,7 +9463,7 @@ specified duration and save it as a GIF encoded animated image file.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -9452,15 +9562,15 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") (define-public gnome-clocks (package (name "gnome-clocks") - (version "3.34.0") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1")))) + "02d3jg46sn8d9gd4dsaly22gg5vkbz2gpq4pmwpvncb4rsqk7sn2")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -9470,8 +9580,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/post-install.py" - (("gtk-update-icon-cache") "true")) - #t))))) + (("gtk-update-icon-cache") "true"))))))) (native-inputs `(("vala" ,vala) ("pkg-config" ,pkg-config) @@ -9486,6 +9595,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") ("geoclue" ,geoclue) ("geocode-glib" ,geocode-glib) ("libgweather" ,libgweather) + ("libhandy" ,libhandy) ("gnome-desktop" ,gnome-desktop))) (home-page "https://wiki.gnome.org/Apps/Clocks") (synopsis "GNOME's clock application") @@ -9497,15 +9607,15 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") (define-public gnome-calendar (package (name "gnome-calendar") - (version "3.34.2") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw")))) + "0czasxnmbw2zm21lmxam8qixacagciq3f815s809hn0f9byh2dwy")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -9530,6 +9640,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") ("libdazzle" ,libdazzle) ("libedataserverui" ,evolution-data-server) ("libgweather" ,libgweather) + ("libhandy" ,libhandy) ("geoclue" ,geoclue))) (propagated-inputs `(("evolution-data-server" ,evolution-data-server))) @@ -9543,46 +9654,43 @@ desktop. It supports multiple calendars, month, week and year view.") (define-public gnome-todo (package (name "gnome-todo") - (version "3.28.1") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7")) - (patches - (search-patches "gnome-todo-delete-esource-duplicate.patch")))) + "1r1fb3zgjvkhx93by24j8cg1w1g3zvwr49vqkscjn261vqs44jq3")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t - #:phases (modify-phases %standard-phases - (add-after - 'install 'wrap-gnome-todo - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (python-path (getenv "PYTHONPATH"))) - (wrap-program (string-append out "/bin/gnome-todo") - ;; XXX: gi plugins are broken. - ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212 - ;; For plugins. - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - `("PYTHONPATH" ":" prefix (,python-path)))) - #t))))) + `(#:glib-or-gtk? #t + ;; XXX: Some tests fail with the following error: + ;; Settings schema 'org.gnome.todo' is not installed. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/meson_post_install.py" + (("gtk-update-icon-cache") "true"))))))) (native-inputs `(("gettext" ,gettext-minimal) ("gobject-introspection" ,gobject-introspection) ("glib:bin" ,glib "bin") ; For glib-compile-resources - ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache + ("gtk-bin" ,gtk "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs `(("rest" ,rest) ; For Todoist plugin + ("gtk" ,gtk) ("json-glib" ,json-glib) ; For Todoist plugin + ("libadwaita" ,libadwaita) ("libedataserverui" ,evolution-data-server) ("libical" ,libical) ("libpeas" ,libpeas) + ("libportal" ,libportal) ("python-pygobject" ,python-pygobject) ("evolution-data-server" ,evolution-data-server) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") @@ -9597,26 +9705,25 @@ fit the GNOME desktop.") (define-public gnome-dictionary (package (name "gnome-dictionary") - (version "3.26.1") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n")))) + "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f")))) (build-system meson-build-system) - (arguments '(#:glib-or-gtk? #t - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-install-script - (lambda _ - ;; This script attempts to compile glib schemas - ;; and create an empty MIME database. We do - ;; that elsewhere, so prevent it from running. - (substitute* "build-aux/post-install.sh" - (("\\[ -z \"\\$DESTDIR\" \\]") "false")) - #t))))) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson/post-install.py" + (("gtk-update-icon-cache") "true"))))))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) @@ -9637,17 +9744,17 @@ existing databases over the internet.") (define-public gnome-tweaks (package (name "gnome-tweaks") - (version "3.34.1") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-tweaks/" - (version-major+minor version) "/" + (version-major version) "/" "gnome-tweaks-" version ".tar.xz")) (patches (list (search-patch "gnome-tweaks-search-paths.patch"))) (sha256 (base32 - "19y62dj4n5i6v4zpjllxl51dch6ndy8xs45v5aqmmq9xyfrqk5yq")))) + "0sn3xsjhnini0f2dyi1ymrr3fb8mi7w5j5lsyw11rc5h67h3ypzr")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -9661,8 +9768,7 @@ existing databases over the internet.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "meson-postinstall.py" - (("gtk-update-icon-cache") "true")) - #t)) + (("gtk-update-icon-cache") "true")))) (add-after 'install 'wrap (@@ (guix build python-build-system) wrap)) (add-after 'wrap 'wrap-gi-typelib @@ -9670,10 +9776,10 @@ existing databases over the internet.") (let ((out (assoc-ref outputs "out")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program (string-append out "/bin/gnome-tweaks") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) - #t))))) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))))) (native-inputs - `(("intltool" ,intltool) + `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. + ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs `(("gnome-desktop" ,gnome-desktop) @@ -9698,15 +9804,15 @@ GNOME Shell appearance and extension, etc.") (define-public gnome-shell-extensions (package (name "gnome-shell-extensions") - (version "3.34.2") + (version "40.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1")))) + "0yfd1bcwf72dmr1hfh7g8s5cb7snyiyg86575hqx1frbq914q7gm")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dextension_set=all"))) @@ -9725,7 +9831,7 @@ functionality and behavior.") (define-public folks (package (name "folks") - (version "0.13.1") + (version "0.14.0") (source (origin (method url-fetch) (uri (string-append @@ -9734,7 +9840,7 @@ functionality and behavior.") "folks-" version ".tar.xz")) (sha256 (base32 - "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x")))) + "1f9b52vmwnq7s51vj26w2618dn2ph5g12ibbkbyk6fvxcgd7iryn")))) (build-system meson-build-system) (arguments '(#:phases @@ -9756,6 +9862,7 @@ functionality and behavior.") (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("python-dbusmock" ,python-dbusmock) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("vala" ,vala))) @@ -9879,18 +9986,25 @@ handling the startup notification side.") (define-public gnome-calculator (package (name "gnome-calculator") - (version "3.34.1") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd")))) + "1xkazxbkpn1z5pfphhps7fc5q4yc8lp7f6b222n8bx5iyxhwbrkz")))) (build-system meson-build-system) - (arguments '(#:glib-or-gtk? #t)) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a writable HOME. + (setenv "HOME" (getcwd))))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. @@ -9902,6 +10016,7 @@ handling the startup notification side.") `(("glib" ,glib) ("gtksourceview" ,gtksourceview) ("libgee" ,libgee) + ("libhandy" ,libhandy) ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("mpc" ,mpc) @@ -10083,16 +10198,16 @@ Bluefish supports many programming and markup languages.") (define-public gnome-system-monitor (package (name "gnome-system-monitor") - (version "3.32.1") + (version "40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8")))) + "06hxd4igxas2kyind5jwfq5qbfkknykpdfy2sy3anylhcx1hzczx")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -10108,7 +10223,8 @@ Bluefish supports many programming and markup languages.") (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files. ("gtk+" ,gtk+) - ("gtkmm" ,gtkmm) + ("gtkmm" ,gtkmm-3) + ("libhandy" ,libhandy) ("librsvg" ,librsvg) ("libxml2" ,libxml2) ("libwnck" ,libwnck))) @@ -10173,16 +10289,16 @@ accessibility infrastructure.") (define-public orca (package (name "orca") - (version "3.34.1") + (version "40.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4")))) + "0hq0zdcn80ficpcffbk667907v6m7dih3dhyc7ss01mrj3iyw000")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases @@ -10203,8 +10319,8 @@ accessibility infrastructure.") (,(getenv "GI_TYPELIB_PATH"))) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) - `("PYTHONPATH" ":" prefix - (,(getenv "PYTHONPATH"))))) + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))))) #t))))) (native-inputs `(("intltool" ,intltool) @@ -10262,9 +10378,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") ;; Allow Enchant and its Aspell backend to find the en_US ;; dictionary. (setenv "ASPELL_DICT_DIR" - (string-append (assoc-ref inputs "aspell-dict-en") - "/lib/aspell")) - #t))))) + (search-input-directory inputs "/lib/aspell"))))))) (inputs `(("iso-codes" ,iso-codes))) (native-inputs @@ -10444,7 +10558,8 @@ photo-booth-like software, such as Cheese.") version ".tar.xz")) (sha256 (base32 - "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")))) + "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")) + (patches (search-patches "cheese-vala-update.patch")))) (arguments `(#:glib-or-gtk? #t ;; Tests require GDK. @@ -10538,7 +10653,7 @@ apply fancy special effects and lets you share the fun with others.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -10681,7 +10796,7 @@ configurable file renaming. ") (inputs `(("glib" ,glib) ("gtk+" ,gtk+) ("gdk-pixbuf" ,gdk-pixbuf) - ("gtkmm" ,gtkmm) + ("gtkmm" ,gtkmm-3) ("glibmm" ,glibmm) ("libx11" ,libx11) ("libxtst" ,libxtst) @@ -10801,7 +10916,8 @@ generic enough to work for everyone.") (sha256 (base32 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c")) - (patches (search-patches "evolution-CVE-2020-11879.patch")))) + (patches (search-patches "evolution-CVE-2020-11879.patch" + "evolution-printableoptions.patch")))) (build-system cmake-build-system) (arguments `(#:imported-modules (,@%cmake-build-system-modules @@ -10990,7 +11106,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (define-public libhandy (package (name "libhandy") - (version "1.2.2") + (version "1.2.3") (source (origin (method git-fetch) @@ -10999,14 +11115,26 @@ tabs, and it supports drag and drop re-ordering of terminals.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0345x7gif6yjm95y62lww71lj84wfwsr2p32r3iww8shavb8scyk")))) + (base32 "1ng2607cp4dfl169rj7zi8q5p6fzxy3a4l0glm7mj75yd1a603rz")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dglade_catalog=enabled" - "-Dgtk_doc=true") + ;; XXX: Generating the documentation fails because the + ;; libhandy.devhelp2 document cannot be created. This seems to be + ;; caused by a problem during the XSL transformation. + "-Dgtk_doc=false") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (file) + (substitute* file + (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd") + (search-input-file inputs + "/xml/dtd/docbook/docbookx.dtd")))) + (find-files "doc" "\\.xml")))) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. @@ -11015,12 +11143,15 @@ tabs, and it supports drag and drop re-ordering of terminals.") #t))))) (inputs `(("gtk+" ,gtk+) - ("glade" ,glade3) - ("libxml2" ,libxml2))) + ("glade" ,glade3))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner ("vala" ,vala) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-4.3) ("gtk-doc" ,gtk-doc/stable) ("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) @@ -11168,6 +11299,13 @@ repository and commit your work.") (arguments `(#:phases (modify-phases %standard-phases + ;; The 'config.sub' is too old to recognise aarch64. + ,@(if (and=> (%current-target-system) target-aarch64?) + `((add-after 'unpack 'replace-config.sub + (lambda _ + (delete-file "config.sub") + (symlink (which "config.sub") "config.sub")))) + '()) (add-after 'unpack 'remove-deprecated-macro (lambda _ (substitute* '("server/gam_node.c" @@ -11175,12 +11313,38 @@ repository and commit your work.") "server/gam_node.h" "server/gam_subscription.c") (("G_CONST_RETURN") "const")) - #t))))) + #t)) + ;; The configure script runs a test program unconditionally, + ;; without an option to manually set the test result. + ;; Override this test anyway. + ,@(if (%current-target-system) + `((add-after 'bootstrap 'set-have-abstract-sockets + (lambda _ + (define in-abstract-sockets-test? #f) + (substitute* "configure" + (("^#### Abstract sockets\n$") + (set! in-abstract-sockets-test? #t) + "#### Abstract sockets\n") + (("^have_abstract_sockets=no\n$") + (set! in-abstract-sockets-test? #f) + ;; ‘Abstract sockets’ appear to be Linux-only. + (string-append "have_abstract_sockets=" + ,(if (target-linux?) + "yes" + "no") + "\nif false; then\nif false; then :\n")) + (("^(.*\n)$" line) + (if in-abstract-sockets-test? + "" ; delete + line)))))) + '())))) (inputs `(("glib" ,glib))) (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ,@(if (and=> (%current-target-system) target-aarch64?) + `(("config" ,config)) + '()))) (home-page "https://people.gnome.org/~veillard/gamin/") (synopsis "File alteration monitor") (description @@ -11267,15 +11431,15 @@ index files needed for Adwaita to be used outside of GNOME.") (define-public gnote (package (name "gnote") - (version "3.38.1") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" "gnote-" version ".tar.xz")) (sha256 - (base32 "1adjfjhmsm2d33999khjyzvli6kiz1jlzavn77jhd49kfzhxa9y4")))) + (base32 "01fqdfgcl32cf40jw9q0h7f5bghl1lvf89vln1lh41ncrk0iw6vy")))) (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) @@ -11290,7 +11454,7 @@ index files needed for Adwaita to be used outside of GNOME.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gspell" ,gspell) ("gtk+" ,gtk+) - ("gtkmm" ,gtkmm) + ("gtkmm" ,gtkmm-3) ("libsecret" ,libsecret) ("libuuid" ,util-linux "lib") ("libxml2" ,libxml2) @@ -11360,15 +11524,15 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "3.36.6") + (version "40.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-boxes/" - (version-major+minor version) "/" + (version-major version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg")))) + (base32 "0n20yzxsc7mv73a905djvsas76vknfn67ad1n0rnvgm48n7qxw7z")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -11390,6 +11554,8 @@ integrate seamlessly with the GNOME desktop.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk" ,gtk+) ("gtk-vnc" ,gtk-vnc) + ("gtksourceview" ,gtksourceview) + ("json-glib" ,json-glib) ("libosinfo" ,libosinfo) ("libsecret" ,libsecret) ("libsoup" ,libsoup) @@ -11530,6 +11696,8 @@ to.") `(("gtk+" ,gtk+) ("librsvg" ,librsvg) ("libxml2" ,libxml2))) + (arguments + `(#:configure-flags '("CFLAGS=-fcommon"))) (home-page "https://glabels.org/") (synopsis "Program for creating labels and business cards") (description @@ -11538,11 +11706,10 @@ designed to work with various laser/ink-jet peel-off label and business card sheets that you’ll find at most office supply stores.") (license license:gpl3+))) -;; Version 3.38.0 is out but requires tepl>=5 which requires glib>=2.64. (define-public gnome-latex (package (name "gnome-latex") - (version "3.36.0") + (version "3.38.0") (source (origin (method url-fetch) @@ -11550,7 +11717,7 @@ card sheets that you’ll find at most office supply stores.") (version-major+minor version) "/" "gnome-latex-" version ".tar.xz")) (sha256 - (base32 "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn")))) + (base32 "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -11570,7 +11737,7 @@ card sheets that you’ll find at most office supply stores.") ("gtk+" ,gtk+) ("gtksourceview" ,gtksourceview) ("libgee" ,libgee) - ("tepl" ,tepl) + ("tepl" ,tepl-5) ("uchardet" ,uchardet))) (home-page "https://wiki.gnome.org/Apps/GNOME-LaTeX") (synopsis "LaTeX editor for the GNOME desktop") @@ -11609,7 +11776,7 @@ and toolbars.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -11671,11 +11838,11 @@ GTK+. It integrates well with the GNOME desktop environment.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) - `("PATH" prefix (,(string-append (assoc-ref inputs "pandoc") - "/bin")))) - #t)))))) + `("PATH" prefix (,(dirname + (search-input-file inputs + "/bin/pandoc"))))))))))) (inputs `(("glib" ,glib) ("gobject-introspection" ,gobject-introspection) @@ -11734,7 +11901,7 @@ It uses pandoc as back-end for parsing Markdown.") (pygo (string-append (assoc-ref inputs "python-pygobject") site)) (python-wrap - `("PYTHONPATH" = (,evdev ,pygo)))) + `("GUIX_PYTHONPATH" = (,evdev ,pygo)))) (wrap-program (string-append out "/bin/" "ratbagctl") python-wrap) #t)))))) @@ -12116,7 +12283,7 @@ integrated profiler via Sysprof, debugging support, and more.") (let ((prog (string-append (assoc-ref outputs "out") "/bin/komikku"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (inputs @@ -12308,7 +12475,7 @@ world.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs @@ -12344,6 +12511,49 @@ world.") Document Analysis and Recognition program.") (license license:gpl3+))) +(define-public libadwaita + (let ((commit "8d66b987a19979d9d7b85dacc6bad5ce0c8743fe") + (revision "1")) + (package + (name "libadwaita") + (version (git-version "0.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/libadwaita.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i3wav6jsyi4w4i2r1rad769m5y5s9djj4zqb7dfyh0bad24ba3q")))) + (build-system meson-build-system) + (arguments + `(#: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")))))) + (native-inputs + `(("sassc" ,sassc) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc/stable) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xvfb" ,xorg-server-for-tests))) + (inputs + `(("gtk" ,gtk) + ("gobject-introspection" ,gobject-introspection) + ("libportal" ,libportal))) + (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/") + (synopsis "Building blocks for GNOME applications") + (description + "@code(libadwaita) offers widgets and objects to build GNOME +applications scaling from desktop workstations to mobile phones. It is the +successor of @code{libhandy} for GTK4.") + (license license:lgpl2.1+)))) + (define-public gnome-power-manager (package (name "gnome-power-manager") |