diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 174 |
1 files changed, 115 insertions, 59 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 10c7f604df..0c9cf40c65 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -44,7 +44,7 @@ ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2019, 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> +;;; Copyright © 2019-2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 raingloom <raingloom@riseup.net> @@ -1763,7 +1763,11 @@ client devices can handle.") "0h095a26w3sgbspsf7wzz8ddg62j3jb9ckrrv41k7cdp0k2dkhsg")))) (build-system meson-build-system) (arguments - `(#:configure-flags (list "-Dlibnma_gtk4=true") + ;; GTK 4.x depends on Rust (indirectly) so pull it only on platforms + ;; where it is supported. + `(#:configure-flags ,(if (supported-package? gtk) + `(list "-Dlibnma_gtk4=true") + `(list "-Dlibnma_gtk4=false")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-docbook-xml @@ -1782,7 +1786,7 @@ client devices can handle.") vala)) (inputs (list gcr - gtk + (if (supported-package? gtk) gtk gtk+) iso-codes mobile-broadband-provider-info network-manager)) @@ -3276,6 +3280,25 @@ the GNOME desktop environment.") (base32 "0hj7f4xhwjc4x32r3lswwclbw37fw3spy806g4plkmym25hz4ydy")))) (build-system meson-build-system) + (arguments + (list + #:imported-modules + `(,@%meson-build-system-modules + (guix build python-build-system)) + #:modules + `((guix build meson-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'wrap 'wrap-python + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'wrap-python 'wrap-gi + (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/blueprint-compiler") + `("GI_TYPELIB_PATH" ":" suffix (,gi-typelib-path))))))))) (native-inputs (list gtk python-pygobject python)) (inputs (list python)) (synopsis "Template markup language") @@ -4719,33 +4742,39 @@ and RDP protocols.") (base32 "0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg")))) (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + ;; Configure sysconfdir to /etc so that gconf profiles can be written + ;; there and loaded without having to set GCONF_PROFILE, which cannot be + ;; safely set globally (as a gconf profile is a per-user thing). + #:configure-flags #~(list "--sysconfdir=/etc" + "-Dgtk_doc=true") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'increase-test-timeout + (lambda _ + ;; On big-memory systems, the engine test may take + ;; much longer than the default of 30 seconds. + (substitute* "tests/meson.build" + (("test\\(unit_test\\[0\\], exe" all) + (string-append all ", timeout: 300")))))))) + (native-inputs + (list bash-completion + libxslt ;for xsltproc + libxml2 ;for XML_CATALOG_FILES + docbook-xml-4.2 + docbook-xsl + `(,glib "bin") + gtk-doc/stable + pkg-config + python + vala)) + (inputs + (list gtk+ + dbus)) (propagated-inputs ;; In Requires of dconf.pc. (list glib)) - (inputs - (list gtk+ dbus)) - (native-inputs - `(("bash-completion" ,bash-completion) - ("libxslt" ,libxslt) ;for xsltproc - ("libxml2" ,libxml2) ;for XML_CATALOG_FILES - ("docbook-xml" ,docbook-xml-4.2) - ("docbook-xsl" ,docbook-xsl) - ("glib:bin" ,glib "bin") - ("gtk-doc" ,gtk-doc/stable) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("vala" ,vala))) - (arguments - `(#:glib-or-gtk? #t - #:configure-flags '("-Dgtk_doc=true") - #:phases (modify-phases %standard-phases - (add-after 'unpack 'increase-test-timeout - (lambda _ - ;; On big-memory systems, the engine test may take - ;; much longer than the default of 30 seconds. - (substitute* "tests/meson.build" - (("test\\(unit_test\\[0\\], exe" all) - (string-append all ", timeout: 300")))))))) (home-page "https://developer.gnome.org/dconf/") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose @@ -4976,7 +5005,10 @@ libxml to ease remote use of the RESTful API.") (arguments (substitute-keyword-arguments (package-arguments rest) ((#:tests? _ #f) #t) ((#:configure-flags _) - #~(list)) + ;; Do not build the optional 'librest-demo' program as it + ;; depends on gtksourceview and libadwaita and thus, + ;; indirectly, on Rust. + #~(list "-Dexamples=false")) ((#:phases phases '%standard-phases) #~(modify-phases #$phases (add-after 'unpack 'disable-problematic-tests @@ -4993,7 +5025,7 @@ libxml to ease remote use of the RESTful API.") (append gettext-minimal gi-docgen gsettings-desktop-schemas))) - (inputs (list gtksourceview json-glib libadwaita)) + (inputs (list json-glib)) (propagated-inputs (modify-inputs (package-propagated-inputs rest) (replace "libsoup" libsoup) @@ -5806,7 +5838,19 @@ faster results and to avoid unnecessary server load.") ;; If not specified, udev will try putting history information ;; in /gnu/store. "-Dhistorydir=/var/lib/upower" - (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d")))) + (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d")) + #:phases (if (target-x86-32?) + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-test-for-excess-precision + (lambda _ + ;; Address test failure caused by excess precision + ;; on i686: + ;; <https://gitlab.freedesktop.org/upower/upower/-/issues/214>. + (substitute* "src/linux/integration-test.py" + (("assertEqual(.*)40\\.0" _ middle) + (string-append + "assertAlmostEqual" middle "40.0")))))) + #~%standard-phases))) (native-inputs (list `(,glib "bin") ; for gdbus-codegen gobject-introspection @@ -6904,7 +6948,7 @@ supports image conversion, rotation, and slideshows.") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/eog-plugins/" - (version-major+minor version) "/" + (version-major version) "/" "eog-plugins-" version ".tar.xz")) (sha256 (base32 @@ -8855,7 +8899,10 @@ library.") "gdm_session_set_environment_variable " "(self, \"" name "\"," "g_getenv (\"" name "\"));\n")) - propagate))))) + propagate))) + ;; This is used by remote sessions, such as when using VNC. + (("\\(GDMCONFDIR \"/Xsession \\\\\"%s\\\\\"\", command)") + "(\"%s \\\"%s\\\"\", g_getenv (\"GDM_X_SESSION\"), command)"))) ;; Find the configuration file using an environment variable. (substitute* '("common/gdm-settings.c") (("GDM_CUSTOM_CONF") @@ -10399,9 +10446,12 @@ desktop. It supports multiple calendars, month, week and year view.") libpeas libportal python-pygobject - evolution-data-server gnome-online-accounts gsettings-desktop-schemas)) + (propagated-inputs + ;; This is so that the Guix System D-Bus service can find the Evolution + ;; Data Server schemas. + (list evolution-data-server)) (home-page "https://wiki.gnome.org/Apps/Todo") (synopsis "GNOME's ToDo Application") (description "GNOME To Do is a simplistic personal task manager designed @@ -13010,7 +13060,7 @@ profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "0.41.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -13020,32 +13070,38 @@ profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "17r059srxrx26w40swy47pdpyigyjdczp8550g4rfh86qs3ld4il")))) + "0ik3dwyq3r44d0h7r7x8j2sah9fhzilyvds1d6bbgbccqxzw4lnh")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sources - (lambda _ - (substitute* "komikku/utils.py" - (("from komikku\\.servers import get_servers_list") - ;; code following that line should migrate old databases - ;; but the line itself results in an import error - "return data_dir_path")))) - (add-after 'unpack 'skip-gtk-update-icon-cache - (lambda _ - (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))))) - (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap - (lambda* (#:key outputs #:allow-other-keys) - (wrap-program (search-input-file outputs "bin/komikku") - `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))) + (list + #:glib-or-gtk? #t + #:meson meson-0.63 + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + (substitute* "komikku/utils.py" + (("from komikku\\.servers import get_servers_list") + ;; code following that line should migrate old databases + ;; but the line itself results in an import error + "return data_dir_path")))) + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("([a-z_]*): true" all option) + (cond ; cond rather than match saves an import + ((string=? option "gtk_update_icon_cache") + (string-append option ": false")) + (else all)))))) + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/komikku") + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))) (inputs (list bash-minimal - gtk+ - libhandy + gtk + libadwaita libnotify libsecret python @@ -13063,7 +13119,7 @@ profiler via Sysprof, debugging support, and more.") python-pygobject python-requests python-unidecode - webkitgtk-with-libsoup2)) + webkitgtk-next)) (native-inputs (list desktop-file-utils gettext-minimal @@ -13241,7 +13297,7 @@ Document Analysis and Recognition program.") (define-public libadwaita (package (name "libadwaita") - (version "1.2.rc") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libadwaita/" @@ -13249,7 +13305,7 @@ Document Analysis and Recognition program.") "libadwaita-" version ".tar.xz")) (sha256 (base32 - "1syg7fkpcsw0q6fy3g79myb9m9bvrnh3rjrm6g4bfg1pnlqf1w22")))) + "0326qs0zhfi6zv52p90axnicmv0qb2l2hwpyv60pk9lvwcdkwbrj")))) (build-system meson-build-system) (arguments `(#:phases |