diff options
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r-- | gnu/packages/gnome.scm | 1540 |
1 files changed, 612 insertions, 928 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2cb087c987..3cc53f5923 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -73,6 +73,7 @@ ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com> ;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se> +;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -259,14 +260,6 @@ #:configure-flags #~(list "-Dgtk_doc=true") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* "gupnp-igd-docs.xml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append #$(this-package-native-input - "docbook-xml") - "/xml/dtd/docbook/")))))) (add-before 'check 'set-home (lambda _ ;; A test using GIO expects ~/.config/glib-2.0/settings to be @@ -285,6 +278,7 @@ gobject-introspection gsettings-desktop-schemas gtk-doc/stable + libxml2 ;for XML_CATALOG_FILES pkg-config)) (propagated-inputs ;; These libraries are required by the .pc file. @@ -373,9 +367,7 @@ features to enable users to create their discs easily and quickly.") "-Denable-gtk-doc=false" "-Dvapigen=false"))) (native-inputs - `(("glib:bin" ,glib "bin") - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list `(,glib "bin") pkg-config vala)) (inputs (list glib glib-networking)) (synopsis "Cloudproviders Integration API") @@ -429,27 +421,13 @@ services.") (build-system glib-or-gtk-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags - (list - "--enable-gtk-doc" - (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc/reference" - (substitute* "libgrss-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t))))) - (native-inputs - (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable - pkg-config)) - (propagated-inputs - (list glib libsoup-minimal-2 libxml2)) + (list #:configure-flags + #~(list "--enable-gtk-doc" (string-append "--with-html-dir=" + #$output + "/share/gtk-doc/html")))) + (native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable + pkg-config)) + (propagated-inputs (list glib libsoup-minimal-2 libxml2)) (synopsis "Glib library for feeds") (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom, and other formats.") @@ -502,65 +480,52 @@ bindings.") (build-system glib-or-gtk-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags - (list - "--disable-static" - "--enable-xorg-module" - (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html") - "--with-webkit=4.0") - #:phases - (modify-phases %standard-phases - ;; The seed-webkit.patch patches configure.ac. - ;; So the source files need to be re-bootstrapped. - (add-after 'unpack 'trigger-bootstrap - (lambda _ - (for-each delete-file - (list - "configure" - "Makefile.in")) - #t)) - (add-after 'unpack 'patch-tests - (lambda* (#:key outputs #:allow-other-keys) - (substitute* (find-files "." "\\.js$") - (("#!/usr/bin/env seed") - (string-append "#!" (getcwd) "/src/seed"))) - #t)) - (add-before 'build 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* '("reference/seed-docs.sgml" "modules/book.xml") - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t))))) + (list #:configure-flags + #~(list "--disable-static" + "--enable-xorg-module" + (string-append "--with-html-dir=" #$output:doc + "/share/gtk-doc/html") + "--with-webkit=4.0") + #:phases + #~(modify-phases %standard-phases + ;; The seed-webkit.patch patches configure.ac. + ;; So the source files need to be re-bootstrapped. + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (for-each delete-file + (list "configure" + "Makefile.in")))) + (add-after 'unpack 'patch-tests + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (find-files "." "\\.js$") + (("#!/usr/bin/env seed") + (string-append "#!" (getcwd) "/src/seed")))))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("docbook-xml" ,docbook-xml-4.1.2) - ("gettext" ,gettext-minimal) - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc/stable) - ("intltool" ,intltool) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config))) + (list autoconf + automake + docbook-xml-4.1.2 + gettext-minimal + gobject-introspection + gtk-doc/stable + intltool + libtool + pkg-config)) (inputs - `(("cairo" ,cairo) - ("dbus" ,dbus) - ("dbus-glib" ,dbus-glib) - ("gnome-js-common" ,gnome-js-common) - ("gtk+" ,gtk+) - ("gtk+-2" ,gtk+-2) - ("libffi" ,libffi) - ("libxml2" ,libxml2) - ("mpfr" ,mpfr) - ("readline" ,readline) - ("sqlite" ,sqlite) - ("xscrnsaver" ,libxscrnsaver))) + (list cairo + dbus + dbus-glib + gnome-js-common + gtk+ + gtk+-2 + libffi + libxml2 + mpfr + readline + sqlite + libxscrnsaver)) (propagated-inputs - `(("glib" ,glib) - ("webkit" ,webkitgtk-with-libsoup2))) + (list glib + webkitgtk-with-libsoup2)) (synopsis "GObject JavaScriptCore bridge") (description "Seed is a library and interpreter, dynamically bridging (through GObjectIntrospection) the WebKit JavaScriptCore engine, with the @@ -585,23 +550,11 @@ in JavaScript.") (build-system glib-or-gtk-build-system) (outputs '("out" "doc")) (arguments - `(#:tests? #f ; Tests require networking. - #:configure-flags - (list - "--disable-static" - (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* "libdmapsharing-4.0-docs.xml" - (("http://www.oasis-open.org/docbook/xml/4.3/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t))))) + (list #:tests? #f ; Tests require networking. + #:configure-flags + #~(list "--disable-static" + (string-append "--with-html-dir=" #$output:doc + "/share/gtk-doc/html")))) (native-inputs (list check docbook-xml-4.3 @@ -610,11 +563,11 @@ in JavaScript.") pkg-config vala)) (inputs - `(("avahi" ,avahi) - ("librsvg" ,librsvg) - ("gee" ,libgee) - ("gst-plugins-base" ,gst-plugins-base) - ("gtk+" ,gtk+))) + (list avahi + librsvg + libgee + gst-plugins-base + gtk+)) (propagated-inputs (list glib glib-networking gstreamer libsoup-minimal-2)) (synopsis "Media management library") @@ -674,56 +627,46 @@ of writing test cases for asynchronous interactions.") (build-system glib-or-gtk-build-system) (outputs '("out" "doc")) (arguments - `(#:configure-flags - (list - "--disable-maintainer-flags" - (string-append "--with-pygi-overrides-dir=" - (assoc-ref %outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages/gi/overrides") - (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc/reference/dee-1.0" - (substitute* "dee-1.0-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.3/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))))) - (add-after 'patch-docbook-xml 'disable-failing-tests - (lambda _ - (substitute* "tests/test-icu.c" - (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,") - "") - (("setup, test_ascii_folder, teardown\\);") - "")))) - (add-before 'check 'pre-check - (lambda _ - ;; Tests require a running dbus-daemon. - (system "dbus-daemon &") - ;; For missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0")))))) + (list #:configure-flags + #~(list "--disable-maintainer-flags" + (string-append "--with-pygi-overrides-dir=" + #$output "/lib/python" + #$(version-major+minor + (package-version python)) + "/site-packages/gi/overrides") + (string-append "--with-html-dir=" + #$output "/share/gtk-doc/html")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "tests/test-icu.c" + (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\",\ + Fixture, 0,") + "") + (("setup, test_ascii_folder, teardown\\);") + "")))) + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running dbus-daemon. + (system "dbus-daemon &") + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0")))))) (native-inputs - `(("dbus" ,dbus) - ("dbus-test-runner" ,dbus-test-runner) - ("docbook-xml" ,docbook-xml-4.3) - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc/stable) - ;; Would only be required by configure flag "--enable-extended-tests". - ;("gtx" ,gtx) - ("pkg-config" ,pkg-config) - ("pygobject" ,python-pygobject) - ("python" ,python-wrapper) - ("vala" ,vala-0.52))) - (inputs - `(("icu" ,icu4c))) - (propagated-inputs - (list glib)) + (list dbus + dbus-test-runner + docbook-xml-4.3 + gobject-introspection + gtk-doc/stable + ;; Would only be required by configure flag "--enable-extended-tests". + ;;gtx + libxml2 ;for XML_CATALOG_FILES + pkg-config + python-pygobject + python-wrapper + vala-0.52)) + (inputs (list icu4c)) + (propagated-inputs (list glib)) (synopsis "Model to synchronize multiple instances over DBus") (description "Dee is a library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus. It also consists @@ -754,31 +697,23 @@ of known objects without needing a central registrar.") (base32 "07b1ahj3vd3m8srwkrh7dl3ymr7d55xiiszny44q13g06pq4svch")))) (build-system glib-or-gtk-build-system) (arguments - `(#:configure-flags - (list - "--enable-explain-queries" - "--enable-fts" - "--enable-docs") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc/libzeitgeist" - (substitute* "zeitgeist-gtkdoc-index.sgml" - (("http://www.oasis-open.org/docbook/xml/4.3/") - (search-input-directory inputs "/xml/dtd/docbook/")))))) - (add-after 'patch-docbook-xml 'disable-failing-tests - (lambda _ - (substitute* "test/direct/Makefile.am" - ((" log-test ") - "")) - (substitute* "test/c/Makefile.am" - ((" test-log ") - "")))) - (add-before 'bootstrap 'remove-autogen-script - (lambda _ - ;; To honor `autoreconf -vif` by build-system. - (delete-file "autogen.sh")))))) + (list #:configure-flags #~(list "--enable-explain-queries" + "--enable-fts" + "--enable-docs") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/direct/Makefile.am" + ((" log-test ") + "")) + (substitute* "test/c/Makefile.am" + ((" test-log ") + "")))) + (add-before 'bootstrap 'remove-autogen-script + (lambda _ + ;; To honor `autoreconf -vif` by build-system. + (delete-file "autogen.sh")))))) (native-inputs (list autoconf automake @@ -787,6 +722,7 @@ of known objects without needing a central registrar.") gobject-introspection gtk-doc/stable libtool + libxml2 ;for XML_CATALOG_FILES pkg-config vala xorg-server-for-tests)) @@ -799,8 +735,7 @@ of known objects without needing a central registrar.") python-wrapper python-rdflib xapian)) - (propagated-inputs - (list glib)) + (propagated-inputs (list glib)) (synopsis "Desktop Activity Logging") (description "Zeitgeist is a service which logs the users’s activities and events, anywhere from files opened to websites visited and conversations. It @@ -1205,7 +1140,10 @@ as a \"boring window manager for the adult in you.\"") "mm-common-" version ".tar.xz")) (sha256 (base32 - "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")))) + "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")) + (patches + (search-patches + "mm-common-reproducible-tarball.patch")))) (build-system meson-build-system) (arguments `(#:phases @@ -1647,44 +1585,35 @@ 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.34.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x")))) - (build-system meson-build-system) - (arguments - `(#:glib-or-gtk? #t - #:meson ,meson-0.60 - #:configure-flags - `("-Dsystemduserunitdir=/tmp/empty" - ;; Enable nautilus extension for file sharing. - "-Dnautilus_extension=true"))) - (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("pkg-config" ,pkg-config) - ("yelp-tools" ,yelp-tools))) - (inputs - (list glib - gnome-bluetooth - gtk+ - libcanberra - libnotify - nautilus)) ; For nautilus extension. - (synopsis "File sharing for GNOME desktop") - (description "GNOME User Share is a small package that binds together + (name "gnome-user-share") + (version "43.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1kiq2n39yz7szcf7wrs5vhd2hdn04zx1pxgp7qskycaq0nm0dwqd")))) + (build-system meson-build-system) + (arguments + (list #:glib-or-gtk? #t + #:configure-flags + #~(list "-Dsystemduserunitdir=/tmp/empty"))) + (native-inputs + (list gettext-minimal + `(,glib "bin") + gobject-introspection + `(,gtk "bin") + pkg-config + yelp-tools)) + (inputs (list glib gtk)) + (synopsis "File sharing for GNOME desktop") + (description "GNOME User Share is a small package that binds together various free software projects to bring easy to use user-level file sharing to the masses.") - (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share") - (license license:gpl2+))) + (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share") + (license license:gpl2+))) (define-public sushi (package @@ -1819,23 +1748,16 @@ client devices can handle.") (arguments ;; 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 - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "libnma-docs.xml" - (("http://.*/docbookx\\.dtd") - (search-input-file - inputs "xml/dtd/docbook/docbookx.dtd")))))))) + (list #:configure-flags (if (supported-package? gtk) + #~(list "-Dlibnma_gtk4=true") + #~(list "-Dlibnma_gtk4=false")))) (native-inputs (list docbook-xml-4.3 gettext-minimal `(,glib "bin") gtk-doc/stable gobject-introspection + libxml2 ;for XML_CATALOG_FILES pkg-config vala)) (inputs @@ -2338,7 +2260,7 @@ The gnome-about program helps find which version of GNOME is installed.") (define-public gnome-disk-utility (package (name "gnome-disk-utility") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2346,18 +2268,22 @@ The gnome-about program helps find which version of GNOME is installed.") name "-" version ".tar.xz")) (sha256 (base32 - "02q906gn420xbf1f0apazryzqfv5b1ammz1vrci66hk79m2n8r8v")))) + "1vx3wyvidjyzr4141p3zrvgx88rp7vwj6n3sf7c3gnvci6bi00q2")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dlogind=libelogind") - #:meson ,meson-0.60 #: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"))))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("glib_compile_schemas: true") + "glib_compile_schemas: false") + (("update_desktop_database: true") + "update_desktop_database: false"))))))) (native-inputs (list docbook-xml docbook-xsl @@ -2379,7 +2305,7 @@ The gnome-about program helps find which version of GNOME is installed.") libpwquality libsecret udisks)) - (home-page "https://git.gnome.org/browse/gnome-disk-utility") + (home-page "https://gitlab.gnome.org/GNOME/gnome-disk-utility") (synopsis "Disk management utility for GNOME") (description "Disk management utility for GNOME.") (license license:gpl2+))) @@ -2508,7 +2434,7 @@ GNOME Desktop.") (define-public gdl (package (name "gdl") - (version "3.34.0") + (version "3.40.0") (source (origin (method git-fetch) (uri (git-reference @@ -2520,7 +2446,7 @@ GNOME Desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna")))) + "11hp93gqk7m64h84q5hndzlwj4w6hl0cbmzrk2pkdn04ikm2zj4v")))) (build-system gnu-build-system) (native-inputs (list autoconf @@ -2696,7 +2622,7 @@ update_desktop_database): true" _ tool) libspectre djvulibre ghostscript - poppler-next + poppler libtiff texlive-libkpathsea ; for DVI support gnome-desktop @@ -2705,7 +2631,7 @@ update_desktop_database): true" _ tool) libgnome-keyring adwaita-icon-theme gdk-pixbuf - atk + at-spi2-core pango gtk+ glib @@ -2737,7 +2663,7 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "41.0") + (version "42.0") (source (origin (method url-fetch) @@ -2746,7 +2672,7 @@ on the GNOME Desktop with a single simple application.") name "-" version ".tar.xz")) (sha256 (base32 - "1v9jagk679m01nji0acirynxinziv036618c7xc49l4nwmr9ja3p")))) + "1li3fcqwnw20f4j0i21i88fygm0hli8gmzkn4apgf8ynkrd371k6")))) (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -3036,13 +2962,6 @@ database is translated at Transifex.") (substitute* "Makefile.am" (("/bin/bash") (which "bash"))) (delete-file "configure"))) - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - ;; Modify the man XML otherwise xmlto tries to access the network - (substitute* "man/system-config-printer.xml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/"))))) (add-after 'install 'add-install-to-pythonpath (@@ (guix build python-build-system) add-install-to-pythonpath)) (add-after 'add-install-to-pythonpath 'wrap-for-python @@ -3130,36 +3049,32 @@ configuring CUPS.") "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36")))) (build-system meson-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - ;; Don't attempt to download XSL schema. - (substitute* "meson.build" - (("http://docbook.sourceforge.net/release/xsl-ns/current\ + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-docbook + (lambda* (#:key inputs #:allow-other-keys) + ;; Don't attempt to download XSL schema. + (substitute* "meson.build" + (("http://docbook.sourceforge.net/release/xsl-ns/current\ /manpages/docbook.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl"))) - #t))))) - (propagated-inputs - (list ;; In Requires of libnotify.pc. - gdk-pixbuf glib)) - (inputs - (list gtk+ libpng)) + (string-append #$(this-package-native-input "docbook-xsl") + "/xml/xsl/docbook-xsl-" + #$(package-version docbook-xsl) + "/manpages/docbook.xsl")))))))) + (propagated-inputs (list gdk-pixbuf glib)) ;in Requires of libnotify.pc. + (inputs (list gtk+ libpng)) (native-inputs - `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) + (list pkg-config + `(,glib "bin") + gobject-introspection - ;; For the documentation. - ("gtk-doc" ,gtk-doc/stable) - ("xsltproc" ,libxslt) - ("docbook-xsl" ,docbook-xsl))) + ;; For the documentation. + gtk-doc/stable + libxslt + docbook-xsl)) (home-page "https://developer-next.gnome.org/libnotify/") - (synopsis - "GNOME desktop notification library") + (synopsis "GNOME desktop notification library") (description "Libnotify is a library that sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec. These @@ -3300,7 +3215,8 @@ API add-ons to make GTK+ widgets OpenGL-capable.") '()) (list gtk+ libxml2))) (native-inputs - (list docbook-xml-4.2 + (list at-spi2-core ;for tests + docbook-xml-4.2 docbook-xsl gettext-minimal `(,glib "bin") @@ -3505,34 +3421,24 @@ XML/CSS rendering engine.") (build-system glib-or-gtk-build-system) (outputs '("out" "bin" "doc")) (arguments - (list - #:configure-flags - #~(list - "--disable-static" - "--enable-introspection" - (string-append "--with-gir-dir=" #$output - "/share/gir-" - #$(version-major - (package-version gobject-introspection)) - ".0") - (string-append "--with-typelib-dir=" #$output - "/lib/girepository-" - #$(version-major - (package-version gobject-introspection)) - ".0") - (string-append "--with-html-dir=" #$output - "/share/gtk-doc/html") - "--with-zlib" - "--with-bz2") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* "gsf-docs.xml" - (("http://www.oasis-open.org/docbook/xml/4.5/") - (search-input-directory (or native-inputs inputs) - "xml/dtd/docbook"))))))))) + (list #:configure-flags + #~(list + "--disable-static" + "--enable-introspection" + (string-append "--with-gir-dir=" #$output + "/share/gir-" + #$(version-major + (package-version gobject-introspection)) + ".0") + (string-append "--with-typelib-dir=" #$output + "/lib/girepository-" + #$(version-major + (package-version gobject-introspection)) + ".0") + (string-append "--with-html-dir=" #$output + "/share/gtk-doc/html") + "--with-zlib" + "--with-bz2"))) (native-inputs (list docbook-xml gettext-minimal @@ -3559,7 +3465,7 @@ for dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.50.7") + (version "2.54.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -3567,154 +3473,127 @@ for dealing with different structured file formats.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz")) + "0cs8qbn2khibb5w1r0f6cibfmkfb7zg713526vhc0hva7wj2l5ga")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor"))))) (build-system cargo-build-system) (outputs '("out" "doc" "debug")) (arguments - `(#:install-source? #f - #:modules - ((guix build cargo-build-system) + (list + #:install-source? #f + #:modules + '((guix build cargo-build-system) (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.8) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-cast" ,rust-cast-0.2) - ("rust-cssparser" ,rust-cssparser-0.27) + #:cargo-inputs + `(("rust-byteorder" ,rust-byteorder-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) + ("rust-cast" ,rust-cast-0.3) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-2) + ("rust-cssparser" ,rust-cssparser-0.28) ("rust-data-url" ,rust-data-url-0.1) ("rust-encoding" ,rust-encoding-0.2) - ("rust-float-cmp" ,rust-float-cmp-0.8) - ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8) - ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) - ("rust-gio" ,rust-gio-0.8) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-itertools" ,rust-itertools-0.9) - ("rust-language-tags" ,rust-language-tags-0.2) + ("rust-float-cmp" ,rust-float-cmp-0.9) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15) + ("rust-gio" ,rust-gio-0.15) + ("rust-glib" ,rust-glib-0.15) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-language-tags" ,rust-language-tags-0.3) ("rust-libc" ,rust-libc-0.2) ("rust-locale-config" ,rust-locale-config-0.3) ("rust-markup5ever" ,rust-markup5ever-0.10) - ("rust-nalgebra" ,rust-nalgebra-0.21) + ("rust-nalgebra" ,rust-nalgebra-0.29) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-once-cell" ,rust-once-cell-1) - ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-pango" ,rust-pango-0.8) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pangocairo" ,rust-pangocairo-0.9) + ("rust-pango" ,rust-pango-0.15) + ("rust-pangocairo" ,rust-pangocairo-0.15) ("rust-rayon" ,rust-rayon-1) - ("rust-rctree" ,rust-rctree-0.3) + ("rust-rctree" ,rust-rctree-0.4) ("rust-rgb" ,rust-rgb-0.8) ("rust-regex" ,rust-regex-1) - ("rust-selectors" ,rust-selectors-0.22) + ("rust-selectors" ,rust-selectors-0.23) ("rust-string-cache" ,rust-string-cache-0.8) - ("rust-tinyvec" ,rust-tinyvec-0.3) + ("rust-tinyvec" ,rust-tinyvec-1) ("rust-url" ,rust-url-2) ("rust-xml5ever" ,rust-xml5ever-0.16)) - #:cargo-development-inputs - (("rust-assert-cmd" ,rust-assert-cmd-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.8) + #:cargo-development-inputs + `(("rust-anyhow" ,rust-anyhow-1) + ("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) ("rust-chrono" ,rust-chrono-0.4) ("rust-criterion" ,rust-criterion-0.3) - ("rust-float-cmp" ,rust-float-cmp-0.8) + ("rust-glib" ,rust-glib-0.15) + ("rust-libc" ,rust-libc-0.2) ("rust-lopdf" ,rust-lopdf-0.26) - ("rust-png" ,rust-png-0.16) - ("rust-predicates" ,rust-predicates-1) - ("rust-tempfile" ,rust-tempfile-3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "doc" - (substitute* "rsvg-docs.xml" - (("http://www.oasis-open.org/docbook/xml/4.3/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))))) - (add-after 'unpack 'prepare-for-build - (lambda _ - ;; In lieu of #:make-flags - (setenv "CC" ,(cc-for-target)) - ;; Something about the build environment resists building - ;; successfully with the '--locked' flag. - (substitute* '("Makefile.am" "Makefile.in") - (("--locked") "")))) - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #: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)/" - ,(dirname %gdk-pixbuf-loaders-cache-file) "/" - "loaders\n"))) - (substitute* "configure" - (("gdk_pixbuf_cache_file=.*") - (string-append "gdk_pixbuf_cache_file=" - (assoc-ref outputs "out") "/" - ,%gdk-pixbuf-loaders-cache-file "\n"))))) - (add-after 'configure 'gnu-configure - (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")))) - (replace 'build - (assoc-ref gnu:%standard-phases 'build)) - (add-before 'check 'ignore-failing-tests - ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found - (lambda _ - (substitute* "tests/src/cmdline/rsvg_convert.rs" - (("fn background_color_option_invalid_color_yields_error" all) - (string-append "#[ignore] " all)) - (("fn empty_input_yields_error" all) - (string-append "#[ignore] " all)) - (("fn empty_svg_yields_error" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_empty" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_no_digits" all) - (string-append "#[ignore] " all)) - (("fn env_source_data_epoch_trailing_garbage" all) - (string-append "#[ignore] " all)) - (("fn export_id_option_error" all) - (string-append "#[ignore] " all)) - (("fn huge_zoom_factor_yields_error" all) - (string-append "#[ignore] " all)) - (("fn multiple_input_files_not_allowed_for_png_output" all) - (string-append "#[ignore] " all)) - (("fn stylesheet_option_error" all) - (string-append "#[ignore] " all))))) - (replace 'check - (lambda* args - ((assoc-ref gnu:%standard-phases 'check) - #:test-target "check"))) - (replace 'install - (assoc-ref gnu:%standard-phases 'install))))) - (native-inputs - (list docbook-xml-4.3 - `(,glib "bin") - gobject-introspection - pkg-config - vala)) - (inputs - (list freetype harfbuzz libxml2 pango)) - (propagated-inputs - (list cairo gdk-pixbuf glib)) + ("rust-matches" ,rust-matches-0.1) + ("rust-png" ,rust-png-0.17) + ("rust-predicates" ,rust-predicates-2) + ("rust-proptest" ,rust-proptest-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-generator" ,rust-test-generator-0.3) + ("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-2)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-gdk-pixbuf-thumbnailer + (lambda* (#:key inputs #:allow-other-keys) + ;; The gdk-pixbuf-thumbnailer location is assumed to be relative + ;; to librsvg's own installation prefix (see: + ;; https://gitlab.gnome.org/GNOME/librsvg/-/issues/955). + (substitute* "gdk-pixbuf-loader/librsvg.thumbnailer.in" + (("@bindir@/gdk-pixbuf-thumbnailer") + (search-input-file inputs "bin/gdk-pixbuf-thumbnailer"))))) + (add-after 'unpack 'prepare-for-build + (lambda _ + ;; In lieu of #:make-flags + (setenv "CC" #$(cc-for-target)) + ;; Something about the build environment resists building + ;; successfully with the '--locked' flag. + (substitute* '("Makefile.am" "Makefile.in") + (("--locked") "")))) + (add-before 'configure 'pre-configure + (lambda* (#:key outputs #: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)/" + #$(dirname %gdk-pixbuf-loaders-cache-file) "/" + "loaders\n"))) + (substitute* "configure" + (("gdk_pixbuf_cache_file=.*") + (string-append "gdk_pixbuf_cache_file=" + #$output "/" + #$%gdk-pixbuf-loaders-cache-file "\n"))))) + (add-after 'configure 'gnu-configure + (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=" #$output + "/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")))) + (replace 'build + (assoc-ref gnu:%standard-phases 'build)) + (replace 'check + (lambda* args + ((assoc-ref gnu:%standard-phases 'check) + #:test-target "check"))) + (replace 'install + (assoc-ref gnu:%standard-phases 'install))))) + (native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala)) + (inputs (list freetype harfbuzz libxml2 pango)) + (propagated-inputs (list cairo gdk-pixbuf glib)) (synopsis "SVG rendering library") (description "Librsvg is a library to render SVG images to Cairo surfaces. GNOME uses this to render SVG icons. Outside of GNOME, other desktop @@ -3723,34 +3602,6 @@ diagrams.") (home-page "https://wiki.gnome.org/LibRsvg") (license license:lgpl2.1+))) -;; This copy of librsvg uses the bundled rust libraries. It is useful for -;; packages which have too many dependencies to be rebuilt as frequently -;; as the rust inputs are updated. -;; TODO: Remove this package and use packaged rust libraries! -(define-public librsvg-bootstrap - (package - (inherit librsvg) - (name "librsvg") - (version "2.50.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/librsvg/" - (version-major+minor version) "/" - "librsvg-" version ".tar.xz")) - (sha256 - (base32 - "1g3f8byg5w08fx1bka12mmpl59v6a4q2p827w6m2la6mijq63yzz")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each delete-file (find-files "vendor" "\\.a$")))))) - (arguments - (substitute-keyword-arguments (package-arguments librsvg) - ((#:vendor-dir _ "vendor") "vendor") - ((#:cargo-inputs _) '()) - ((#:cargo-development-inputs _) '()))) - (properties '((hidden? . #t))))) - (define-public librsvg-2.40 ;; This is the last version implemented in C. (package @@ -3782,6 +3633,12 @@ diagrams.") (("gdk_pixbuf_cache_file = .*$") "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")) #t)) + (add-before 'check 'fix-test-with-pango-1.50 + (lambda _ + ;; Changes between pango 1.48 and 1.50 caused the text to be one + ;; pixel lower in the output image compared to the reference. + (substitute* "tests/fixtures/reftests/bugs/587721-text-transform.svg" + (("660\\.9") "659.9")))) (add-before 'check 'remove-failing-tests (lambda _ (with-directory-excursion "tests/fixtures/reftests" @@ -4549,60 +4406,6 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.54.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/vala/" - (version-major+minor version) "/" - "vala-" version ".tar.xz")) - (sha256 - (base32 - "048k5c6c6y7jyb961krnrb7m0kghr0yrkpnfx3j5ckbx652yfkc8")))) - (build-system glib-or-gtk-build-system) - (arguments - '(#: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/")))))) - (add-before 'check 'pre-check - (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 - `(("bison" ,bison) - ("dbus" ,dbus) ; for dbus tests - ("docbook-xml" ,docbook-xml-4.4) - ("docbook-xsl" ,docbook-xsl) - ("flex" ,flex) - ("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 - ("libgvc" ,graphviz))) - (home-page "https://wiki.gnome.org/Projects/Vala/") - (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-next - (package - (inherit vala) (version "0.56.3") (source (origin (method url-fetch) @@ -4612,6 +4415,7 @@ targeting the GNOME stack simple.") (sha256 (base32 "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1")))) + (build-system glib-or-gtk-build-system) (arguments (list #:configure-flags #~(list "CC=gcc" "--enable-coverage") @@ -4622,12 +4426,6 @@ targeting the GNOME stack simple.") (substitute* "codegen/valaccodecompiler.c" (("cc_command = \"cc\"") "cc_command = \"gcc\"")))) - (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/") - (search-input-directory inputs "xml/dtd/docbook")))))) (add-before 'check 'pre-check (lambda _ (substitute* "valadoc/tests/libvaladoc/tests-extra-environment.sh" @@ -4636,7 +4434,29 @@ targeting the GNOME stack simple.") ;; Wrapping the binaries breaks vala's behavior adaptations based on ;; the file name of the program executed (vala: compile and execute, ;; valac: compile into a binary). - (delete 'glib-or-gtk-wrap)))))) + (delete 'glib-or-gtk-wrap)))) + (native-inputs + (list bison + dbus ; for dbus tests + docbook-xml-4.4 + docbook-xsl + flex + gobject-introspection ; for gir tests + help2man + perl + pkg-config + libxslt)) + (propagated-inputs + (list glib ; required by libvala-0.40.pc + graphviz)) + (home-page "https://wiki.gnome.org/Projects/Vala/") + (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+))) ;;; An older variant kept to build libsoup-minimal-2. (define-public vala-0.52 @@ -4891,53 +4711,38 @@ GLib and GObject, and integrates JSON with GLib data types.") (arguments (substitute-keyword-arguments (package-arguments json-glib-minimal) ((#: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") - '()))) + #~(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 phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'patch-docbook - (lambda* (#:key 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 (or native-inputs inputs) - "docbook-xml") - "/xml/dtd/docbook/"))) - (substitute* "meson.build" - (("http://docbook.sourceforge.net/release/xsl/current/") - (string-append (assoc-ref (or native-inputs inputs) - "docbook-xsl") - "/xml/xsl/docbook-xsl-1.79.2/")))))) - ;; 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")))))))))) - (native-inputs - (append - `(("docbook-xml" ,docbook-xml-4.3) - ("docbook-xsl" ,docbook-xsl) - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) - ("xsltproc" ,libxslt)) - (package-native-inputs json-glib-minimal))))) + #~(modify-phases #$phases + ;; When cross-compiling, there are no docs to move. + #$@(if (%current-target-system) + #~((add-after 'install 'stub-docs + (lambda _ + ;; The daemon doesn't like empty output paths. + (mkdir #$output:doc)))) + #~((add-after 'install 'move-docs + (lambda _ + (mkdir-p (string-append #$output:doc "/share")) + (rename-file + (string-append #$output "/share/gtk-doc") + (string-append #$output:doc + "/share/gtk-doc")))))))))) + (native-inputs + (modify-inputs (package-native-inputs json-glib-minimal) + (prepend docbook-xml-4.3 + docbook-xsl + gobject-introspection + gtk-doc + libxslt))))) (define-public libxklavier (package @@ -4987,7 +4792,7 @@ indicators etc).") (define-public glib-networking (package (name "glib-networking") - (version "2.70.0") + (version "2.72.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -4995,24 +4800,12 @@ indicators etc).") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "0dbg1na239mbavn4hknkax5sns9q2dbdnqw9wcpmhv58mzkhid36")) + "0s42l6dkajciqc99zp6dc9l8yv9g8w7d8mgv97l7h7drgd60hand")) (patches (search-patches "glib-networking-gnutls-binding.patch")))) (build-system meson-build-system) - (arguments - (if (target-64bit?) - '() - (list #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'work-around-32-bit-time-t - (lambda _ - (invoke "patch" "--force" "-p1" "-i" - #$(local-file - (search-patch - "glib-networking-32-bit-time.patch"))))))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal))) + (list pkg-config gettext-minimal)) (inputs (list glib gnutls gsettings-desktop-schemas libproxy)) (home-page "https://wiki.gnome.org/Projects/GLib") @@ -5041,8 +4834,7 @@ from the GSettings schemas in gsettings-desktop-schemas.") "0ll9220d6qf9m7wdi5xhq69p8h8whs7l5h5nzdhlbn99qh5388bz")))) (build-system meson-build-system) (arguments - (list #:meson meson-0.63 - #:phases + (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) @@ -5095,14 +4887,10 @@ files.") #:configure-flags '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"))) (native-inputs - `(("glib-mkenums" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) + (list `(,glib "bin") gobject-introspection pkg-config)) (propagated-inputs ;; rest-0.7.pc refers to all these. - `(("glib" ,glib) - ("libsoup" ,libsoup-minimal-2) - ("libxml2" ,libxml2))) + (list glib libsoup-minimal-2 libxml2)) (home-page "https://www.gtk.org/") (synopsis "RESTful web api query library") (description @@ -5151,7 +4939,7 @@ libxml to ease remote use of the RESTful API.") (inputs (list json-glib)) (propagated-inputs (modify-inputs (package-propagated-inputs rest) - (replace "libsoup" libsoup) + (replace "libsoup-minimal" libsoup) (append json-glib))))) (define-public libshumate @@ -5202,7 +4990,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") (define-public libsoup-minimal (package (name "libsoup-minimal") - (version "3.0.4") + (version "3.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5210,7 +4998,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "0ysnvvfd2f6w2z6g31spqqb8wgyamixc7mryzbbpyw0z15g8plsv")))) + "1j7p3cz6hwi9js9rp0pbas7cdln97yg9v2l1nv5imhcr6p7r1pzb")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dgtk_doc=false") @@ -5235,7 +5023,6 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") (native-inputs (list `(,glib "bin") ;for glib-mkenums gobject-introspection - intltool pkg-config python-wrapper vala @@ -5264,8 +5051,9 @@ and the GLib main loop, to integrate well with GNOME applications.") ;;; An older variant kept to build the 'rest' package. (define-public libsoup-minimal-2 - (package/inherit libsoup-minimal - (version "2.72.0") + (package + (inherit libsoup-minimal) + (version "2.74.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5273,7 +5061,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "11skbyw2pw32178q3h8pi7xqa41b2x4k6q4k9f75zxmh8s23y30p")))) + "0n8is108n0dn4dw7nm2wq9rydcm1vy47w40wywfrxqazdrjjg97h")))) (arguments (substitute-keyword-arguments (package-arguments libsoup-minimal) ((#:phases phases) @@ -5725,65 +5513,66 @@ file.") (define-public colord-minimal (package (name "colord-minimal") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/colord/releases/" "colord-" version ".tar.xz")) (sha256 - (base32 "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p")))) + (base32 "0vwfx06k1in8hci3kdxpc3c0bh81f1vl5bp7favd3rdz4wd661vl")))) (build-system meson-build-system) (arguments - '( ;; FIXME: One test fails: - ;; /colord/icc-store (in lib/colord/colord-self-test-private): - ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got - ;; application/x-zerosize - #:tests? #f - #:glib-or-gtk? #t - #:configure-flags (list "-Dargyllcms_sensor=false" ;requires spotread - "-Dbash_completion=false" - "-Ddaemon_user=colord" - "-Ddocs=false" - "-Dlocalstatedir=/var" - "-Dman=false" - "-Dsane=true" - "-Dsystemd=false") ;no systemd - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-build-system - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "rules/meson.build" - (("udev.get_pkgconfig_variable\\('udevdir'\\)") - (string-append "'" (assoc-ref outputs "out") "/lib/udev'"))))) - (add-before 'configure 'set-sqlite3-file-name - (lambda* (#:key inputs #:allow-other-keys) - ;; "colormgr dump" works by invoking the "sqlite3" command. - ;; Record its absolute file name. - (let ((sqlite (assoc-ref inputs "sqlite"))) - (substitute* "client/cd-util.c" - (("\"sqlite3\"") - (string-append "\"" sqlite "/bin/sqlite3\""))))))))) - (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. - ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list + #:glib-or-gtk? #t + #:configure-flags #~(list "-Dargyllcms_sensor=false" ;requires spotread + "-Dbash_completion=false" + "-Ddaemon_user=colord" + "-Ddocs=false" + "-Dlocalstatedir=/var" + "-Dman=false" + "-Dsystemd=false") ;no systemd + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-problematic-tests + (lambda _ + ;; Skip the colord-test-private, which requires a *system* D-Bus + ;; session, which wants to run as root, among other requirements + ;; (see: https://github.com/hughsie/colord/issues/97). + (substitute* "lib/colord/meson.build" + ((".*test\\('colord-test-private'.*") "")))) + (add-before 'configure 'patch-build-system + (lambda _ + (substitute* "rules/meson.build" + (("udev.get_pkgconfig_variable\\('udevdir'\\)") + (string-append "'" #$output "/lib/udev'"))))) + (add-before 'configure 'set-sqlite3-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; "colormgr dump" works by invoking the "sqlite3" command. + ;; Record its absolute file name. + (substitute* "client/cd-util.c" + (("\"sqlite3\"") + (format #f "~s" (search-input-file inputs + "bin/sqlite3"))))))))) + (native-inputs + (list `(,glib "bin") ; for glib-compile-resources, etc. + gettext-minimal + pkg-config + vala)) (propagated-inputs ;; colord.pc refers to all these. - `(("glib" ,glib) - ("lcms" ,lcms) - ("udev" ,eudev))) + (list glib + lcms + eudev)) (inputs - `(("dbus-glib" ,dbus-glib) - ("gobject-introspection" ,gobject-introspection) - ("gusb" ,gusb-minimal) - ("libgudev" ,libgudev) - ("libusb" ,libusb) - ("polkit" ,polkit) - ("python" ,python-wrapper) - ("sqlite" ,sqlite) - ("sane-backends" ,sane-backends))) + (list dbus-glib + gobject-introspection + gusb-minimal + libgudev + libusb + polkit + python-wrapper + sqlite)) (home-page "https://www.freedesktop.org/software/colord/") (synopsis "Color management service") (description "Colord is a system service that makes it easy to manage, @@ -5810,6 +5599,7 @@ output devices.") (append '("-Dbash_completion=true" "-Ddocs=true" "-Dman=true" + "-Dsane=true" "-Dvapi=true") (fold delete #$flags '("-Dbash_completion=false" "-Ddocs=false" @@ -5830,6 +5620,7 @@ output devices.") gtk-doc/stable libxml2 ;for XML_CATALOG_FILES libxslt + sane-backends vala))))) ;for VAPI, needed by simple-scan (define-public geoclue @@ -6458,7 +6249,7 @@ without stepping on each others toes.") libxslt pkg-config)) (propagated-inputs - (list atk + (list at-spi2-core cairo cogl glib @@ -6845,7 +6636,7 @@ discovery protocols.") (inputs (list gtk+ gdk-pixbuf - atk + at-spi2-core cairo dbus-glib xorgproto @@ -6967,7 +6758,7 @@ which can read a large number of file formats.") ;;clutter-gtk ;;clutter-gst (list adwaita-icon-theme - atk + at-spi2-core bash-minimal brasero json-glib @@ -7296,76 +7087,6 @@ supports any scanner for which a suitable SANE driver is available, which is almost all of them.") (license license:gpl3+))) -(define-public eolie - (package - (name "eolie") - (version "0.9.101") - (source (origin - (method url-fetch) - (uri (string-append "https://adishatz.org/eolie/eolie-" - version ".tar.xz")) - (sha256 - (base32 - "1v8n21y75abdzsnx5idyd0q6yfb6cd0sqbknlbkwh5fdgvjzyvwn")))) - (build-system meson-build-system) - (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* "meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t)) - (add-after 'wrap 'wrap-more - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - ;; These libraries must be on LD_LIBRARY_PATH. - (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret" - "atk" "gtk+" "gsettings-desktop-schemas" - "gobject-introspection")) - (path (string-join - (map (lambda (lib) - (string-append (assoc-ref inputs lib) "/lib")) - libs) - ":"))) - (wrap-program (string-append out "/bin/eolie") - `("LD_LIBRARY_PATH" ":" prefix (,path)) - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))) - #t))))) - (native-inputs - `(("intltool" ,intltool) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("glib:bin" ,glib "bin"))) - (inputs - `(("gobject-introspection" ,gobject-introspection) - ("glib-networking" ,glib-networking) - ("cairo" ,cairo) - ("gtk+" ,gtk+) - ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH - ("python" ,python-wrapper) - ("python-dateutil" ,python-dateutil) - ("python-pyfxa" ,python-pyfxa) - ("python-pygobject" ,python-pygobject) - ("python-pycairo" ,python-pycairo) - ("python-pycrypto" ,python-pycrypto) - ("libhandy" ,libhandy) - ("libsecret" ,libsecret) - ("gtkspell3" ,gtkspell3) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough - ("webkitgtk" ,webkitgtk-with-libsoup2))) - (home-page "https://wiki.gnome.org/Apps/Eolie") - (synopsis "Web browser for GNOME") - (description - "Eolie is a new web browser for GNOME. It features Firefox sync support, -a secret password store, an adblocker, and a modern UI.") - (license license:gpl3+))) - (define-public epiphany (package (name "epiphany") @@ -7550,16 +7271,13 @@ environments.") (base32 "19d46rkajvr0f04560vlrzwvac88x5j8ilvzwkawbn5vjg069kf8")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list - "--enable-doc"))) + '(#:configure-flags '("--enable-doc"))) (native-inputs - `(("ducktype" ,mallard-ducktype) - ("gettext" ,gettext-minimal) - ("intltool" ,intltool) - ("itstool" ,itstool) - ("xmllint" ,libxml2) - ("xsltproc" ,libxslt))) + (list mallard-ducktype + gettext-minimal + itstool + libxml2 + 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 @@ -7753,8 +7471,7 @@ metadata in photo and video files of various formats.") `(,glib "bin") itstool pkg-config - python - vala-next)) + python)) (inputs (list gcr gexiv2 @@ -7885,7 +7602,8 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.72.2") + ;; Note: We use a pre-release for compatibility with recent LibFFI. + (version "1.73.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7893,7 +7611,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0xrrv9lsi087yb9yf146a1aarf5yh6rf4jw9blx30zasvjdkgvnx")) + "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg")) (modules '((guix build utils))) (snippet '(begin @@ -7924,7 +7642,7 @@ configuration program to choose applications starting on login.") xorg-server-for-tests)) (propagated-inputs ;; These are all in the Requires.private field of gjs-1.0.pc. - (list cairo gobject-introspection mozjs-91)) + (list cairo gobject-introspection mozjs)) (inputs (list gtk+ readline)) (synopsis "Javascript bindings for GNOME") @@ -8067,10 +7785,12 @@ to display dialog boxes from the commandline and shell scripts.") #~(list ;; Otherwise, the RUNPATH will lack the final path component. (string-append "-Dc_link_args=-Wl,-rpath=" - #$output "/lib:" - #$output "/lib/mutter-9") + #$output "/lib,-rpath=" + #$output "/lib/mutter-10") ;; Disable systemd support. "-Dsystemd=false" + ;; Don't install tests. + "-Dinstalled_tests=false" ;; The following flags are needed for the bundled clutter (string-append "-Dxwayland_path=" (search-input-file %build-inputs "bin/Xwayland")) @@ -8084,15 +7804,13 @@ to display dialog boxes from the commandline and shell scripts.") #:test-options '(list "--verbose") #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'adjust-runpath-linker-directives + (add-after 'unpack 'use-RUNPATH-instead-of-RPATH (lambda _ - ;; By default Mutter uses RPATH instead of RUNPATH, which our - ;; customized linker script makes use of. Some libraries are - ;; also installed under lib/mutter-10 and need to be added to - ;; the RUNPATH. + ;; The build system disables RUNPATH in favor of RPATH to work + ;; around a peculiarity of their CI system. Ignore that. (substitute* "meson.build" - (("'-Wl,--disable-new-dtags'") - (string-append "'-Wl,-rpath=" #$output "/lib/mutter-10'"))))) + (("disable-new-dtags") + "enable-new-dtags")))) (add-after 'unpack 'patch-dlopen-calls (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/wayland/meta-wayland-egl-stream.c" @@ -8180,7 +7898,7 @@ to display dialog boxes from the commandline and shell scripts.") autoconf automake libtool - wayland-protocols-next + wayland-protocols ;; For tests. ;; Warnings are configured to be fatal during the tests; add an icon ;; theme to please libxcursor. @@ -8195,7 +7913,7 @@ to display dialog boxes from the commandline and shell scripts.") (list gsettings-desktop-schemas-next ;required by libmutter.pc gtk+ ;required by libmutter.pc ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these: - atk + at-spi2-core cairo eudev gdk-pixbuf @@ -8401,7 +8119,6 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") libphonenumber mit-krb5 openldap - pango-next ;remove after it's the default webkitgtk)) (synopsis "Store address books and calendars") (home-page "https://wiki.gnome.org/Apps/Evolution") @@ -8580,11 +8297,6 @@ users.") ((".*test-lldp.*") "") ((".*test-route-linux.*") "") ((".*test-tc-linux.*") "")))) - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (substitute* (find-files "." ".*\\.(xsl|xml)") - (("http://.*/docbookx\\.dtd") - (search-input-file inputs "xml/dtd/docbook/docbookx.dtd"))))) (add-before 'check 'pre-check (lambda _ ;; For the missing /etc/machine-id. @@ -8709,8 +8421,7 @@ services.") libnma libsecret network-manager - openvpn - pango-next)) ;remove after it's the default + openvpn)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "OpenVPN plug-in for NetworkManager") (description @@ -8760,8 +8471,7 @@ to virtual private networks (VPNs) via OpenVPN.") vpnc network-manager libnma - libsecret - pango-next)) ;TODO: remove after it's the default + libsecret)) ;TODO: remove after it's the default (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "VPNC plug-in for NetworkManager") (description @@ -8813,8 +8523,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") libxml2 lz4 network-manager - openconnect - pango-next)) ;TODO: remove after it's the default + openconnect)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "OpenConnect plug-in for NetworkManager") (description @@ -8877,7 +8586,6 @@ Cisco's AnyConnect SSL VPN.") libsecret network-manager openfortivpn - pango-next ;TODO: remove after it's the default ppp)) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "Fortinet SSLVPN plug-in for NetworkManager") @@ -8966,30 +8674,6 @@ the available networks and allows users to easily switch between them.") (sha256 (base32 "13jlhz57yjxapplflm8aarczxv6ll3d336y1446mr5n4ylkcc1xz")))) (build-system gnu-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-documentation - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (let* ((xsl-version #$(package-version docbook-xsl)) - (xsldoc (string-append "xml/xsl/docbook-xsl-" - xsl-version))) - (substitute* '("examples/dom_xpath/example.xml" - "docs/manual/libxml++_without_code.xml") - (("http://.*/docbookx\\.dtd") - (search-input-file (or native-inputs inputs) - "xml/dtd/docbook/docbookx.dtd"))) - (setenv "SGML_CATALOG_FILES" - (search-input-file (or native-inputs inputs) - (string-append - xsldoc "/catalog.xml"))) - (substitute* "docs/manual/docbook-customisation.xsl" - (("http://docbook.sourceforge.net/release/xsl\ -/current/html/chunk.xsl") - (search-input-file (or native-inputs inputs) - (string-append xsldoc - "/html/chunk.xsl")))))))))) (propagated-inputs (list libxml2)) ;required by .pc file (native-inputs @@ -9304,8 +8988,6 @@ usage and information about running processes.") (list eudev gsound libnotify - ;; TODO: Delete pango-next after it's the default. - pango-next python-dbus upower)) (synopsis "GNOME Bluetooth subsystem") @@ -10018,10 +9700,9 @@ files.") python vala)) (inputs - (list gtk libadwaita libhandy - ;; XXX: Ensure pango-next is used instead of the equally propagated - ;; 'pango'. - pango-next)) + (list gtk + libadwaita + libhandy)) (synopsis "Disk usage analyzer for GNOME") (description "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk @@ -10034,7 +9715,7 @@ is complete it provides a graphical representation of each selected folder.") (define-public gnome-backgrounds (package (name "gnome-backgrounds") - (version "41.0") + (version "42.0") (source (origin (method url-fetch) @@ -10043,7 +9724,7 @@ is complete it provides a graphical representation of each selected folder.") name "-" version ".tar.xz")) (sha256 (base32 - "0i9id5z72dqddh94648zylyf41amqq5lhny8sbyg1v8v4q6sr88x")))) + "0p99q434c8qgj5wxcma9jj4dh1ff9x984ncs31vmz725kyhf2zsc")))) (build-system meson-build-system) (native-inputs (list gettext-minimal)) (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") @@ -10059,73 +9740,81 @@ can add your own files to the collection.") license:cc-by-sa3.0)))) (define-public gnome-screenshot - (package - (name "gnome-screenshot") - (version "41.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa")))) - (build-system meson-build-system) - (arguments - `(#:meson ,meson-0.60 - #: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/postinstall.py" - (("gtk-update-icon-cache") "true"))))))) - (native-inputs - (list appstream-glib - desktop-file-utils ; for update-desktop-database - gettext-minimal - `(,glib "bin") ; for glib-compile-schemas, etc. - pkg-config - python)) - (inputs - (list gtk+ - libhandy - libx11 - libxext)) - (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") - (synopsis "Take pictures of your screen") - (description - "GNOME Screenshot is a utility used for taking screenshots of the entire + ;; GNOME Screenshot hasn't had a release in a long time, and the last one + ;; (41) doesn't build with a recent Meson. + (let ((commit "9f067cf428b6bac78ffac31c1a17a20fb2c24843") + (revision "0")) + (package + (name "gnome-screenshot") + (version (git-version "41.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-screenshot") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10a3yd9qmfhxiw984a9fyvgrfq6i3w2yxayac0n7qqjl9ysxwb31")))) + (build-system meson-build-system) + (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/postinstall.py" + (("gtk-update-icon-cache") "true"))))))) + (native-inputs + (list appstream-glib + desktop-file-utils ; for update-desktop-database + gettext-minimal + `(,glib "bin") ; for glib-compile-schemas, etc. + pkg-config + python)) + (inputs + (list gtk+ + libhandy + libx11 + libxext)) + (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot") + (synopsis "Take pictures of your screen") + (description + "GNOME Screenshot is a utility used for taking screenshots of the entire screen, a window or a user defined area of the screen, with optional beautifying border effects.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public dconf-editor (package (name "dconf-editor") - (version "3.38.3") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp")))) + (version "43.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0dli166qzfphqlyvdx4nncg13ys7756sbsdfslyakhkcswnkqnlk")))) (build-system meson-build-system) (arguments - (list #:meson meson-0.60)) + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-gtk-update-icon-cache + (lambda _ + (setenv "DESTDIR" "/")))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0. - ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache - ("intltool" ,intltool) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list `(,glib "bin") ;for glib-compile-schemas, gio-2.0 + `(,gtk "bin") ;for gtk-update-icon-cache + intltool + pkg-config + vala)) (inputs - (list dconf gtk+ libxml2)) + (list dconf + gtk+ + libhandy + libxml2)) (home-page "https://gitlab.gnome.org/GNOME/dconf-editor") (synopsis "Graphical editor for GNOME's dconf configuration system") (description @@ -10344,7 +10033,7 @@ world.") ;; Packages not part of GNOME proper but that are needed for a good ;; experience. See <https://bugs.gnu.org/39646>. ;; XXX: Find out exactly which ones are needed and why. - at-spi2-core-minimal + at-spi2-core dbus dconf desktop-file-utils @@ -10431,23 +10120,26 @@ specified duration and save it as a GIF encoded animated image file.") (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr")))) (build-system meson-build-system) (arguments - `(#:meson ,meson-0.59 - #:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref outputs "out") - "/bin/authenticator")) - (pylib (string-append (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version - (this-package-input "python"))) - "/site-packages"))) - (wrap-program prog - `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-meson.build + (lambda _ + (substitute* "data/meson.build" + (("^ 'desktop',.*") "") + (("^ 'appdata',.*") "")))) + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((prog (search-input-file outputs "bin/authenticator")) + (pylib (string-append #$output "/lib/python" + #$(version-major+minor + (package-version + (this-package-input "python"))) + "/site-packages"))) + (wrap-program prog + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs (list desktop-file-utils gettext-minimal @@ -10565,7 +10257,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") `(,glib "bin") ; for glib-compile-resources itstool pkg-config - vala-next)) + vala)) (inputs (list geoclue geocode-glib-with-libsoup2 @@ -10619,9 +10311,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") gsettings-desktop-schemas libadwaita libdazzle - libgweather4-with-libsoup2 - ;; Remove pango-next when it's the default. - pango-next)) + libgweather4-with-libsoup2)) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description @@ -11839,7 +11529,7 @@ micro-pauses and rest breaks, and restricts you to your daily limit.") pkg-config yelp-tools)) (inputs - (list atk + (list at-spi2-core gtk)) (synopsis "GNOME hexadecimal editor") (description "The GHex program can view and edit files in two ways: @@ -12101,30 +11791,20 @@ tabs, and it supports drag and drop re-ordering of terminals.") (base32 "1z8sbx7g19c1p8dy0sn0l25qfvrd2j28h269lsqm1y98r818h2k1")))) (build-system meson-build-system) (arguments - `(#:configure-flags - '("-Dglade_catalog=enabled" - ;; 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. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))))) - (inputs - (list gtk+ glade3)) + (list #:configure-flags + #~(list "-Dglade_catalog=enabled" + ;; 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-before 'check 'pre-check + (lambda _ + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))))) + (inputs (list gtk+ glade3)) (native-inputs (list gobject-introspection ; for g-ir-scanner `(,glib "bin") @@ -12331,39 +12011,44 @@ library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg - (package - (name "gnome-mahjongg") - (version "3.38.3") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" name "-" - version ".tar.xz")) - (sha256 - (base32 - "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj")))) - (build-system meson-build-system) - (arguments - `(#:meson ,meson-0.59 - #:glib-or-gtk? #t)) - (native-inputs - `(("appstream-glib" ,appstream-glib) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") ;; For glib-compile-resources - ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) - (propagated-inputs - (list dconf)) - (inputs - (list glib gtk+)) - (synopsis "Mahjongg tile-matching game") - (description "GNOME Mahjongg is a game based on the classic Chinese + ;; There hasn't been a GNOME Mahjongg release in a long time, and the last + ;; release doesn't build with a recent Meson, so use the latest commit. + (let ((commit "e9e73e5165e5968ff897e568f8eba10fc1eb207b") + (revision "0")) + (package + (name "gnome-mahjongg") + (version (git-version "3.38.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cj0c076h7qfz77wpz8ypli60inj37fgw0cl9cc39b1kjfqcy3mb")))) + (build-system meson-build-system) + (arguments (list #:glib-or-gtk? #t)) + (native-inputs + (list appstream-glib + gettext-minimal + `(,glib "bin") ;for glib-compile-resources + `(,gtk "bin") ;for gtk-update-icon-cache + itstool + pkg-config + vala)) + (propagated-inputs + (list dconf)) + (inputs + (list glib + gtk + libadwaita)) + (synopsis "Mahjongg tile-matching game") + (description "GNOME Mahjongg is a game based on the classic Chinese tile-matching game Mahjongg. It features multiple board layouts, tile themes, and a high score table.") - (home-page "https://wiki.gnome.org/Apps/Mahjongg") - (license license:gpl2+))) + (home-page "https://wiki.gnome.org/Apps/Mahjongg") + (license license:gpl2+)))) (define-public gnome-themes-extra (package @@ -12549,13 +12234,13 @@ integrate seamlessly with the GNOME desktop.") itstool pkg-config python - vala-next)) + vala)) (inputs (list glib-networking ;for TLS support gsettings-desktop-schemas gtk gtk-vnc - gtksourceview + gtksourceview-4 json-glib libarchive libgudev @@ -13314,7 +12999,6 @@ profiler via Sysprof, debugging support, and more.") (arguments (list #:glib-or-gtk? #t - #:meson meson-0.63 #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-sources @@ -13461,7 +13145,7 @@ your data.") libgda libhandy libsoup - pango-next)) + pango)) (propagated-inputs (list gtksourceview-4)) ; required for source view (home-page "https://wiki.gnome.org/Apps/Gtranslator") |