diff options
Diffstat (limited to 'gnu/packages')
69 files changed, 3634 insertions, 2310 deletions
diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index 0b5fb79f13..1b5fd6db50 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -129,6 +129,11 @@ terminals.") "PYTHON_ROOT=/" (string-append "TCL_DIR=" #$output "/lib") "INSTALL_WRITABLE_DIRECTORY=no-thanks") + #:imported-modules `((guix build python-build-system) + ,@%glib-or-gtk-build-system-modules) + #:modules '((guix build utils) + (guix build glib-or-gtk-build-system) + ((guix build python-build-system) #:prefix python:)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-errors @@ -142,7 +147,10 @@ terminals.") (string-append "extra_link_args = ['-Wl,-rpath=" #$output "/lib'], " - "extra_compile_args = ")))))))) + "extra_compile_args = "))))) + (add-before 'install 'set-pythonpath + (assoc-ref python:%standard-phases + 'add-install-to-pythonpath))))) (native-inputs (list clisp python-cython diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index d6bd3fd03d..3bcf1cc8f0 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -109,7 +109,7 @@ rendering vector based animations and art in realtime.") (base32 "1jnahpxvrdxrll7b7av3zxabm5j3nlz6m3vg4sib2278v1wf91yc")))) (build-system gnu-build-system) - (inputs (list glibmm-2.64)) + (inputs (list glibmm-2.66)) (native-inputs (list pkg-config)) (home-page "https://www.synfig.org") (synopsis "Extended C++ template library") @@ -149,7 +149,7 @@ C++ @dfn{Standard Template Library} (STL).") fftw fontconfig freetype - glibmm-2.64 + glibmm-2.66 imagemagick libxml++-2 libsigc++ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 253ab74a19..604102bc7b 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -121,6 +121,7 @@ (build-system python-build-system) (native-inputs (list gettext-minimal ; for msgfmt + gobject-introspection util-linux ; setsid command, for the tests par2cmdline python-fasteners @@ -135,7 +136,8 @@ (propagated-inputs (list python-lockfile python-pygobject python-urllib3)) (inputs - (list dbus ; dbus-launch (Gio backend) + (list bash-minimal ; to run the wrapped program + dbus ; dbus-launch (Gio backend) librsync lftp gnupg ; gpg executable needed @@ -175,7 +177,12 @@ "share/zoneinfo")) ;; Some things respect TMPDIR, others hard-code /tmp, and the ;; defaults don't match up, breaking test_restart. Fix it. - (setenv "TMPDIR" "/tmp")))))) + (setenv "TMPDIR" "/tmp"))) + (add-after 'wrap 'gi-wrap + (lambda _ + (let ((prog (string-append #$output "/bin/duplicity"))) + (wrap-program prog + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (home-page "https://duplicity.gitlab.io/duplicity-web/") (synopsis "Encrypted backup using rsync algorithm") (description diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 7c75b22587..a71da5ad0e 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -123,7 +123,7 @@ the <tz.h> library for handling time zones and leap seconds.") (define-public libical (package (name "libical") - (version "3.0.16") + (version "3.0.17") (source (origin (method url-fetch) (uri (string-append @@ -131,7 +131,7 @@ the <tz.h> library for handling time zones and leap seconds.") version "/libical-" version ".tar.gz")) (sha256 (base32 - "0cqc1wpalxmxjx8dmcaga9w8kd5l7944hqmidz43hifaf7fhaixl")))) + "06vqbxg4f3i03087grjncfy9pbvmlhg4v1ajhwr400l7nrnrmnmw")))) (build-system cmake-build-system) (arguments (list diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index b0117d77ce..2e2c5739cc 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1562,36 +1562,39 @@ reliably with @code{bmaptool} than with traditional tools, like @code{dd} or (file-name (git-file-name name version)) (sha256 (base32 - "0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4")))) + "0sglcn38rgn6y3m5ahngizyn3x2rzhqjphs7g0ppnlinkz56rcv4")) + (patches + (search-patches "duc-fix-test-sh.patch")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (substitute* "src/duc/cmd-ui.c" - (("ncursesw/ncurses.h") "ncurses.h")) - (substitute* "examples/index.cgi" - (("/usr/local/bin/duc") - (string-append out "/bin/duc")))))) - (add-after 'install 'install-examples - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name "-" ,version))) - (copy-recursively "examples" (string-append doc "/examples"))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (substitute* "test.sh" - ;; Keep the test logs where --keep-failed can see them. - (("^(DUC_TEST_DIR=).*" _ assign) - (format #f "~a~a/test-directory~%" assign (getcwd))) - ;; XXX ‘actual size’ differed on my system (a consistent 348160 - ;; bytes where the tests expect 540672). However, the ‘apparent - ;; size’ matches, as does the actual test output. Good enough…? - ((" [0-9]*B actual") " [0-9]*B actual")) - (when tests? - (invoke "./test.sh"))))))) ; no ‘check’ target + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* "src/duc/cmd-ui.c" + (("ncursesw/ncurses.h") "ncurses.h")) + (substitute* "examples/index.cgi" + (("/usr/local/bin/duc") + (string-append out "/bin/duc")))))) + (add-after 'install 'install-examples + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" #$name "-" #$version))) + (copy-recursively "examples" (string-append doc "/examples"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (substitute* "test.sh" + ;; Keep the test logs where --keep-failed can see them. + (("^(DUC_TEST_DIR=).*" _ assign) + (format #f "~a~a/test-directory~%" assign (getcwd))) + ;; XXX ‘actual size’ differed on my system (a consistent 348160 + ;; bytes where the tests expect 540672). However, the ‘apparent + ;; size’ matches, as does the actual test output. Good enough…? + ((" [0-9]*B actual") " [0-9]*B actual")) + (when tests? + (invoke "./test.sh"))))))) ; no ‘check’ target (native-inputs (list autoconf automake libtool pkg-config)) (inputs diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 2df4e6311b..e3381a1665 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -330,36 +330,37 @@ experience for your users, your family and yourself") "lightdm-vnc-ipv6.patch")))) (build-system gnu-build-system) (arguments - '(#:parallel-tests? #f ; fails when run in parallel - #:configure-flags - (list "--localstatedir=/var" - "--enable-gtk-doc" - ;; Otherwise the test suite fails on such a warning. - "CFLAGS=-Wno-error=missing-prototypes") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/shared-data-manager.c" - (("/bin/rm") - (search-input-file inputs "bin/rm"))) - (substitute* '("data/users.conf" - "common/user-list.c") - (("/bin/false") - (search-input-file inputs "bin/false")) - (("/usr/sbin/nologin") - (search-input-file inputs "sbin/nologin"))) - (substitute* "src/seat.c" - (("/bin/sh") - (search-input-file inputs "bin/sh"))))) - (add-before 'check 'pre-check - (lambda _ - (wrap-program "tests/src/test-python-greeter" - `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))) - ;; Avoid printing locale warnings, which trip up the text - ;; matching tests. - (unsetenv "LC_ALL")))))) + (list + #:parallel-tests? #f ; fails when run in parallel + #:configure-flags + #~(list "--localstatedir=/var" + "--enable-gtk-doc" + ;; Otherwise the test suite fails on such a warning. + "CFLAGS=-Wno-error=missing-prototypes") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/shared-data-manager.c" + (("/bin/rm") + (search-input-file inputs "bin/rm"))) + (substitute* '("data/users.conf" + "common/user-list.c") + (("/bin/false") + (search-input-file inputs "bin/false")) + (("/usr/sbin/nologin") + (search-input-file inputs "sbin/nologin"))) + (substitute* "src/seat.c" + (("/bin/sh") + (search-input-file inputs "bin/sh"))))) + (add-before 'check 'pre-check + (lambda _ + (wrap-program "tests/src/test-python-greeter" + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) + `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))) + ;; Avoid printing locale warnings, which trip up the text + ;; matching tests. + (unsetenv "LC_ALL")))))) (inputs (list audit bash-minimal ;for cross-compilation @@ -381,7 +382,9 @@ experience for your users, your family and yourself") libtool vala ;for Vala bindings ;; For tests - dbus + ;; All tests fail with dbus >= 1.15.2, see + ;; https://github.com/canonical/lightdm/issues/346 + dbus-1.15.0 python-wrapper python-pygobject which diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 83a92abc4e..aaf762b02b 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -210,7 +210,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.") ;; and "glib" in Requires (propagated-inputs (list glib - glibmm-2.64 + glibmm-2.66 libserialport libusb libftdi diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 5518d38af5..78443d6f5c 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com> +;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. @@ -139,7 +140,7 @@ (define-public appstream (package (name "appstream") - (version "0.15.6") + (version "0.16.4") (source (origin (method url-fetch) @@ -148,11 +149,14 @@ "appstream/releases/" "AppStream-" version ".tar.xz")) (sha256 - (base32 "03pirmc5r4izl6mzff879g7pk1nxq03kgpr2yvnnqnlb6r0ckmi3")))) + (base32 "1val1b3dggn9g33q2r9q7wsl75a64x4lcvswvkcjjbvakkbj5xyl")) + (patches + (search-patches "appstream-force-reload-stemmer.patch")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t + #:configure-flags #~(list "-Dsystemd=false") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-libstemmer @@ -162,11 +166,6 @@ (substitute* "meson.build" (("/usr/include") (dirname libstemmer.h)))))) - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "tests/test-pool.c" - (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;") - "")))) (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd))))))) @@ -482,6 +481,115 @@ method framework.") display servers. It supports many different languages and emoji.") (license license:gpl3+))) +;; Private package used by shared-mime-info. +(define xdgmime + ;; No public release, match commit to the one used in the + ;; shared-mime-info release. + (let ((commit "179296748e92bd91bf531656632a1056307fb7b7") + (revision "2")) + (package + (name "xdgmime") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/xdg/xdgmime.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04bpbqlkmwi2pqx1lj3awa9f9gwp4n91fpnz8hbbd0hl8x41przm")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no tests + #:make-flags #~(list (string-append "DESTDIR=" #$output) + #$(string-append "CC=" (cc-for-target))) + #:imported-modules `((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules `((guix build gnu-build-system) + ((guix build copy-build-system) #:prefix copy:) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + ;; Package uses a hand-crafted Makefile. + (delete 'configure) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("src" "bin/" #:include ("print-mime-data" + "test-mime-data" + "test-mime"))) + args)))))) + (home-page "https://gitlab.freedesktop.org/xdg/xdgmime/") + (synopsis "Module that parses the freedesktop.org MIME spec") + (description "This module is used for shared-mime-info package tests.") + (license (list license:lgpl2.1+ license:artistic2.0))))) + +;; Note: when updating shared-mime-info, don't forget to update xdgmime's commit +;; to the one used in the release. +(define-public shared-mime-info + (package + (name "shared-mime-info") + (version "2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/xdg/shared-mime-info.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0w8sbhz00sk6k8pyiykfig4rm22jyibalj7g22j9qf3d2nfy8ivh")) + (patches (search-patches "shared-mime-info-xdgmime-path.patch")))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags + #~(list (string-append + "-Dxdgmime-path=" + (dirname + (search-input-file %build-inputs "/bin/test-mime"))) + "-Dupdate-mimedb=true") + #:phases + #~(modify-phases %standard-phases + ;; Don't patch shebangs for the test files. + (replace 'patch-source-shebangs + (lambda _ + (let ((pred (lambda (file stat) + (and (eq? 'regular (stat:type stat)) + (not (string-prefix? "./tests/mime-detection" + file)))))) + (for-each patch-shebang + (find-files "." pred #:stat lstat))))) + ;; The docs have no install rule. + (add-after 'install 'install-doc + (lambda* (#:key source #:allow-other-keys) + (let ((dest (string-append #$output:doc "/share/doc"))) + (with-directory-excursion "data/shared-mime-info-spec-html" + (install-file "shared-mime-info-spec.html" + (string-append dest "/html"))) + (install-file (string-append source + "/data/shared-mime-info-spec.xml") + dest))))))) + (inputs + (list glib libxml2)) + (native-inputs + (list gettext-minimal pkg-config python xdgmime + ;; For 'doc' output. + docbook-xml-4.1.2 docbook-xsl xmlto)) + (outputs (list "out" "doc")) + (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info") + (synopsis "Database of common MIME types") + (description + "The shared-mime-info package contains the core database of common types +and the update-mime-database command used to extend it. It requires glib2 to +be installed for building the update command. Additionally, it uses intltool +for translations, though this is only a dependency for the maintainers. This +database is translated at Transifex.") + (license license:gpl2+))) + (define-public xdg-utils (package (name "xdg-utils") @@ -1659,7 +1767,7 @@ message bus.") (define-public accountsservice (package (name "accountsservice") - (version "22.08.8") + (version "23.13.9") (source (origin (method url-fetch) @@ -1667,7 +1775,7 @@ message bus.") "accountsservice/accountsservice-" version ".tar.xz")) (sha256 - (base32 "14d3lwik048h62qrzg1djdd2sqmxf3m1r859730pvzhrd6krg6ch")) + (base32 "0kwjkff5m7gnzpns6cy27az90w7sxzwzygyzwy90kyi4mvg4rnmd")) (patches (search-patches "accountsservice-extensions.patch")))) (build-system meson-build-system) (arguments @@ -1708,6 +1816,7 @@ message bus.") docbook-xsl gettext-minimal `(,glib "bin") ; for gdbus-codegen, etc. + glibc-locales ;for tests gobject-introspection gtk-doc libxml2 ;for XML_CATALOG_FILES diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index e7a032640d..601cd11bbd 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -470,7 +470,7 @@ topology functions.") (define-public gnome-maps (package (name "gnome-maps") - (version "43.0") ;for libsoup 3 support + (version "44.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -478,7 +478,7 @@ topology functions.") name "-" version ".tar.xz")) (sha256 (base32 - "1r1l6ajs6zz316m8zac5r0l3qgdv616xh376bfn2fflcnz7wys08")))) + "026488yb6azwb2sm0yy0iaipk914l3agvb7d8azks4kyjqlslyb8")))) (build-system meson-build-system) (arguments (list @@ -520,11 +520,10 @@ topology functions.") glib-networking gnome-online-accounts gsettings-desktop-schemas - gtk+ + gtk libadwaita libgee libgweather4 - libhandy librsvg libsecret libshumate diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 8987a4502d..b458a6397c 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -251,23 +251,23 @@ provided, as well as a framework to add new color models and data types.") (list babl glib json-glib)) (inputs ;; All inputs except libjpeg and libpng are optional. - `(("cairo" ,cairo) - ("gdk-pixbuf" ,gdk-pixbuf) - ("gexiv2" ,gexiv2) - ("jasper" ,jasper) - ("libjpeg" ,libjpeg-turbo) - ("libnsgif" ,libnsgif) - ("libpng" ,libpng) - ("libraw" ,libraw) - ("librsvg" ,(librsvg-for-system)) - ("libspiro" ,libspiro) - ("libtiff" ,libtiff) - ("libwebp" ,libwebp) - ("maxflow" ,maxflow) - ("openexr" ,openexr-2) - ("pango" ,pango) - ("poppler" ,poppler) - ("sdl2" ,sdl2))) + (list cairo + gdk-pixbuf + gexiv2 + jasper + libjpeg-turbo + libnsgif + libpng + libraw + (librsvg-for-system) + libspiro + libtiff + libwebp + maxflow + openexr-2 + pango + poppler + sdl2)) (native-inputs (list `(,glib "bin") ; for gtester gobject-introspection diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index b5eb4602da..cf066a8aa6 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -37,6 +37,7 @@ (define-module (gnu packages glib) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -45,6 +46,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages curl) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) @@ -105,7 +107,7 @@ (define dbus (package (name "dbus") - (version "1.14.0") + (version "1.15.8") (source (origin (method url-fetch) (uri (string-append @@ -113,49 +115,57 @@ version ".tar.xz")) (sha256 (base32 - "1m7bibavml4gx9d67j403l0kzd1a4z8lhrpxb2as3q4nfpiwrmyc")) + "016j3rqc8m62bg0h7z4rpvbvm5bg0hbjrld733f0aby8drz5kz44")) (patches (search-patches "dbus-helper-search-path.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - (list - ;; Install the system bus socket under /var. - "--localstatedir=/var" + (list + #:configure-flags + #~(list + ;; Install the system bus socket under /var. + "--localstatedir=/var" - ;; Install the session bus socket under /tmp. - "--with-session-socket-dir=/tmp" + ;; Install the session bus socket under /tmp. + "--with-session-socket-dir=/tmp" - ;; Build shared libraries only. - "--disable-static" + ;; Build shared libraries only. + "--disable-static" - ;; Use /etc/dbus-1 for system-wide config. - ;; Look for configuration file under - ;; /etc/dbus-1. This is notably required by - ;; 'dbus-daemon-launch-helper', which looks for - ;; the 'system.conf' file in that place, - ;; regardless of what '--config-file' was - ;; passed to 'dbus-daemon' on the command line; - ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>. - "--sysconfdir=/etc") - #:phases - (modify-phases %standard-phases - (replace 'install - (lambda _ - ;; Don't try to create /var and /etc. - (invoke "make" - "localstatedir=/tmp/dummy" - "sysconfdir=/tmp/dummy" - "install")))))) + ;; Use /etc/dbus-1 for system-wide config. + ;; Look for configuration file under + ;; /etc/dbus-1. This is notably required by + ;; 'dbus-daemon-launch-helper', which looks for + ;; the 'system.conf' file in that place, + ;; regardless of what '--config-file' was + ;; passed to 'dbus-daemon' on the command line; + ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>. + "--sysconfdir=/etc") + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda _ + ;; Don't try to create /var and /etc. + (invoke "make" + "localstatedir=/tmp/dummy" + "sysconfdir=/tmp/dummy" + "install")))))) (native-inputs - (list pkg-config - ;; Dependencies to generate the doc. + ;; Some dependencies are required to generate the documentation. Also, + ;; quoting NEWS for 1.15.8: “Autotools-generated files are no longer + ;; included in the tarball release.” + (list autoconf + autoconf-archive + automake docbook-xml-4.4 docbook-xsl doxygen - xmlto + libtool libxml2 ;for XML_CATALOG_FILES libxslt - yelp-tools)) + which + xmlto + yelp-tools + pkg-config)) (inputs (list expat ;; Add a dependency on libx11 so that 'dbus-launch' has support for @@ -199,6 +209,21 @@ shared NFS home directories.") (("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf") "/var/run/jami/session-local.conf"))))))))))) +(define-public dbus-1.15.0 + ;; Dbus 1.15.2 has a breaking change. + (hidden-package + (package/inherit dbus + (version "1.15.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://dbus.freedesktop.org/releases/dbus/dbus-" + version ".tar.xz")) + (sha256 + (base32 + "02k4zm5h24clwp4csp2r3xp2lxib31jlk3xkgdj2c0njkb5whwsh")) + (patches (search-patches "dbus-helper-search-path.patch"))))))) + ;;; The reason this is not enabled in the regular dbus package is because it ;;; impacts the performance of D-Bus (including its library) as a whole, even ;;; when the DBUS_VERBOSE environment variable is not set. @@ -207,7 +232,7 @@ shared NFS home directories.") (name "dbus-verbose") (arguments (substitute-keyword-arguments (package-arguments dbus) ((#:configure-flags flags '()) - `(cons "--enable-verbose-mode" ,flags)))) + #~(cons "--enable-verbose-mode" #$flags)))) (synopsis "D-Bus with verbose mode enabled for debugging") (description "This variant D-Bus package is built with verbose mode, which eases debugging of D-Bus services by printing various debug information when @@ -217,7 +242,7 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) (define glib (package (name "glib") - (version "2.72.3") + (version "2.78.0") (source (origin (method url-fetch) @@ -226,14 +251,14 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1w25sf2wxkkah2p2w189q58mza3zv8z1fh2q1m82sldq4kva4faa")) + (base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4")) (patches (search-patches "glib-appinfo-watch.patch" "glib-skip-failing-test.patch")) (modules '((guix build utils))) (snippet '(begin - (substitute* "tests/spawn-test.c" + (substitute* "glib/tests/spawn-test.c" (("/bin/sh") "sh")))))) (build-system meson-build-system) (outputs '("out" ;libraries, locales, etc @@ -258,6 +283,9 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) #$output:bin "/bin")) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-G_TEST_SRCDIR + (lambda _ + (setenv "G_TEST_SRCDIR" (string-append (getcwd) "/gio/tests")))) ;; Needed to pass the test phase on slower ARM and i686 machines. (add-after 'unpack 'increase-test-timeout (lambda _ @@ -273,9 +301,19 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) (substitute* '("unix.c" "utils.c") (("[ \t]*g_test_add_func.*;") ""))) (with-directory-excursion "gio/tests" - (substitute* '("contenttype.c" "gdbus-address-get-session.c" - "gdbus-peer.c" "appinfo.c" "desktop-app-info.c") - (("[ \t]*g_test_add_func.*;") ""))) + (substitute* '("contenttype.c" + "gdbus-address-get-session.c" + "gdbus-server-auth.c" + "gdbus-peer.c" + "appinfo.c" + "desktop-app-info.c") + (("[ \t]*g_test_add_func.*;") "")) + (unless (which "update-desktop-database") + (substitute* "file.c" + (("[ \t]*g_test_add_func.*query-default-handler.*;") ""))) + (substitute* '("portal-support-snap.c") + (("g_test_init .*") + "return EXIT_SUCCESS;"))) #$@(if (target-x86-32?) ;; Comment out parts of timer.c that fail on i686 due to @@ -325,7 +363,7 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) (substitute* '("appmonitor.c" "async-splice-output-stream.c" "autoptr.c" - "contexts.c" + "contexts.c" "converter-stream.c" "file.c" "g-file-info.c" @@ -334,13 +372,13 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) "gapplication.c" "gdbus-connection-flush.c" "gdbus-connection.c" - "gdbus-names.c" + "gdbus-names.c" "gdbus-server-auth.c" "gsocketclient-slow.c" "gsubprocess.c" "io-stream.c" "live-g-file.c" - "memory-monitor.c" + "memory-monitor.c" "mimeapps.c" "network-monitor-race.c" "network-monitor.c" @@ -455,10 +493,10 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) python python-wrapper)) (propagated-inputs - (list libffi ;in the Requires.private field of gobject-2.0.pc - pcre ;in the Requires.private field of glib-2.0.pc - `(,util-linux "lib") ;for libmount - zlib)) ;in the Requires.private field of glib-2.0.pc + (list libffi ; in the Requires.private field of gobject-2.0.pc + pcre2 ; in the Requires.private field of glib-2.0.pc + `(,util-linux "lib") ;for libmount + zlib)) ; in the Requires.private field of glib-2.0.pc (native-search-paths ;; This variable is not really "owned" by GLib, but several related ;; packages refer to it: gobject-introspection's tools use it as a search @@ -482,106 +520,47 @@ functions for strings and common data structures.") (license license:lgpl2.1+) (properties '((hidden? . #t))))) -(define-public glib-next - (package - (inherit glib) - (name "glib") - (version "2.73.3") - (source - (origin - (inherit (package-source glib)) - (uri - (string-append "mirror://gnome/sources/" - name "/" (string-take version 4) "/" - name "-" version ".tar.xz")) - (snippet - '(substitute* "glib/tests/spawn-test.c" - (("/bin/sh") "sh"))) - (sha256 - (base32 "1bgfch7zj1pq4rkqcibfky1470ijljyrx5pn5s5v9mk72s22n6nz")))) - (arguments - (substitute-keyword-arguments (package-arguments glib) - ((#:test-options test-options ''()) - ;; Skip flaky or slow tests. - `(cons* "--no-suite=slow" "--no-suite=flaky" ,test-options)) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (replace 'disable-failing-tests - (lambda _ - (with-directory-excursion "glib/tests" - (substitute* '("unix.c" "utils.c") - (("[ \t]*g_test_add_func.*;") ""))) - ;; The "glib:gio / file" test fails with the error "No - ;; application is registered as handling this file" (see: - ;; https://gitlab.gnome.org/GNOME/glib/-/issues/2742). - (with-directory-excursion "gio/tests" - (substitute* '("appinfo.c" - "contenttype.c" - "desktop-app-info.c" - "file.c" - "gdbus-address-get-session.c" - "gdbus-peer.c") - (("[ \t]*g_test_add_func.*;") ""))) - - #$@(if (target-x86-32?) - ;; Comment out parts of timer.c that fail on i686 due to - ;; excess precision when building with GCC 10: - ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>. - '((substitute* "glib/tests/timer.c" - (("^ g_assert_cmpuint \\(micros.*" all) - (string-append "//" all "\n")) - (("^ g_assert_cmpfloat \\(elapsed, ==.*" all) - (string-append "//" all "\n")))) - '()) - #$@(if (system-hurd?) - '((with-directory-excursion "gio/tests" - ;; FAIL - (substitute* '("appmonitor.c" - "gdbus-server-auth.c" - "live-g-file.c" - "socket.c") - (("return (g_test_run|session_bus_run)" all call) - (string-append "return 0;// " call)) - ((" (ret|rtv|result) = (g_test_run|session_bus_run)" - all var call) - (string-append " " var " = 0;// " call)) - (("[ \t]*g_test_add_func.*;") "")))) - '()))))))) - (native-inputs - (modify-inputs (package-native-inputs glib) - (append desktop-file-utils))) - (propagated-inputs - (modify-inputs (package-propagated-inputs glib) - (replace "pcre" pcre2))))) - (define-public glib-with-documentation ;; glib's doc must be built in a separate package since it requires gtk-doc, ;; which in turn depends on glib. - (package/inherit glib - (properties (alist-delete 'hidden? (package-properties glib))) - (outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference - (native-inputs - (modify-inputs (package-native-inputs glib) - (prepend docbook-xml-4.2 - docbook-xml - docbook-xsl - gtk-doc - libxml2 - libxslt))) - (arguments - (substitute-keyword-arguments (package-arguments glib) - ((#:configure-flags flags ''()) - #~(cons "-Dgtk_doc=true" - (delete "-Dman=false" #$flags))) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'install 'move-doc - (lambda _ - (let ((html "/share/gtk-doc")) - (mkdir-p (string-append #$output:doc "/share")) - (rename-file - (string-append #$output html) - (string-append #$output:doc html))))))))))) + (let ((base glib)) + (package/inherit base + (properties (alist-delete 'hidden? (package-properties base))) + (outputs (cons "doc" (package-outputs base))) ; 20 MiB of GTK-Doc reference + (native-inputs + `(("docbook-xml-4.2" ,docbook-xml-4.2) + ("docbook-xml-4.5" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("gtk-doc" ,gtk-doc) + ("libxml2" ,libxml2) + ("xsltproc" ,libxslt) + ,@(package-native-inputs base))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:configure-flags flags ''()) + #~(cons "-Dgtk_doc=true" + (delete "-Dman=false" #$flags))) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs" + (substitute* (find-files "." "\\.xml$") + (("http://www.oasis-open.org/docbook/xml/4\\.5/") + (string-append (assoc-ref inputs "docbook-xml-4.5") + "/xml/dtd/docbook/")) + (("http://www.oasis-open.org/docbook/xml/4\\.2/") + (string-append (assoc-ref inputs "docbook-xml-4.2") + "/xml/dtd/docbook/")))))) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (html (string-append "/share/gtk-doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out html) + (string-append doc html)))))))))))) (define (python-extension-suffix python triplet) "Determine the suffix for C extensions for PYTHON when compiled @@ -622,14 +601,14 @@ be used when cross-compiling." (define gobject-introspection (package (name "gobject-introspection") - (version "1.72.0") + (version "1.78.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" "gobject-introspection/" (version-major+minor version) "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "1g5aps3b20ck96ahy7fjl4nhp9nabkd9rlqd0s1qzn3111cqxzh2")) + (base32 "1d0vhi83q0xc7kg3zn32wy7n16f3dd5blicyh5v8w9gpkbcsnyxx")) (patches (search-patches "gobject-introspection-cc.patch" "gobject-introspection-girepository.patch" @@ -723,10 +702,7 @@ provide bindings to call into the C library.") (patches (search-patches "gobject-introspection-cc-1.72.patch" "gobject-introspection-girepository.patch" - "gobject-introspection-absolute-shlib-path-1.72.patch")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs gobject-introspection) - (replace "glib" glib-next))))) + "gobject-introspection-absolute-shlib-path-1.72.patch")))))) (define intltool (package @@ -825,7 +801,7 @@ translated.") (define dbus-glib (package (name "dbus-glib") - (version "0.110") + (version "0.112") (source (origin (method url-fetch) (uri @@ -833,7 +809,7 @@ translated.") version ".tar.gz")) (sha256 (base32 - "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w")))) + "0fhlkdqyzbh89bdslwsfc5fbdvkiv6g840ami4rnwa6dvz60smbx")))) (build-system gnu-build-system) (arguments (if (%current-target-system) @@ -861,7 +837,7 @@ by GDBus included in Glib.") (define-public libaccounts-glib (package (name "libaccounts-glib") - (version "1.25") + (version "1.26") (source (origin (method git-fetch) (uri (git-reference @@ -870,7 +846,7 @@ by GDBus included in Glib.") (file-name (git-file-name name version)) (sha256 (base32 - "19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4")))) + "1fdvvzbz23q5c0jnzryinkmcymd0zcs2pdn4fvibg34pvybb4li9")))) (build-system meson-build-system) (native-inputs (list dbus `(,glib "bin") @@ -914,7 +890,7 @@ credentials and service-specific settings.") (define libsigc++ (package (name "libsigc++") - (version "3.0.6") + (version "3.6.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsigc++/" @@ -922,7 +898,7 @@ credentials and service-specific settings.") name "-" version ".tar.xz")) (sha256 (base32 - "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp")))) + "05qf10lp5vxsi5fbzdphqhbzmys12mxvg4gh14p9zqynvwvkpln3")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -985,7 +961,7 @@ libraries.") (define glibmm (package (name "glibmm") - (version "2.72.1") + (version "2.78.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -993,7 +969,7 @@ libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia")))) + "0l7gld1ghynlxdm55l8dn3w4lfbwgrkw7flbdnh04vwrchjqfbjx")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -1034,28 +1010,25 @@ libraries.") useful for C++.") (license license:lgpl2.1+))) -(define-public glibmm-next +(define-public glibmm-2.76 (package - (inherit glibmm) - (version "2.76.0") - (name "glibmm") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/glibmm/" - (version-major+minor version) - "/glibmm-" version ".tar.xz")) - (sha256 - (base32 - "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))) - (propagated-inputs - (modify-inputs (package-propagated-inputs glibmm) - (replace "glib" glib-next))))) + (inherit glibmm) + (name "glibmm") + (version "2.76.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/glibmm/" + (version-major+minor version) + "/glibmm-" version ".tar.xz")) + (sha256 + (base32 + "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))))) - (define-public glibmm-2.64 + (define-public glibmm-2.66 (package (inherit glibmm) (name "glibmm") - (version "2.64.5") + (version "2.66.6") (source (origin (method url-fetch) @@ -1064,7 +1037,7 @@ useful for C++.") (version-major+minor version) "/glibmm-" version ".tar.xz")) (sha256 - (base32 "11m37sbx0i18cl17d0fkq0bik4bbzlb5n8kcl651jhci5ipci3sh")))) + (base32 "0bqm9vqwhas69q6n89wd2xgxvrlkpxra13dzsx8m67hqk0jp8n2k")))) (propagated-inputs (modify-inputs (package-propagated-inputs glibmm) (replace "libsigc++" libsigc++-2))))) @@ -1072,7 +1045,7 @@ useful for C++.") (define-public python-pygobject (package (name "python-pygobject") - (version "3.42.2") + (version "3.46.0") (source (origin (method url-fetch) @@ -1080,32 +1053,31 @@ useful for C++.") (version-major+minor version) "/pygobject-" version ".tar.xz")) (sha256 - (base32 - "0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d")) + (base32 "1z6aagb46fhhdd0bb3zk6dfdw3s4y2fva0vv3jpwjj6mvar0hq22")) (modules '((guix build utils))) (snippet - '(begin - ;; We disable these tests in a snippet so that they are inherited - ;; by the Python 2 variant which is built differently. - (with-directory-excursion "tests" - ;; FIXME: These tests require Gdk and/or Gtk 4. - (for-each delete-file - '("test_atoms.py" "test_overrides_gtk.py")) - #t))))) + ;; We disable these tests in a snippet so that they are inherited + ;; by the Python 2 variant which is built differently. + #~(with-directory-excursion "tests" + ;; FIXME: These tests require Gdk and/or Gtk 4. + (for-each delete-file + '("test_atoms.py" "test_overrides_gtk.py" + "test_overrides_gdk.py")))))) (build-system meson-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; The default 90 seconds can be too low on slower machines. - (invoke "meson" "test" "--timeout-multiplier" "5"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The default 90 seconds can be too low on slower machines. + (invoke "meson" "test" "--timeout-multiplier" "5"))))))) (native-inputs - `(("glib-bin" ,glib "bin") - ("pkg-config" ,pkg-config) - ("python-pytest" ,python-pytest) - ("python-wrapper" ,python-wrapper))) ; For patching shebangs + (list `(,glib "bin") + pkg-config + python-pytest + python-wrapper)) ; For patching shebangs (inputs (list python python-pycairo gobject-introspection)) (propagated-inputs @@ -1124,7 +1096,7 @@ useful for C++.") (define-public perl-glib (package (name "perl-glib") - (version "1.3293") + (version "1.3294") (source (origin (method url-fetch) (uri (string-append @@ -1132,7 +1104,7 @@ useful for C++.") version ".tar.gz")) (sha256 (base32 - "005m3inz12xcsd5sr056cm1kbhmxsx2ly88ifbdv6p6cwz0s05kk")))) + "1fsw9sjfz1irlhnsk5n1xpb181vvq1dsxrw5vrsp066cdflga5fp")))) (build-system perl-build-system) (native-inputs (list perl-extutils-depends perl-extutils-pkgconfig)) @@ -1150,14 +1122,14 @@ up the Gnome environment, and are used in many unrelated projects.") (define-public perl-glib-object-introspection (package (name "perl-glib-object-introspection") - (version "0.049") + (version "0.051") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/" "Glib-Object-Introspection-" version ".tar.gz")) (sha256 - (base32 "0mxg6pz8qfyipw0ypr54alij0c4adzg94f62702b2a6hkp5jhij6")))) + (base32 "12802l87mx65lswiwlc394fkb74cmsqn88n2qy119b40rhfn2sb5")))) (build-system perl-build-system) (native-inputs (list perl-extutils-depends perl-extutils-pkgconfig)) @@ -1195,6 +1167,11 @@ libraries. Examples include gtk+, webkit, libsoup and many more.") ;; EOFError: EOF read where object expected ;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1 #:parallel-build? #f + ;; When spawned in parallel, the dbus daemons may fail to shut down + ;; cleanly. This issue appears to have been closed upstream due to low + ;; information, but still continues to haunt folks. See also + ;; <https://gitlab.freedesktop.org/telepathy/telepathy-glib/-/issues/134>. + #:parallel-tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests @@ -1321,7 +1298,7 @@ Some codes examples can be find at: ;; file. (package (name "sdbus-c++") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1330,7 +1307,7 @@ Some codes examples can be find at: (file-name (git-file-name name version)) (sha256 (base32 - "03maivi3nj4g5wcydk9ih703ivmqkc93yip47wlyjni6dhikzzsb")))) + "111l2rl0pg9r5cdrhqpac4v22cnq41skxxfk3cng81l0n05v1sh0")))) (build-system cmake-build-system) (arguments (list @@ -1341,11 +1318,20 @@ Some codes examples can be find at: ;; Do not install tests. "-DTESTS_INSTALL_PATH=/tmp" "-DCMAKE_VERBOSE_MAKEFILE=ON") - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'do-not-install-tests - (lambda _ - (substitute* "tests/CMakeLists.txt" - (("/etc/dbus-1/system.d") "/tmp"))))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-install-tests + (lambda _ + (substitute* "tests/CMakeLists.txt" + (("/etc/dbus-1/system.d") "/tmp")))) + (add-after 'unpack 'fix-elogind-requirement + (lambda _ + ;; sdbus-c++.pc requires 'elogind', but it should + ;; require 'libelogind'. Fixed after 1.4.0 with + ;; fb9e4ae37152648a67814458d3ff673b1d3ca089 + (substitute* "pkgconfig/sdbus-c++.pc.in" + (("@LIBSYSTEMD@") + "libelogind"))))))) (native-inputs (list googletest pkg-config)) (inputs (list expat)) (propagated-inputs (list elogind)) ;required by sdbus-c++.pc @@ -1359,7 +1345,7 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.") (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.18") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" @@ -1367,45 +1353,47 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.") "appstream-glib-" version ".tar.xz")) (sha256 (base32 - "00j0kkgf224nzmrha72g8pd72mymhph7vaisj35i4ffy7cpd47na")))) + "15lbrmyx94cf6p6svq02yiskh31xidq092c711pqs16mml06a9bi")))) (build-system meson-build-system) (native-inputs - `(("gettext" ,gettext-minimal) - ("gsettings" ,gsettings-desktop-schemas) ; for ‘org.gnome.system.proxy’ - ("glib:bin" ,glib "bin") ; for glib-compile-resources - ("pkg-config" ,pkg-config))) + (list gettext-minimal + `(,glib "bin") ;for glib-compile-resources + gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’ + pkg-config)) (propagated-inputs - `(("gcab" ,gcab) ; for .pc file - ("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file - ("libuuid" ,util-linux "lib"))) ; for .pc file + (list gcab ;for .pc file + gdk-pixbuf ;same + `(,util-linux "lib"))) ;libuuid, for .pc file (inputs - `(("glib" ,glib) - ("gperf" ,gperf) - ("gtk+" ,gtk+) - ("json-glib" ,json-glib) - ("libarchive" ,libarchive) - ("libsoup" ,libsoup-minimal-2))) + (list curl + gperf + gtk+ + json-glib + libarchive + glib)) (arguments - `(#:configure-flags - (list "-Ddep11=false" - "-Dintrospection=false" ; avoid g-ir-scanner dependency - "-Drpm=false" - "-Dstemmer=false") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (substitute* "libappstream-glib/as-self-test.c" - (("g_test_add_func.*as_test_store_local_appdata_func);") "")) - #t)) - (add-before 'check 'set-home - (lambda _ - ;; Some tests want write access there. - (setenv "HOME" "/tmp")))))) + (list + #:configure-flags + #~(list "-Ddep11=false" + "-Dintrospection=false" ; avoid g-ir-scanner dependency + "-Drpm=false" + "-Dstemmer=false") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* "libappstream-glib/as-self-test.c" + (("g_test_add_func.*as_test_store_local_appdata_func);") "")))) + (add-before 'check 'set-home + (lambda _ + ;; Some tests want write access there. + (setenv "HOME" "/tmp")))))) (home-page "https://github.com/hughsie/appstream-glib") (synopsis "Library for reading and writing AppStream metadata") - (description "This library provides objects and helper methods to help -reading and writing @uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream} + (description + "This library provides objects and helper methods to help +reading and writing +@uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream} metadata.") (license license:lgpl2.1+))) @@ -1464,7 +1452,7 @@ other API remains the same.") (define-public template-glib (package (name "template-glib") - (version "3.34.0") + (version "3.36.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1472,21 +1460,18 @@ other API remains the same.") name "-" version ".tar.xz")) (sha256 (base32 - "1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1")))) + "0j4rc4jvxk5pzmx5831s90m9g4cfyp10hxd1ndiyg34806jg6800")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-D" "enable_gtk_doc=true"))) - (inputs - `(("gettext" ,gettext-minimal) - ("glib" ,glib) - ("gobject-introspection" ,gobject-introspection))) + (list #:configure-flags #~'("-D" "gtk_doc=true"))) + (inputs (list gettext-minimal glib gobject-introspection)) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ("glib:bin" ,glib "bin") ;; For glib-mkenums - ("gtk-doc" ,gtk-doc/stable) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list bison + flex + `(,glib "bin") ;for glib-mkenums + gtk-doc/stable + pkg-config + vala)) (home-page "https://gitlab.gnome.org/GNOME/template-glib") (synopsis "Library for template expansion") (description @@ -1501,7 +1486,7 @@ simple methods via GObject-Introspection.") (define-public xdg-dbus-proxy (package (name "xdg-dbus-proxy") - (version "0.1.2") + (version "0.1.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/flatpak/xdg-dbus-proxy" @@ -1509,7 +1494,7 @@ simple methods via GObject-Introspection.") "/xdg-dbus-proxy-" version ".tar.xz")) (sha256 (base32 - "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p")))) + "1yv10v7gpv5z0iii7p3rs2h9wx6sigldycjlkpyyal06iapwy786")))) (build-system gnu-build-system) (native-inputs (list pkg-config @@ -1573,3 +1558,38 @@ to the host system, optionally with filters applied.") (description "A small little utility to run a couple of executables under a new DBus session for testing.") (license license:gpl3))) + +(define-public libdex + (package + (name "libdex") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0fj4bggygdxgfsdrhc3zg1y2065g0skpz1l2bqwl0jqn9m3zbdc1")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~'("-D" "docs=true"))) + (native-inputs + (list gobject-introspection + gi-docgen + pkg-config + vala)) + (inputs + (list glib + libsoup)) + (home-page "https://gitlab.gnome.org/GNOME/libdex") + (synopsis "Library for future-based programming with glib") + (description + "Dex provides Future-based programming for GLib-based applications. + +It both integrates with and brings new features for application and library +authors who want to manage concurrent code. + +Dex also provides Fibers which allow writing synchronous looking code in C +that uses asynchronous and future-based APIs.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index ae70d0be9f..d81cf034a1 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages ibus) #:use-module (gnu packages inkscape) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) @@ -541,7 +542,7 @@ copy, move, delete, or edit your files.") (define-public gnome-shell-extension-unite-shell (package (name "gnome-shell-extension-unite-shell") - (version "69") + (version "72") ;Listed as compatible on extensions.gnome.org (source (origin (method git-fetch) (uri (git-reference @@ -550,7 +551,7 @@ copy, move, delete, or edit your files.") (file-name (git-file-name name version)) (sha256 (base32 - "10yh6ylyp43ykcza180iak08wfypay3raqf3p0vrj9ngm98qzq70")))) + "006m54ribfbqij0p3zzglzqjw1rbvw0f9468j7p6zdaf43vdvhgc")))) (build-system copy-build-system) (native-inputs (list `(,glib "bin") gettext-minimal)) (inputs (list xprop)) @@ -579,7 +580,7 @@ Ubuntu Unity Shell.") (define-public gnome-shell-extension-appindicator (package (name "gnome-shell-extension-appindicator") - (version "42") + (version "53") (source (origin (method git-fetch) (uri (git-reference @@ -588,7 +589,7 @@ Ubuntu Unity Shell.") (commit (string-append "v" version)))) (sha256 (base32 - "1lf3aqb924nzhj87rhy2zvm5pcfqcklhfw21m6ic3i7wzd9r7cnc")) + "0lyfznsq5x287vpz133y593s7s4mz9i4x2491sgqvir891zwsivy")) (file-name (git-file-name name version)))) (build-system meson-build-system) (native-inputs (list jq gnu-gettext @@ -603,7 +604,7 @@ GNOME Shell.") (define-public gnome-shell-extension-clipboard-indicator (package (name "gnome-shell-extension-clipboard-indicator") - (version "42") + (version "47") (source (origin (method git-fetch) (uri (git-reference @@ -615,7 +616,7 @@ GNOME Shell.") (file-name (git-file-name name version)) (sha256 (base32 - "0wf2k33pbwjdf8i4y3aw32fgvjbh751qh7504lwhnl02rcq5dc88")) + "00v0v454y6hblzsx06aaysxbs6aky89vnkf7ydzxrddns24c2wix")) (modules '((guix build utils))) (snippet ;; Remove pre-compiled settings schemas and translations from @@ -628,15 +629,16 @@ GNOME Shell.") (find-files "locale" "\\.mo$")))))) (build-system copy-build-system) (arguments - '(#:install-plan - '(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com" - #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$"))) - #:phases - (modify-phases %standard-phases - (add-before 'install 'compile-schemas - (lambda _ - (with-directory-excursion "schemas" - (invoke "glib-compile-schemas" "."))))))) + (list + #:install-plan + #~'(("." "share/gnome-shell/extensions/clipboard-indicator@tudmotu.com" + #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.mo$" "\\.xml$"))) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'compile-schemas + (lambda _ + (with-directory-excursion "schemas" + (invoke "glib-compile-schemas" "."))))))) (native-inputs (list `(,glib "bin") gettext-minimal)) (home-page "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator") @@ -648,7 +650,7 @@ that caches clipboard history.") (define-public gnome-shell-extension-customize-ibus (package (name "gnome-shell-extension-customize-ibus") - (version "82") + (version "86") (source (origin (method git-fetch) @@ -657,21 +659,23 @@ that caches clipboard history.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "00brnyahphl4ql9yh74wpb9kmzyb4b5k4rkw40hvxvqw4qwgs24r")))) + (base32 "1psnbhqbqrp68dri0q98y7ikwz9z3701lcy8vvgixb2bh71y7519")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (list (string-append "VERSION=" ,version) - (string-append "INSTALLBASE=" (assoc-ref %outputs "out") - "/share/gnome-shell/extensions")) + (list + #:make-flags + #~(list (string-append "VERSION=" #$version) + (string-append "INSTALLBASE=" #$output + "/share/gnome-shell/extensions")) #:tests? #f ; No test target #:phases - (modify-phases %standard-phases + #~(modify-phases %standard-phases (delete 'bootstrap) (delete 'configure)))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin"))) + (list gettext-minimal `(,glib "bin"))) + (propagated-inputs + (list ibus)) (home-page "https://github.com/openSUSE/Customize-IBus") (synopsis "GNOME Shell Extension for IBus Customization") (description "Customize IBus provides full customization of appearance, @@ -679,50 +683,13 @@ behavior, system tray and input source indicator for IBus.") (license license:gpl3+))) (define-public gnome-shell-extension-topicons-redux - (package - (name "gnome-shell-extension-topicons-redux") - (version "6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/pop-planet/TopIcons-Redux.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1dli9xb545n3xlj6q4wl0y5gzkm903zs47p8fiq71pdvbr6v38rj")))) - (build-system gnu-build-system) - (native-inputs - (list `(,glib "bin"))) - (arguments - `(#:tests? #f ;no test defined in the project - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" - "install" - (string-append - "INSTALL_PATH=" - out - "/share/gnome-shell/extensions")))))))) - (home-page "https://gitlab.com/pop-planet/TopIcons-Redux") - (synopsis "Display legacy tray icons in the GNOME Shell top panel") - (description "Many applications, such as chat clients, downloaders, and -some media players, are meant to run long-term in the background even after you -close their window. These applications remain accessible by adding an icon to -the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME -3.26. TopIcons Redux brings those icons back into the top panel so that it's -easier to keep track of applications running in the background.") - (license license:gpl2+))) + (deprecated-package "gnome-shell-extension-topicons-redux" + gnome-shell-extension-appindicator)) (define-public gnome-shell-extension-dash-to-dock (package (name "gnome-shell-extension-dash-to-dock") - (version "73") + (version "79") (source (origin (method git-fetch) (uri (git-reference @@ -731,23 +698,25 @@ easier to keep track of applications running in the background.") version)))) (sha256 (base32 - "1l0isbrgfc8v46l1yc5l4myz7qnlxzyfyiifipp86z9d79d8klzw")) + "0fsfhgpg8441x28jzhjspb9i9c5502c2fcgdvfggcsmz0sf3v95y")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:tests? #f - #:make-flags (list (string-append "INSTALLBASE=" - (assoc-ref %outputs "out") - "/share/gnome-shell/extensions")) - #:phases - (modify-phases %standard-phases - (delete 'bootstrap) - (delete 'configure)))) + (list + #:tests? #f + #:make-flags #~(list (string-append "INSTALLBASE=" + #$output + "/share/gnome-shell/extensions")) + #:phases + #~(modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure)))) (native-inputs - `(("glib:bin" ,glib "bin") - ("intltool" ,intltool) - ("pkg-config" ,pkg-config) - ("sassc" ,sassc))) + (list + `(,glib "bin") + intltool + pkg-config + sassc)) (propagated-inputs (list glib)) (synopsis "Transforms GNOME's dash into a dock") @@ -760,7 +729,7 @@ faster window switching.") (define-public gnome-shell-extension-gsconnect (package (name "gnome-shell-extension-gsconnect") - (version "50") ; See GNOME Shell supported versions in metadata.json + (version "55") (source (origin (method git-fetch) (uri (git-reference @@ -770,77 +739,77 @@ faster window switching.") (file-name (git-file-name name version)) (sha256 (base32 - "0vg87fdihs5kp7apgyd32ldjmwzmrxaimsc005yjyy8m3f65sjmr")))) + "158qbjl6m807g0fy15dvhwwwy6z8r0g7kh9gjyhm7n3y14v5p8wz")))) (build-system meson-build-system) (arguments - `(#:tests? #f ;; every test fails - #:configure-flags - (let* ((out (assoc-ref %outputs "out")) - (name+version (strip-store-file-name out)) - (gschema-dir (string-append out - "/share/gsettings-schemas/" - name+version - "/glib-2.0/schemas")) - (gnome-shell (assoc-ref %build-inputs "gnome-shell")) - (openssh (assoc-ref %build-inputs "openssh")) - (openssl (assoc-ref %build-inputs "openssl"))) - (list - (string-append "-Dgnome_shell_libdir=" gnome-shell "/lib") - (string-append "-Dgsettings_schemadir=" gschema-dir) - (string-append "-Dopenssl_path=" openssl "/bin/openssl") - (string-append "-Dsshadd_path=" openssh "/bin/ssh-add") - (string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen") - (string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services") - "-Dpost_install=true")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let* ((glib (assoc-ref inputs "glib:bin")) - (gapplication (string-append glib "/bin/gapplication")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) - (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop.in" - (("gapplication") gapplication)) - (for-each - (lambda (file) - (substitute* file - (("'use strict';") - (string-append "'use strict';\n\n" - "'" gi-typelib-path "'.split(':').forEach(" - "path => imports.gi.GIRepository.Repository." - "prepend_search_path(path));")))) - '("src/extension.js" "src/prefs.js")) - #t))) - (add-after 'install 'wrap-daemons - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (service-dir - (string-append out "/share/gnome-shell/extensions" - "/gsconnect@andyholmes.github.io/service")) + (list + #:tests? #f ;; every test fails + #:configure-flags + #~(let ((out #$output) + (gnome-shell #$(this-package-input "gnome-shell")) + (openssh #$(this-package-input "openssh")) + (openssl #$(this-package-input "openssl"))) + (list + (string-append "-Dgnome_shell_libdir=" gnome-shell "/lib") + (string-append "-Dopenssl_path=" openssl "/bin/openssl") + (string-append "-Dsshadd_path=" openssh "/bin/ssh-add") + (string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen") + (string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-post-installation + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("update_desktop_database: true") + "update_desktop_database: false")))) + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((gapplication (search-input-file inputs "/bin/gapplication")) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) - (wrap-program (string-append service-dir "/daemon.js") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))) - #t)))))) + (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop.in" + (("gapplication") gapplication)) + (for-each + (lambda (file) + (substitute* file + (("'use strict';") + (string-append "'use strict';\n\n" + "'" gi-typelib-path "'.split(':').forEach(" + "path => imports.gi.GIRepository.Repository." + "prepend_search_path(path));")))) + '("src/extension.js" "src/prefs.js"))))) + (add-after 'install 'wrap-daemons + (lambda _ + (let* ((out #$output) + (service-dir + (string-append out "/share/gnome-shell/extensions" + "/gsconnect@andyholmes.github.io/service")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (wrap-program (string-append service-dir "/daemon.js") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))))))) (inputs - `(("at-spi2-core" ,at-spi2-core) - ("caribou" ,caribou) - ("evolution-data-server" ,evolution-data-server) - ("gjs" ,gjs) - ("glib" ,glib) - ("glib:bin" ,glib "bin") - ("gsound" ,gsound) - ("gnome-shell" ,gnome-shell) - ("gtk+" ,gtk+) - ("nautilus" ,nautilus) - ("openssh" ,openssh) - ("openssl" ,openssl) - ("python-pygobject" ,python-pygobject) - ("upower" ,upower))) + (list + at-spi2-core + caribou + evolution-data-server + gjs + glib + `(,glib "bin") ;for /bin/gapplication + gsound + gnome-shell + gtk+ + nautilus + openssh + openssl + python-pygobject + upower)) (native-inputs - `(("gettext" ,gettext-minimal) - ("gobject-introspection" ,gobject-introspection) - ("libxml2" ,libxml2) - ("pkg-config" ,pkg-config))) + (list + gettext-minimal + gobject-introspection + libxml2 + pkg-config)) (home-page "https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki") (synopsis "Connect GNOME Shell with your Android phone") (description "GSConnect is a complete implementation of KDE Connect @@ -849,58 +818,10 @@ notifications or files, and other features like SMS messaging and remote control.") (license license:gpl2))) -(define-public gnome-shell-extension-hide-app-icon - (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab") - (revision "0")) - (package - (name "gnome-shell-extension-hide-app-icon") - (version (git-version "2.7" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url (string-append "https://github.com/michael-rapp" - "/gnome-shell-extension-hide-app-icon.git")) - (commit commit))) - (sha256 - (base32 - "1i28n4bz6wrhn07vpxkr6l1ljyn7g8frp5xrr11z3z32h2hxxcd6")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no test target - #:make-flags (list (string-append "EXTENSIONS_DIR=" - (assoc-ref %outputs "out") - "/share/gnome-shell/extensions")) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (pre "/share/gnome-shell/extensions/") - (dir "hide-app-icon@mrapp.sourceforge.com")) - (copy-recursively dir (string-append out pre dir)) - #t)))))) - (native-inputs - (list `(,glib "bin") intltool)) - (propagated-inputs - (list glib)) - (synopsis "Hide app icon from GNOME's panel") - (description "This extension hides the icon and/or title of the -currently focused application in the top panel of the GNOME shell.") - (home-page - "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/") - (license - ;; README.md and LICENSE.txt disagree -- the former claims v3, the - ;; latter v2. No mention of "or later" in either place or in the code. - (list license:gpl2 - license:gpl3))))) - (define-public gnome-shell-extension-just-perfection (package (name "gnome-shell-extension-just-perfection") - (version "22.0") + (version "26.0") (source (origin (method git-fetch) (uri (git-reference @@ -909,36 +830,37 @@ currently focused application in the top panel of the GNOME shell.") (file-name (git-file-name name version)) (sha256 (base32 - "0r4rflppcp05kwhzmh07dzi7znc4kch4nc8mzw61arj3qsfq2qqj")))) + "0dvq2mb04b557g9nz4pm90x2c2jc1dwwbg2is1gkx38yk0dsj6r3")))) (build-system copy-build-system) (arguments - `(#:install-plan - '(("src" - "share/gnome-shell/extensions/just-perfection-desktop@just-perfection" - #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.ui$")) - ("locale" - "share/gnome-shell/extensions/just-perfection-desktop@just-perfection/")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'drop-executable-bits - (lambda _ - (for-each - (lambda (file) - (let ((stat (lstat file))) - (chmod file (logand (stat:mode stat) (lognot #o111))))) - (find-files "." #:directories? #f)))) - (add-before 'install 'build - (lambda _ - (invoke "glib-compile-schemas" "src/schemas") - (for-each - (lambda (file) - (let* ((base (basename file)) - (noext (substring base 0 (- (string-length base) 3))) - (dest (string-append "locale/" noext "/LC_MESSAGES/")) - (out (string-append dest "just-perfection.mo"))) - (mkdir-p dest) - (invoke "msgfmt" "-c" file "-o" out))) - (find-files "po" "\\.po$"))))))) + (list + #:install-plan + #~'(("src" + "share/gnome-shell/extensions/just-perfection-desktop@just-perfection" + #:include-regexp ("\\.css$" "\\.compiled$" "\\.js(on)?$" "\\.ui$")) + ("locale" + "share/gnome-shell/extensions/just-perfection-desktop@just-perfection/")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'drop-executable-bits + (lambda _ + (for-each + (lambda (file) + (let ((stat (lstat file))) + (chmod file (logand (stat:mode stat) (lognot #o111))))) + (find-files "." #:directories? #f)))) + (add-before 'install 'build + (lambda _ + (invoke "glib-compile-schemas" "src/schemas") + (for-each + (lambda (file) + (let* ((base (basename file)) + (noext (substring base 0 (- (string-length base) 3))) + (dest (string-append "locale/" noext "/LC_MESSAGES/")) + (out (string-append dest "just-perfection.mo"))) + (mkdir-p dest) + (invoke "msgfmt" "-c" file "-o" out))) + (find-files "po" "\\.po$"))))))) (native-inputs (list `(,glib "bin") gettext-minimal)) (home-page "https://gitlab.gnome.org/jrahmatzadeh/just-perfection") @@ -948,10 +870,14 @@ GNOME Shell itself does not provide out of the box, such as the ability to hide certain elements or change animation speeds.") (license license:gpl3))) +(define-public gnome-shell-extension-hide-app-icon + (deprecated-package "gnome-shell-extension-hide-app-icon" + gnome-shell-extension-just-perfection)) + (define-public gnome-shell-extension-dash-to-panel (package (name "gnome-shell-extension-dash-to-panel") - (version "56") + (version "56") ;Compatible with GNOME 44 (source (origin (method git-fetch) (uri (git-reference @@ -963,22 +889,24 @@ certain elements or change animation speeds.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:tests? #f - #:make-flags (list (string-append "INSTALLBASE=" - (assoc-ref %outputs "out") - "/share/gnome-shell/extensions") - (string-append "VERSION=" - ,(package-version - gnome-shell-extension-dash-to-panel))) + (list + #:tests? #f + #:make-flags #~(list (string-append "INSTALLBASE=" + #$output + "/share/gnome-shell/extensions") + (string-append "VERSION=" + #$version)) #:phases - (modify-phases %standard-phases - (delete 'bootstrap) - (delete 'configure)))) + #~(modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure)))) (native-inputs - (list intltool pkg-config)) + (list + `(,glib "bin") + intltool + pkg-config)) (propagated-inputs - (list glib - `(,glib "bin"))) + (list glib)) (synopsis "Icon taskbar for GNOME Shell") (description "This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined @@ -987,26 +915,33 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.") (license license:gpl2+))) (define-public gnome-shell-extension-noannoyance - (let ((revision "1") - (commit "b759d10fd2799bc084007fdd927b62637c3dbd2c")) + ;; There are different forks of the NoAnnoyance extension. This is the one + ;; named “NoAnnoyance (fork)” at + ;; https://extensions.gnome.org/extension/6109/noannoyance-fork/ because it + ;; supports newer GNOME Shell versions than the previously used “NoAnnoyance + ;; v2”. + (let ((commit "5e9e6a1878d2a1d961f5d59505f15339c5b7e17e") + ;; “NoAnnoyance v2” version 17 correlates with + ;; c6804a47063659f9f48d13a0942b78ce98aac72b, from which we count + ;; commits. + (revision "6")) (package (name "gnome-shell-extension-noannoyance") - ;; XXX: There is no version noted anywhere in the source. Thus, infer it - ;; from <https://extensions.gnome.org/extension/2182/noannoyance/>. - (version (git-version "16" revision commit)) + (version (git-version "17" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/bdaase/noannoyance") + (url "https://github.com/jirkavrba/noannoyance") (commit commit))) (sha256 (base32 - "0hh7fdqvx54h9j41ia2jl0nq1d5i66k7blw41ya6hkh7201r4anp")) + "0br9zrwvn499kh3db84hhw1kl02jpchwb5ldfp892p15vwih8yrf")) (file-name (git-file-name name version)))) (build-system copy-build-system) (arguments - '(#:install-plan - '(("." "share/gnome-shell/extensions/noannoyance@daase.net")))) + (list + #:install-plan + #~'(("." "share/gnome-shell/extensions/noannoyance@vrba.dev")))) (synopsis "Remove 'Window is ready' annotation") (description "One of the many extensions that remove this message. It uses ES6 syntax and claims to be more actively maintained than others.") @@ -1053,7 +988,7 @@ notebooks and tiling window managers.") (define-public gnome-shell-extension-night-theme-switcher (package (name "gnome-shell-extension-night-theme-switcher") - (version "65") + (version "74") (source (origin (method git-fetch) @@ -1062,7 +997,7 @@ notebooks and tiling window managers.") "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension") (commit version))) (sha256 - (base32 "0qhi2g2lh6m8vhrmmfi60977f0i4k9x1zj68lrvpzzlqndz8cgh9")) + (base32 "1hiydjyn7shc32i81r70sqip9p3hhig7pqq1h7hsz9bc4qlyri7b")) (file-name (git-file-name name version)))) (build-system meson-build-system) (native-inputs (list pkg-config (list glib "bin"))) @@ -1090,7 +1025,7 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.") (search-patches "gpaste-fix-paths.patch")))) (build-system meson-build-system) (native-inputs - (list gcr + (list gcr-3 gettext-minimal gobject-introspection (list glib "bin") ; for glib-compile-resources @@ -1134,91 +1069,50 @@ store an history of everything you do, so that you can get back to older copies you now want to paste.") (license license:bsd-2))) -(define-public gnome-shell-extension-vertical-overview +(define-public gnome-shell-extension-v-shell (package - (name "gnome-shell-extension-vertical-overview") - (version "10") + (name "gnome-shell-extension-v-shell") + (version "37") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RensAlthuis/vertical-overview") + (url "https://github.com/G-dH/vertical-workspaces") (commit (string-append "v" version)))) (sha256 (base32 - "1sqkbg93qqrq47wyfnh2flg7dpsmv5c2pmkx8kgqhnbl7j2kgi0l")) - (file-name (git-file-name name version)) - (snippet - '(begin (delete-file "schemas/gschemas.compiled"))))) + "1h9f3g1dswxkka0yyj51610w86mwl46ylch19b51gj5mmxlyvzlv")) + (file-name (git-file-name name version)))) (build-system copy-build-system) (arguments - `(#:install-plan - '(("." ,(string-append - "share/gnome-shell/extensions/" - "vertical-overview@RensAlthuis.github.com") - #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" - "\\.xml$" "\\.compiled$"))) - #:phases - (modify-phases %standard-phases - (add-before 'install 'compile-schemas - (lambda _ - (with-directory-excursion "schemas" - (invoke "glib-compile-schemas" "."))))))) + (list + #:install-plan + #~'(("." #$(string-append + "share/gnome-shell/extensions/" + "vertical-workspaces@G-dH.github.com") + #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" + "\\.xml$" "\\.compiled$" "\\.gresource$"))) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'build + (lambda _ + (invoke "make" "all")))))) (native-inputs - (list `(,glib "bin"))) ; for glib-compile-resources - (home-page "https://github.com/RensAlthuis/vertical-overview") - (synopsis "Provides a vertical overview in Gnome 40 and upper") - (description "This Gnome extension replaces the new horizontally oriented -Gnome overview with something that resembles the old vertically oriented -style.") + (list gettext-minimal `(,glib "bin"))) + (home-page "https://github.com/G-dH/vertical-workspaces") + (synopsis "Shell configuration with horizontal or vertical workspaces") + (description "V-Shell (Vertical Workspaces) lets the user configure different parts of the +shell, including panels, corners, workspaces.") (license license:gpl3))) -(define-public gnome-shell-extension-jiggle - (package - (name "gnome-shell-extension-jiggle") - (version "8") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jeffchannell/jiggle/") - (commit version))) - (sha256 - (base32 - "1wbdx2bp22bdwj51ckgivwglkmckr7z8kfwvc8nv4y376hjz5jxz")) - (file-name (git-file-name name version)) - (snippet - '(begin (delete-file "schemas/gschemas.compiled"))))) - (build-system copy-build-system) - (arguments - `(#:install-plan - '(("." ,(string-append - "share/gnome-shell/extensions/" - "jiggle@jeffchannell.com") - #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" - "\\.xml$" "\\.compiled$"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-version - (lambda _ - (substitute* "metadata.json" - (("\"40.0\"") "\"40\", \"41\"")))) - (add-before 'install 'compile-schemas - (lambda _ - (with-directory-excursion "schemas" - (invoke "glib-compile-schemas" "."))))))) - (native-inputs - (list `(,glib "bin"))) ; for glib-compile-resources - (home-page "https://github.com/jeffchannell/jiggle") - (synopsis "Mouse cursor enlargement for small and fast movements") - (description "Jiggle is a Gnome Shell extension that highlights the cursor -position when the mouse is moved rapidly.") - (license license:gpl2))) +(define-public gnome-shell-extension-vertical-overview + (deprecated-package "gnome-shell-extension-vertical-overview" + gnome-shell-extension-v-shell)) (define-public gnome-shell-extension-burn-my-windows (package (name "gnome-shell-extension-burn-my-windows") - (version "22") + (version "40") (source (origin (method git-fetch) @@ -1227,25 +1121,26 @@ position when the mouse is moved rapidly.") (commit (string-append "v" version)))) (sha256 (base32 - "185xrf330d9bflmk0l61cnzlylnppb2v4yz6v6ygkk4zpwyil8np")) + "16n6ilszdn67835clqlr4flna69x9k00k5qrm55765dv2ny9jdcq")) (file-name (git-file-name name version)))) (build-system copy-build-system) (arguments - `(#:install-plan - '(("." ,(string-append - "share/gnome-shell/extensions/" - "burn-my-windows@schneegans.github.com") - #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" - "\\.xml$" "\\.compiled$" "\\.gresource$"))) - #:phases - (modify-phases %standard-phases - (add-before 'install 'compile-resources - (lambda _ - (invoke "make" "resources/burn-my-windows.gresource"))) - (add-before 'install 'compile-schemas - (lambda _ - (with-directory-excursion "schemas" - (invoke "glib-compile-schemas" "."))))))) + (list + #:install-plan + #~'(("." #$(string-append + "share/gnome-shell/extensions/" + "burn-my-windows@schneegans.github.com") + #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" + "\\.xml$" "\\.compiled$" "\\.gresource$"))) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'compile-resources + (lambda _ + (invoke "make" "resources/burn-my-windows.gresource"))) + (add-before 'install 'compile-schemas + (lambda _ + (with-directory-excursion "schemas" + (invoke "glib-compile-schemas" "."))))))) (native-inputs (list `(,glib "bin"))) ; for glib-compile-resources (home-page "https://github.com/Schneegans/Burn-My-Windows") @@ -1257,7 +1152,7 @@ animation of closing windowed applications.") (define-public gnome-shell-extension-blur-my-shell (package (name "gnome-shell-extension-blur-my-shell") - (version "44") + (version "47") (source (origin (method git-fetch) @@ -1267,7 +1162,7 @@ animation of closing windowed applications.") (file-name (git-file-name name version)) (sha256 (base32 - "0h7yfvrrg5r821mzrp42c09jws06mw6v9avvkfykqj8n8qnslmyx")))) + "1a8prh6893zk8rnfi9q7waga2x7kx564jzmsdyhiffdbazbv8p6y")))) (build-system copy-build-system) (arguments '(#:install-plan @@ -1296,7 +1191,7 @@ GNOME Shell, including the top panel, dash and overview.") (define-public gnome-shell-extension-radio (package (name "gnome-shell-extension-radio") - (version "20") + (version "21") (source (origin (method git-fetch) (uri (git-reference @@ -1306,7 +1201,7 @@ GNOME Shell, including the top panel, dash and overview.") (file-name (git-file-name name version)) (sha256 (base32 - "01dmziad9g7bs3hr59aaz3mivkc6rqfyb9bz2v202zk22vcr5a2y")))) + "1ghk95q3lhliz3his58hh2ql4p9csh6llzip412vwf29zdkr58s2")))) (build-system copy-build-system) (arguments (list @@ -1325,69 +1220,6 @@ GNOME Shell, including the top panel, dash and overview.") directly inside GNOME Shell. It can manage stations and play streams.") (license license:gpl3+))) -(define-public gnome-shell-extension-sound-output-device-chooser - (package - (name "gnome-shell-extension-sound-output-device-chooser") - (version "43") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kgshank/gse-sound-output-device-chooser") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qk6ypyqbv8zwwlky6cgk9hgp1zh32jmzw4wza200g4v94ifkwm9")))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ; no check target - #:make-flags #~(list (string-append "INSTALL_DIR=" - #$output - "/share/gnome-shell/extensions")) - #:phases - #~(modify-phases %standard-phases (delete 'configure)))) - (native-inputs (list gettext-minimal `(,glib "bin"))) - (inputs (list python)) - (home-page - "https://extensions.gnome.org/extension/906/sound-output-device-chooser") - (synopsis "Sound output chooser for GNOME Shell") - (description "This extension shows a list of sound output and input devices -in the status menu below the volume slider. Various active ports like HDMI, -Speakers etc. of the same device are also displayed for selection.") - (license license:gpl3+))) - -(define-public gnome-shell-extension-transparent-window - (let ((commit "cc9bc70c192dd565fa6f1d1b28d9a20f99684f2a") - (revision "45")) - (package - (name "gnome-shell-extension-transparent-window") - (version (git-version "0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url (string-append "https://github.com/pbxqdown/" - "gnome-shell-extension-transparent-window")) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1f9iqqjpmmylqz0ws8cy5rs475bwzi7jy44q9ip44ig2acz2wxzp")))) - (build-system copy-build-system) - (arguments - (list - #:install-plan - #~'(("." - #$(string-append "/share/gnome-shell/extensions" - "/transparent-window@pbxqdown.github.com"))))) - (home-page - "https://github.com/pbxqdown/gnome-shell-extension-transparent-window") - (synopsis "Change the opacity of windows in GNOME Shell") - (description "This extension adds keybindings to change the opacity -of windows.") - (license license:expat)))) (define-public gnome-shell-extension-vitals (package @@ -1707,7 +1539,7 @@ that are completely black and completely white.") (define-public eiciel (package (name "eiciel") - (version "0.9.13.1") + (version "0.10.0") (source (origin (method git-fetch) (uri (git-reference @@ -1716,19 +1548,27 @@ that are completely black and completely white.") (file-name (git-file-name name version)) (sha256 (base32 - "0rhhw0h1hyg5kvxhjxkdz03vylgax6912mg8j4lvcz6wlsa4wkvj")))) + "0lhnrxhbg80pqjy9f8yiqi7x48rb6m2cmkffv25ssjynsmdnar0s")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:tests? #f ; no tests - #:configure-flags - (list (string-append "-Dnautilus-extension-dir=" - (assoc-ref %outputs "out") - "/lib/nautilus/site-extensions")))) + (list + #:glib-or-gtk? #t + #:tests? #f ; no tests + #:configure-flags + #~(list (string-append "-Dnautilus-extension-dir=" + #$output + "/lib/nautilus/site-extensions")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache : true") + "gtk_update_icon_cache : false"))))))) (native-inputs - (list gettext-minimal pkg-config)) + (list gettext-minimal `(,glib "bin") itstool pkg-config)) (inputs - (list acl attr glibmm-2.64 gtkmm-3 nautilus)) + (list acl attr glibmm gtkmm nautilus)) (home-page "https://rofi.roger-ferrer.org/eiciel") (synopsis "Manage extended file attributes") (description "Eiciel is a plugin for nautilus to graphically edit ACL and @@ -1790,7 +1630,7 @@ track stocks, currencies and cryptocurrencies.") ;; Note to maintainer: VLS must be built with a Vala toolchain the same ;; version or newer. Therefore when you update this package you may need ;; to update Vala too. - (version "0.48.3") + (version "0.48.7") (source (origin (method git-fetch) (uri (git-reference @@ -1798,7 +1638,7 @@ track stocks, currencies and cryptocurrencies.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gnvc91gdp3wj9r3r3xxfr09f9lw39cfypn2q5f0443dhhmp059j")))) + (base32 "1ini6nd5yim6mql13b9mb15gs02gm08x7zphd0vlv9jxl2646pjn")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (inputs diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 06256066bc..42f758f8d8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -77,6 +77,7 @@ ;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> ;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2024 Dariqq <dariqq@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,6 +96,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages) + #:use-module (gnu packages accessibility) #:use-module (gnu packages admin) #:use-module (gnu packages aidc) #:use-module (gnu packages aspell) @@ -146,6 +148,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages hardware) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages ibus) #:use-module (gnu packages icu4c) @@ -212,6 +215,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages swig) + #:use-module (gnu packages telephony) #:use-module (gnu packages tex) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -234,6 +238,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -813,7 +818,7 @@ tomorrow, the rest of the week and for special occasions.") (define-public gnome-photos (package (name "gnome-photos") - (version "43.beta") ;for geocode-glib 2 support + (version "44.0") (source (origin (method url-fetch) @@ -823,7 +828,7 @@ tomorrow, the rest of the week and for special occasions.") name "-" version ".tar.xz")) (sha256 (base32 - "1pry45dy4sjw8y63vxw2b499brcxzpkd4hmg2vbqy538r79ah2g9")))) + "17l2bkdg8iracgw2mgx5vqfs3d6cdvd22mfdqq4jiinkjw1j33p7")))) (build-system meson-build-system) (arguments (list @@ -856,6 +861,7 @@ tomorrow, the rest of the week and for special occasions.") pkg-config)) (inputs (list babl + bash-minimal cairo gegl-0.4.44 geocode-glib @@ -887,7 +893,7 @@ cloud integration is offered through GNOME Online Accounts.") (define-public gnome-music (package (name "gnome-music") - (version "42.1") + (version "44.0") (source (origin (method url-fetch) @@ -897,35 +903,36 @@ cloud integration is offered through GNOME Online Accounts.") name "-" version ".tar.xz")) (sha256 (base32 - "0w42xnp6xy3sfakb4s0wq7xfg7p507whz5gzss5b2mkbm2k7yx67")))) + "0l8xiw1nv8agskrpgiyr7kinna3gms1hv5d64hh4fqifaz4smlcv")))) (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.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false")))) - (add-after 'install 'wrap-gnome-music - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* - ((out (assoc-ref outputs "out")) - (pylib (string-append out "/lib/python" - ,(version-major+minor - (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"))) - `("GUIX_PYTHONPATH" = - (,(getenv "GUIX_PYTHONPATH") ,pylib))))))))) + (list + #: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.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (add-after 'install 'wrap-gnome-music + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pylib (string-append out "/lib/python" + #$(version-major+minor + (package-version + (this-package-input "python"))) + "/site-packages"))) + (wrap-program (string-append out "/bin/gnome-music") + `("GI_TYPELIB_PATH" = + (,(getenv "GI_TYPELIB_PATH"))) + `("GST_PLUGIN_SYSTEM_PATH" suffix + (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) + `("GRL_PLUGIN_PATH" = + (,(getenv "GRL_PLUGIN_PATH"))) + `("GUIX_PYTHONPATH" = + (,(getenv "GUIX_PYTHONPATH") ,pylib))))))))) (native-inputs (list desktop-file-utils gettext-minimal @@ -934,7 +941,8 @@ cloud integration is offered through GNOME Online Accounts.") itstool pkg-config)) (inputs - (list gnome-online-accounts + (list bash-minimal + gnome-online-accounts grilo grilo-plugins gst-plugins-base @@ -946,7 +954,7 @@ cloud integration is offered through GNOME Online Accounts.") libadwaita libdazzle libmediaart - libsoup-minimal-2 + libsoup python-pycairo python-pygobject python @@ -1136,7 +1144,7 @@ as a \"boring window manager for the adult in you.\"") (define-public mm-common (package (name "mm-common") - (version "1.0.3") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/mm-common/" @@ -1144,26 +1152,21 @@ as a \"boring window manager for the adult in you.\"") "mm-common-" version ".tar.xz")) (sha256 (base32 - "1x8yvjy0yg17qyhmqws8xh2k8dvzrhpwqz7j1cfwzalrb1i9c5g8")) - (patches - (search-patches - "mm-common-reproducible-tarball.patch")))) + "1rv211kalivq8zlq7s7bd3dhm4f33jhrwf1vxrfbrnmwgl1lcp5m")))) (build-system meson-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "util/mm-common-prepare.in" - (("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")))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "util/mm-common-prepare.in" + (("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) - ("pkg-config" ,pkg-config) - ("sed" ,sed))) + (list coreutils gettext-minimal pkg-config sed)) (inputs (list python)) (synopsis "Module of GNOME C++ bindings") @@ -1330,7 +1333,7 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") (define-public gssdp (package (name "gssdp") - (version "1.5.2") + (version "1.6.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1338,13 +1341,16 @@ It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") name "-" version ".tar.xz")) (sha256 (base32 - "07hn2xma2yh17v7rlvcaibkn16bx4l9qig3mlb8hdp6qfiraqh7b")))) + "0iil7wgix0nzhf3i2w6g1wjqly49r9rsffca97ai9kr2vfpvbv9g")))) (build-system meson-build-system) + (arguments + (list #:configure-flags #~'("-Dgtk_doc=true"))) (native-inputs (list gettext-minimal `(,glib "bin") gi-docgen gobject-introspection + pandoc pkg-config vala)) (inputs @@ -1379,7 +1385,7 @@ a debugging tool, @command{gssdp-device-sniffer}.") (define-public gupnp (package (name "gupnp") - (version "1.5.4") + (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1387,17 +1393,20 @@ a debugging tool, @command{gssdp-device-sniffer}.") name "-" version ".tar.xz")) (sha256 (base32 - "0y0v0m6afnx879hjvhj2lrawp9qhpyp8mbds0yp544imghajk0wq")))) + "0kx0ymsab4x927ir2a5f7mfk9sck5kswbig6n38r4dwbqzl51p69")))) (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))))))) + (list + #:configure-flags #~'("-Dgtk_doc=true") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a writable HOME. + (setenv "HOME" (getcwd))))))) (native-inputs (list gettext-minimal + gi-docgen `(,glib "bin") gobject-introspection gtk-doc/stable @@ -1526,7 +1535,7 @@ extraction, and lookup for applications on the desktop.") (define-public gnome-initial-setup (package (name "gnome-initial-setup") - (version "42.2") + (version "44.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-initial-setup/" @@ -1534,7 +1543,7 @@ extraction, and lookup for applications on the desktop.") "/gnome-initial-setup-" version ".tar.xz")) (sha256 (base32 - "0yxy39a7d2whphd0jskvra5q8zy4v7m7lziy5fxibgls4j5xk0sd")))) + "0y61y3rvz1hqmhjxl9mjwxcdvdxslyaghajav6l79a9yxi859508")))) (build-system meson-build-system) (arguments (list @@ -1558,28 +1567,27 @@ extraction, and lookup for applications on the desktop.") pkg-config)) (inputs (list accountsservice - cheese elogind gdm geoclue gnome-desktop - gnome-online-accounts-3.44 + gnome-online-accounts gstreamer ibus json-glib mit-krb5 + libadwaita libgnomekbd - libgweather4-with-libsoup2 - libhandy + libgweather4 libnma libpwquality libsecret network-manager packagekit polkit - rest + rest-next upower - webkitgtk-with-libsoup2)) + webkitgtk)) (synopsis "Initial setup wizard for GNOME desktop") (description "This package provides a set-up wizard when a user logs into GNOME for the first time. It typically provides a @@ -1622,7 +1630,7 @@ sharing to the masses.") (define-public sushi (package (name "sushi") - (version "42.0") + (version "44.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1630,21 +1638,22 @@ sharing to the masses.") name "-" version ".tar.xz")) (sha256 (base32 - "0848gidl0ab8i5pa70mv8jzchmd9kqa8sn1lg977hyasyixdpn25")))) + "1sa3x8w8fhjj641yx5praabkqxfdsnafqnlb8jx2g451mvh2y03c")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'glib-or-gtk-wrap 'wrap-typelib - (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. - (wrap-program prog - `("GI_TYPELIB_PATH" suffix - (,(getenv "GI_TYPELIB_PATH")))))))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'wrap-typelib + (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. + (wrap-program prog + `("GI_TYPELIB_PATH" suffix + (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs (list `(,glib "bin") gettext-minimal @@ -1677,7 +1686,7 @@ to preview files on the GNOME desktop.") (define-public rygel (package (name "rygel") - (version "0.41.2") + (version "0.42.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1685,12 +1694,12 @@ to preview files on the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0wivd60hn115ar3hsrsa595kpxzp8gwq30ksh32qlq8j9dhlq65i")))) + "17yqnw802vp92cs7ci7kjrixbj446gcriai2dggal4375qnn0cqi")))) (build-system meson-build-system) (arguments ;; Disable the tracker plugin. - '(#:configure-flags - (list "-Dplugins=external,gst-launch,lms,media-export, + (list #:configure-flags + #~(list "-Dplugins=external,gst-launch,lms,media-export, mpris,playbin,ruih,tracker3"))) (native-inputs (list gettext-minimal @@ -1720,6 +1729,9 @@ mpris,playbin,ruih,tracker3"))) libxslt libunistring tracker)) + (propagated-inputs + ;; The .pc files require.private gmodule-2.0 + (list glib)) (synopsis "Share audio, video, and pictures with other devices") (description "Rygel is a home media solution (@dfn{UPnP AV MediaServer and @@ -1777,7 +1789,7 @@ client devices can handle.") pkg-config vala)) (inputs - (list gcr + (list gcr-3 (if (supported-package? gtk) gtk gtk+) iso-codes mobile-broadband-provider-info @@ -1804,8 +1816,19 @@ project.") (base32 "07xvaf8s0fiv0035nk8zpzymn5www76w2a1vflrgqmp9plw8yd6r")))) (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-introspection-install-dir + (lambda _ + (substitute* "libmenu/Makefile.in" + (("@INTROSPECTION_GIRDIR@") + (string-append #$output "/share/gir-1.0/")) + (("@INTROSPECTION_TYPELIBDIR@") + (string-append #$output "/lib/girepository-1.0/")))))))) (native-inputs - (list gettext-minimal glib pkg-config)) + (list gettext-minimal glib gobject-introspection pkg-config)) (synopsis "Menu support for GNOME desktop") (description "GNOME Menus contains the libgnome-menu library, the layout configuration files for the GNOME menu, as well as a simple menu editor.") @@ -1815,50 +1838,51 @@ configuration files for the GNOME menu, as well as a simple menu editor.") (define-public deja-dup (package (name "deja-dup") - (version "43.4") + (version "45.2") (source (origin (method url-fetch) (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/" version "/deja-dup-" version ".tar.bz2")) (sha256 (base32 - "1mr2g009w0zm5rj8dg1k77c7zdwylih2yszm8vh8wkw6al6bzfh3")))) + "000cwy1haiglkvn5plmhrs2a1fhpcpw6z4mdzck7ybmky795amza")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:configure-flags - (list - ;; Otherwise, the RUNPATH will lack the final path component. - (string-append "-Dc_link_args=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib/deja-dup")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((python (assoc-ref inputs "python"))) - (substitute* '("libdeja/duplicity/DuplicityInstance.vala" - "libdeja/tests/scripts/instance-error.test") - (("/bin/rm") - (which "rm"))) - (substitute* "libdeja/tests/runner.vala" - (("/bin/sh") - (which "sh"))) - (substitute* "libdeja/tests/scripts/instance-error.test" - (("`which python3`") - (string-append python "/bin/python3")))))) - (add-after 'unpack 'patch-libgpg-error - (lambda* (#:key inputs #:allow-other-keys) - (let ((libgpg-error (assoc-ref inputs "libgpg-error"))) - (substitute* "meson.build" - (("(gpgerror_libs = ).*" _ var) - (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error)))))) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Add duplicity to the search path - (wrap-program (string-append (assoc-ref outputs "out") - "/bin/deja-dup") - `("PATH" ":" prefix - (,(string-append (assoc-ref inputs "duplicity") "/bin"))))))))) + (list + #:glib-or-gtk? #t + #:configure-flags + #~(list + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib/deja-dup")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* '("libdeja/duplicity/DuplicityInstance.vala" + "libdeja/tests/scripts/instance-error.test") + (("/bin/rm") + (which "rm"))) + (substitute* "libdeja/tests/runner.vala" + (("/bin/sh") + (which "sh"))) + (substitute* "libdeja/tests/scripts/instance-error.test" + (("`which python3`") + (string-append python "/bin/python3")))))) + (add-after 'unpack 'patch-libgpg-error + (lambda* (#:key inputs #:allow-other-keys) + (let ((libgpg-error (assoc-ref inputs "libgpg-error"))) + (substitute* "meson.build" + (("(gpgerror_libs = ).*" _ var) + (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error)))))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Add duplicity to the search path + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/deja-dup") + `("PATH" ":" prefix + (,(dirname (search-input-file inputs "/bin/duplicity")))))))))) (inputs (list bash-minimal duplicity @@ -1933,7 +1957,7 @@ and running smart commands.") (define-public gnome-user-docs (package (name "gnome-user-docs") - (version "42.0") + (version "44.6") (source (origin (method url-fetch) @@ -1941,7 +1965,7 @@ and running smart commands.") (version-major version) "/gnome-user-docs-" version ".tar.xz")) (sha256 - (base32 "01g9smkk2sj3yrih2wjn6vx9av855n7w6nqf9wpxvfq086h7vcmj")))) + (base32 "0ds2mccrgmb4jgw196jjm7xzlvnir8k80g1v55sd4nn00prc1b9g")))) (build-system gnu-build-system) (native-inputs (list gettext-minimal itstool pkg-config libxml2)) @@ -1950,7 +1974,7 @@ and running smart commands.") "The GNOME User Documentation explains how to use the GNOME desktop and its components. It covers usage and setup of the core GNOME programs by end-users and system administrators.") - (home-page "https://live.gnome.org/DocumentationProject") + (home-page "https://wiki.gnome.org/DocumentationProject") (license license:cc-by3.0))) (define-public dia @@ -2026,7 +2050,7 @@ formats like PNG, SVG, PDF and EPS.") (inputs (list cyrus-sasl glib-networking vala)) (propagated-inputs - `(("gcr" ,gcr) + `(("gcr" ,gcr-3) ("glib" ,glib) ("gnome-online-accounts" ,gnome-online-accounts) ("json-glib" ,json-glib) @@ -2072,7 +2096,7 @@ to other formats.") (define-public gnome-characters (package (name "gnome-characters") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) @@ -2081,7 +2105,7 @@ to other formats.") "/gnome-characters-" version ".tar.xz")) (sha256 (base32 - "1y40g7k7yyzikbbxhf69q4c0221lga1cli1p617v99pq2swgz82x")))) + "02zm3w43lvsnld3681z9w1428pwdza2gv4k05vwsx461ih15rc85")))) (build-system meson-build-system) (arguments (list @@ -2089,7 +2113,11 @@ to other formats.") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-gtk-update-icon-cache (lambda _ - (setenv "DESTDIR" "/"))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("update_desktop_database: true") + "update_desktop_database: false")))) (add-after 'install 'wrap (lambda* (#:key outputs #:allow-other-keys) ;; GNOME Characters needs Typelib files from GTK and @@ -2104,13 +2132,13 @@ to other formats.") pkg-config python-minimal)) (inputs - (list gjs + (list bash-minimal ;for wrap-program + gjs gnome-desktop gtk libadwaita - libhandy libunistring)) - (home-page "https://wiki.gnome.org/Apps/CharacterMap") + (home-page "https://wiki.gnome.org/Apps/Characters") (synopsis "Find and insert unusual characters") (description "Characters is a simple utility application to find and insert unusual characters. It allows you to quickly find the @@ -2142,7 +2170,7 @@ commonly used macros.") (define-public gnome-contacts (package (name "gnome-contacts") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-contacts/" @@ -2150,17 +2178,21 @@ commonly used macros.") name "-" version ".tar.xz")) (sha256 (base32 - "05jj5kiab13crm18r166w7h31jpny7f3px98q7d2ix93vj7w60l8")))) + "1vbvvv8954j4znczqa41j892rvj36k21ah5f5lwgcsphq4xidlbx")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - (lambda _ - (substitute* "meson.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false"))))))) + (list + #:glib-or-gtk? #t + ;; FIXME: Cannot build the Valadoc, because both gtk+ and gtk are in the + ;; same profile (evolution-data-server propagates both). + #:configure-flags #~'("-Ddocs=false") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false"))))))) (native-inputs (list desktop-file-utils docbook-xml @@ -2172,19 +2204,19 @@ commonly used macros.") libxslt pkg-config)) (inputs - (list evolution-data-server-3.44 + (list evolution-data-server gnome-desktop - gnome-online-accounts-3.44 + gnome-online-accounts gst-plugins-base gtk libadwaita libgee - libhandy libportal + qrencode telepathy-glib vala)) (propagated-inputs - (list folks-with-libsoup2 + (list folks telepathy-mission-control)) (synopsis "GNOME's integrated address book") (description @@ -2196,7 +2228,7 @@ offline sources, providing a centralized place for managing your contacts.") (define-public gnome-desktop (package (name "gnome-desktop") - (version "42.4") + (version "44.0") (source (origin (method url-fetch) @@ -2205,7 +2237,7 @@ offline sources, providing a centralized place for managing your contacts.") name "-" version ".tar.xz")) (sha256 (base32 - "09ddr5fzhh02fcn7xl1wy18qfsdqryd5msl2nbhdnsbr0vawkqhw")))) + "0hlxqprraiwnccf98dykbhx80j31c3scdi7i3jy19fl4bms77is2")))) (build-system meson-build-system) (arguments '(#:phases @@ -2249,7 +2281,7 @@ offline sources, providing a centralized place for managing your contacts.") xorg-server-for-tests)) (propagated-inputs ;; Required by gnome-desktop-3.0.pc. - (list gsettings-desktop-schemas-next + (list gsettings-desktop-schemas gtk gtk+ iso-codes @@ -2332,7 +2364,7 @@ The gnome-about program helps find which version of GNOME is installed.") (define-public gnome-font-viewer (package (name "gnome-font-viewer") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-font-viewer/" @@ -2340,7 +2372,7 @@ The gnome-about program helps find which version of GNOME is installed.") "/gnome-font-viewer-" version ".tar.xz")) (sha256 (base32 - "1k4dhk5dmkpxb5xpr9vrl7k2fdpi2fidzni1l2hhb891zzgvi8ng")))) + "15wzpdbx9wrw4r5l04srw89ak3j3jcmrvpbm27pw53121grisld1")))) (build-system meson-build-system) (arguments (list @@ -2366,7 +2398,6 @@ The gnome-about program helps find which version of GNOME is installed.") gnome-desktop gtk libadwaita - libhandy libxml2)) (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer") (synopsis "GNOME Fonts") @@ -2378,7 +2409,7 @@ the font would look under various sizes.") (define-public gcr (package (name "gcr") - (version "3.41.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2386,7 +2417,7 @@ the font would look under various sizes.") name "-" version ".tar.xz")) (sha256 (base32 - "0kx2pv272p0qc0nq1287gciyn34d95yxg41vq3lzxfzyqaijhwdv")))) + "10x3yg0vp22lpib4hfivr7140wn6iv0qha3f46wikaab50lsvslw")))) (build-system meson-build-system) (arguments (list @@ -2399,11 +2430,11 @@ the font would look under various sizes.") (substitute* (find-files "." "^meson\\.build$") ((".*'--fatal-warnings',.*") "")))) (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")))) - (add-before 'check 'pre-check + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (add-before 'check 'pre-check (lambda _ ;; Some tests expect to write to $HOME. (setenv "HOME" "/tmp"))) @@ -2437,11 +2468,9 @@ the font would look under various sizes.") pkg-config python-wrapper vala)) - ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc - (propagated-inputs - (list glib - gtk+ - p11-kit)) + ;; GLib and p11-kit are mentioned in gck.pc and gcr.pc + ;; GTK is kept for symmetry with gcr-3, which propagates gtk+. + (propagated-inputs (list glib gtk p11-kit)) (home-page "https://www.gnome.org") (synopsis "Libraries for displaying certificates and accessing key stores") (description @@ -2450,6 +2479,31 @@ accessing key stores. It also provides the viewer for crypto files on the GNOME Desktop.") (license license:lgpl2.1+))) +(define-public gcr-3 + (package + (inherit gcr) + (name "gcr") + (version "3.41.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1dqsgrb62fgmy4w63bjl3b525nil4idrrdcscia1h3isaly0zlds")))) + (arguments + (substitute-keyword-arguments (package-arguments gcr) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))))))) + ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc + (propagated-inputs (list glib gtk+ p11-kit)))) + (define-public gdl (package (name "gdl") @@ -2575,7 +2629,7 @@ GNOME Desktop.") "1")))))))) (inputs (list dbus - gcr + gcr-3 libgcrypt linux-pam openssh)) @@ -2592,7 +2646,7 @@ GNOME Desktop.") pkg-config python-wrapper)) ;for tests (propagated-inputs - (list gcr)) + (list gcr-3)) ;; XXX: There are concerning test failures on i686-linux and other 32-bit ;; platforms: <https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/124>. @@ -2684,7 +2738,7 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) @@ -2693,7 +2747,7 @@ on the GNOME Desktop with a single simple application.") name "-" version ".tar.xz")) (sha256 (base32 - "1li3fcqwnw20f4j0i21i88fygm0hli8gmzkn4apgf8ynkrd371k6")))) + "03pc3wlfmf07586x89h63fr42pdpvqx64ak4ks298nchmmff8bgb")))) (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2720,21 +2774,6 @@ on the GNOME Desktop with a single simple application.") schemas for settings shared by various components of the GNOME desktop.") (license license:lgpl2.1+))) -(define-public gsettings-desktop-schemas-next - (package - (inherit gsettings-desktop-schemas) - (name "gsettings-desktop-schemas-next") ;to avoid propagation conflicts - (version "42.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1li3fcqwnw20f4j0i21i88fygm0hli8gmzkn4apgf8ynkrd371k6")))))) - (define-public python-liblarch (package (name "python-liblarch") @@ -2872,7 +2911,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") (define-public adwaita-icon-theme (package (name "adwaita-icon-theme") - (version "43") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2880,7 +2919,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1iiflc6rfpshipl23mszlv2lzm8d1a7pxwsx2ma5bam669ywffif")))) + "0k3638gkdpjcr9pbsmpfj7vdqdm9s04j4d5sh1fx5v5z3dhcb2a8")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -2920,39 +2959,6 @@ GNOME and KDE desktops to the icon names proposed in the specification.") guidelines.") (license license:public-domain))) -(define-public shared-mime-info - (package - (name "shared-mime-info") - (version "1.15") - (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/" - "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version - ".tar.xz")) - (sha256 - (base32 - "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl")))) - (build-system gnu-build-system) - (arguments - ;; The build system appears not to be parallel-safe. - '(#:parallel-build? #f)) - (inputs - (list glib libxml2)) - (native-inputs - `(("gettext" ,gettext-minimal) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config))) - (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info") - (synopsis "Database of common MIME types") - (description - "The shared-mime-info package contains the core database of common types -and the update-mime-database command used to extend it. It requires glib2 to -be installed for building the update command. Additionally, it uses intltool -for translations, though this is only a dependency for the maintainers. This -database is translated at Transifex.") - (license license:gpl2+))) - (define-public system-config-printer (package (name "system-config-printer") @@ -3059,7 +3065,7 @@ configuring CUPS.") (define-public libnotify (package (name "libnotify") - (version "0.7.9") + (version "0.8.3") (source (origin (method url-fetch) @@ -3068,7 +3074,7 @@ configuring CUPS.") name "-" version ".tar.xz")) (sha256 (base32 - "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36")))) + "1h7nn9pz797bfmpz3d0s46yjv4ydppnzwifzdx0d6shm8vwkx3zf")))) (build-system meson-build-system) (arguments (list @@ -3092,10 +3098,11 @@ configuring CUPS.") gobject-introspection ;; For the documentation. + gi-docgen gtk-doc/stable libxslt docbook-xsl)) - (home-page "https://developer-next.gnome.org/libnotify/") + (home-page "https://gitlab.gnome.org/GNOME/libnotify/") (synopsis "GNOME desktop notification library") (description "Libnotify is a library that sends desktop notifications to a @@ -3107,7 +3114,7 @@ some form of information without getting in the user's way.") (define-public libpeas (package (name "libpeas") - (version "1.32.0") + (version "1.36.0") (source (origin (method url-fetch) @@ -3116,21 +3123,23 @@ some form of information without getting in the user's way.") name "-" version ".tar.xz")) (sha256 (base32 - "03ixrhfkywcb409dd0hybyb6i291phwy8si4kc17g29fl07m49fn")))) + "0k3v4c9xs7pxpckkagl9ba70nlxl2n23w6ixc8bqd3ndrk1bjz19")))) (build-system meson-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'start-xserver - (lambda* (#:key inputs #:allow-other-keys) - (let ((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 ~a &" - (search-input-file inputs "bin/Xvfb") - disp)))))))) + (list + #:configure-flags #~'("-Dvapi=true" "-Dgtk_doc=true") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (let ((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 ~a &" + (search-input-file inputs "bin/Xvfb") + disp)))))))) (inputs (list gtk+ glade3 @@ -3139,12 +3148,14 @@ some form of information without getting in the user's way.") (native-inputs (list pkg-config gettext-minimal + gi-docgen `(,glib "bin") gobject-introspection - xorg-server-for-tests)) + xorg-server-for-tests + vala)) (propagated-inputs ;; The .pc file "Requires" gobject-introspection. - (list gobject-introspection)) + (list glib gobject-introspection)) (home-page "https://wiki.gnome.org/Projects/Libpeas") (synopsis "GObject plugin system") (description @@ -3448,7 +3459,7 @@ XML/CSS rendering engine.") (define-public libgsf (package (name "libgsf") - (version "1.14.50") + (version "1.14.52") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3456,7 +3467,7 @@ XML/CSS rendering engine.") name "-" version ".tar.xz")) (sha256 (base32 - "0llf5rpg2rg9pdz8j38dl5z82zi9kmsn639wb2fhcfc3fz820v3f")))) + "1w5whjq1yf6c3k0gijfkc44zrr9gamxlr8yaddfy1h7sp4ack0ci")))) (build-system glib-or-gtk-build-system) (outputs '("out" "bin" "doc")) (arguments @@ -3786,38 +3797,41 @@ functionality was designed to be as reusable and portable as possible.") upstream-name "-" version ".tar.bz2"))) (sha256 (base32 - "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam")))) + "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam")) + (patches + (search-patches "orbit2-fix-array-allocation-32bit.patch")))) (build-system gnu-build-system) (arguments - `(;; The "timeout-server" test hangs when run in parallel. - #:parallel-tests? #f - #:configure-flags - '(;; We don't need static libraries, plus they don't build reproducibly - ;; (non-deterministic ordering of .o files in the archive.) - "--disable-static" - - ;; The programmer kindly gives us a hook to turn off deprecation - ;; warnings ... - "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") - ;; ... which they then completly ignore !! - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-parallel-build - ;; Parallel build fails because of a failed dependency, - ;; https://bugzilla.gnome.org/show_bug.cgi?id=732274 - (lambda _ - (substitute* "src/services/name/Makefile.am" - (("orbit_name_server_2_DEPENDENCIES = \\$(DEPS) CosNaming.h") - "orbit_name_server_2_DEPENDENCIES = \ + (list + ;; The "timeout-server" test hangs when run in parallel. + #:parallel-tests? #f + #:configure-flags + #~'(;; We don't need static libraries, plus they don't build reproducibly + ;; (non-deterministic ordering of .o files in the archive.) + "--disable-static" + + ;; The programmer kindly gives us a hook to turn off deprecation + ;; warnings ... + "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS") + ;; ... which they then completly ignore !! + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-parallel-build + ;; Parallel build fails because of a failed dependency, + ;; https://bugzilla.gnome.org/show_bug.cgi?id=732274 + (lambda _ + (substitute* "src/services/name/Makefile.am" + (("orbit_name_server_2_DEPENDENCIES = \\$(DEPS) CosNaming.h") + "orbit_name_server_2_DEPENDENCIES = \ $(DEPS) CosNaming.h libname-server-2.a")))) - (add-before 'configure 'ignore-deprecations - (lambda _ - (substitute* "linc2/src/Makefile.in" - (("-DG_DISABLE_DEPRECATED") - "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))))) - (inputs (list glib libidl)) - (native-inputs - (list pkg-config)) + (add-before 'configure 'ignore-deprecations + (lambda _ + (substitute* "linc2/src/Makefile.in" + (("-DG_DISABLE_DEPRECATED") + "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))))))) + ;; These are required in the installed pkg-config files. + (propagated-inputs (list glib libidl)) + (native-inputs (list pkg-config)) (home-page "https://projects.gnome.org/orbit2/") (synopsis "CORBA 2.4-compliant Object Request Broker") (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb) @@ -4420,7 +4434,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "42.0") + (version "43.0") (source (origin (method url-fetch) @@ -4428,7 +4442,7 @@ engineering.") (version-major version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0c6nafhn4gcjwd1xbs5bjq9785114fc0pbhxbwp7wynyz3msq365")))) + (base32 "0bc3xbjzwa4245m6nqzl3v6hzp9hyfbf50iwgwi5hdjglzxin7av")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -4437,15 +4451,18 @@ engineering.") (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")))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("update_desktop_database: true") + "update_desktop_database: false")))) (add-before 'check 'pre-check (lambda _ ;; Tests require a writable HOME. (setenv "HOME" (getcwd))))))) (inputs (list gtk+ - gcr + gcr-3 gnupg gpgme openldap @@ -4454,7 +4471,7 @@ engineering.") libhandy libpwquality libsecret - libsoup-minimal-2)) + libsoup-minimal)) (native-inputs (list gettext-minimal `(,glib "bin") @@ -4473,7 +4490,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.56.3") + (version "0.56.14") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vala/" @@ -4481,7 +4498,7 @@ passwords in the GNOME keyring.") "vala-" version ".tar.xz")) (sha256 (base32 - "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1")))) + "0mzmldhf6474dp2jkxj160kkafdz32c2l5f8xnm05p4vr9lc50lk")))) (build-system glib-or-gtk-build-system) (arguments (list @@ -4541,7 +4558,7 @@ targeting the GNOME stack simple.") (define-public vte (package (name "vte") - (version "0.70.2") + (version "0.72.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vte/" @@ -4549,7 +4566,7 @@ targeting the GNOME stack simple.") "vte-" version ".tar.xz")) (sha256 (base32 - "102d6cd9f96czlq01ixhymfp0z20khw0dl5bgvan9xg31lwb85ad")))) + "0p4apgwi8v7ccid2bif6zdffk09jl90yy66awhff9jairakbckf7")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "-Dvapi=true" @@ -4722,7 +4739,7 @@ configuration storage systems.") (define-public json-glib-minimal (package (name "json-glib-minimal") - (version "1.6.2") + (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/json-glib/" @@ -4730,14 +4747,16 @@ configuration storage systems.") "/json-glib-" version ".tar.xz")) (sha256 (base32 - "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3")))) + "03j9ba2sccbz954smk3n1swwnvpzl8yhwwin6vixvxligaz9iv4n")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + (list #:glib-or-gtk? #t ;to wrap binaries, compile schemas + #:configure-flags #~(list "-Dgtk_doc=disabled"))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal - ("pkg-config" ,pkg-config))) + (list + gettext-minimal + `(,glib "bin") ;for glib-mkenums and glib-genmarshal + pkg-config)) (inputs (list bash-minimal)) (propagated-inputs @@ -4756,8 +4775,7 @@ 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" + #~(list "-Dman=true" #$@(if (%current-target-system) ;; If enabled, gtkdoc-scangobj will try to execute a ;; cross-compiled binary. @@ -4765,7 +4783,8 @@ GLib and GObject, and integrates JSON with GLib data types.") ;; Trying to build introspection data when cross-compiling ;; causes errors during linking. "-Dintrospection=disabled") - #~()))) + #~("-Dgtk_doc=enabled" + "-Dintrospection=enabled")))) ((#:phases phases '%standard-phases) #~(modify-phases #$phases ;; When cross-compiling, there are no docs to move. @@ -4778,19 +4797,15 @@ GLib and GObject, and integrates JSON with GLib data types.") (lambda _ (mkdir-p (string-append #$output:doc "/share")) (rename-file - (string-append #$output "/share/gtk-doc") + (string-append #$output "/share/doc") (string-append #$output:doc - "/share/gtk-doc")))))))))) + "/share/doc")))))))))) (native-inputs (if (%current-target-system) ;; No docs, no additional inputs. (package-native-inputs json-glib-minimal) (modify-inputs (package-native-inputs json-glib-minimal) - (prepend docbook-xml-4.3 - docbook-xsl - gobject-introspection - gtk-doc - libxslt)))))) + (prepend gi-docgen gobject-introspection)))))) (define-public libxklavier (package @@ -4840,7 +4855,7 @@ indicators etc).") (define-public glib-networking (package (name "glib-networking") - (version "2.72.2") + (version "2.76.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -4848,12 +4863,11 @@ indicators etc).") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "0s42l6dkajciqc99zp6dc9l8yv9g8w7d8mgv97l7h7drgd60hand")) - (patches - (search-patches "glib-networking-gnutls-binding.patch")))) + "0ax4h0abi9yxrpmm1p491qjxc8d2k1kaa9hhzgyixrfxjjcqlsaw")))) (build-system meson-build-system) (native-inputs - (list pkg-config gettext-minimal)) + (list `(,glib "bin") ; for gio-querymodules + pkg-config gettext-minimal)) (inputs (list glib gnutls gsettings-desktop-schemas libproxy)) (home-page "https://wiki.gnome.org/Projects/GLib") @@ -4995,7 +5009,7 @@ libxml to ease remote use of the RESTful API.") (define-public libshumate (package (name "libshumate") - (version "1.0.0.beta") ;no stable release yet + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5003,25 +5017,35 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "13xrc07fm0967gzbqab8k0l3dnknh00p0a6f2dm7k0aa56q41sda")))) + "0v4m07vxm3m4a2vqkp2wfsc3zsf92fpigc1k8yq49vkpj7gxikx8")))) (build-system meson-build-system) - (arguments (list #:configure-flags #~(list "-Dlibsoup3=true") - #:phases #~(modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;; The 'coordinate' test requires a - ;; writable HOME. - (setenv "HOME" "/tmp") + (arguments + (list #:configure-flags #~(list "-Dlibsoup3=true") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? test-options #:allow-other-keys) + (when tests? + ;; Some tests expect to write to $HOME. + (setenv "HOME" "/tmp") + (setenv "XDG_RUNTIME_DIR" "/tmp/run") + (setenv "XDG_CACHE_HOME" "/tmp/cache") - ;; Tests require a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))))) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + + (apply invoke "dbus-run-session" "--" "meson" "test" + "--print-errorlogs" test-options))))))) (native-inputs (list gi-docgen `(,glib "bin") gobject-introspection pkg-config - xorg-server-for-tests)) + ;; For tests: + xorg-server-for-tests + dbus + at-spi2-core)) (propagated-inputs ;; All the libraries are listed as "Requires' in the .pc file. (list cairo @@ -5040,7 +5064,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") (define-public libsoup-minimal (package (name "libsoup-minimal") - (version "3.0.7") + (version "3.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5048,28 +5072,29 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "1j7p3cz6hwi9js9rp0pbas7cdln97yg9v2l1nv5imhcr6p7r1pzb")))) + "1an5n2sa70f40my4g20lk38s5ib99c32bzzg8gm91v9nbxr6f719")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Dgtk_doc=false") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-tests - (lambda _ - ;; This test fails due to missing /etc/nsswitch.conf - ;; in the build environment. - (substitute* "tests/socket-test.c" - ((".*/sockets/unconnected.*") "")) - - ;; These fail because "subdomain.localhost" does not resolve in - ;; the build environment. Moreover, the hsts-test suite fails on - ;; i686-linux because of errors from `session_get_uri' like - ;; "Unexpected status 200 OK (expected 301 Moved Permanently)" - ;; (see: https://gitlab.gnome.org/GNOME/libsoup/-/issues/239). - (substitute* "tests/meson.build" - ((".*'name': 'hsts'.*") "")) - (substitute* "tests/hsts-db-test.c" - ((".*/hsts-db/subdomains.*") ""))))))) + (list + #:configure-flags #~(list "-Ddocs=disabled") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-tests + (lambda _ + ;; This test fails due to missing /etc/nsswitch.conf + ;; in the build environment. + (substitute* "tests/unix-socket-test.c" + ((".*/sockets/unconnected.*") "")) + + ;; These fail because "subdomain.localhost" does not resolve in + ;; the build environment. Moreover, the hsts-test suite fails on + ;; i686-linux because of errors from `session_get_uri' like + ;; "Unexpected status 200 OK (expected 301 Moved Permanently)" + ;; (see: https://gitlab.gnome.org/GNOME/libsoup/-/issues/239). + (substitute* "tests/meson.build" + ((".*'name': 'hsts'.*") "")) + (substitute* "tests/hsts-db-test.c" + ((".*/hsts-db/subdomains.*") ""))))))) (native-inputs (list `(,glib "bin") ;for glib-mkenums gobject-introspection @@ -5103,7 +5128,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsoup-minimal-2 (package (inherit libsoup-minimal) - (version "2.74.2") + (version "2.74.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -5111,17 +5136,21 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsoup-" version ".tar.xz")) (sha256 (base32 - "0n8is108n0dn4dw7nm2wq9rydcm1vy47w40wywfrxqazdrjjg97h")))) + "04rgv6hkyhgi7lak9865yxgbgky6gc635p7w6nhcbj64rx0prdz4")))) (arguments (substitute-keyword-arguments (package-arguments libsoup-minimal) + ((#:configure-flags configure-flags) + ;; The option name changed between libsoup 2 and libsoup 3. + #~(cons "-Dgtk_doc=false" + (delete "-Ddocs=disabled" #$configure-flags))) ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'disable-failing-tests - (lambda _ - ;; Disable the SSL test, failing since 2.68 and resolved in - ;; libsoup 3. - (substitute* "tests/meson.build" - (("[ \t]*\\['ssl', true, \\[\\]\\],") "")))))))) + #~(modify-phases #$phases + (replace 'adjust-tests + (lambda _ + ;; Disable the SSL test, failing since 2.68 and resolved in + ;; libsoup 3. + (substitute* "tests/meson.build" + (("[ \t]*\\['ssl', true, \\[\\]\\],") "")))))))) (native-inputs (modify-inputs (package-native-inputs libsoup-minimal) (replace "vala" vala-0.52))))) @@ -5129,20 +5158,13 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsoup (package/inherit libsoup-minimal (name "libsoup") - (version "3.1.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libsoup/" - (version-major+minor version) "/" - "libsoup-" version ".tar.xz")) - (sha256 - (base32 - "0m5mf2ahb462jzr40d916swv3040h9500jcmr87vnilpr4zrj584")))) (outputs (cons "doc" (package-outputs libsoup-minimal))) (arguments (substitute-keyword-arguments (package-arguments libsoup-minimal) ((#:configure-flags configure-flags) - #~(delete "-Dgtk_doc=false" #$configure-flags)) + #~(cons "-Ddocs=enabled" + ;; The default value is 'auto', meaning it could be skipped. + (delete "-Ddocs=disabled" #$configure-flags))) ((#:phases phases) #~(modify-phases #$phases (replace 'adjust-tests @@ -5167,12 +5189,12 @@ and the GLib main loop, to integrate well with GNOME applications.") (rename-file (string-append #$output "/share/doc") (string-append #$output:doc "/share/doc")))))))) (native-inputs (modify-inputs (package-native-inputs libsoup-minimal) - (prepend gi-docgen))))) + (prepend gettext-minimal gi-docgen))))) (define-public libsecret (package (name "libsecret") - (version "0.20.5") + (version "0.21.4") (source (origin (method url-fetch) (uri (string-append @@ -5181,7 +5203,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsecret-" version ".tar.xz")) (sha256 (base32 - "0k9bs47rzb3dwvznb4179d6nw7rbzjdyd4y8hx6vazfd1wscxcrz")))) + "081bj59ws08kb261cd1w1mkdkhfbzsjbbkkrm6wllvdyhgbhhg8n")))) (build-system meson-build-system) (arguments (list @@ -5189,12 +5211,6 @@ and the GLib main loop, to integrate well with GNOME applications.") #~(list "-Dgtk_doc=false") ;requires gi-docgen #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'disable-problematic-tests - (lambda _ - (substitute* "libsecret/meson.build" - ;; The test-collection test fails non-deterministically (see: - ;; https://gitlab.gnome.org/GNOME/libsecret/-/issues/80). - ((".*'test-collection',.*") "")))) (delete 'check) (add-after 'install 'check (lambda* (#:key tests? test-options #:allow-other-keys) @@ -5427,7 +5443,7 @@ more fun.") (define-public gnome-console (package (name "gnome-console") - (version "42.2") + (version "44.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-console/" @@ -5435,28 +5451,20 @@ more fun.") "gnome-console-" version ".tar.xz")) (sha256 (base32 - "0jbh8g3hmc35fy5fbscqf0831xpg1kv66ci9hykpbia4hz0yc9kx")))) + "13asis4fabsm0wy3m6bk4k3bmnh6a9c9bwwpv6b3why0lvll87xr")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t - #:configure-flags #~(list "-Dtests=true" - "-Dnautilus=enabled") - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'patch-nautilus-extension-path - (lambda _ - (substitute* "nautilus/meson.build" - (("'extensions-[0-9.]*'") - "'site-extensions'"))))))) + #:configure-flags #~(list "-Dtests=true"))) (native-inputs (list `(,glib "bin") gettext-minimal sassc pkg-config `(,gtk+ "bin") desktop-file-utils)) - (inputs (list gtk+ - libhandy - nautilus - vte + (inputs (list gtk + libadwaita + vte-with-gtk-4 libgtop gsettings-desktop-schemas)) (home-page "https://gitlab.gnome.org/GNOME/console") @@ -5468,16 +5476,19 @@ more fun.") (define-public gnome-terminal (package (name "gnome-terminal") - (version "3.44.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "0yykb64yi1h0g65q890jf5awjr2sdvfda4xbxnmajcgj3zp20vzv")))) + (version "3.48.3") + ;; download.gnome.org does not have any version for gnome-terminal more + ;; recent than 3.44.1, but the repository has several tags newer than + ;; that. + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-terminal") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cqh35j57a5ni4xlfjzl46kim6nbhqvxx3jql3gjk414z359i0j6")))) (build-system meson-build-system) (arguments (list @@ -5531,7 +5542,7 @@ keyboard shortcuts.") (define-public gnome-text-editor (package (name "gnome-text-editor") - (version "42.2") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-text-editor/" @@ -5539,7 +5550,7 @@ keyboard shortcuts.") "gnome-text-editor-" version ".tar.xz")) (sha256 (base32 - "1nn53iv2a82kkqkg5jy0bqh2b2wzg7g4a6w8q3qsis5wvj64lvg5")))) + "1jii59hw31baira2psl1kx2lxljmnnkxmif4zhasizrl0xwc6yzn")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t)) @@ -5551,7 +5562,12 @@ keyboard shortcuts.") `(,glib "bin") `(,gtk "bin") itstool)) - (inputs (list gtk gtksourceview libadwaita enchant)) + (inputs (list gtk gtksourceview libadwaita enchant pcre2 + ;; cyclic module dependency + (module-ref + (resolve-interface + '(gnu packages text-editors)) + 'editorconfig-core-c))) (home-page "https://gitlab.gnome.org/GNOME/gnome-text-editor") (synopsis "GNOME text editor") (description @@ -5774,7 +5790,7 @@ faster results and to avoid unnecessary server load.") (define-public upower (package (name "upower") - (version "1.90.0") + (version "1.90.2") (source (origin (method git-fetch) @@ -5783,7 +5799,7 @@ faster results and to avoid unnecessary server load.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1g17rm91p8vfpjyb0k2shylrs55nccn3fa890vlk4n9s71sghbzq")) + (base32 "13xp423ycv8imf2cmgf6lii9f01p7x2v19cny7acrmczkc0cqv7d")) (modules '((guix build utils))) (snippet ;; Upstream commit <https://cgit.freedesktop.org/upower/commit/ @@ -5806,19 +5822,25 @@ 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")) - #: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))) + (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d") + (string-append "-Dudevhwdbdir=" #$output "/lib/udev/hwdb.d")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-test-suite + (lambda _ + ;; This test calls an unimplemented bluez dbus method. + (substitute* "src/linux/integration-test.py" + (("test_bluetooth_hidpp_mouse") + "disabled_test_bluetooth_hidpp_mouse")) + #$@(if (target-x86-32?) + ;; 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")))) + '())))))) (native-inputs (list `(,glib "bin") ; for gdbus-codegen gobject-introspection @@ -5828,16 +5850,17 @@ faster results and to avoid unnecessary server load.") python ;; For tests. python-dbus - python-dbusmock + python-dbusmock-minimal python-packaging python-pygobject umockdev + dbus ;; For man pages. docbook-xsl libxslt ; for 'xsltproc' libxml2)) ; for 'XML_CATALOG_FILES' (inputs - (list dbus-glib libgudev libusb)) + (list libgudev libusb)) (propagated-inputs ;; In Requires of upower-glib.pc. (list glib)) @@ -5907,7 +5930,7 @@ services for numerous locations.") (package (inherit libgweather) (name "libgweather4") - (version "4.1.1") + (version "4.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libgweather/" @@ -5915,7 +5938,7 @@ services for numerous locations.") "libgweather-" version ".tar.xz")) (sha256 (base32 - "1wh3asniv5yiqp0dsk96as2bkx72hamh3ij2md8k0is9yd7ppbjm")))) + "00v2rb9dizfvcsq3bgrz68bsi1k04ln5fqhx1q06m5yql0nq32mg")))) (arguments (list #:configure-flags @@ -5962,22 +5985,10 @@ services for numerous locations.") libsoup libxml2)))) -(define-public libgweather4-with-libsoup2 - (package - (inherit libgweather4) - (name "libgweather4-with-libsoup2") - (arguments (substitute-keyword-arguments (package-arguments libgweather4) - ((#:configure-flags flags) - #~(cons "-Dsoup2=true" #$flags)))) - (propagated-inputs - (modify-inputs (package-propagated-inputs libgweather4) - (replace "geocode-glib" geocode-glib-with-libsoup2) - (replace "libsoup" libsoup-minimal-2))))) - (define-public gnome-settings-daemon (package (name "gnome-settings-daemon") - (version "42.2") + (version "44.1") (source (origin (method url-fetch) @@ -5986,7 +5997,7 @@ services for numerous locations.") name "-" version ".tar.xz")) (sha256 (base32 - "005b1dvrfcyr6n4srl6c0lzr95c18prps4xm1lf2ghcfm8a9fi4w")) + "129rjhr2kvfd37fingz8737brh8a874hlw3xlh01658zv1r3nr8j")) (patches (search-patches "gnome-settings-daemon-gc.patch")))) (build-system meson-build-system) (arguments @@ -6031,13 +6042,13 @@ services for numerous locations.") cups gcr geoclue - geocode-glib-with-libsoup2 + geocode-glib gnome-desktop - gsettings-desktop-schemas-next + gsettings-desktop-schemas lcms libcanberra libgudev - libgweather4-with-libsoup2 + libgweather4 libnotify (librsvg-for-system) libwacom @@ -6208,7 +6219,9 @@ throughout GNOME for API documentation).") (version-major+minor version) "/" "cogl-" version ".tar.xz")) (sha256 - (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8")))) + (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8")) + (patches + (search-patches "cogl-fix-double-free.patch")))) ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to ;; cogl, corresponding changes may be appropriate in mutter as well. (build-system gnu-build-system) @@ -6293,8 +6306,6 @@ without stepping on each others toes.") (sha256 (base32 "1rn4cd1an6a9dfda884aqpcwcgq8dgydpqvb19nmagw4b70zlj4b")))) - ;; NOTE: mutter exports a bundled fork of clutter, so when making changes - ;; to clutter, corresponding changes may be appropriate in mutter as well. (build-system gnu-build-system) (outputs '("out" "doc")) ;9 MiB of gtk-doc HTML pages @@ -6562,7 +6573,7 @@ as possible!") (define-public grilo (package (name "grilo") - (version "0.3.15") + (version "0.3.16") (source (origin (method url-fetch) @@ -6570,7 +6581,7 @@ as possible!") (version-major+minor version) "/" "grilo-" version ".tar.xz")) (sha256 - (base32 "0bbvaxw2das8826663z23y0acbdmcvggwdh64ws9jrk56vvsqlpk")))) + (base32 "15mxffs7f7ndzimpvpq4lj48km5p6i9gyqxa4ggq1qpcqpl80ic8")))) (build-system meson-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -6585,6 +6596,7 @@ as possible!") pkg-config gobject-introspection gtk-doc/stable + python vala)) (inputs (list cyrus-sasl @@ -6599,7 +6611,7 @@ as possible!") (variable "GRL_PLUGIN_PATH") (files (list (string-append "lib/grilo-" (version-major+minor version))))))) - (home-page "https://wiki.gnome.org/action/show/Projects/Grilo") + (home-page "https://wiki.gnome.org/Projects/Grilo") (synopsis "Framework for discovering and browsing media") (description "Grilo is a framework focused on making media discovery and browsing easy @@ -6609,7 +6621,7 @@ for application developers.") (define-public grilo-plugins (package (name "grilo-plugins") - (version "0.3.15") + (version "0.3.16") (source (origin (method url-fetch) @@ -6617,7 +6629,7 @@ for application developers.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0cxbxg7i9qd1pyfjj7c15x9lawvaw5608jk2apcrac7rakcw6645")))) + (base32 "1jydhk822sigyda3mswn59j9s01dy81f553382i8nsvcb2z4svzy")))) (build-system meson-build-system) (native-inputs (list gettext-minimal @@ -6643,20 +6655,21 @@ for application developers.") tracker tracker-miners)) (arguments - `(#:glib-or-gtk? #t - ;;Disable lua-factory as it needs missing dependencies - #: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") + (list + #:glib-or-gtk? #t + ;;Disable lua-factory as it needs missing dependencies + #: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://wiki.gnome.org/Projects/Grilo") (synopsis "Plugins for the Grilo media discovery library") (description "Grilo is a framework focused on making media discovery and browsing easy @@ -6667,7 +6680,7 @@ discovery protocols.") (define-public totem (package (name "totem") - (version "42.0") + (version "43.0") (source (origin (method url-fetch) @@ -6675,7 +6688,7 @@ discovery protocols.") (version-major version) "/" "totem-" version ".tar.xz")) (sha256 - (base32 "1az6ay7zhz2naqrzcfldx1yv2ylw1yjx76g3mqrqppwmvcflkw2a")))) + (base32 "07m4jiry78m85sqcx7f9r7dkfvfnd8xzhfad5939cn4bj9akcvdk")))) (build-system meson-build-system) (native-inputs (list pkg-config @@ -6729,8 +6742,9 @@ discovery protocols.") (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")))) (add-before 'install 'disable-cache-generation (lambda _ (setenv "DESTDIR" "/"))) @@ -6848,7 +6862,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") (define-public eog (package (name "eog") - (version "42.3") + (version "44.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6856,7 +6870,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") name "-" version ".tar.xz")) (sha256 (base32 - "0fpl8wz1j10r59m20d61b7wmp8ga48dd7svqv1a2ip66ig1b7h9h")))) + "134xvb2fcfh6ciyk2f3rh7khh7b2n8lr13sc977zhbs39c7xgcnn")))) (build-system meson-build-system) (arguments (list @@ -6957,14 +6971,14 @@ side panel; (define-public libgudev (package (name "libgudev") - (version "236") + (version "238") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "094mgjmwgsgqrr1i0vd20ynvlkihvs3vgbmpbrhswjsrdp86j0z5")))) + "1laxgdkgmr30aw44sm4rgpsdybwxx5rszcm8c2y3vmy9myqnl9k1")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. @@ -6985,7 +6999,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.50.3") + (version "1.50.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gvfs/" @@ -6993,13 +7007,14 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") "gvfs-" version ".tar.xz")) (sha256 (base32 - "1z8332qg4kpa3lm3lbwb3xir4rba9ajsbqbq4yfh45mvjyg135v8")))) + "0cgjlxrs4qr08igqjpkhfxpzydj8m9y9n92z091knkj5170x5bbj")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t #:configure-flags #~(list "-Dsystemduserunitdir=no" "-Dtmpfilesdir=no" + "-Dman=true" ;; Otherwise, the RUNPATH will lack the final path component. (string-append "-Dc_link_args=-Wl,-rpath=" #$output "/lib/gvfs")))) @@ -7016,7 +7031,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") dbus elogind fuse - gcr + gcr-3 glib gnome-online-accounts gsettings-desktop-schemas @@ -7038,7 +7053,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") openssh polkit udisks)) - (home-page "https://wiki.gnome.org/gvfs/") + (home-page "https://wiki.gnome.org/Projects/gvfs") (synopsis "Userspace virtual file system for GIO") (description "GVFS is a userspace virtual file system designed to work with the I/O @@ -7103,7 +7118,7 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "42.5") + (version "44.0") (source (origin (method url-fetch) @@ -7111,9 +7126,8 @@ USB transfers with your high-level application or system daemon.") (version-major version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "0l201qjig6bk34bw8d77jcbhjhn4swfqdj84sjlyy1p2x6jdzx85")))) + (base32 "15cfv56jcmjncwyf3w4ra0c77xwy0hkdzhpcx93zfizl8vyp1f1r")))) (build-system meson-build-system) - ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments '(#:glib-or-gtk? #t)) (native-inputs @@ -7145,7 +7159,7 @@ almost all of them.") (define-public epiphany (package (name "epiphany") - (version "42.4") + (version "44.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" @@ -7153,7 +7167,7 @@ almost all of them.") "epiphany-" version ".tar.xz")) (sha256 (base32 - "0q08ixzgp341g5pq6rfy5q75m9bvddvl8na3qa5v5vi056nkh29p")))) + "1n3df2skvgmjw9sybhn811l4b58ibwxc0dc208wpvxg060pyhpfk")))) (build-system meson-build-system) (arguments (list @@ -7163,8 +7177,9 @@ almost all of them.") (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "post_install.py" - (("gtk-update-icon-cache") "true")))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "tests/meson.build" @@ -7172,17 +7187,42 @@ almost all of them.") ;; 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'],")))) - (add-before 'check 'pre-check - (lambda _ - ;; Tests require a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))) + "find_program('sh'), args: ['-c', 'exit 77'],") + ;; web_view_test partially fails, because it can’t run bwrap. + (("web_view_test,") + (string-append + "web_view_test, args: [" + (string-join + (map (lambda (test) + (string-append "'-s', '/embed/ephy-web-view/" test "'")) + '("load_url" + "provisional_load_failure_updates_back_forward_list" + "error-pages-not-stored-in-history")) + ", ") + "],"))))) + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + (setenv "MESON_TESTTHREADS" + (if parallel-tests? + (number->string (parallel-job-count)) + "1")) + (setenv "XDG_CACHE_HOME" (getcwd)) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (invoke "dbus-run-session" "--" + "meson" "test" "--print-errorlogs" "-t" "0")))) + (add-after 'install 'gst-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/epiphany") + `("GST_PLUGIN_SYSTEM_PATH" ":" suffix (,gst-plugin-path))))))) #:configure-flags ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. #~(list (string-append "-Dc_link_args=-Wl,-rpath=" - #$output "/lib/epiphany") - "-Dsoup2=disabled"))) ;use libsoup 3 + #$output "/lib/epiphany")))) (propagated-inputs (list dconf)) (native-inputs (list desktop-file-utils ; for update-desktop-database @@ -7194,15 +7234,18 @@ almost all of them.") xorg-server-for-tests)) (inputs (list avahi + bash-minimal ; for wrap-program gcr glib-networking gnome-desktop gsettings-desktop-schemas + gst-plugins-base + gst-plugins-good + gstreamer iso-codes json-glib + libadwaita libarchive - libdazzle - libhandy libnotify libportal (librsvg-for-system) ; for loading SVG files @@ -7211,7 +7254,7 @@ almost all of them.") libxslt nettle ; for hogweed sqlite - webkitgtk-for-gtk3)) + webkitgtk)) (home-page "https://wiki.gnome.org/Apps/Web") (synopsis "GNOME web browser") (description @@ -7275,7 +7318,7 @@ of running programs and invoke methods on those interfaces.") (define-public d-spy (package (name "d-spy") - (version "1.4.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7283,7 +7326,7 @@ of running programs and invoke methods on those interfaces.") name "-" version ".tar.xz")) (sha256 (base32 - "0wk7i3vyq4a98g29ms7vz3wy8xkk3pgw48g0fm65qk32xa679s7a")))) + "1zca9yn12a8phy2lzcsc7wak10r0j53m8d0fs1q69d1va48a5l52")))) (build-system meson-build-system) (arguments (list @@ -7316,7 +7359,7 @@ environments.") (define-public yelp-xsl (package (name "yelp-xsl") - (version "41.0") + (version "42.1") (source (origin (method url-fetch) @@ -7325,7 +7368,7 @@ environments.") (version-major version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "19d46rkajvr0f04560vlrzwvac88x5j8ilvzwkawbn5vjg069kf8")))) + (base32 "1kav039g62q35h508shdbrcjcfkdsc7k6wcr2g780c35n58f32r3")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-doc"))) @@ -7340,7 +7383,7 @@ environments.") you build, maintain, and distribute documentation. It provides XSLT stylesheets that can be built upon for help viewers and publishing systems. These stylesheets output JavaScript and CSS content, and reference images -provided by yelp-xsl. It also redistributes copies of the jQuery and +provided by yelp-xsl. It also redistributes copies of the jQuery and jQuery.Syntax JavaScript libraries.") (home-page "https://wiki.gnome.org/Apps/Yelp") (license @@ -7355,7 +7398,7 @@ jQuery.Syntax JavaScript libraries.") (define-public yelp (package (name "yelp") - (version "42.1") + (version "42.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7363,7 +7406,7 @@ jQuery.Syntax JavaScript libraries.") name "-" version ".tar.xz")) (sha256 (base32 - "0h9vf4fx056imjf8ibmn03wg1c3hniipy1nsm2jqi62lp1m19c95")))) + "0jxckvzmp3lzg62wrdp7f3c8hw6zbkwd0sy65ir9q259hw3zvid2")))) (build-system glib-or-gtk-build-system) (arguments (list #:phases @@ -7395,11 +7438,13 @@ jQuery.Syntax JavaScript libraries.") (propagated-inputs (list dconf)) (inputs - (list gsettings-desktop-schemas + (list bash-minimal + gsettings-desktop-schemas libhandy libxslt man-db ;for URIs like "man:ls" groff-minimal ;ditto + gtk+ sqlite webkitgtk-for-gtk3 yelp-xsl)) @@ -7414,26 +7459,26 @@ freedesktop.org help system specification.") (define-public yelp-tools (package (name "yelp-tools") - (version "3.32.2") + (version "42.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 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q")))) - (build-system gnu-build-system) + (base32 "01gr255nlb77462040499qx50sik17x2b2jhzncmn56l4106lj9y")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~'("-Dhelp=true"))) (native-inputs - (list pkg-config)) + (list gettext-minimal pkg-config python python-lxml)) (inputs (list yelp-xsl)) (propagated-inputs ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'. - `(("itstool" ,itstool) - ("xmllint" ,libxml2) - ("xsltproc" ,libxslt))) + (list itstool libxml2 libxslt)) (synopsis "Yelp documentation tools") (description "Yelp-tools is a collection of scripts and build utilities to help create, @@ -7446,7 +7491,7 @@ wraps things up in a developer-friendly way.") (define-public libgee (package (name "libgee") - (version "0.20.5") + (version "0.20.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libgee/" @@ -7454,7 +7499,7 @@ wraps things up in a developer-friendly way.") "libgee-" version ".tar.xz")) (sha256 (base32 - "060mbj6ihca315a6wqj47mfzm2881azwm5bl0vwjg9ymay4km1ii")))) + "0kbd8y70dd5q40i8gxzvhxkn9niqvp0x6knp4ihwqq0dw7sk9y0v")))) (build-system gnu-build-system) (arguments (list @@ -7481,7 +7526,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.14.0") + (version "0.14.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7489,7 +7534,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "17nnsslj2wpizpx742w5lxdzcz5mx6jmsqcrli7zddi0zyk7k0p5")))) + "1gp07klqixpxjqiv84i2gmkb1pcf1gagyrl800sk92xyizs9q31a")))) (build-system meson-build-system) (arguments (list @@ -7497,14 +7542,11 @@ classes for commonly used data structures.") (guix build python-build-system)) #:modules '((guix build meson-build-system) ((guix build python-build-system) #:prefix python:) - (guix build utils)) - #:configure-flags - #~(list (string-append "-Dpython3_girdir=" - (python:site-packages %build-inputs %outputs) - "/gi/overrides")))) + (guix build utils)))) (native-inputs - (list gcr + (list gcr-3 `(,glib "bin") + gobject-introspection pkg-config python python-pygobject @@ -7513,8 +7555,7 @@ classes for commonly used data structures.") ;; Listed in "Requires" section of gexiv2.pc (list exiv2)) (inputs - (list glib - gobject-introspection)) + (list glib)) (home-page "https://wiki.gnome.org/Projects/gexiv2") (synopsis "GObject wrapper around the Exiv2 photo metadata library") (description @@ -7526,7 +7567,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.31.5") + (version "0.32.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/shotwell/" @@ -7534,17 +7575,20 @@ metadata in photo and video files of various formats.") "shotwell-" version ".tar.xz")) (sha256 (base32 - "06awlix23y1cd89n6v9vip48cg08fjq8v6zaw38k5clrrv38y11v")))) + "1dkh5bczf9k86akl70inpc2z98qkhg8g44jb2kc8rqcimkzs95vm")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - (lambda _ - (substitute* "build-aux/meson/postinstall.py" - (("gtk-update-icon-cache") (which "true")) - (("update-desktop-database") (which "true")))))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("update_desktop_database: true") + "update_desktop_database: false"))))))) (propagated-inputs (list dconf)) (native-inputs @@ -7555,11 +7599,12 @@ metadata in photo and video files of various formats.") python vala)) (inputs - (list gcr + (list gcr-3 gexiv2 gst-plugins-base gstreamer json-glib + libportal libgdata libgee libgphoto2 @@ -7624,7 +7669,7 @@ such as gzip tarballs.") (define-public gnome-session (package (name "gnome-session") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7633,7 +7678,7 @@ such as gzip tarballs.") (patches (search-patches "gnome-session-support-elogind.patch")) (sha256 (base32 - "1alwjqr36rd0s132qs2clwnxgilcbylps6lm41lr50mn782hdjiw")))) + "1ipjvcjabifqgmrz65m3vwmhk99nbm8jcxcikyg5w4r6cnljky6c")))) (arguments `(#:glib-or-gtk? #t #:phases @@ -7684,8 +7729,7 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - ;; Note: We use a pre-release for compatibility with recent LibFFI. - (version "1.73.2") + (version "1.76.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7693,7 +7737,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg")) + "0knkbczic9874r2mnhc8yh9w63bmj574b7528ql0x3lf40nzcjx5")) (modules '((guix build utils))) (snippet '(begin @@ -7840,7 +7884,7 @@ to display dialog boxes from the commandline and shell scripts.") (define-public mutter (package (name "mutter") - (version "42.4") + (version "44.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7848,10 +7892,7 @@ to display dialog boxes from the commandline and shell scripts.") name "-" version ".tar.xz")) (sha256 (base32 - "0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62")) - ;; TODO: Remove on update as this was merged upstream. See - ;; <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>. - (patches (search-patches "mutter-fix-inverted-test.patch")))) + "0b7wzaj67qzrhgclvqk10fwk4524j4qppl88822mxxlqr40frfnk")))) ;; 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 @@ -7868,7 +7909,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=" #$output "/lib,-rpath=" - #$output "/lib/mutter-10") + #$output "/lib/mutter-12") ;; Disable systemd support. "-Dsystemd=false" ;; Don't install tests. @@ -8001,9 +8042,8 @@ to display dialog boxes from the commandline and shell scripts.") python-dbus python-dbusmock)) (propagated-inputs - (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: + (list gsettings-desktop-schemas ;required by libmutter-12.pc + ;; mutter-clutter-12.pc and mutter-cogl-12.pc refer to these: at-spi2-core cairo eudev @@ -8024,7 +8064,8 @@ to display dialog boxes from the commandline and shell scripts.") pango xinput)) (inputs - (list egl-wayland ;for wayland-eglstream-protocols + (list colord + egl-wayland ;for wayland-eglstream-protocols elogind gnome-desktop gnome-settings-daemon @@ -8056,7 +8097,7 @@ window manager.") (define-public gnome-online-accounts (package (name "gnome-online-accounts") - (version "3.45.2") + (version "3.48.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8064,16 +8105,18 @@ window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "15zzzndbfba8a497vxb6cmy1y22l3lfn4sx9s9r59kwzd83i6fxn")))) + "12kza6wss01kcka1zc2bck4hwgc55vzwwdxabk75qndzhh8cg81y")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t #:phases #~(modify-phases %standard-phases - (add-before 'install 'disable-gtk-update-icon-cache + (add-after 'unpack 'disable-gtk-update-icon-cache (lambda _ - (setenv "DESTDIR" "/")))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false"))))))) (native-inputs (list gettext-minimal `(,glib "bin") ; for glib-compile-schemas, etc. @@ -8086,7 +8129,7 @@ window manager.") gtk+)) ; required by goa-backend-1.0.pc (inputs (list docbook-xsl - gcr + gcr-3 json-glib libsecret mit-krb5 @@ -8129,7 +8172,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (define-public evolution-data-server (package (name "evolution-data-server") - (version "3.46.4") + (version "3.48.4") (source (origin (method url-fetch) @@ -8137,7 +8180,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1j0c7kwmjng7spkqz6vfd8gyvw65invjsf5mqzbsr7y58m0jb6x5")))) + (base32 "0q3d5masw20sr6xm2rg3170a4pxsh23ywyq1rkzhmyvyn69kyzlr")))) (build-system cmake-build-system) (arguments (list @@ -8202,7 +8245,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (inputs (list bdb boost - gcr + gcr-3 gnome-online-accounts json-glib libcanberra @@ -8602,7 +8645,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") libnma pkg-config)) (inputs - (list gcr + (list gcr-3 gtk gtk+ kmod @@ -8736,7 +8779,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.") ;; nm-applet need by org.gnome.nm-applet.gschema.xml libnma)) (inputs - (list gcr + (list gcr-3 libappindicator libgudev libsecret @@ -8801,7 +8844,7 @@ library.") (sha256 (base32 "07f6l9ka63dnc85npxq5g7bn1ja7lad0w2wixqdlyabdvc4l2hp5")))) (propagated-inputs (modify-inputs (package-propagated-inputs libxml++) - (append glibmm-2.64))))) + (append glibmm-2.66))))) ;; This is the last release providing the 2.6 API, hence the name. (define-public libxml++-2 @@ -8819,12 +8862,12 @@ library.") (sha256 (base32 "05slsbhc25z7kwlc28ydl3dfyp7rgbmz1fxj9z6gcvpg3hkghj2m")))) (propagated-inputs (modify-inputs (package-propagated-inputs libxml++) - (append glibmm-2.64))))) + (append glibmm-2.66))))) (define-public gdm (package (name "gdm") - (version "42.0") + (version "44.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8832,7 +8875,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0m9qmm3vm81jmqlc30a1fb79hsr4l4lpiw0zjxww3gipd6bsqa53")) + "03avvkrm2jd0731ggh9cjnkhrfysqp4slrq0km3gqa3xpqx6n9k8")) (patches (search-patches "gdm-default-session.patch" @@ -9011,7 +9054,18 @@ logo='~a'~%" icon)))))) (for-each (lambda (desktop) (symlink desktop (basename desktop))) (find-files - (string-append settings "/etc/xdg")))))))))) + (string-append settings "/etc/xdg"))))))) + ;; GDM needs some additional programs available via XDG_DATA_DIRS, + ;; to make accessibility settings and related services available. + (add-after 'install 'wrap-accessibility-dependencies + (lambda _ + (wrap-program (string-append #$output "/bin/gdm") + `("XDG_DATA_DIRS" ":" prefix + #$(map (lambda (input) + (file-append (this-package-input input) "/share")) + '("at-spi2-core" + "dconf" + "gnome-control-center"))))))))) (native-inputs (list `(,glib "bin") ;for glib-compile-schemas, etc. dconf @@ -9025,6 +9079,7 @@ logo='~a'~%" icon)))))) (list accountsservice check ;for testing dbus + egl-wayland elogind eudev gnome-session @@ -9033,7 +9088,12 @@ logo='~a'~%" icon)))))) iso-codes libcanberra libgudev - linux-pam)) + linux-pam + + ;; accessibility dependencies + at-spi2-core + dconf + gnome-control-center)) (synopsis "Display manager for GNOME") (home-page "https://wiki.gnome.org/Projects/GDM/") (description @@ -9068,7 +9128,7 @@ usage and information about running processes.") (define-public gnome-bluetooth (package (name "gnome-bluetooth") - (version "42.4") + (version "42.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-bluetooth/" @@ -9076,7 +9136,7 @@ usage and information about running processes.") "gnome-bluetooth-" version ".tar.xz")) (sha256 (base32 - "1p5wq3rh9p7fhka57qcds6lvphd26yyc18ilncx95jbcvcfcyvqx")))) + "1ny2zhak2n09i47m2a8q1rfgr2ag10kclda56qsi16rcrbl43hkn")))) (build-system meson-build-system) (native-inputs (list gettext-minimal @@ -9107,7 +9167,7 @@ devices using the GNOME desktop.") (define-public gnome-control-center (package (name "gnome-control-center") - (version "42.4") + (version "44.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9115,7 +9175,10 @@ devices using the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs")))) + "0mz134argczbkfnxzqsfa1vydx3v44wrldcczyzjanvrq7ia7hli")) + (patches + (search-patches + "gnome-control-center-firmware-security.patch")))) (build-system meson-build-system) (arguments (list @@ -9139,19 +9202,32 @@ devices using the GNOME desktop.") "panels/network/connection-editor/net-connection-editor.c") (("\"nm-connection-editor") (string-append "\"" (search-input-file - inputs "bin/nm-connection-editor")))) - (substitute* "panels/user-accounts/run-passwd.c" - (("/usr/bin/passwd") - "/run/setuid-programs/passwd")) - (substitute* "panels/info-overview/cc-info-overview-panel.c" - (("DATADIR \"/gnome/gnome-version.xml\"") - (format #f "~s" (search-input-file - inputs "share/gnome/gnome-version.xml")))))) + inputs "bin/nm-connection-editor")))))) (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")))))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + ;; For the missing /var/lib/dbus/machine-id + (setenv "DBUS_FATAL_WARNINGS" "0") + (setenv "NO_AT_BRIDGE" "1") + (setenv "HOME" "/tmp") + (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir")) + (mkdir (getenv "XDG_RUNTIME_DIR")) + (chmod (getenv "XDG_RUNTIME_DIR") #o700) + (setenv "MESON_TESTTHREADS" + (if parallel-tests? + (number->string (parallel-job-count)) + "1")) + (invoke "dbus-run-session" "--" + "meson" "test" "-t" "0"))))))) (native-inputs (list docbook-xsl gettext-minimal @@ -9160,13 +9236,14 @@ devices using the GNOME desktop.") pkg-config python python-dbusmock - xorg-server-for-tests)) + xorg-server-for-tests + setxkbmap)) (inputs (list accountsservice colord-gtk cups dconf - gcr + gcr-3 gnome-bluetooth gnome-desktop gnome-online-accounts @@ -9208,7 +9285,7 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "42.4") + (version "44.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9216,7 +9293,7 @@ properties, screen resolution, and other GNOME parameters.") name "-" version ".tar.xz")) (sha256 (base32 - "0kn5fclciybp2fs38wd39hdz85y91pas0ckfa02pmyx91sbz4pw7")))) + "01pw9qnnvh64x56z1gqh0qk6vfn0ihh4zijq23f4bpz9wszlbpwf")))) (build-system meson-build-system) (arguments (let ((disallowed-references @@ -9254,6 +9331,12 @@ properties, screen resolution, and other GNOME parameters.") (substitute* "meson.build" (("gtk_update_icon_cache: true") "gtk_update_icon_cache: false")))) + (add-after 'unpack 'unbreak-perf-tests + (lambda _ + ;; Lest non-fatal dbus warnings be made fatal again… + (substitute* "tests/meson.build" + (("perf_testenv\\.set\\('G_DEBUG'" all) + (string-append "# " all))))) (add-before 'configure 'record-absolute-file-names (lambda* (#:key inputs #:allow-other-keys) (let ((ibus-daemon (search-input-file inputs "bin/ibus-daemon")) @@ -9270,7 +9353,13 @@ properties, screen resolution, and other GNOME parameters.") ;; Tests require a running X server. (system "Xvfb :1 &") (setenv "DISPLAY" ":1") - (setenv "HOME" "/tmp"))) ;to avoid "fatal" warnings + ;; For the missing /var/lib/dbus/machine-id + (setenv "DBUS_FATAL_WARNINGS" "0") + (setenv "NO_AT_BRIDGE" "1") + (setenv "HOME" "/tmp") + (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir")) + (mkdir (getenv "XDG_RUNTIME_DIR")) + (chmod (getenv "XDG_RUNTIME_DIR") #o700))) (add-after 'install 'wrap-programs (lambda* (#:key inputs #:allow-other-keys) (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")) @@ -9336,13 +9425,15 @@ printf '~a is deprecated. Use the \"gnome-extensions\" CLI or \ perl pkg-config python + python-dbus + python-dbusmock ruby-sass sassc ;; For tests xorg-server-for-tests)) (inputs (list accountsservice - caribou + bash-minimal docbook-xsl evolution-data-server gcr @@ -9439,7 +9530,7 @@ core C library, and bindings for Python (PyGTK).") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9447,7 +9538,7 @@ core C library, and bindings for Python (PyGTK).") name "-" version ".tar.xz")) (sha256 (base32 - "124y4j3wgb6axgfzw9f00865r033fg7b0qy9qgfsp5ilan4hgpvv")))) + "1hn3rzd6z2g2xvnx8icifybq26vvxk44qmqz392b2g6g7crvxby0")))) (build-system meson-build-system) (native-inputs (list gobject-introspection `(,glib "bin") pkg-config)) @@ -9465,7 +9556,7 @@ easy, safe, and automatic.") (define-public tracker (package (name "tracker") - (version "3.4.2") + (version "3.6.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker/" @@ -9473,7 +9564,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "0c8ppm03b9r6lyxalama8sjmw3km4jibbswqra7qf17pli1g2vaf")))) + "1whdqidxmagsc35pmz9kcc5vs3bmvbkmnis7prnx3zxs37z2qnaj")))) (build-system meson-build-system) (arguments (list @@ -9495,6 +9586,22 @@ easy, safe, and automatic.") (substitute* "utils/trackertestutils/__main__.py" (("/bin/bash") (search-input-file inputs "bin/bash"))))) + (add-after 'unpack 'disable-failing-tests + (lambda _ + #$@(if (target-x86-32?) + ;; On 32-bit systems, the far away dates are incorrect, + ;; and the floats are not parsed exactly. + '((substitute* + "tests/libtracker-sparql/tracker-statement-test.c" + (("g_assert_cmpfloat *\\((.*), ==, ([0-9.e-]+)\\);" + total actual expected) + (string-append "g_assert_cmpfloat_with_epsilon (" + actual ", " expected ", 1e-12);"))) + (substitute* "tests/core/tracker-sparql-test.c" + (("\\{ \"datetime/direct-1\", .* \\},") + "/* datetime test disabled */"))) + '()) + *unspecified*)) (add-before 'configure 'set-shell (lambda _ (setenv "SHELL" (which "bash")))) @@ -9583,7 +9690,7 @@ endpoint and it understands SPARQL.") (define-public tracker-miners (package (name "tracker-miners") - (version "3.3.2") + (version "3.6.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -9591,7 +9698,7 @@ endpoint and it understands SPARQL.") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "1izg2xhlr64gd9pw7apa9nkf0ffyz74f22ml1ng7q60bxf0dl0yl")))) + "13ljx0birrav728ik3bnlwzgas8q6rbhjbvxp7zzwy6ambafiw7f")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -9625,12 +9732,7 @@ endpoint and it understands SPARQL.") ;; 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'.*") - "")))) + "foreach example_name: []")))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -9662,6 +9764,7 @@ endpoint and it understands SPARQL.") giflib glib gstreamer + gst-plugins-base icu4c json-glib libcue @@ -9705,7 +9808,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "42.2") + (version "44.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9713,7 +9816,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) + "05njbaq98y00n1z1smg1pdip3shr84q8a10wssm8sjbv7sirwj75")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9722,6 +9825,13 @@ shared object databases, search tools and indexing.") #:glib-or-gtk? #t #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tracker3-command + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/nautilus-tag-manager.c" + (("\"tracker3\"") + (string-append "\"" + (search-input-file inputs "/bin/tracker3") + "\""))))) (add-after 'unpack 'disable-tracker-tests ;; The tracker test hangs in the build container (see: ;; https://gitlab.gnome.org/GNOME/nautilus/-/issues/2486). @@ -9732,8 +9842,9 @@ shared object databases, search tools and indexing.") (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "build-aux/meson/postinstall.py" - (("gtk-update-icon-cache") "true")))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) (delete 'check) (add-after 'install 'check (assoc-ref %standard-phases 'check)) @@ -9760,24 +9871,24 @@ shared object databases, search tools and indexing.") gnome-autoar gst-plugins-base json-glib - libhandy + libadwaita libportal libseccomp libselinux tracker tracker-miners - ;; XXX: gtk+ is required by libnautilus-extension.pc + ;; XXX: gtk is required by libnautilus-extension.pc ;; - ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta + ;; Don't propagate it to reduce "profile pollution" of the 'gnome' meta ;; package. See: ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>. - gtk+ + gtk libexif libxml2)) (native-search-paths (list (search-path-specification (variable "NAUTILUS_EXTENSION_PATH") - (files '("lib/nautilus/site-extensions"))))) + (files '("lib/nautilus/extensions-4"))))) (synopsis "File manager for GNOME") (home-page "https://wiki.gnome.org/Apps/Nautilus") (description @@ -9789,7 +9900,7 @@ files.") (define-public baobab (package (name "baobab") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append @@ -9798,24 +9909,28 @@ files.") name "-" version ".tar.xz")) (sha256 (base32 - "1p2hg8qxbvdfax9z4qjhdsxia93zrsdq58krx8zjnn5ipbkan6jb")))) + "1h5zl7pvpp8yryi7j0cjzy1k89vlphdmfv0jr1l4bmr3j6xn6nw4")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t)) + '(#: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.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false"))))))) (native-inputs (list desktop-file-utils ;for update-desktop-database gettext-minimal `(,glib "bin") - `(,gtk+ "bin") ;for gtk-update-icon-cache itstool libxml2 pkg-config python vala)) - (inputs - (list gtk - libadwaita - libhandy)) + (inputs (list gtk libadwaita)) (synopsis "Disk usage analyzer for GNOME") (description "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk @@ -9828,7 +9943,7 @@ is complete it provides a graphical representation of each selected folder.") (define-public gnome-backgrounds (package (name "gnome-backgrounds") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) @@ -9837,7 +9952,7 @@ is complete it provides a graphical representation of each selected folder.") name "-" version ".tar.xz")) (sha256 (base32 - "0p99q434c8qgj5wxcma9jj4dh1ff9x984ncs31vmz725kyhf2zsc")))) + "0kp09gh537wj7j9a0dc25fv441sfr4x0q6ja89m2lpqkhyrr70sa")))) (build-system meson-build-system) (native-inputs (list gettext-minimal)) (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") @@ -10008,7 +10123,7 @@ associations for GNOME.") (define-public gnome-weather (package (name "gnome-weather") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10016,7 +10131,7 @@ associations for GNOME.") name "-" version ".tar.xz")) (sha256 (base32 - "0rdl0ywdk8jlq819wr1sbdzdvsasz11pp30fylzvprakv28yd7jp")))) + "1brvjawwc69a49697mp0dq4glpvvvcsnx4i8ysfnjhahg2n3h3bb")))) (build-system meson-build-system) (arguments (list @@ -10057,7 +10172,7 @@ associations for GNOME.") bash-minimal geoclue gjs - gsettings-desktop-schemas-next + gsettings-desktop-schemas gtk libadwaita libgweather4)) @@ -10068,107 +10183,146 @@ world.") (home-page "https://wiki.gnome.org/Apps/Weather") (license license:gpl2+))) -(define-public gnome - (package - (name "gnome") - (version (package-version gnome-shell)) - (source #f) - (build-system trivial-build-system) - (arguments '(#:builder (begin (mkdir %output) #t))) - (propagated-inputs - `(,@(if (string-prefix? "x86_64" (%current-system)) - ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently - ;; only works on x86_64, so exclude it on other architectures. - (list eog) - '()) - ,@(list - ;; GNOME-Core-OS-Services. - accountsservice - network-manager - packagekit - upower - ;; GNOME-Core-Shell. - adwaita-icon-theme - gdm - glib-networking - gnome-backgrounds - gnome-bluetooth - gnome-color-manager - gnome-control-center - gnome-desktop - gnome-initial-setup - gnome-keyring - gnome-menus - gnome-session - gnome-settings-daemon - gnome-shell - gnome-shell-extensions - gnome-themes-extra - gnome-user-docs - gnome-user-share - gsettings-desktop-schemas - gvfs - mutter - orca - rygel - sushi - ;; GNOME-Core-Utilities. - baobab - cheese - epiphany - evince - file-roller - gnome-calculator - gnome-calendar - gnome-characters - gnome-clocks - gnome-console - gnome-contacts - gnome-disk-utility - gnome-font-viewer - gnome-maps - gnome-music - gnome-photos - gnome-screenshot - gnome-system-monitor - gnome-text-editor - gnome-weather - nautilus - simple-scan - totem - tracker-miners - yelp - ;; Others. - gnome-online-accounts - hicolor-icon-theme - - ;; 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 - dbus - dconf - desktop-file-utils - font-abattis-cantarell - font-dejavu - gnome-default-applications - gst-plugins-base - gst-plugins-good - gucharmap - pinentry-gnome3 - pulseaudio - shared-mime-info - system-config-printer - xdg-user-dirs - yelp - zenity))) - (synopsis "The GNU desktop environment") - (home-page "https://www.gnome.org/") - (description - "GNOME is the graphical desktop for GNU. It includes a wide variety of -applications for browsing the web, editing text and images, creating -documents and diagrams, playing media, scanning, and much more.") - (license license:gpl2+))) +(define-syntax gnome-meta-package + (lambda (x) + (syntax-case x () + ((_ field ...) + (with-syntax ((base (datum->syntax x 'base))) + #'(let ((base + (package + (name #f) ; we're hidden by default, so don't worry + (version (package-version gnome-shell)) + (source #f) + (build-system trivial-build-system) + (arguments + (list #:builder + #~(begin (format (current-warning-port) + "Building ~a is useless. \ +Refer to its propagated inputs instead.\n" + #$(package-name this-package)) + (mkdir #$output)))) + (home-page "https://www.gnome.org") + (synopsis "Graphical desktop environment") + (description "GNOME is a graphical desktop environment. +It includes a wide variety of applications with a common interface for +browsing the web, editing text and images, creating documents and diagrams, +playing media, scanning, and much more.") + (license license:gpl2+) + (properties `((hidden? . #t)))))) + (package (inherit base) + field ...))))))) + +(define-public gnome-meta-core-services + (gnome-meta-package + (name "gnome-meta-core-services") + (propagated-inputs (list accountsservice + network-manager + packagekit + upower)))) + +(define-public gnome-meta-core-shell + (gnome-meta-package + (name "gnome-meta-core-shell") + (propagated-inputs (list adwaita-icon-theme + gdm + glib-networking + gnome-backgrounds + gnome-bluetooth + gnome-color-manager + gnome-control-center + gnome-desktop + gnome-initial-setup + gnome-keyring + gnome-menus + gnome-remote-desktop + gnome-session + gnome-settings-daemon + gnome-shell + gnome-shell-extensions + gnome-themes-extra + gnome-user-docs + gnome-user-share + gsettings-desktop-schemas + gvfs + mutter + orca + rygel + sushi)))) + +(define-public gnome-meta-core-utilities + (gnome-meta-package + (name "gnome-meta-core-utilities") + (propagated-inputs + (append + ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently + ;; only works on x86_64, so exclude it on other architectures. + (if (string-prefix? "x86_64" (%current-system)) + (list eog) + '()) + (list baobab + cheese + epiphany + evince + file-roller + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-connections + gnome-console + gnome-contacts + gnome-disk-utility + gnome-font-viewer + gnome-maps + gnome-music + gnome-photos + gnome-screenshot + gnome-system-monitor + gnome-text-editor + gnome-weather + nautilus + simple-scan + totem + tracker-miners + xdg-desktop-portal-gnome + yelp))))) + +(define-public gnome-essential-extras + (gnome-meta-package + (name "gnome-essential-extras") + (propagated-inputs (list at-spi2-core + dbus + dconf + desktop-file-utils + font-abattis-cantarell + font-dejavu + gnome-default-applications + gnome-online-accounts + gst-plugins-base + gst-plugins-good + gucharmap + hicolor-icon-theme + pinentry-gnome3 + pulseaudio + shared-mime-info + system-config-printer + xdg-user-dirs + yelp + zenity)) + (description "This package provides a list of packages required for +a good GNOME experience, mixed from core dependencies and other implicitly +relied-on packages."))) + +(define-deprecated/public gnome #f + (gnome-meta-package + (name "gnome") + (propagated-inputs + (append-map package-propagated-inputs + (list gnome-meta-core-services + gnome-meta-core-shell + gnome-meta-core-utilities + gnome-essential-extras))) + (properties (list)))) (define-public byzanz ;; The last stable release of Byzanz was in 2011, but there have been many @@ -10343,7 +10497,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") (define-public gnome-clocks (package (name "gnome-clocks") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10351,7 +10505,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "1q3gvniwd4dkr1ghqpp05zr7qswdhaxqrn8j6bm3qbh39bdihw8f")))) + "0f1q9wxixjnhwypp6zaplxzj2lrk3x8gfy0x7811m3ybcmrskmqp")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -10372,13 +10526,13 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") vala)) (inputs (list geoclue - geocode-glib-with-libsoup2 + geocode-glib glib gnome-desktop gsound gtk libadwaita - libgweather4-with-libsoup2)) + libgweather4)) (home-page "https://wiki.gnome.org/Apps/Clocks") (synopsis "GNOME's clock application") (description @@ -10389,7 +10543,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") (define-public gnome-calendar (package (name "gnome-calendar") - (version "42.2") + (version "44.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10397,7 +10551,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") name "-" version ".tar.xz")) (sha256 (base32 - "1ggvnl2jnc24nzpkjvsk57vpckjzb14a7mmnk6jjm84nmqxccz5f")))) + "0zmpyd5qgryrxflgcapfp6jxph3z31qycs148r715gbhnqwbg89h")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -10414,16 +10568,14 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.") `(,glib "bin") ; For glib-compile-schemas pkg-config)) (inputs - ;; Note: not propagating evolution-data-server-3.44 to keep profiles - ;; clean from libsoup2. - (list evolution-data-server-3.44 + (list evolution-data-server geoclue - geocode-glib-with-libsoup2 - gnome-online-accounts-3.44 + geocode-glib + gnome-online-accounts gsettings-desktop-schemas libadwaita libdazzle - libgweather4-with-libsoup2)) + libgweather4)) (home-page "https://wiki.gnome.org/Apps/Calendar") (synopsis "GNOME's calendar application") (description @@ -10492,9 +10644,6 @@ desktop. It supports multiple calendars, month, week and year view.") to perfectly fit the GNOME desktop.") (license license:gpl3+))) -(define-public gnome-todo - (deprecated-package "gnome-todo" endeavour)) - (define-public dialect (package (name "dialect") @@ -10644,7 +10793,7 @@ GNOME Shell appearance and extension, etc.") (define-public gnome-shell-extensions (package (name "gnome-shell-extensions") - (version "42.3") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10652,16 +10801,38 @@ GNOME Shell appearance and extension, etc.") name "-" version ".tar.xz")) (sha256 (base32 - "1z3k4bvq8f2s0q9q7i093w4hrz289lci7xlib20aqa4z5sivxhhf")))) + "1aq1n75m1svsv0ppg66n9qch26rhjxcv3q33a3skf7hsydr5wd4c")))) (build-system meson-build-system) (arguments - '(#:configure-flags '("-Dextension_set=all"))) + (list + #:configure-flags #~'("-Dextension_set=all") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'wrap-extensions + (lambda _ + (use-modules (ice-9 textual-ports) + (guix build utils)) + (for-each + (lambda (file-to-wrap) + (with-atomic-file-replacement file-to-wrap + (lambda (source wrapped) + (format wrapped "'~a'.split(':').forEach(" + (getenv "GI_TYPELIB_PATH")) + (display + (string-append + "path => imports.gi.GIRepository.Repository" + ".prepend_search_path(path));\n") + wrapped) + (dump-port source wrapped)))) + (find-files "extensions" "(extension|prefs)\\.js"))))))) (native-inputs (list `(,glib "bin") gettext-minimal + gobject-introspection ; to set GI_TYPELIB_PATH pkg-config)) - (propagated-inputs - (list glib)) + (inputs + (list glib + gnome-menus)) ; for Applications Menu (synopsis "Extensions for GNOME Shell") (description "GNOME Shell extensions modify and extend GNOME Shell functionality and behavior.") @@ -10671,7 +10842,7 @@ functionality and behavior.") (define-public folks (package (name "folks") - (version "0.15.5") + (version "0.15.8") (source (origin (method url-fetch) (uri (string-append @@ -10680,7 +10851,7 @@ functionality and behavior.") "folks-" version ".tar.xz")) (sha256 (base32 - "11lhfn6b7gml4ckj2dkm6g889j21wpvj90srwjp85k9hcf4qmzqg")))) + "1hj9brran2azy3scyf913svhxjrmya83fi7x239h33rp7vxnljlm")))) (build-system meson-build-system) (arguments '(#:phases @@ -10688,8 +10859,9 @@ functionality and behavior.") (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"))))))) (inputs (list bdb dbus-glib @@ -10829,7 +11001,7 @@ handling the startup notification side.") (define-public gnome-calculator (package (name "gnome-calculator") - (version "42.2") + (version "44.0") (source (origin (method url-fetch) @@ -10838,21 +11010,22 @@ handling the startup notification side.") name "-" version ".tar.xz")) (sha256 (base32 - "1866qn0r9xp7b7j1436kry2k3bdh9ikhz2wm41jxcn1nljyb3nik")))) + "0hqhnwaw7zam0r7b61ir68710hxmc5rxb0172mz9lc48kwr67rql")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - (lambda _ - (substitute* "meson.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false")))) - (add-before 'check 'pre-check - (lambda _ - ;; Tests require a writable HOME. - (setenv "HOME" (getcwd))))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a writable HOME. + (setenv "HOME" (getcwd))))))) (native-inputs (list gettext-minimal `(,glib "bin") ;for glib-compile-schemas, gio-2.0. @@ -10861,15 +11034,17 @@ handling the startup notification side.") python vala)) (inputs - (list gsettings-desktop-schemas-next + (list gsettings-desktop-schemas gtksourceview libadwaita libgee - libhandy - libsoup-minimal-2 + libsoup libxml2 mpc mpfr)) + (propagated-inputs + ;; Marked as requires.private in either .pc + (list libgee glib gtk)) (home-page "https://wiki.gnome.org/Apps/Calculator") (synopsis "Desktop calculator") (description @@ -11011,14 +11186,14 @@ supports both X and Wayland display servers.") (define-public bluefish (package (name "bluefish") - (version "2.2.12") + (version "2.2.14") (source (origin (method url-fetch) (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/" "bluefish-" version ".tar.gz")) (sha256 - (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl")))) + (base32 "0427xihrr7l1475qr3n40hz2xz6bqmfdbdg9pn8q7rvhvajyvjx7")))) (build-system gnu-build-system) (native-inputs (list desktop-file-utils intltool pkg-config)) @@ -11035,7 +11210,7 @@ Bluefish supports many programming and markup languages.") (define-public gnome-system-monitor (package (name "gnome-system-monitor") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) @@ -11044,7 +11219,7 @@ Bluefish supports many programming and markup languages.") name "-" version ".tar.xz")) (sha256 (base32 - "1p3mq32pfd9260aql5nys806g0c4nrswacwqs8ms40920ci9s8qk")))) + "0vjyqk76k2gzhxc9hcbg0zjwk11wgqz2ji6yr322fa59vgnvgfn2")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -11078,7 +11253,7 @@ kill/reinice processes.") (define-public python-pyatspi (package (name "python-pyatspi") - (version "2.45.90") + (version "2.46.1") (source (origin (method url-fetch) (uri (string-append @@ -11087,16 +11262,17 @@ kill/reinice processes.") "/pyatspi-" version ".tar.xz")) (sha256 (base32 - "1fggihg4xmwia0xgjkcraiqk76jvyrj1pcsw99rjh4yn3kygisrh")))) + "06q4zca83hk4iify8amcb9hfxs3qvlczhjsw7p8hg72f8dbnl7zr")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'fix-atk-load - (lambda _ - (substitute* "pyatspi/__init__.py" - (("from gi.repository import Atspi") - "gi.require_version('Gtk', '3.0') + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'fix-atk-load + (lambda _ + (substitute* "pyatspi/__init__.py" + (("from gi.repository import Atspi") + "gi.require_version('Gtk', '3.0') from gi.repository import Gtk from gi.repository import Atspi"))))))) (native-inputs @@ -11117,7 +11293,7 @@ accessibility infrastructure.") (define-public orca (package (name "orca") - (version "42.3") + (version "44.2") (source (origin (method url-fetch) (uri (string-append @@ -11126,17 +11302,25 @@ accessibility infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "097pyav3z5ssic8vwd7v1s7vynpycdpyfr324rr6c7mfzq5vmp7s")))) + "11jn925ga970y74did96ms78pc3lshkd9rd8v82i6zdzigxa7yvd")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'configure 'qualify-xkbcomp + (add-before 'configure 'qualify-programs (lambda* (#:key inputs #:allow-other-keys) (let ((xkbcomp (string-append - (assoc-ref inputs "xkbcomp") "/bin/xkbcomp"))) + (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")) + (pgrep (string-append + (assoc-ref inputs "procps") "/bin/pgrep"))) (substitute* "src/orca/orca.py" - (("'xkbcomp'") (format #f "'~a'" xkbcomp)))))) + (("'xkbcomp'") (format #f "'~a'" xkbcomp))) + (substitute* "src/orca/debug.py" + (("'pgrep %s'") + (format #f "'~a %s'" pgrep))) + (substitute* "src/orca/orca_bin.py.in" + (("'pgrep -u %s -x orca'") + (format #f "'~a -u %s -x orca'" pgrep)))))) (add-after 'install 'wrap-orca (lambda* (#:key outputs #:allow-other-keys) (wrap-program (search-input-file outputs "bin/orca") @@ -11152,13 +11336,17 @@ accessibility infrastructure.") pkg-config libxml2)) (inputs - (list at-spi2-atk + (list at-spi2-core + brltty bash-minimal gsettings-desktop-schemas gstreamer gst-plugins-base gst-plugins-good gtk+ + liblouis + `(,liblouis "python") + procps ; for pgrep python python-pygobject python-pyatspi @@ -11176,7 +11364,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") (define-public gspell (package (name "gspell") - (version "1.11.1") + (version "1.12.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -11184,7 +11372,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") name "-" version ".tar.xz")) (sha256 (base32 - "14h2w0yzqwaw5dykmhh21sy2c96g17waahg2lxc52xqiyzis8spg")))) + "0f91vl42i6fz5yrbw31biffbxqzwa24mw6qbfxmfnk3yhayr7sdl")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags (list "--enable-vala") @@ -11372,7 +11560,7 @@ photo-booth-like software, such as Cheese.") (define-public cheese (package (name "cheese") - (version "43.0") + (version "44.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -11380,7 +11568,7 @@ photo-booth-like software, such as Cheese.") version ".tar.xz")) (sha256 (base32 - "02vzcvk2s6cwvdw6v6qmlq3znamy6zwv7l6nlbqjfwrj7i54qmvl")))) + "13pnz35yvwvmk1iyhcp1a94yal4rh610rxmsp3rdsm4yr728a8az")))) (arguments (list #:glib-or-gtk? #t #:phases @@ -11388,8 +11576,9 @@ photo-booth-like software, such as Cheese.") (add-after 'unpack 'skip-gtk-update-icon-cache (lambda _ ;; Don't create 'icon-theme.cache'. - (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) (add-after 'install 'wrap-cheese (lambda* (#:key inputs outputs #:allow-other-keys) (wrap-program (search-input-file outputs "bin/cheese") @@ -11616,7 +11805,7 @@ configurable file renaming.") (define-public workrave (package (name "workrave") - (version "1.10.50") + (version "1.10.52") (source (origin (method git-fetch) @@ -11627,7 +11816,7 @@ configurable file renaming.") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "0fj3fqmdn4nsjgvbbvzpxw2mgiihcr1zpb08amg2p6hg9n11y9bx")))) + (base32 "1rp6v9a8xmhjy75wmh7pnd092dn9nrb6wd4gcgr3c866qnpp6zsk")))) (build-system glib-or-gtk-build-system) (arguments ;; The only tests are maintainer tests (in po/), which fail. @@ -11643,17 +11832,17 @@ configurable file renaming.") libice libsm libxscrnsaver)) - (native-inputs `(("boost" ,boost) - ("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - ("autoconf" ,autoconf) - ("autoconf-archive" , autoconf-archive) - ("automake" ,automake) - ("libtool" ,libtool) - ("intltool" ,intltool) - ("gobject-introspection" ,gobject-introspection) - ("python3" ,python-3) - ("python-jinja2" ,python-jinja2))) + (native-inputs (list boost + pkg-config + gettext-minimal + autoconf + autoconf-archive + automake + libtool + intltool + gobject-introspection + python-3 + python-jinja2)) (synopsis "Tool to help prevent repetitive strain injury (RSI)") (description "Workrave is a program that assists in the recovery and prevention of @@ -11744,7 +11933,7 @@ generic enough to work for everyone.") (define-public evolution (package (name "evolution") - (version "3.46.4") + (version "3.48.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/evolution/" @@ -11752,7 +11941,7 @@ generic enough to work for everyone.") "evolution-" version ".tar.xz")) (sha256 (base32 - "0gbvd460hsha0gss9rjjpyisq336fwxd8y1xf55s6ifjrqql423s")))) + "1dwbwy67xg1fypxj0qyhhvy608hbw19gqhvxqkr739shl3mrjbx0")))) (build-system cmake-build-system) (arguments (list @@ -11791,7 +11980,7 @@ generic enough to work for everyone.") (list cmark enchant evolution-data-server ;must be the same version - gcr + gcr-3 gsettings-desktop-schemas gnome-autoar gnome-desktop @@ -11818,7 +12007,7 @@ functionality.") (define-public gthumb (package (name "gthumb") - (version "3.12.2") + (version "3.12.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gthumb/" @@ -11826,7 +12015,7 @@ functionality.") "gthumb-" version ".tar.xz")) (sha256 (base32 - "09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p")))) + "1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd")))) (build-system meson-build-system) (arguments (list @@ -11852,6 +12041,7 @@ functionality.") colord exiv2 gsettings-desktop-schemas + gstreamer gtk+ libheif libjpeg-turbo @@ -11941,7 +12131,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (define-public libhandy (package (name "libhandy") - (version "1.7.90") + (version "1.8.3") (source (origin (method git-fetch) @@ -11950,7 +12140,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1z8sbx7g19c1p8dy0sn0l25qfvrd2j28h269lsqm1y98r818h2k1")))) + (base32 "0p80py59mg9hjk2pzp0595cv64ankaqdvqsxlhrsgzsfx940r9nc")))) (build-system meson-build-system) (arguments (list #:configure-flags @@ -12010,7 +12200,7 @@ for usage on small and big screens.") (define-public libgit2-glib (package (name "libgit2-glib") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -12018,7 +12208,7 @@ for usage on small and big screens.") name "-" version ".tar.xz")) (sha256 (base32 - "1wqypx0xv20vk0zfh20c474z6rdgbxbklcr2wkhl30dgbmbxg3f3")))) + "1441w7gzn6m3adhx4g6wcbkmscka2929si963dciyklghgddlc8k")))) (build-system meson-build-system) (native-inputs (list `(,glib "bin") ;; For glib-mkenums @@ -12041,7 +12231,7 @@ higher level porcelain stuff.") (define-public gitg (package (name "gitg") - (version "41") + (version "44") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -12049,8 +12239,7 @@ higher level porcelain stuff.") name "-" version ".tar.xz")) (sha256 (base32 - "0aa6djcf7rjw0q688mfy47k67bbjpnx6aw1xs94abfhgn6gipdkz")) - (patches (search-patches "gitg-fix-positional-argument.patch")))) + "0m135v2qm5kaa2jki0y2lbh0wa69bqfh9a4cm7db153v7smrj3jv")))) (build-system meson-build-system) (arguments (list @@ -12074,6 +12263,7 @@ higher level porcelain stuff.") `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (inputs (list glib + gpgme gsettings-desktop-schemas gspell gtk+ @@ -12082,6 +12272,7 @@ higher level porcelain stuff.") libdazzle libgee libgit2-glib + libhandy libpeas libsecret libsoup-minimal-2 @@ -12174,44 +12365,40 @@ library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg - ;; 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 + (package + (name "gnome-mahjongg") + (version "3.40.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yj41lj2vancjzwjcm5cdv48983jq05i6sw8p4nggyqwij3xpllj")))) + (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 @@ -12366,7 +12553,7 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "43.3") + (version "44.3") (source (origin (method url-fetch) @@ -12374,7 +12561,7 @@ integrate seamlessly with the GNOME desktop.") (version-major version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 "14zd5ii3igy0am4zqw2jg1xshf2zxsy96yv5pss2vf6rh3svmnzf")))) + (base32 "0wg1fgp44wnv8cx39rinia2ix4mw6rqaczkq797g0xf8w2w432k4")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t @@ -12476,7 +12663,7 @@ non-privileged user.") (inputs (list enchant folks - gcr + gcr-3 glib gmime gnome-online-accounts @@ -12858,6 +13045,44 @@ provided there is a DBus service present: (simple-service 'ratbagd dbus-root-service-type (list libratbag))") (license license:gpl2))) +(define-public xdg-desktop-portal-gnome + (package + (name "xdg-desktop-portal-gnome") + (version "44.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "08gznmr718na5p2j8fm7nim5862r2v0sjh68ql5yl0q356n1mvah")) + (snippet + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "subprojects"))))) + (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + #:configure-flags #~'("-Dsystemduserunitdir=no"))) + (inputs + (list gnome-desktop + gsettings-desktop-schemas + libadwaita + libxml2 + xdg-desktop-portal + xdg-desktop-portal-gtk)) + (native-inputs + (list gettext-minimal + `(,glib "bin") + pkg-config)) + (home-page "https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome") + (synopsis "GNOME backend for xdg-desktop-portal") + (description "xdg-desktop-portal-gnome implements a back-end for +@command{xdg-desktop-portal} that uses gtk and some more GNOME APIs.") + (license license:lgpl2.1+))) + (define-public parlatype (package (name "parlatype") @@ -12918,7 +13143,7 @@ audio files.") (define-public jsonrpc-glib (package (name "jsonrpc-glib") - (version "3.42.0") + (version "3.44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -12926,13 +13151,17 @@ audio files.") name "-" version ".tar.xz")) (sha256 (base32 - "0sr71110gwbv08qwjh410fnhq6v5swn849y4gm314am8gjjqj692")))) + "01nfsny3612c6l5q7qaazjpbzin0h357xblc81sm3k6ha016lh39")))) (build-system meson-build-system) + (arguments + (list + #:configure-flags #~(list "-Denable_gtk_doc=true"))) (inputs (list glib json-glib)) (native-inputs - (list `(,glib "bin") ; for glib-genmarshal, etc. + (list gi-docgen + `(,glib "bin") ; for glib-genmarshal, etc. gobject-introspection pkg-config vala)) @@ -12945,10 +13174,37 @@ both peers support it. You might want that when communicating on a single host to avoid parser overhead and memory-allocator fragmentation.") (license license:lgpl2.1+))) +(define-public gmobile + (package + (name "gmobile") + (version "0.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/guidog/gmobile") + (commit (string-append "v" version)))) + (file-name (git-file-name "gmobile" version)) + (sha256 + (base32 + "0lr22nj4ypzxbjim1a7ay07nh4vx3dqc895qql437gda6x0rvn2p")) + (patches + (search-patches "gmobile-make-it-installable.patch")))) + (build-system meson-build-system) + (native-inputs + (list `(,glib "bin") ; for glib-compile-resources + pkg-config)) + (propagated-inputs + (list glib json-glib)) + (synopsis "Functions useful in mobile related, glib based projects") + (description "This package provides functions for mobiles.") + (home-page "https://gitlab.gnome.org/guidog/gmobile") + (license license:lgpl2.1+))) + (define-public feedbackd (package (name "feedbackd") - (version "0.0.0+git20200527") + (version "0.2.1") (source (origin (method git-fetch) (uri (git-reference @@ -12957,12 +13213,18 @@ host to avoid parser overhead and memory-allocator fragmentation.") (file-name (git-file-name name version)) (sha256 (base32 - "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y")))) + "1acwpb8cgzyvzriphrb42k3d7njwcn88j66i5wz75yx2sbfaf93q")) + (patches + (search-patches "feedbackd-use-system-gmobile.patch")) + (snippet + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "subprojects"))))) (build-system meson-build-system) (native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala)) (inputs - (list dbus gsound json-glib libgudev)) + (list dbus gmobile gsound json-glib libgudev)) (propagated-inputs (list glib)) ; in Requires of libfeedback-0.0.pc (synopsis "Haptic/visual/audio feedback via DBus") @@ -12976,7 +13238,7 @@ GObject introspection bindings.") (define-public sysprof (package (name "sysprof") - (version "3.45.1") + (version "3.48.0") (source (origin (method url-fetch) @@ -12984,12 +13246,13 @@ GObject introspection bindings.") (version-major+minor version) "/" "sysprof-" version ".tar.xz")) (sha256 - (base32 "16nmr1qs7s2ylhwj58zj6b7in72nw7z72glaz746f2g7dbqs00k4")))) + (base32 "0s11jwkvdbnq2jyz26mwy47wcxfsbawg53zlackvabygcqd0in87")))) (build-system meson-build-system) (arguments (list #:configure-flags - #~(list (string-append "-Dsystemdunitdir=" #$output "/share/systemd")) + #~(list (string-append "-Dsystemdunitdir=" #$output "/share/systemd") + "-Dhelp=true") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-post-install @@ -13000,9 +13263,10 @@ GObject introspection bindings.") (("update_desktop_database: true") "update_desktop_database: false"))))))) (propagated-inputs - (list polkit)) + ;; Listed in sysprof-4.pc or sysprof-ui-5.pc + (list glib json-glib libadwaita polkit)) (inputs - (list glib-next + (list glib gtk json-glib libadwaita @@ -13011,7 +13275,7 @@ GObject introspection bindings.") polkit)) (native-inputs (list gettext-minimal - `(,glib-next "bin") ;for gdbus-codegen, etc. + `(,glib "bin") ;for gdbus-codegen, etc. itstool libxml2 pkg-config)) @@ -13057,7 +13321,7 @@ libraries. Applications do not need to be recompiled--or even restarted.") (define-public gnome-builder (package (name "gnome-builder") - (version "42.1") + (version "44.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -13065,57 +13329,80 @@ libraries. Applications do not need to be recompiled--or even restarted.") name "-" version ".tar.xz")) (sha256 (base32 - "02k78mamp1yf9y6wixd864hdf9saw83wdw01f80lhnw60avm2kax")))) + "1c192xzjv5hsbp1p3wil595810k49kgmf5a7lwf260izip3qk9ng")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t ;To wrap binaries and compile schemas - #:configure-flags #~(list "-Dnetwork_tests=false") + #:configure-flags #~(list "-Dnetwork_tests=false" "-Ddocs=true") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-meson (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")) (substitute* "build-aux/meson/post_install.py" + ;; The post_install script does not seem to respect the + ;; previous setting regarding gtk-update-icon-cache. (("gtk-update-icon-cache") "true") (("update-desktop-database") "true")) - (substitute* "src/libide/meson.build" - (("/usr/lib") - (string-append #$(this-package-input "python-pygobject") - "/lib"))))) - (add-before 'check 'pre-check + ;; This test is failing for unclear reasons. + (substitute* "src/tests/meson.build" + (("test\\('test-shortcuts'") + "# test('test-shortcuts'")))) + (add-before 'build 'set-home (lambda _ - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1")))))) + ;; Required for documentation. + (setenv "HOME" (getcwd)))) + (add-before 'check 'pre-check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))) + (add-after 'glib-or-gtk-wrap 'wrap-typelib + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/gnome-builder") + `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))))))) (inputs - (list cmark + (list bash-minimal ;for wrap-program + cmark clang devhelp-with-libsoup2 + d-spy + ;; Cyclic modular dependency + (module-ref + (resolve-interface + '(gnu packages text-editors)) + 'editorconfig-core-c) flatpak - glade3 gspell - gtk+ + gtk json-glib jsonrpc-glib + libadwaita libdazzle + libdex libgit2-glib - libhandy + libpanel libpeas libportal - libsoup-minimal-2 + libsoup llvm libostree python python-pygobject - sysprof-3.44 + sysprof template-glib - vte - webkitgtk-with-libsoup2)) + vte-with-gtk-4 + webkitgtk)) (propagated-inputs - (list gtksourceview-4)) ;needed for settings + (list gtksourceview)) ;needed for settings (native-inputs (list desktop-file-utils ;for desktop-file-validate `(,glib "bin") gettext-minimal + gi-docgen pkg-config python ;for meson scripts vala @@ -13219,6 +13506,7 @@ developed with the aim of being used with the Librem 5 phone.") (sha256 (base32 "0w564z7krgjk19r39mi5qn4kggpdg9ggbyn9pb4aavb61r14npwr")) (patches (search-patches "libgda-cve-2021-39359.patch" + "libgda-disable-data-proxy-test.patch" "libgda-fix-build.patch" "libgda-fix-missing-initialization.patch" "libgda-skip-postgresql-tests.patch")))) @@ -13279,7 +13567,7 @@ your data.") (substitute* "build-aux/meson/meson_post_install.py" (("gtk-update-icon-cache") (which "true")))))))) (native-inputs - (list `(,glib-next "bin") + (list `(,glib "bin") gettext-minimal itstool pkg-config)) @@ -13287,7 +13575,7 @@ your data.") (list json-glib jsonrpc-glib gettext-minimal - glib-next + glib gsettings-desktop-schemas gspell libgda @@ -13371,7 +13659,7 @@ Document Analysis and Recognition program.") (define-public libadwaita (package (name "libadwaita") - (version "1.2.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libadwaita/" @@ -13379,7 +13667,7 @@ Document Analysis and Recognition program.") "libadwaita-" version ".tar.xz")) (sha256 (base32 - "0326qs0zhfi6zv52p90axnicmv0qb2l2hwpyv60pk9lvwcdkwbrj")))) + "1hj7kxza6263x662v4ffndlz8dhfx19cz3y4iwhnhdflaj50j6p5")))) (build-system meson-build-system) (arguments `(#:phases @@ -13399,7 +13687,7 @@ Document Analysis and Recognition program.") vala xorg-server-for-tests)) (propagated-inputs - (list gtk)) ;libadwaita-1.pc 'Requires' it + (list appstream gtk)) ;libadwaita-1.pc 'Requires' it (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/") (synopsis "Building blocks for GNOME applications") (description @@ -13476,3 +13764,278 @@ historical battery usage and related statistics.") (home-page "http://xffm.org/") (license license:gpl3+) (properties '((upstream-name . "xffm"))))) + +(define-public gnome-remote-desktop + (package + (name "gnome-remote-desktop") + (version "44.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "13kvr1f2vk0qfqr9alpz7wb542b5d5i9ypk74rnn7jsz3csgv7vs")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags + #~'("-Dsystemd=false" + ;; RDP support requires CUDA (ffnvcodec) + "-Drdp=false" + ;; This is for the RDP back-end + "-Dfdk_aac=false" + ;; Enable VNC support + "-Dvnc=true") + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'shorten-vnc-test + (lambda _ + ;; The VNC test sets up the connection, parses a message + ;; from the server, and then waits forever. This + ;; modification lets it succeed once it has parsed a + ;; message from the server. + (substitute* "tests/test-client-vnc.c" + (("while \\(TRUE\\)") + "int ret = 0; while (ret == 0)") + (("int ret;") "")))) + (delete 'check) + (add-after 'install 'check + (assoc-ref %standard-phases + 'check)) + (add-before 'check 'pre-check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir")) + (mkdir (getenv "XDG_RUNTIME_DIR")) + (chmod (getenv "XDG_RUNTIME_DIR") #o700) + (setenv "GSETTINGS_SCHEMA_DIR" + (string-append #$output "/share/glib-2.0/schemas")) + ;; Unless enabled by the user, the VNC server will not + ;; start. + (invoke "gsettings" + "set" + "org.gnome.desktop.remote-desktop.vnc" + "enable" "true") + ;; Pipewire is required. + (setenv "PIPEWIRE_DEBUG" "2") + (setenv "PIPEWIRE_LOG" "meson-logs/pipewire.log") + (invoke "pipewire" "--version") + (system "pipewire &"))))))) + (inputs + (list cairo + glib + libdrm + libepoxy + libgudev + libnotify + libsecret + ;; Cyclic modular dependency + (module-ref + (resolve-interface + '(gnu packages vnc)) + 'libvnc) + pipewire + tpm2-tss)) + (native-inputs + (list asciidoc + dbus + docbook-xsl + docbook-xml-4.3 + gettext-minimal + `(,glib "bin") + itstool + libxml2 + libxslt + mutter + pkg-config + python + python-dbus + python-pygobject)) + (home-page "https://gitlab.gnome.org/GNOME/gnome-remote-desktop") + (synopsis "Share GNOME desktop with remote sessions") + (description "This package provides a remote desktop server for GNOME.") + (license license:gpl2+))) + +(define-public libcall-ui + (package + (name "libcall-ui") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/Phosh/libcall-ui") + (commit "6798b38d4d66d069751151b3e9a202c6de8d7f3c"))) + (file-name (git-file-name "libcall-ui" version)) + (sha256 + (base32 + "0zfrxh77ag8garqj319amnxjcdyp3ig12dkxfkl6wbwn1mvyrwx8")) + (patches (search-patches "libcall-ui-make-it-installable.patch")))) + (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))))) + (propagated-inputs ; All these in call-ui.pc. + (list glib + gtk+ + libcallaudio + libhandy)) + (native-inputs + (list `(,glib "bin") ; glib-mkenums + pkg-config + xorg-server-for-tests)) + (synopsis "Common User Interfaces for call handling") + (description "This package provides common user interfaces to make and +receive calls.") + (home-page "https://gitlab.gnome.org/World/Phosh/libcall-ui") + (license license:lgpl2.1+))) + +(define-public calls + (package + (name "calls") + (version "45.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1mvnrm5wbl69xbcjg8nxd6l6nj2fd3whbyh70axlm75c7l7d5j5r")) + (patches + (search-patches "calls-disable-application-test.patch" + "calls-disable-sip-test.patch")))) + (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + #:configure-flags #~'("-Dgtk_doc=true") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))))) + (inputs + (list evolution-data-server + feedbackd + folks + glib + gom + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gtk+ + libcall-ui + libgee + libpeas + libhandy + modem-manager + sofia-sip)) + (native-inputs + (list desktop-file-utils ;update-desktop-database + gettext-minimal + `(,glib "bin") ;glib-mkenums + gtk-doc ;gtkdoc-scan + `(,gtk+ "bin") ;gtk-update-icon-cache + pkg-config + python-docutils ;rst2man + vala + xorg-server-for-tests)) + (home-page "https://gitlab.gnome.org/GNOME/calls") + (synopsis "Phone dialer and call handler") + (description "Calls can make and answer phone calls using different +backends, such as ModemManager for phones and @acronym{SIP, Session Initiation +Protocol} for @acronym{VoIP, Voice over @acronym{IP, Internet Protocol}}.") + (license license:gpl3+))) + +(define-public gtk-frdp + (package + (name "gtk-frdp") + ;; The latest published tag is 3.37.1, but it is very old: + ;; https://gitlab.gnome.org/GNOME/gtk-frdp/-/issues/39 + (version "3.37.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gtk-frdp") + (commit "62fc62c5ccb7634f0bc87c57a4673877c24c94ed"))) + (file-name (git-file-name "gtk-frdp" version)) + (sha256 + (base32 + "0msw7qpsyf9hkyq9ddhvl4g4vk1fnyi7g0bddca9x6p9d0arprqz")))) + (build-system meson-build-system) + (arguments + (list #:glib-or-gtk? #t)) + (inputs + (list freerdp fuse gtk+)) + (native-inputs + (list `(,glib "bin") gobject-introspection pkg-config vala)) + (home-page "https://gitlab.gnome.org/GNOME/gtk-frdp") + (synopsis "RDP viewer widget for Gtk") + (description "This library provides a widget to view +@acronym{RDP, Remote Desktop Protocol} sessions.") + (license license:gpl3+))) + +(define-public gnome-connections + (package + (name "gnome-connections") + (version "44.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0sv238bq0dhi68ksr3bcl4q44i3ishk5i10c2325qz879f92sshk")) + (snippet + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "subprojects"))))) + (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-meson + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false") + (("update_desktop_database: true") + "update_desktop_database: false")))) + (add-after 'unpack 'disable-onboarding-dialog + (lambda _ + (substitute* "src/application.vala" + (("\\(new OnboardingDialog \\(main_window\\)\\).present \\(\\);") + "// Skip the onboarding dialog"))))))) + (inputs + (list gtk+ gtk-frdp gtk-vnc libhandy libsecret libxml2)) + (native-inputs + (list gettext-minimal + `(,glib "bin") + itstool + pkg-config + vala)) + (home-page "https://apps.gnome.org/Connections") + (synopsis "View and use other desktops") + (description "Connections allows the user to connect to different +real or virtual machines, using @acronym{VNC, Virtual Network Computing} +or @acronym{RDP, Remote Desktop Protocol}.") + (license license:gpl3+))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 9a02635ec1..1bf6eee2ff 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -894,7 +894,7 @@ passphrase when @code{gpg} is run and needs it."))) (name "pinentry-gnome3") (inputs (modify-inputs (package-inputs pinentry-tty) - (prepend gtk+-2 gcr glib))) + (prepend gtk+-2 gcr-3 glib))) (arguments `(#:configure-flags '("--enable-pinentry-gnome3" "--enable-fallback-curses"))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 511a509110..4a9bf3ba04 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages databases) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 9bc81a3a81..ad08141c96 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -885,9 +885,9 @@ exception-handling library.") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/inkscape/lib2geom.git") + (url "https://gitlab.com/inkscape/lib2geom") (commit version))) - (file-name (git-file-name name version)) + (file-name (git-file-name "lib2geom" version)) (sha256 (base32 "0dq981g894hmvhd6rmfl1w32mksg9hpvpjs1qvfxrnz87rhkknj8")))) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 2be9f6b314..2c8ad12982 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -461,7 +461,7 @@ the GStreamer multimedia framework.") (define-public gstreamer (package (name "gstreamer") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -470,7 +470,7 @@ the GStreamer multimedia framework.") version ".tar.xz")) (sha256 (base32 - "08cfz2vkf494rsg0bn75px26fxs3syvxnsc9lj5n074j0cvfgbxj")))) + "0x2rdl6vfpbr7wnh1nk0rllw28cgx0js4g9vxfank7rz0naspzlz")))) (build-system meson-build-system) (arguments (list #:disallowed-references (list python) @@ -542,7 +542,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -550,7 +550,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "0jcxcx4mgfjvfb3ixibwhx8j330mq3ap469w7hapm6z79q614rgb")))) + "1ww9xx6c4mwvgn9k56d1xfnd3i1jm4v8rfiy4f07686ll24n4n8w")))) (build-system meson-build-system) (propagated-inputs (list glib ;required by gstreamer-sdp-1.0.pc @@ -641,7 +641,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -650,7 +650,7 @@ for the GStreamer multimedia library.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1p8cpkk4dynglw0xswqyf57xl5fnxmb3xld71kv35cpj4nacb33w")))) + (base32 "0wq2f5q395vs7hnwjqpc2gysdvkgd4jmyfdszv9g9wrf795ib0dg")))) (build-system meson-build-system) (arguments (list @@ -760,14 +760,14 @@ model to base your own plug-in on, here it is.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "03rd09wsrf9xjianpnnvamb4n3lndhd4x31srqsqab20wcfaz3rx")) + "1n116sphawmlqyjp1b8sv07vz4rjk1zn07286w37y4l65pp8yyg1")) (modules '((guix build utils))) (snippet '(begin @@ -954,7 +954,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -962,7 +962,7 @@ par compared to the rest.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1486x08bwasq6l7kc75nph5az61siq9mbgkgpw4kf1mxn16z8c4g")))) + (base32 "0q53snvh7kr8g7qqxy4v5ska0d78kgc5bkp6qjrnhcr9qbaqxj9x")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -1011,7 +1011,7 @@ think twice about shipping them.") (define-public gst-libav (package (name "gst-libav") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -1020,7 +1020,7 @@ think twice about shipping them.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1zfg7giwampmjxkqr5pqy66vck42b0akmwby661brwz8iy3zkapw")))) + (base32 "08x929yhjd2wpy05146fnqv6p2hw58ha079bwfkp2hwbh02wii9f")))) (build-system meson-build-system) (native-inputs (list perl pkg-config python-wrapper ruby)) (inputs (list ffmpeg)) @@ -1034,7 +1034,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") (define-public gst-editing-services (package (name "gst-editing-services") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append @@ -1042,7 +1042,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") "gst-editing-services-" version ".tar.xz")) (sha256 (base32 - "1gyfw11ns2la1cm6gvvvv5qj3q5gcvcypc3wk8kdwmrqzij18fs5")))) + "18nfq3av5ksz17048l2b4r4zbh11yd0yq2asx0jy3c894pkbr98m")))) (build-system meson-build-system) (arguments (list @@ -1102,7 +1102,7 @@ binary, but none of the actual plugins."))) (define-public python-gst (package (name "python-gst") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append @@ -1110,7 +1110,7 @@ binary, but none of the actual plugins."))) "gst-python-" version ".tar.xz")) (sha256 (base32 - "1bak46bj92gyz613m99mnl0yw0qhbhq5dfxifnvldgp45kcb7wmy")))) + "073kii36ncgsyq0b5njbsvprrg1k3kmydr3dxwiccjv3pvxd7gkh")))) (build-system meson-build-system) (arguments (list diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 2dcfa0edc1..9252315fd2 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -106,6 +106,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx) #:use-module (gnu packages gstreamer) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) @@ -258,7 +259,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.") (define-public harfbuzz (package (name "harfbuzz") - (version "5.3.1") + (version "8.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/harfbuzz/harfbuzz" @@ -266,7 +267,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.") version ".tar.xz")) (sha256 (base32 - "0ka3nkk2lks2lgakq02vyibwdziv11dkpa2brkx230asnyby0v2a")))) + "0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h")))) (build-system gnu-build-system) (outputs '("out" "bin")) ;160K, only hb-view depend on cairo @@ -361,7 +362,7 @@ applications.") (define-public pango (package (name "pango") - (version "1.50.10") + (version "1.50.14") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -370,7 +371,7 @@ applications.") (patches (search-patches "pango-skip-libthai-test.patch")) (sha256 (base32 - "0rj9sszflckk8gj47ppirpndpp3mzsx97l64lalj8kc580g2ypby")))) + "1s41sprfgkc944fva36zjmkmdpv8hn1bdpyg55xc4663pw2z4rqx")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -465,7 +466,12 @@ handling for GTK+-2.x.") #~(begin (substitute* "pango/pangocairo-font.c" (("cairo_user_font_face_set_render_color_glyph_func") - "cairo_user_font_face_set_render_glyph_func")))))))) + "cairo_user_font_face_set_render_glyph_func")) + ;; Disable a failing test + (substitute* "tests/testmisc.c" + (("\ +g_test_add_func \\(\"/layout/gravity-metrics2\", test_gravity_metrics2\\);") + "")))))))) (define-public pangox-compat (package @@ -614,6 +620,11 @@ printing and other features typical of a source code editor.") ;; Tests require a running X server. (system (string-append Xvfb " :1 &")) (setenv "DISPLAY" ":1") + ;; Use an X11 setup to find the display. + (setenv "GDK_BACKEND" "x11") + ;; Avoid spawning (and failing to connect to) the accessiblity + ;; bus. + (setenv "GTK_A11Y" "none") ;; For the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0"))))))) (native-inputs @@ -630,7 +641,7 @@ printing and other features typical of a source code editor.") ;; gtksourceview-5.pc refers to all these. (list fontconfig fribidi - glib-next + glib gtk libxml2 pango @@ -685,7 +696,7 @@ highlighting and other features typical of a source code editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.42.8") + (version "2.42.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -693,12 +704,12 @@ highlighting and other features typical of a source code editor.") name "-" version ".tar.xz")) (sha256 (base32 - "1iplb43nn74pp3w1wjwwn522i9man6jia85k6j8v4494rcxfmb44")))) + "0jz4kziz5lirnjjvbspbqzsigk8vnqknng1fga89d81vs5snr6zf")))) (build-system meson-build-system) (outputs '("out" "debug")) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas - #:configure-flags '("-Dinstalled_tests=false") + #:configure-flags '("-Dinstalled_tests=false" "-Dgtk_doc=true") #:phases (modify-phases %standard-phases (add-before 'configure 'disable-failing-tests @@ -735,10 +746,8 @@ highlighting and other features typical of a source code editor.") pkg-config ;; For the documentation. - docbook-xml-4.3 - docbook-xsl - libxml2 ;for XML_CATALOG_FILES - libxslt)) ;for xsltproc + gi-docgen + python-docutils)) (native-search-paths ;; This file is produced by the gdk-pixbuf-loaders-cache-file ;; profile hook. @@ -787,7 +796,7 @@ ever use this library.") (hidden-package (package (name "at-spi2-core") - (version "2.45.90") + (version "2.48.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -795,7 +804,7 @@ ever use this library.") name "-" version ".tar.xz")) (sha256 (base32 - "03dba3c6m3sfapkkbbgzvbi1qcmrrlppydxjjs1m8ds9qb9hl1g9")))) + "05d5azffbglnvqzwk8ngg61jksm3brrwhmfpymsrccz8j8lv3v19")))) (build-system meson-build-system) (arguments (list @@ -812,10 +821,15 @@ ever use this library.") (lambda _ ;; xfconfd requires a writable HOME (setenv "HOME" (getenv "TMPDIR")) - ;; Run test-suite under a dbus session. - (setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service - (string-append #$output "/share:" - (getenv "XDG_DATA_DIRS"))) + ;; dbus-run-session may crash if XDG_DATA_DIRS has too + ;; many entries, maybe related to + ;; https://gitlab.freedesktop.org/dbus/dbus/-/issues/481. + (setenv "XDG_DATA_DIRS" + (string-append + #$output "/share:" + #$(this-package-native-input + "gsettings-desktop-schemas") + "/share")) ;; Don't fail on missing '/etc/machine-id'. (setenv "DBUS_FATAL_WARNINGS" "0") (with-directory-excursion (string-append "../at-spi2-core-" @@ -833,12 +847,13 @@ ever use this library.") ;; atspi-2.pc refers to all these. (list dbus glib libx11 libxi libxtst)) (native-inputs - (list gettext-minimal + (list findutils + gettext-minimal `(,glib "bin") gobject-introspection gsettings-desktop-schemas pkg-config - python-dbusmock + python-dbusmock-minimal python-pytest python-wrapper)) (synopsis "Assistive Technology Service Provider Interface, core components") @@ -863,25 +878,14 @@ is part of the GNOME accessibility project.") (add-after 'unpack 'set-documentation-path (lambda _ ;; Ensure that the cross-references point to the "doc" output. - (substitute* "doc/libatspi/meson.build" - (("docpath =.*") - (string-append "docpath = '" #$output:doc - "/share/gtk-doc/html'\n"))))) - (add-before 'install 'prepare-doc-directory - (lambda _ - (mkdir-p (string-append #$output:doc "/share")))) - #$@(if (%current-target-system) - #~() - #~((add-after 'install 'move-documentation - (lambda _ - (copy-recursively - (string-append #$output "/share/gtk-doc") - (string-append #$output:doc "/share/gtk-doc")) - (delete-file-recursively - (string-append #$output "/share/gtk-doc")))))))))) + (substitute* "doc/meson.build" + (("docs_dir =.*") + (string-append "docs_dir = '" #$output:doc + "/share/doc'\n"))))))))) (native-inputs (modify-inputs (package-native-inputs at-spi2-core) - (append docbook-xml-4.3 gtk-doc/stable))) + (append gi-docgen python python-sphinx) + (replace "python-dbusmock" python-dbusmock))) (properties (alist-delete 'hidden? (package-properties at-spi2-core))))) @@ -905,6 +909,7 @@ is part of the GNOME accessibility project.") "1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc")) (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch" "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" + "gtk2-harden-list-store.patch" "gtk2-theme-paths.patch" "gtk2-fix-builder-test.patch")))) (build-system gnu-build-system) @@ -993,7 +998,7 @@ application suites.") (package (inherit gtk+-2) (name "gtk+") - (version "3.24.37") + (version "3.24.41") (source (origin (method url-fetch) @@ -1002,7 +1007,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "0mvzzgjrzzir7nzx379yz3swzk3pn1s283hgzm8l2yakq2sg0ib7")) + "1ymna7b8p668wxbca1pgjqpw02ya4p86yaa9pja7l27kg9463nj7")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) ;; There is no "doc" output, because adding gtk-doc here would introduce a @@ -1114,7 +1119,7 @@ application suites.") (define-public gtk (package (name "gtk") - (version "4.8.1") + (version "4.12.3") (source (origin (method url-fetch) @@ -1122,9 +1127,10 @@ application suites.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1za2nyqqs2lrbss61gfw17qba2f0w6a119m1xk4d0fx2k3gdis2w")) + (base32 "128ahzsj016vz8brd8kplhfkxg2q7wy7kndibx2qfr68yrif530l")) (patches - (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")))) + (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")) + (modules '((guix build utils))))) (build-system meson-build-system) (outputs '("out" "bin" "doc")) (arguments @@ -1148,6 +1154,9 @@ application suites.") ;; Use the same test options as upstream uses for ;; their CI. "--suite=gtk" + "--no-suite=failing" + "--no-suite=flaky" + "--no-suite=headless" ; requires mutter… "--no-suite=gsk-compare-broadway") #:phases #~(modify-phases %standard-phases @@ -1170,6 +1179,9 @@ application suites.") (substitute* "meson.build" (("gtk_update_icon_cache: true") "gtk_update_icon_cache: false")) + (substitute* (find-files "testsuite/gsk/nodeparser/" + "^text-color.*\\.node$") + (("Noto Sans") "DejaVu Sans")) ;; Disable failing tests. (substitute* (find-files "testsuite" "meson.build") (("[ \t]*'empty-text.node',") "") @@ -1258,6 +1270,7 @@ application suites.") cups ;for CUPS print-backend ffmpeg ;for ffmpeg media-backend fribidi + gi-docgen gstreamer ;for gstreamer media-backend gst-plugins-bad ;provides gstreamer-player gst-plugins-base ;provides gstreamer-gl @@ -1717,7 +1730,7 @@ text rendering library.") (package (inherit pangomm) (name "pangomm") - (version "2.46.2") + (version "2.46.4") (source (origin (method url-fetch) @@ -1726,9 +1739,9 @@ text rendering library.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1x56xb4k1d9g88a1d9rlcvy97mmj39rib6c3wfzpff04vjs2li2p")))) + (base32 "08nvd36s2fqksrkh573cn4gz90cpyl91azrpp7j4shi62mk1c85r")))) (propagated-inputs - (list cairomm-1.14 glibmm-2.64 pango)))) + (list cairomm-1.14 glibmm-2.66 pango)))) (define-public atkmm (package @@ -1784,7 +1797,7 @@ text rendering library.") (package (inherit atkmm) (name "atkmm") - (version "2.28.1") + (version "2.28.4") (source (origin (method url-fetch) @@ -1793,10 +1806,10 @@ text rendering library.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1b8vycqzr3lfvk2l73f4kk74hj48081zbh9r1r2ilr3h8xh7cs0i")))) + (base32 "1cysiz908phkagwnls44xxa60xls7r3fw540zcg00g7q520jl50a")))) (propagated-inputs (modify-inputs (package-propagated-inputs atkmm) - (replace "glibmm" glibmm-2.64))))) + (replace "glibmm" glibmm-2.66))))) (define-public gtkmm (package @@ -1870,7 +1883,7 @@ tutorial.") (package (inherit gtkmm) (name "gtkmm") - (version "3.24.6") + (version "3.24.8") (source (origin (method url-fetch) @@ -1879,7 +1892,7 @@ tutorial.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1mhi3ws43l051fha4zssfpykraa1qc2hd408l2xk65jfjhp18gjb")))) + (base32 "1i4ql0j6id6g34w5nbhd7vjak7l3s50lqgdjaj2ranrfj9j0r56j")))) (propagated-inputs `(("atkmm-2.28" ,atkmm-2.28) ("cairomm-1.14" ,cairomm-1.14) @@ -1906,7 +1919,7 @@ tutorial.") (strip-keyword-arguments '(#:configure-flags) (package-arguments gtkmm))) (propagated-inputs - (list atkmm-2.28 cairomm-1.14 glibmm-2.64 gtk+-2 pangomm-2.46)))) + (list atkmm-2.28 cairomm-1.14 glibmm-2.66 gtk+-2 pangomm-2.46)))) (define-public gtksourceviewmm (package @@ -2122,9 +2135,11 @@ and routines to assist in editing internationalized text.") (license license:lgpl2.1+))) (define-public girara + ;; TODO: Move propagated inputs to inputs after core-updates is merged (as + ;; of 2024-03) (package (name "girara") - (version "0.4.2") + (version "0.4.3") (source (origin (method git-fetch) @@ -2133,31 +2148,34 @@ and routines to assist in editing internationalized text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11fi7yy28rv6clj9gkvz58gd8zph95khq9jjia4c5skq03m67npz")))) - (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("xorg-server" ,xorg-server-for-tests))) - ;; Listed in 'Requires.private' of 'girara.pc'. - (propagated-inputs (list gtk+)) + (base32 "0cbcs3810frgdmal5ia9pf3rk3k5h4xyzw1d2ia3rcg4nms5gcpx")))) (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xserver - ;; Tests require a running X server. - (lambda* (#:key inputs #:allow-other-keys) - (let ((xorg-server (assoc-ref inputs "xorg-server")) - (display ":1")) - (setenv "DISPLAY" display) - - ;; On busy machines, tests may take longer than - ;; the default of four seconds. - (setenv "CK_DEFAULT_TIMEOUT" "20") - - ;; Don't fail due to missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - (zero? (system (string-append xorg-server "/bin/Xvfb " - display " &"))))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'start-xserver + ;; Tests require a running X server. + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + + ;; On busy machines, tests may take longer than + ;; the default of four seconds. + (setenv "CK_DEFAULT_TIMEOUT" "20") + + ;; Don't fail due to missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &"))))))))) + (native-inputs + (list pkg-config + check + gettext-minimal + `(,glib "bin") + xorg-server-for-tests)) + ;; Listed in 'Requires.private' of 'girara.pc'. + (propagated-inputs (list gtk+ json-glib)) (build-system meson-build-system) (home-page "https://pwmt.org/projects/girara/") (synopsis "Library for minimalistic gtk+3 user interfaces") @@ -2924,7 +2942,7 @@ Unix desktop environment under X11 as well as Wayland.") (define-public libpanel (package (name "libpanel") - (version "1.0.2") + (version "1.2.0") (source (origin (method git-fetch) @@ -2933,21 +2951,27 @@ Unix desktop environment under X11 as well as Wayland.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "10lkysbwg9w0lm1hj7lw4g7y9j8b88kmq07nfgx0r6f319znj12v")))) + (base32 "0wal073anl6iviyljyr8pw0m7av4ik6azpmrwzxw4snp95ib27aq")))) (build-system meson-build-system) (arguments - (list #:configure-flags #~(list "-Ddocs=disabled") ;fontconfig issue - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'disable-gtk-update-icon-cache - (lambda _ - (substitute* "meson.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false"))))))) - (native-inputs (list `(,glib-next "bin") - gobject-introspection - pkg-config - vala)) - (inputs (list glib-next gtk libadwaita)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-gtk-update-icon-cache + (lambda _ + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (add-before 'build 'set-home + (lambda _ + (setenv "HOME" (getcwd))))))) + (native-inputs + (list gi-docgen + `(,glib "bin") + gobject-introspection + pkg-config + vala)) + (inputs (list glib gtk libadwaita)) (home-page "https://gitlab.gnome.org/GNOME/libpanel") (synopsis "Dock and panel library for GTK 4") (description "Libpanel provides a library to create IDE-like applications diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index f35e646f61..49b8ee7e59 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2492,7 +2492,7 @@ capabilities.") (setenv "DISPLAY" ":1") #t))))) (inputs - (list guile-3.0 guile-lib glib-next)) + (list guile-3.0 guile-lib glib)) (native-inputs (list autoconf automake diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 64e41b510d..c177c33d0d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -509,6 +509,12 @@ GZip format, via a subclass of QIODevice.") (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; Reported as https://bugs.kde.org/show_bug.cgi?id=484306 + (substitute* "autotests/CMakeLists.txt" + (("testdateserialization") + "")))) (add-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) ;;; XXX: failing test (setenv "QT_QPA_PLATFORM" "offscreen") diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm index dc3e81170c..e40fb3bef8 100644 --- a/gnu/packages/kde-games.scm +++ b/gnu/packages/kde-games.scm @@ -32,7 +32,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages gl) - #:use-module ((gnu packages gnome) #:select (shared-mime-info)) + #:use-module ((gnu packages freedesktop) #:select (shared-mime-info)) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages perl) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index cc12a72a59..655ae39277 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cdrom) #:use-module (gnu packages docbook) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index e95eac4e2f..09552f33f4 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 4e665da599..6735bf2aea 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) ; dbus for tests #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index af143c4e40..f22463f34d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4357,10 +4357,9 @@ to the in-kernel OOM killer.") (license license:expat))) (define-public eudev - ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.11") + (version "3.2.14") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/gentoo/eudev") @@ -4368,8 +4367,9 @@ to the in-kernel OOM killer.") (file-name (git-file-name name version)) (sha256 (base32 - "0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av")) - (patches (search-patches "eudev-rules-directory.patch")))) + "1f6lz57igi7iw2ls3fpzgw42bfznam4nf9368h7x8yf1mb737yxz")) + (patches (search-patches "eudev-rules-directory.patch")) + (modules '((guix build utils))))) (build-system gnu-build-system) (arguments (list @@ -4380,6 +4380,31 @@ to the in-kernel OOM killer.") (substitute* "man/make.sh" (("/usr/bin/xsltproc") (search-input-file (or native-inputs inputs) "/bin/xsltproc"))))) + (add-before 'bootstrap 'install-in-lib + (lambda _ + ;; When the udev-service-type instantiates /etc, it collects + ;; hardware files from the <package>/lib/udev/hwdb.d directories + ;; of different packages. Since we set sysconfdir to /etc, the + ;; only package-dependent location we can install hwdb files is + ;; in <package>/lib/udev/hwdb.d. Eudev is configured to install + ;; these files in sysconfdir, but they should be placed into + ;; udevlibexecdir. + (copy-file "hwdb/Makefile.am" "hwdb/files.am") + (call-with-output-file "hwdb/Makefile.am" + (lambda (port) + (format port "hardwarelibdir = $(udevlibexecdir)/hwdb.d\n") + (format port "include ./files.am"))) + (substitute* "hwdb/files.am" + (("dist_udevhwdb_DATA =") + "dist_hardwarelib_DATA =")) + ;; Do not install the empty udev.conf template. + (substitute* "src/udev/Makefile.am" + (("dist_udevconf_DATA =") + "dist_noinst_DATA =")) + ;; Do not ensure that /etc/udev/rules.d exists. + (substitute* "rules/Makefile.am" + (("\\$\\(MKDIR_P\\) \\$\\(DESTDIR\\)\\$\\(udevconfdir\\)/rules\\.d") + "true")))) (add-after 'install 'move-static-library (lambda _ (let ((source (string-append #$output "/lib/libudev.a")) @@ -4391,19 +4416,17 @@ to the in-kernel OOM killer.") ;; such that Libtool looks for it in the usual places. (substitute* (string-append #$output "/lib/libudev.la") (("old_library=.*") - "old_library=''\n"))))) - (add-after 'install 'build-hwdb - (lambda _ - ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and - ;; similar tools to display product names. - ;; - ;; XXX: This can't be done when cross-compiling. Find another way - ;; to generate hwdb.bin for cross-built systems. - #$@(if (%current-target-system) - #~(#t) - #~((invoke (string-append #$output "/bin/udevadm") - "hwdb" "--update")))))) - #:configure-flags #~(list "--enable-manpages"))) + "old_library=''\n")))))) + #:configure-flags + #~(list "--enable-manpages" + ;; By default, autoconf uses $prefix/etc. The udev-service-type + ;; makes sure /etc is set up with rules and hardware file + ;; descriptions. + "--sysconfdir=/etc"))) + (native-search-paths + (list (search-path-specification + (variable "UDEV_HWDB_PATH") + (files '("lib/udev/hwdb.d"))))) (native-inputs (list autoconf automake diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 7f7afec90d..b8006292ca 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -94,7 +94,7 @@ Features include: (define-public tuba (package (name "tuba") - (version "0.4.1") + (version "0.6.3") (source (origin (method git-fetch) @@ -103,7 +103,7 @@ Features include: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v2ihp1dkp13jklp3kysv4blflhx3w0hwcyink4mb7hwsaqy0xnm")))) + (base32 "1s1iq9bwv6wp4dyvrdjdbmj9sqj9zxa0c78swcw7nhmm3fksh3vz")))) (build-system meson-build-system) (arguments (list diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1b4d325649..479591889f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -127,6 +127,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 3010e01432..32a1ddea27 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gnome) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 0f4c351141..b70e925d51 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -644,11 +644,9 @@ code for interfacing Caml with C from an IDL description of the C functions.") (sha256 (base32 "1jydzw2n84cfiz9y6lk4gih4wbr8jybanmiryfs01svd07g4vpjq")))) - (build-system ocaml-build-system) + (build-system dune-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list #:package "extlib")) (native-inputs (list ocaml-cppo)) (home-page "https://github.com/ygrek/ocaml-extlib") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b6e920da1c..a0ede07d54 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1386,6 +1386,8 @@ tools_locations = { ;; https://github.com/conan-io/conan/issues/13577). "and not test_other_client_can_link_autotools " "and not test_autotools_lib_template " + ;; Sometimes fail: https://github.com/conan-io/conan/issues/15936 + "and not test_basic_parallel_install " (if (not (string-prefix? "x86_64" system)) ;; These tests either assume the machine is ;; x86_64, or require a cross-compiler to target diff --git a/gnu/packages/patches/accountsservice-extensions.patch b/gnu/packages/patches/accountsservice-extensions.patch index 2cfab580e3..8027a28a44 100644 --- a/gnu/packages/patches/accountsservice-extensions.patch +++ b/gnu/packages/patches/accountsservice-extensions.patch @@ -5,7 +5,7 @@ diff --git a/src/extensions.c b/src/extensions.c index 038dcb2..830465d 100644 --- a/src/extensions.c +++ b/src/extensions.c -@@ -121,16 +121,7 @@ daemon_read_extension_directory (GHashTable *ifaces, +@@ -122,15 +122,7 @@ daemon_read_extension_directory (GHashTable *ifaces, continue; } @@ -13,8 +13,7 @@ index 038dcb2..830465d 100644 - const gchar * const prefix = "../../dbus-1/interfaces/"; - if (g_str_has_prefix (symlink, prefix) && g_str_equal (symlink + strlen (prefix), name)) { - daemon_read_extension_file (ifaces, filename); -- } -- else { +- } else { - g_warning ("Found accounts service vendor extension symlink %s, but it must be exactly " - "equal to '../../dbus-1/interfaces/%s' for forwards-compatibility reasons.", - filename, name); diff --git a/gnu/packages/patches/appstream-force-reload-stemmer.patch b/gnu/packages/patches/appstream-force-reload-stemmer.patch new file mode 100644 index 0000000000..a2cf84c8b1 --- /dev/null +++ b/gnu/packages/patches/appstream-force-reload-stemmer.patch @@ -0,0 +1,89 @@ +From 32182d7a7a67d0d204cd0a37bd211bfd0177bc27 Mon Sep 17 00:00:00 2001 +Message-ID: <32182d7a7a67d0d204cd0a37bd211bfd0177bc27.1700093066.git.vivien@planete-kraus.eu> +From: Matthias Klumpp <matthias@tenstral.net> +Date: Thu, 16 Nov 2023 00:59:15 +0100 +Subject: [PATCH] stemmer: Resolve potential issue where stemmer may never be + initialized + +If the initial locale was equal to the current stemming language, we may +never have initialized the stemmer (which could lead to crashes or +stemming being disabled). + +So we force the reload to always happen on initialization. +CC: #558 +--- + src/as-stemmer.c | 33 +++++++++++++++++++++------------ + 1 file changed, 21 insertions(+), 12 deletions(-) + +diff --git a/src/as-stemmer.c b/src/as-stemmer.c +index 63d45267..16ebd09b 100644 +--- a/src/as-stemmer.c ++++ b/src/as-stemmer.c +@@ -47,6 +47,8 @@ G_DEFINE_TYPE (AsStemmer, as_stemmer, G_TYPE_OBJECT) + + static gpointer as_stemmer_object = NULL; + ++static void as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force); ++ + /** + * as_stemmer_finalize: + **/ +@@ -76,21 +78,14 @@ as_stemmer_init (AsStemmer *stemmer) + + /* we don't use the locale in XML, so it can be POSIX */ + locale = as_get_current_locale_posix (); +- stemmer->current_lang = as_utils_locale_to_language (locale); + +- as_stemmer_reload (stemmer, stemmer->current_lang); ++ /* force a reload for initialization */ ++ as_stemmer_reload_internal (stemmer, locale, TRUE); + #endif + } + +-/** +- * as_stemmer_reload: +- * @stemmer: A #AsStemmer +- * @locale: The stemming language as POSIX locale. +- * +- * Allows realoading the #AsStemmer with a different language. +- */ +-void +-as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) ++static void ++as_stemmer_reload_internal (AsStemmer *stemmer, const gchar *locale, gboolean force) + { + #ifdef HAVE_STEMMING + g_autofree gchar *lang = NULL; +@@ -99,7 +94,7 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) + /* check if we need to reload */ + lang = as_utils_locale_to_language (locale); + locker = g_mutex_locker_new (&stemmer->mutex); +- if (as_str_equal0 (lang, stemmer->current_lang)) { ++ if (!force && as_str_equal0 (lang, stemmer->current_lang)) { + g_mutex_locker_free (locker); + return; + } +@@ -119,6 +114,20 @@ as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) + #endif + } + ++/** ++ * as_stemmer_reload: ++ * @stemmer: A #AsStemmer ++ * @locale: The stemming language as POSIX locale. ++ * ++ * Allows realoading the #AsStemmer with a different language. ++ * Does nothing if the stemmer is already using the selected language. ++ */ ++void ++as_stemmer_reload (AsStemmer *stemmer, const gchar *locale) ++{ ++ as_stemmer_reload_internal (stemmer, locale, FALSE); ++} ++ + /** + * as_stemmer_stem: + * @stemmer: A #AsStemmer +-- +2.41.0 + diff --git a/gnu/packages/patches/calls-disable-application-test.patch b/gnu/packages/patches/calls-disable-application-test.patch new file mode 100644 index 0000000000..f06f747487 --- /dev/null +++ b/gnu/packages/patches/calls-disable-application-test.patch @@ -0,0 +1,72 @@ +From e0fdae20840ffe3aeca7190eb8b1bcae70f0c93b Mon Sep 17 00:00:00 2001 +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 21:03:27 +0100 +Subject: [PATCH] Disable the application test. + +The application test does not work in a Guix container, because an actual +sound card is required to run this integration test. + +* tests/meson.build: Disable test-application. +--- + tests/meson.build | 38 +++++++++++++++++++------------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index c9bdc3d..65f9b93 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -165,24 +165,24 @@ test('dbus', t, env: test_env) + + dbus_run_session = find_program('dbus-run-session') + +-if dbus_run_session.found () +- test_sources = [ 'test-application.c' ] +- t = executable('application', test_sources, calls_resources, +- c_args : test_cflags, +- link_args: test_link_args, +- pie: true, +- link_with : [calls_vala, libcalls], +- dependencies: calls_deps, +- include_directories : [ +- calls_includes, +- ] +- ) +- test('application', +- dbus_run_session, +- args: t.full_path(), +- env: test_env, +- timeout : 300 +- ) +-endif ++# if dbus_run_session.found () ++# test_sources = [ 'test-application.c' ] ++# t = executable('application', test_sources, calls_resources, ++# c_args : test_cflags, ++# link_args: test_link_args, ++# pie: true, ++# link_with : [calls_vala, libcalls], ++# dependencies: calls_deps, ++# include_directories : [ ++# calls_includes, ++# ] ++# ) ++# test('application', ++# dbus_run_session, ++# args: t.full_path(), ++# env: test_env, ++# timeout : 300 ++# ) ++# endif + + endif + +base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c +prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6 +prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292 +prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b +prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1 +prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf +prerequisite-patch-id: e8302846f4650dba9e0072c18be3459ce903fe2e +-- +2.41.0 + diff --git a/gnu/packages/patches/calls-disable-sip-test.patch b/gnu/packages/patches/calls-disable-sip-test.patch new file mode 100644 index 0000000000..75e9294fc0 --- /dev/null +++ b/gnu/packages/patches/calls-disable-sip-test.patch @@ -0,0 +1,44 @@ +From 33b75bfcda3437b12b6155addeeddcea697a4270 Mon Sep 17 00:00:00 2001 +Message-ID: <33b75bfcda3437b12b6155addeeddcea697a4270.1698608762.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 20:45:24 +0100 +Subject: [PATCH] Disable the direct call SIP test. + +* plugins/provider/tests/test-sip.c (main): Disable it. +--- + +This test passes in a guix shell --container --network but not in +guix shell --container. The most likely cause is it requires access to the +network. + + plugins/provider/tests/test-sip.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/plugins/provider/tests/test-sip.c b/plugins/provider/tests/test-sip.c +index 185d372..4e83d40 100644 +--- a/plugins/provider/tests/test-sip.c ++++ b/plugins/provider/tests/test-sip.c +@@ -442,8 +442,11 @@ main (int argc, + g_test_add ("/Calls/SIP/origin_call_lists", SipFixture, NULL, + setup_sip_origins, test_sip_origin_call_lists, tear_down_sip_origins); + +- g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL, +- setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); ++ /* The direct call fails in the Guix build environment, possibly ++ * because the network is more restricted. */ ++ ++ /* g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL, ++ setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); */ + + ret = g_test_run (); + + +base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c +prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6 +prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292 +prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b +prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1 +prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf +-- +2.41.0 + diff --git a/gnu/packages/patches/cogl-fix-double-free.patch b/gnu/packages/patches/cogl-fix-double-free.patch new file mode 100644 index 0000000000..e7a994b33a --- /dev/null +++ b/gnu/packages/patches/cogl-fix-double-free.patch @@ -0,0 +1,32 @@ +From 15d0f7d96cf53263196e26f2eb48ededdff0efeb Mon Sep 17 00:00:00 2001 +Message-ID: <15d0f7d96cf53263196e26f2eb48ededdff0efeb.1694148833.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Thu, 7 Sep 2023 22:16:48 +0200 +Subject: [PATCH] Prevent double free on context objects + +The display is unrefed in the context destructor, but not refed in the +constructor. + +This targets an archived (read-only) repository. +--- + cogl/cogl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c +index a7eed29a..7cdc9fe7 100644 +--- a/cogl/cogl-context.c ++++ b/cogl/cogl-context.c +@@ -218,7 +218,7 @@ cogl_context_new (CoglDisplay *display, + return NULL; + } + +- context->display = display; ++ context->display = cogl_object_ref (display); + + /* This is duplicated data, but it's much more convenient to have + the driver attached to the context and the value is accessed a + +base-commit: 61d966c7442d521e38572b7f93ac7b8973a9c65e +-- +2.41.0 + diff --git a/gnu/packages/patches/duc-fix-test-sh.patch b/gnu/packages/patches/duc-fix-test-sh.patch new file mode 100644 index 0000000000..8b79e4bd03 --- /dev/null +++ b/gnu/packages/patches/duc-fix-test-sh.patch @@ -0,0 +1,70 @@ +From a84835e481d9b5fcfc101bb1fa5aba38a245b6f3 Mon Sep 17 00:00:00 2001 +Message-ID: <a84835e481d9b5fcfc101bb1fa5aba38a245b6f3.1711177846.git.vivien@planete-kraus.eu> +From: Fabio Natali <me@fabionatali.com> +Date: Wed, 30 Aug 2023 11:35:40 +0100 +Subject: [PATCH] Fix test.sh which used to fail in some circumstances + +duc's behaviour may legitimately vary depending on the system it is being run +on. The test.sh script used to fail in some circumstances as it was too strict +and it did not account for some legitimate behaviour differences. + +Fix: update `test.sh' variable +--- + +This is a squash of pull request https://github.com/zevv/duc/pull/318, +waiting to be merged. + + test.sh | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/test.sh b/test.sh +index eb592be..7668499 100755 +--- a/test.sh ++++ b/test.sh +@@ -130,8 +130,8 @@ fi + # Actual tests are below. If you add test cases above, these need to be tweaked. + #--------------------------------------------------------------------------------- + +- +-cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, 540672B actual)" ++# An exact match is expected on the apparent size; the actual size may vary. ++cat ${DUC_TEST_DIR}.out | grep -q "Indexed 77 files and 47 directories, (91869B apparent, [0-9]*B actual)" + + if [ "$?" = "0" ]; then + echo "report: ok" +@@ -153,16 +153,26 @@ if [ "$?" != "0" ]; then + exit 1 + fi + +-testsum="33e2be27a9e70e81d4006a2d7b555948" ++# When two or more hard links point to the same file and when running duc with ++# the `--check-hard-links' option, only one of the hard links will be ++# counted. However, duc may pick up and display a different hard link depending ++# on the system it is being run on. Since our tests include three hard links to ++# the same file, we should be expecting three possible outcomes, all equally ++# valid, each corresponding to one of the following MD5 checksums. ++testsum0="78dbf880ef6917ea665fddb5ebb44428" ++testsum1="38ab7b7d1ec6ac57d672c5618371386d" ++testsum2="33e2be27a9e70e81d4006a2d7b555948" + md5sum ${DUC_TEST_DIR}.out > /tmp/.duc.md5sum +-grep -q $testsum /tmp/.duc.md5sum ++grep -q "$testsum0\|$testsum1\|$testsum2" /tmp/.duc.md5sum + + if [ "$?" = "0" ]; then + echo "md5sum: ok" + else + echo "md5sum: failed" +- echo "expected: " +- echo "$testsum ${DUC_TEST_DIR}.out" ++ echo "expected one of: " ++ echo "$testsum0 ${DUC_TEST_DIR}.out" ++ echo "$testsum1 ${DUC_TEST_DIR}.out" ++ echo "$testsum2 ${DUC_TEST_DIR}.out" + echo "got: " + cat /tmp/.duc.md5sum + exit 1 + +base-commit: b8f9659688a38476df9f613be3342bb8e2d65402 +-- +2.41.0 + diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch index 54fc01c6d5..c4b1cfae39 100644 --- a/gnu/packages/patches/eudev-rules-directory.patch +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed the search path to be customized, but eudev no longer has this, hence this hack. ---- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800 -+++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800 -@@ -47,15 +47,11 @@ +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -48,16 +48,11 @@ struct uid_gid { }; }; @@ -20,11 +20,12 @@ this hack. - "/lib/udev/rules.d", - "/usr/lib/udev/rules.d", -#endif +- "/usr/local/lib/udev/rules.d", + NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ NULL}; struct udev_rules { -@@ -1704,6 +1700,9 @@ +@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) { udev_rules_check_timestamp(rules); diff --git a/gnu/packages/patches/feedbackd-use-system-gmobile.patch b/gnu/packages/patches/feedbackd-use-system-gmobile.patch new file mode 100644 index 0000000000..f0a0449472 --- /dev/null +++ b/gnu/packages/patches/feedbackd-use-system-gmobile.patch @@ -0,0 +1,42 @@ +From af9e72124b12ca481fd3592f9c8ea2649f7e4c80 Mon Sep 17 00:00:00 2001 +Message-ID: <af9e72124b12ca481fd3592f9c8ea2649f7e4c80.1698775513.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:12:27 +0100 +Subject: [PATCH] Look for a system-installed gmobile first. + +Meson lets projects use a dependency with fallback to a submodule, in +case the dependency is not installed. + +* meson.build (gmobile_subp): Convert to a dependency with subproject +fallback. +--- +I am waiting for Purism to approve my account before I can report this. + + meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 8725e76..e5504be 100644 +--- a/meson.build ++++ b/meson.build +@@ -14,13 +14,13 @@ gio_unix = dependency('gio-unix-2.0', version: '>=2.50.0') + glib = dependency('glib-2.0', version: '>=2.50.0') + if get_option('daemon') + gobject = dependency('gobject-2.0', version: '>=2.50.0') +- gmobile_subp = subproject('gmobile', ++ gmobile = dependency('gmobile', ++ fallback: ['gmobile', 'gmobile_dep'], + default_options: [ + 'examples=false', + 'gtk_doc=false', + 'tests=false', + ]) +- gmobile = gmobile_subp.get_variable('gmobile_dep') + gsound = dependency('gsound') + gudev = dependency('gudev-1.0', version: '>=232') + json_glib = dependency('json-glib-1.0') + +base-commit: 853bd6d7ea8455efea063ba7c4f29ce8c203285f +-- +2.41.0 + diff --git a/gnu/packages/patches/gdm-elogind-support.patch b/gnu/packages/patches/gdm-elogind-support.patch index 5c8e3bd610..b27e000585 100644 --- a/gnu/packages/patches/gdm-elogind-support.patch +++ b/gnu/packages/patches/gdm-elogind-support.patch @@ -18,10 +18,10 @@ system and user units. meson_options.txt | 5 +- 6 files changed, 66 insertions(+), 42 deletions(-) -diff --git a/common/meson.build b/common/meson.build -index 074dd92e..bca58f7c 100644 ---- a/common/meson.build -+++ b/common/meson.build +Index: gdm-44.1/common/meson.build +=================================================================== +--- gdm-44.1.orig/common/meson.build ++++ gdm-44.1/common/meson.build @@ -11,7 +11,7 @@ libgdmcommon_src = files( ) @@ -31,10 +31,10 @@ index 074dd92e..bca58f7c 100644 gobject_dep, gio_dep, gio_unix_dep, -diff --git a/data/meson.build b/data/meson.build -index 2dec4c23..c3452e1c 100644 ---- a/data/meson.build -+++ b/data/meson.build +Index: gdm-44.1/data/meson.build +=================================================================== +--- gdm-44.1.orig/data/meson.build ++++ gdm-44.1/data/meson.build @@ -164,41 +164,53 @@ else service_config.set('PLYMOUTH_QUIT_SERVICE', '') endif @@ -114,10 +114,10 @@ index 2dec4c23..c3452e1c 100644 # XSession if get_option('gdm-xsession') -diff --git a/libgdm/meson.build b/libgdm/meson.build -index 3f8cafbb..83e95151 100644 ---- a/libgdm/meson.build -+++ b/libgdm/meson.build +Index: gdm-44.1/libgdm/meson.build +=================================================================== +--- gdm-44.1.orig/libgdm/meson.build ++++ gdm-44.1/libgdm/meson.build @@ -56,7 +56,7 @@ libgdm_deps = [ glib_dep, gio_dep, @@ -127,55 +127,46 @@ index 3f8cafbb..83e95151 100644 libgdmcommon_dep, ] -diff --git a/meson.build b/meson.build -index 845f673e..d0ca41ef 100644 ---- a/meson.build -+++ b/meson.build -@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp')) - if xdmcp_dep.found() and get_option('tcp-wrappers') +Index: gdm-44.1/meson.build +=================================================================== +--- gdm-44.1.orig/meson.build ++++ gdm-44.1/meson.build +@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp libwrap_dep = cc.find_library('wrap') endif --# systemd + # systemd -systemd_dep = dependency('systemd') -libsystemd_dep = dependency('libsystemd') --if meson.version().version_compare('>= 0.53') -- systemd_multiseat_x = find_program('systemd-multi-seat-x', -- required: false, -- dirs: [ -- systemd_dep.get_pkgconfig_variable('systemdutildir'), -- '/lib/systemd', -- '/usr/lib/systemd', -- ]) -+ +-systemd_multiseat_x = find_program('systemd-multi-seat-x', +- required: false, +- dirs: [ +- systemd_dep.get_pkgconfig_variable('systemdutildir'), +- '/lib/systemd', +- '/usr/lib/systemd', +- ]) +-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' +logind_provider = get_option('logind-provider') +systemd_dep = dependency('systemd', required: false) +if logind_provider == 'systemd' + libsystemd_dep = dependency('libsystemd') + logind_dep = libsystemd_dep -+ if meson.version().version_compare('>= 0.53') -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', -+ required: false, -+ dirs: [ -+ systemd_dep.get_pkgconfig_variable('systemdutildir'), -+ '/lib/systemd', -+ '/usr/lib/systemd', -+ ]) -+ else -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) -+ endif ++ systemd_multiseat_x = find_program('systemd-multi-seat-x', ++ required: false, ++ dirs: [ ++ systemd_dep.get_pkgconfig_variable('systemdutildir'), ++ '/lib/systemd', ++ '/usr/lib/systemd', ++ ]) + systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' - else -- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) ++else + elogind_dep = dependency('libelogind') + logind_dep = elogind_dep + systemd_x_server = 'disabled' - endif --systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' -+ ++endif # Plymouth plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth')) # Check for Solaris auditing API (ADT) -@@ -319,6 +328,7 @@ summary({ +@@ -319,6 +327,7 @@ summary({ 'PAM Syslog': have_pam_syslog, 'Supports PAM Extensions': pam_extensions_supported, 'SeLinux': libselinux_dep.found(), @@ -183,11 +174,11 @@ index 845f673e..d0ca41ef 100644 'Use GDM Xsession': get_option('gdm-xsession'), 'Use UserDisplayServer': get_option('user-display-server'), 'Use SystemdJournal': get_option('systemd-journal'), -diff --git a/meson_options.txt b/meson_options.txt -index 14e0b908..5135d7d6 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te +Index: gdm-44.1/meson_options.txt +=================================================================== +--- gdm-44.1.orig/meson_options.txt ++++ gdm-44.1/meson_options.txt +@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.') option('lang-file', type: 'string', value: '', description: 'File containing default language settings.') option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.') @@ -195,7 +186,7 @@ index 14e0b908..5135d7d6 100644 option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.') option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.') option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.') -@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris +@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.') option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.') option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.') diff --git a/gnu/packages/patches/gegl-compatibility-old-librsvg.patch b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch new file mode 100644 index 0000000000..3e5733f9fd --- /dev/null +++ b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch @@ -0,0 +1,80 @@ +From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001 +Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu> +From: Jehan <jehan@girinstud.io> +Date: Wed, 5 Jul 2023 21:18:19 +0200 +Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C + versions). + +Commit 9beeefcbe uses too new functions of librsvg. We could just bump +the minimum required version but there are issues with Rust not being +available on every platform yet. So instead, let's add some conditional +code paths, so that it still builds with librsvg 2.40.x (which was the +last versions fully in C) while we use newer code and no warnings when +using newer versions. +--- + operations/external/svg-load.c | 25 ++++++++++++++++++++----- + 1 file changed, 20 insertions(+), 5 deletions(-) + +diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c +index 3312a0c0a..15c0b30b7 100644 +--- a/operations/external/svg-load.c ++++ b/operations/external/svg-load.c +@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation) + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + gdouble out_width, out_height; ++#else ++ RsvgDimensionData dimensions; ++#endif + + g_return_val_if_fail (p->handle != NULL, FALSE); + +- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); +- + p->format = babl_format ("R'G'B'A u8"); + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); + p->height = out_height; +- p->width = out_width; ++ p->width = out_width; ++#else ++ rsvg_handle_get_dimensions (p->handle, &dimensions); ++ p->height = dimensions.height; ++ p->width = dimensions.width; ++#endif + + return TRUE; + } +@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation, + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; +- RsvgRectangle svg_rect = {0.0, 0.0, width, height}; + cairo_surface_t *surface; + cairo_t *cr; +- GError *error = NULL; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ GError *error = NULL; ++ RsvgRectangle svg_rect = {0.0, 0.0, width, height}; ++#endif + + g_return_val_if_fail (p->handle != NULL, -1); + +@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation, + (double)height / (double)p->height); + } + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + rsvg_handle_render_document (p->handle, cr, &svg_rect, &error); ++#else ++ rsvg_handle_render_cairo (p->handle, cr); ++#endif + + cairo_surface_flush (surface); + +-- +2.41.0 + diff --git a/gnu/packages/patches/gitg-fix-positional-argument.patch b/gnu/packages/patches/gitg-fix-positional-argument.patch deleted file mode 100644 index 1d3513921c..0000000000 --- a/gnu/packages/patches/gitg-fix-positional-argument.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1978973b12848741b08695ec2020bac98584d636 Mon Sep 17 00:00:00 2001 -From: Jan Beich <jbeich@FreeBSD.org> -Date: Mon, 24 Jan 2022 12:17:52 +0000 -Subject: [PATCH] meson: drop unused argument for i18n.merge_file() - -Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0. - -data/meson.build:8:0: ERROR: Function does not take positional arguments. -data/meson.build:44:0: ERROR: Function does not take positional arguments. ---- - data/meson.build | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/data/meson.build b/data/meson.build -index a8b90fd1..2413531d 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -6,7 +6,6 @@ desktop_config = configuration_data() - desktop_config.set('icon', application_id) - desktop_config.set('binary', gitg_name) - i18n.merge_file( -- desktop, - type: 'desktop', - input: configure_file( - input: desktop + '.in.in', -@@ -42,7 +41,6 @@ appdata_config = configuration_data() - appdata_config.set('app-id', application_id) - appdata_config.set('gettext', gitg_name) - i18n.merge_file( -- appdata, - type: 'xml', - input: configure_file( - input: appdata + '.in.in', --- -GitLab - diff --git a/gnu/packages/patches/glib-networking-gnutls-binding.patch b/gnu/packages/patches/glib-networking-gnutls-binding.patch deleted file mode 100644 index 91d0743056..0000000000 --- a/gnu/packages/patches/glib-networking-gnutls-binding.patch +++ /dev/null @@ -1,21 +0,0 @@ -Skip failing test in 'test_connection_binding_match_tls_unique' -in 'tls/tests/connection.c' when building glib-networking against -GnuTLS 3.7.2. The failure stems from the fact that -'gnutls_session_channel_binding' returns GNUTLS_E_INVALID_REQUEST -is known upstream: - - https://gitlab.gnome.org/GNOME/glib-networking/-/issues/164 - -diff --git a/tls/tests/connection.c b/tls/tests/connection.c -index 036df04..347c7a4 100644 ---- a/tls/tests/connection.c -+++ b/tls/tests/connection.c -@@ -3037,8 +3037,6 @@ main (int argc, - setup_connection, test_connection_missing_server_identity, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/peer-certificate-notify", TestConnection, NULL, - setup_connection, test_peer_certificate_notify, teardown_connection); -- g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-unique", TestConnection, NULL, -- setup_connection, test_connection_binding_match_tls_unique, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-server-end-point", TestConnection, NULL, - setup_connection, test_connection_binding_match_tls_server_end_point, teardown_connection); - g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-exporter", TestConnection, NULL, diff --git a/gnu/packages/patches/glib-skip-failing-test.patch b/gnu/packages/patches/glib-skip-failing-test.patch index c7706aaa74..3fde5cb1e2 100644 --- a/gnu/packages/patches/glib-skip-failing-test.patch +++ b/gnu/packages/patches/glib-skip-failing-test.patch @@ -10,12 +10,13 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build index a926ae0..4fdbe7a 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -317,10 +317,6 @@ if host_machine.system() != 'windows' +@@ -317,11 +317,6 @@ if host_machine.system() != 'windows' 'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info], 'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'], }, - 'gdbus-threading' : { - 'extra_sources' : extra_sources, +- 'extra_programs': extra_programs, - 'suite' : ['slow'], - }, 'gmenumodel' : { diff --git a/gnu/packages/patches/gmobile-make-it-installable.patch b/gnu/packages/patches/gmobile-make-it-installable.patch new file mode 100644 index 0000000000..9db6554877 --- /dev/null +++ b/gnu/packages/patches/gmobile-make-it-installable.patch @@ -0,0 +1,89 @@ +From c1ea43a45f4588f21752b0ad679c43350a9c8905 Mon Sep 17 00:00:00 2001 +Message-ID: <c1ea43a45f4588f21752b0ad679c43350a9c8905.1698604357.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:00:44 +0100 +Subject: [PATCH] Install gmobile as a shared library. + +Tracked at https://gitlab.gnome.org/guidog/gmobile/-/issues/1 + +* src/meson.build: Install the header files. Import pkgconfig. +Generate a pkg-config definition. +(gm_lib): use "library", not "static_library". Install it. +(gmobile_gir): Install it. +* meson.build: Install gm-config.h. +--- + meson.build | 1 + + src/meson.build | 22 +++++++++++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index e9f6c62..51ebeac 100644 +--- a/meson.build ++++ b/meson.build +@@ -83,6 +83,7 @@ root_inc = include_directories('.') + configure_file( + output: 'gm-config.h', + configuration: config_h, ++ install_dir: get_option('includedir') + ) + + subdir('data') +diff --git a/src/meson.build b/src/meson.build +index ee98a39..3dedbe4 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -1,3 +1,5 @@ ++pkg = import('pkgconfig') ++ + gm_deps = [ + gio_dep, + glib_dep, +@@ -37,18 +39,33 @@ gm_c_args = [ + '-DG_LOG_DOMAIN="gmobile"', + ] + +-gm_lib = static_library( ++gm_lib = library( + 'gmobile', + gm_sources, + include_directories: root_inc, + c_args: gm_c_args, +- dependencies: gm_deps) ++ dependencies: gm_deps, ++ install: true) ++ ++pkg.generate(gm_lib) + + gmobile_dep = declare_dependency( + include_directories: [root_inc, include_directories('.')], + dependencies: gm_deps, + link_with: gm_lib) + ++install_headers( ++ 'gmobile.h', ++ 'gm-cutout.h', ++ 'gm-device-info.h', ++ 'gm-device-tree.h', ++ 'gm-display-panel.h', ++ 'gm-error.h', ++ 'gm-main.h', ++ 'gm-rect.h', ++ 'gm-svg-path.h', ++ 'gm-timeout.h') ++ + if get_option('gtk_doc') + gmobile_gir_extra_args = [ + '--c-include=gmobile.h', +@@ -66,7 +83,6 @@ if get_option('gtk_doc') + identifier_prefix: 'Gm', + link_with: gm_lib, + includes: ['Gio-2.0'], +- install: false, + extra_args: gmobile_gir_extra_args, + ) + endif + +base-commit: 382fc89472176d2f1d435517cad53d969d8b8eff +-- +2.41.0 + diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch new file mode 100644 index 0000000000..fd9d7b8ff4 --- /dev/null +++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch @@ -0,0 +1,33 @@ +From: Jeremy Bicha <jeremy.bicha@canonical.com> +Date: Mon, 22 Aug 2022 08:31:15 -0400 +Subject: firmware-security: Disable + +Not yet useful enough to justify its inclusion by default here + +You can get the same info by running +fwupdmgr security + +If you drop this patch, add a Depends: fwupd [linux-any] + +https://launchpad.net/bugs/1987162 + +https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938 + +[Stolen from the debian package] +--- + shell/cc-panel-loader.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c +index 17f9601..1b819a5 100644 +--- a/shell/cc-panel-loader.c ++++ b/shell/cc-panel-loader.c +@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] = + PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL), + PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL), + PANEL_TYPE("location", cc_location_panel_get_type, NULL), +- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), ++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), + PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL), + PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL), + PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL), diff --git a/gnu/packages/patches/gtk2-harden-list-store.patch b/gnu/packages/patches/gtk2-harden-list-store.patch new file mode 100644 index 0000000000..f49dc3bc77 --- /dev/null +++ b/gnu/packages/patches/gtk2-harden-list-store.patch @@ -0,0 +1,42 @@ +Backport the implementation of gtk_list_store_iter_is_valid from gtk+-3. + +Index: gtk+-2.24.33/gtk/gtkliststore.c +=================================================================== +--- gtk+-2.24.33.orig/gtk/gtkliststore.c ++++ gtk+-2.24.33/gtk/gtkliststore.c +@@ -1195,16 +1195,31 @@ gboolean + gtk_list_store_iter_is_valid (GtkListStore *list_store, + GtkTreeIter *iter) + { ++ GSequenceIter *seq_iter; ++ + g_return_val_if_fail (GTK_IS_LIST_STORE (list_store), FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + +- if (!VALID_ITER (iter, list_store)) +- return FALSE; ++ /* can't use VALID_ITER() here, because iter might point ++ * to random memory. ++ * ++ * We MUST NOT dereference it. ++ */ + +- if (g_sequence_iter_get_sequence (iter->user_data) != list_store->seq) ++ if (iter == NULL || ++ iter->user_data == NULL || ++ list_store->stamp != iter->stamp) + return FALSE; + +- return TRUE; ++ for (seq_iter = g_sequence_get_begin_iter (list_store->seq); ++ !g_sequence_iter_is_end (seq_iter); ++ seq_iter = g_sequence_iter_next (seq_iter)) ++ { ++ if (seq_iter == iter->user_data) ++ return TRUE; ++ } ++ ++ return FALSE; + } + + static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_source, diff --git a/gnu/packages/patches/libcall-ui-make-it-installable.patch b/gnu/packages/patches/libcall-ui-make-it-installable.patch new file mode 100644 index 0000000000..078422913d --- /dev/null +++ b/gnu/packages/patches/libcall-ui-make-it-installable.patch @@ -0,0 +1,81 @@ +From 1a79c18e85232a6f56a58ec99271b92d5b0e6dca Mon Sep 17 00:00:00 2001 +Message-ID: <1a79c18e85232a6f56a58ec99271b92d5b0e6dca.1698606228.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sun, 29 Oct 2023 19:42:55 +0100 +Subject: [PATCH] Install libcall-ui. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Tracked at https://gitlab.gnome.org/World/Phosh/libcall-ui/-/issues/27 + +* src/meson.build: Require pkgconfig. Install a pkg-config +definition. Install the headers. +(call_ui_lib): Install it. Use “library”, not “static_library”. +* meson.build (config_h): Install the config.h file. +(call_ui_enum_sources): Install the header file. +--- + meson.build | 1 + + src/meson.build | 22 +++++++++++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 6d96178..80514ba 100644 +--- a/meson.build ++++ b/meson.build +@@ -93,6 +93,7 @@ configure_file( + input: 'cui-config.h.in', + output: 'cui-config.h', + configuration: config_h, ++ install_dir: get_option('includedir') + ) + + #subdir('data') +diff --git a/src/meson.build b/src/meson.build +index bdb347c..2f9fa0c 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -1,7 +1,11 @@ ++pkg = import('pkgconfig') ++ + call_ui_enum_headers = files(['cui-call.h', + ]) + call_ui_enum_sources = gnome.mkenums_simple('cui-enums', +- sources : call_ui_enum_headers) ++ sources : call_ui_enum_headers, ++ install_header: true, ++ install_dir: get_option('includedir')) + + call_ui_resources = gnome.compile_resources( + 'cui-resources', +@@ -50,11 +54,23 @@ call_ui_c_args = [ + '-DG_LOG_DOMAIN="Cui"', + ] + +-call_ui_lib = static_library('call-ui', ++call_ui_lib = library('call-ui', + call_ui_sources, + c_args: call_ui_c_args, + include_directories: [ root_inc, src_inc ], +- dependencies: call_ui_deps) ++ dependencies: call_ui_deps, ++ install: true) ++ ++pkg.generate(call_ui_lib) ++ ++install_headers( ++ 'call-ui.h', ++ 'cui-call.h', ++ 'cui-call-display.h', ++ 'cui-main.h', ++ 'cui-dialpad.h', ++ 'cui-keypad.h', ++) + + libcall_ui_dep = declare_dependency( + sources: call_ui_enum_sources, + +base-commit: 817d770cfa6876d37c4a6d09b00c9bdedfdce8b7 +-- +2.41.0 + diff --git a/gnu/packages/patches/libgda-disable-data-proxy-test.patch b/gnu/packages/patches/libgda-disable-data-proxy-test.patch new file mode 100644 index 0000000000..b93f9d3f9b --- /dev/null +++ b/gnu/packages/patches/libgda-disable-data-proxy-test.patch @@ -0,0 +1,59 @@ +From c0bb1ed662011207ee13d5a20a70f9b55166aa13 Mon Sep 17 00:00:00 2001 +From: Daniel Espinosa <esodan@gmail.com> +Date: Wed, 1 Nov 2023 15:00:40 -0500 +Subject: [PATCH] GdaDataProxy: is no thread save so disabling its test + +Has been difficutl to reproduce the problem when this test +is running in Ci, so disabling until we can re-implement it +is the better choice +--- + libgda/gda-data-proxy.h | 4 +++- + tests/data-models/meson.build | 17 +++++++++-------- + 2 files changed, 12 insertions(+), 9 deletions(-) + +diff --git a/libgda/gda-data-proxy.h b/libgda/gda-data-proxy.h +index 4c31ab69b..ba0fa72b3 100644 +--- a/libgda/gda-data-proxy.h ++++ b/libgda/gda-data-proxy.h +@@ -77,7 +77,9 @@ struct _GdaDataProxyClass + * @stability: Stable + * @see_also: #GdaDataModel + * +- * This object stores modifications to be made to a #GdaDataModel object which is proxied until the modifications are actually ++ * This object, is no thread save, so use with care. ++ * ++ * This object stores modifications to be made to a #GdaDataModel object which is proxied until the modifications are actually + * written to the #GdaDataModel, it can also filter the proxied data model to show only a subset (a defined number of continuous + * rows or by a filter to apply). + * +diff --git a/tests/data-models/meson.build b/tests/data-models/meson.build +index a8c6a29d8..e0ec8692a 100644 +--- a/tests/data-models/meson.build ++++ b/tests/data-models/meson.build +@@ -61,14 +61,15 @@ tchkdp = executable('check_data_proxy', + ], + install: false + ) +-test('DataProxy', tchkdp, +- timeout: 100, +- workdir: meson.current_build_dir(), +- env: [ +- 'GDA_TOP_SRC_DIR='+gda_top_src, +- 'GDA_TOP_BUILD_DIR='+gda_top_build +- ] +- ) ++# This test is no thread save so disabling ++#test('DataProxy', tchkdp, ++# timeout: 100, ++# workdir: meson.current_build_dir(), ++# env: [ ++# 'GDA_TOP_SRC_DIR='+gda_top_src, ++# 'GDA_TOP_BUILD_DIR='+gda_top_build ++# ] ++# ) + + tchkmc = executable('check_model_copy', + ['check_model_copy.c'] + common_sources, +-- +GitLab + diff --git a/gnu/packages/patches/mm-common-reproducible-tarball.patch b/gnu/packages/patches/mm-common-reproducible-tarball.patch deleted file mode 100644 index f0890aaf57..0000000000 --- a/gnu/packages/patches/mm-common-reproducible-tarball.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 024c121c844a4ec920133eb3f7e6b6ee8044c0b6 Mon Sep 17 00:00:00 2001 -From: Vagrant Cascadian <vagrant@reproducible-builds.org> -Date: Sat, 12 Dec 2020 04:05:56 +0000 -Original-Patch: https://bugs.debian.org/977177 -Subject: [PATCH] Set uid, username, gid, and group name on files in - generated tarball. - -The user and group may otherwise vary between builds on different systems. - ---- - util/meson_aux/skeletonmm-tarball.py | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/util/meson_aux/skeletonmm-tarball.py b/util/meson_aux/skeletonmm-tarball.py -index db9e650..89049b6 100755 ---- a/util/meson_aux/skeletonmm-tarball.py -+++ b/util/meson_aux/skeletonmm-tarball.py -@@ -39,10 +39,18 @@ elif output_file.endswith('.gz'): - else: - mode = 'w' - -+def reproducible(tarinfo): -+ # Set consistent user and group on files in the tar archive -+ tarinfo.uid = 0 -+ tarinfo.uname = 'root' -+ tarinfo.gid = 0 -+ tarinfo.gname = 'root' -+ return tarinfo -+ - with tarfile.open(output_file, mode=mode) as tar_file: - os.chdir(source_dir) # Input filenames are relative to source_dir. - for file in sys.argv[3:]: -- tar_file.add(file) -+ tar_file.add(file, filter=reproducible) - # Errors raise exceptions. If an exception is raised, Meson+ninja will notice - # that the command failed, despite exit(0). - sys.exit(0) --- -2.29.2 - diff --git a/gnu/packages/patches/mutter-fix-inverted-test.patch b/gnu/packages/patches/mutter-fix-inverted-test.patch deleted file mode 100644 index 3676b31def..0000000000 --- a/gnu/packages/patches/mutter-fix-inverted-test.patch +++ /dev/null @@ -1,290 +0,0 @@ -From 5a83e8ef8250526a40e8e69c6398f990ab482b2f Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 14:42:51 +0200 -Subject: [PATCH 1/5] cogl/gl-framebuffer: Fix spurious trailing spaces - -Purely cosmetic fix, no functional change. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 12 ++++++------ - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 12 ++++++------ - 2 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index d6609bb2074..8d76f1578bf 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -72,32 +72,32 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - GLenum attachment, pname; - size_t offset; - } params[] = { -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, - .offset = offsetof (CoglFramebufferBits, red), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, - .offset = offsetof (CoglFramebufferBits, green), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, - .offset = offsetof (CoglFramebufferBits, blue), - }, -- { -+ { - .attachment = GL_BACK_LEFT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, - .offset = offsetof (CoglFramebufferBits, alpha), - }, -- { -+ { - .attachment = GL_DEPTH, - .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, - .offset = offsetof (CoglFramebufferBits, depth), - }, -- { -+ { - .attachment = GL_STENCIL, - .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, - .offset = offsetof (CoglFramebufferBits, stencil), -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index c8db6a23a29..1ffc1d53509 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -82,32 +82,32 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - GLenum attachment, pname; - size_t offset; - } params[] = { -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, - .offset = offsetof (CoglFramebufferBits, red), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, - .offset = offsetof (CoglFramebufferBits, green), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, - .offset = offsetof (CoglFramebufferBits, blue), - }, -- { -+ { - .attachment = GL_COLOR_ATTACHMENT0, - .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, - .offset = offsetof (CoglFramebufferBits, alpha), - }, -- { -+ { - .attachment = GL_DEPTH_ATTACHMENT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, - .offset = offsetof (CoglFramebufferBits, depth), - }, -- { -+ { - .attachment = GL_STENCIL_ATTACHMENT, - .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, - .offset = offsetof (CoglFramebufferBits, stencil), --- -GitLab - - -From a2203df9f43b9e501a972d23b3d5584005c03ce6 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 11:54:58 +0200 -Subject: [PATCH 2/5] cogl/gl-framebuffer: Fix inverted test in - ensure_bits_initialized() - -Cogl's feature COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS is required -to use the GL_FRAMEBUFFER_ATTACHMENT_* queries. - -Unfortunately, the test for the availability of the private feature is -actually inverted in ensure_bits_initialized() which causes that whole -portion of code to be ignored, falling back to the glGetIntegerv() -method which isn't supported in core profiles. - -As Mesa has recently started to be more strict about these, this causes -the CI tests to fail in mutter. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 1ffc1d53509..75a8b0c1fe2 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -76,7 +76,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - COGL_FRAMEBUFFER_STATE_BIND); - - #ifdef HAVE_COGL_GL -- if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) -+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { - GLenum attachment, pname; --- -GitLab - - -From fad240f437d6b11f664c9c09aecabe5f5e703eca Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Mon, 5 Jun 2023 10:31:38 +0200 -Subject: [PATCH 3/5] cogl/gl-framebuffer: Match testing features - -The function ensure_bits_initialized() in cogl-gl-framebuffer-fbo.c -checks for COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS whereas the same -in cogl-gl-framebuffer-back.c simply checks for the driver being -COGL_DRIVER_GL3. - -Change the later to use the COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS -flag as well. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index 8d76f1578bf..f6a17e8f070 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -66,7 +66,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - COGL_FRAMEBUFFER_STATE_BIND); - - #ifdef HAVE_COGL_GL -- if (ctx->driver == COGL_DRIVER_GL3) -+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { - GLenum attachment, pname; --- -GitLab - - -From c3af4c1b1571b05f67d48b90d9ea7313f3ca6003 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Fri, 2 Jun 2023 14:27:29 +0200 -Subject: [PATCH 4/5] cogl/gl-framebuffer: Fail without QUERY_FRAMEBUFFER_BITS - -glGetIntegerv() with GL_RED_BITS/GL_GREEN_BITS/GL_BLUE_BITS/etc. is not -supported with the GL core context, so there is no point in falling back -to that without supporting COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS, -as this will cause an GL error. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 7 +------ - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 7 +------ - 2 files changed, 2 insertions(+), 12 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index f6a17e8f070..0ccd2324077 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -119,12 +119,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - else - #endif /* HAVE_COGL_GL */ - { -- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); -- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green)); -- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue)); -- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha)); -- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth)); -- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil)); -+ return FALSE; - } - - COGL_NOTE (FRAMEBUFFER, -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 75a8b0c1fe2..524196207f5 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -129,12 +129,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - else - #endif /* HAVE_COGL_GL */ - { -- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red)); -- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green)); -- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue)); -- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha)); -- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth)); -- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil)); -+ return FALSE; - } - - if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) && --- -GitLab - - -From d65883e0d7d70987e3888b86222b109c35f5a7a2 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Mon, 5 Jun 2023 10:38:41 +0200 -Subject: [PATCH 5/5] cogl/gl-framebuffer: Remove conditional on HAVE_COGL_GL - -By testing the features flag, we can get rid of the conditional build -on HAVE_COGL_GL entirely. - -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047> ---- - cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 -- - cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 -- - 2 files changed, 4 deletions(-) - -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -index 0ccd2324077..94154d48efb 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c -@@ -65,7 +65,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - framebuffer, - COGL_FRAMEBUFFER_STATE_BIND); - --#ifdef HAVE_COGL_GL - if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { -@@ -117,7 +116,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back) - } - } - else --#endif /* HAVE_COGL_GL */ - { - return FALSE; - } -diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -index 524196207f5..3ea133d3143 100644 ---- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -+++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c -@@ -75,7 +75,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - framebuffer, - COGL_FRAMEBUFFER_STATE_BIND); - --#ifdef HAVE_COGL_GL - if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS)) - { - const struct { -@@ -127,7 +126,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo) - } - } - else --#endif /* HAVE_COGL_GL */ - { - return FALSE; - } --- -GitLab - diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch index d5dc35b241..1394956315 100644 --- a/gnu/packages/patches/nautilus-extension-search-path.patch +++ b/gnu/packages/patches/nautilus-extension-search-path.patch @@ -1,54 +1,62 @@ Allow Nautilus to search for extensions in the directories listed in $NAUTILUS_EXTENSION_PATH. -diff --git a/src/nautilus-module.c b/src/nautilus-module.c -index bf474bd..42e2a4e 100644 ---- a/src/nautilus-module.c -+++ b/src/nautilus-module.c -@@ -211,6 +211,10 @@ static void +Index: nautilus-44.2/src/nautilus-module.c +=================================================================== +--- nautilus-44.2.orig/src/nautilus-module.c ++++ nautilus-44.2/src/nautilus-module.c +@@ -220,8 +220,16 @@ static void load_module_dir (const char *dirname) { GDir *dir; +- + static GHashTable *loaded = NULL; + g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new (); ++ ++ if (installed_module_names != NULL) ++ g_strv_builder_addv (installed_module_name_builder, ++ (const gchar **)installed_module_names); + + if (loaded == NULL) + loaded = g_hash_table_new (g_str_hash, g_str_equal); - ++ dir = g_dir_open (dirname, 0, NULL); -@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) - while ((name = g_dir_read_name (dir))) + if (dir) +@@ -232,16 +240,24 @@ load_module_dir (const char *dirname) { if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) -- { + { - char *filename; - - filename = g_build_filename (dirname, - name, - NULL); -- nautilus_module_load_file (filename); +- nautilus_module_load_file (filename, installed_module_name_builder); - g_free (filename); -- } -+ { -+ /* Make sure each module is loaded only twice or this could -+ lead to a crash. Double loading can occur if DIRNAME -+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ -+ if (!g_hash_table_contains (loaded, name)) -+ { -+ char *filename; ++ /* Make sure each module is loaded only twice or this could ++ lead to a crash. Double loading can occur if DIRNAME ++ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ ++ if (!g_hash_table_contains (loaded, name)) ++ { ++ char *filename; + -+ filename = g_build_filename (dirname, -+ name, -+ NULL); -+ nautilus_module_load_file (filename); -+ g_hash_table_add (loaded, g_strdup (name)); -+ g_free (filename); -+ } -+ } - } ++ filename = g_build_filename (dirname, ++ name, ++ NULL); ++ nautilus_module_load_file (filename, ++ installed_module_name_builder); ++ g_hash_table_add (loaded, g_strdup (name)); ++ g_free (filename); ++ } + } +- } ++ } g_dir_close (dir); -@@ -257,10 +268,24 @@ nautilus_module_setup (void) + } + +@@ -278,10 +294,24 @@ nautilus_module_setup (void) if (!initialized) { diff --git a/gnu/packages/patches/orbit2-fix-array-allocation-32bit.patch b/gnu/packages/patches/orbit2-fix-array-allocation-32bit.patch new file mode 100644 index 0000000000..377c09d0a5 --- /dev/null +++ b/gnu/packages/patches/orbit2-fix-array-allocation-32bit.patch @@ -0,0 +1,40 @@ +From 28067b88ad91e794675734bc92bd9c8653b4a46a Mon Sep 17 00:00:00 2001 +Message-ID: <28067b88ad91e794675734bc92bd9c8653b4a46a.1709973702.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Sat, 9 Mar 2024 09:36:56 +0100 +Subject: [PATCH] corba-loc: Do not allocate more tokens than necessary. + +To split the list of locations, the code calls g_strsplit with the +last argument set to G_MAXINT. It means that g_strsplit will try to +allocate a huge array (G_MAXINT + 1, for the final NULL), mostly +filled with NULL. Unfortunately, on 32-bit systems, this is one past +the authorized length for an array. Previous versions of glib would +not care, but the new version now raises an error if this happens. + +To get an array of the appropriate size, we can just pass -1 to the +last argument. + +* src/orb/orb-core/corba-loc.c (ORBit_corbaloc_parse): Replace +G_MAXINT with -1. +--- + src/orb/orb-core/corba-loc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/orb/orb-core/corba-loc.c b/src/orb/orb-core/corba-loc.c +index abfcaa29..6492d392 100644 +--- a/src/orb/orb-core/corba-loc.c ++++ b/src/orb/orb-core/corba-loc.c +@@ -309,7 +309,7 @@ ORBit_corbaloc_parse (const gchar *corbaloc) + if (!(objkey = orbit_url_decode (okey))) + goto ret_error; + +- if (!(token = g_strsplit (loc, ",", G_MAXINT))) ++ if (!(token = g_strsplit (loc, ",", -1))) + goto ret_error; + + /* [ 'iiop' ] ':' [ '//' ] [ version '@' ] host [ ':' port ] */ + +base-commit: 144be2e9860286c83f009e7689250e0af977cc5e +-- +2.41.0 + diff --git a/gnu/packages/patches/pdfpc-build-with-vala-0.56.patch b/gnu/packages/patches/pdfpc-build-with-vala-0.56.patch new file mode 100644 index 0000000000..e9a4060248 --- /dev/null +++ b/gnu/packages/patches/pdfpc-build-with-vala-0.56.patch @@ -0,0 +1,40 @@ +From 18beaecbbcc066e0d4c889b3aa3ecaa7351f7768 Mon Sep 17 00:00:00 2001 +Message-ID: <18beaecbbcc066e0d4c889b3aa3ecaa7351f7768.1711183363.git.vivien@planete-kraus.eu> +From: Evgeny Stambulchik <fnevgeny@gmail.com> +Date: Tue, 25 Apr 2023 16:11:25 +0300 +Subject: [PATCH] Create Lists of nullable types + +--- +This is the pull request for issue 686, merged in master, not released +yet. + + src/classes/drawings/drawing_commands.vala | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/classes/drawings/drawing_commands.vala b/src/classes/drawings/drawing_commands.vala +index 77e56e6..c305a8c 100644 +--- a/src/classes/drawings/drawing_commands.vala ++++ b/src/classes/drawings/drawing_commands.vala +@@ -54,8 +54,8 @@ namespace pdfpc { + } + + public void clear() { +- this.drawing_commands = new List<DrawingCommand>(); +- this.redo_commands = new List<DrawingCommand>(); ++ this.drawing_commands = new List<DrawingCommand?>(); ++ this.redo_commands = new List<DrawingCommand?>(); + } + + public void add_line(bool is_eraser, +@@ -70,7 +70,7 @@ namespace pdfpc { + + // After adding a new line you can no longer redo the old + // path. +- this.redo_commands = new List<DrawingCommand>(); // clear ++ this.redo_commands = new List<DrawingCommand?>(); // clear + + bool new_path = true; + double epsilon = 1e-4; // Less than 0.1 pixel for a 1000x1000 img +-- +2.41.0 + diff --git a/gnu/packages/patches/shared-mime-info-xdgmime-path.patch b/gnu/packages/patches/shared-mime-info-xdgmime-path.patch new file mode 100644 index 0000000000..27c578f3fa --- /dev/null +++ b/gnu/packages/patches/shared-mime-info-xdgmime-path.patch @@ -0,0 +1,22 @@ +Adapted from <https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/182>. + +diff --git a/meson.build b/meson.build +index 3c75424..7058562 100644 +--- a/meson.build ++++ b/meson.build +@@ -26,11 +26,11 @@ xmlto = find_program('xmlto', required: false) + ############################################################################### + # Find xdgmime + +-xdgmime = get_option('xdgmime-path') / 'src' ++xdgmime = get_option('xdgmime-path') + +-xdgmime_print_mime_data = find_program(xdgmime/'print-mime-data', required: false) +-xdgmime_test_mime_data = find_program(xdgmime/'test-mime-data', required: false) +-xdgmime_test_mime = find_program(xdgmime/'test-mime', required: false) ++xdgmime_print_mime_data = find_program('print-mime-data', xdgmime/'print-mime-data', required: false) ++xdgmime_test_mime_data = find_program('test-mime-data', xdgmime/'test-mime-data', required: false) ++xdgmime_test_mime = find_program('test-mime', xdgmime/'test-mime', required: false) + xdgmime_found = ( + xdgmime_print_mime_data.found() and + xdgmime_test_mime_data.found() and diff --git a/gnu/packages/patches/zathura-use-struct-initializers.patch b/gnu/packages/patches/zathura-use-struct-initializers.patch new file mode 100644 index 0000000000..9a808a4bc3 --- /dev/null +++ b/gnu/packages/patches/zathura-use-struct-initializers.patch @@ -0,0 +1,68 @@ +From c05328185292d6f6a4459024cdb563c63bfad230 Mon Sep 17 00:00:00 2001 +Message-ID: <c05328185292d6f6a4459024cdb563c63bfad230.1710315308.git.vivien@planete-kraus.eu> +From: Sebastian Ramacher <sebastian@ramacher.at> +Date: Mon, 29 Jan 2024 21:05:22 +0100 +Subject: [PATCH] Use struct initializers + +--- + zathura/page-widget.c | 4 ++-- + zathura/shortcuts.c | 12 +++++------- + 2 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/zathura/page-widget.c b/zathura/page-widget.c +index 216381e..ac85dcf 100644 +--- a/zathura/page-widget.c ++++ b/zathura/page-widget.c +@@ -1426,8 +1426,8 @@ cb_menu_image_save(GtkMenuItem* item, ZathuraPage* page) + } + + /* set command */ +- char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id); +- girara_argument_t argument = { 0, export_command }; ++ char* export_command = g_strdup_printf(":export image-p%d-%d ", page_id, image_id); ++ girara_argument_t argument = {.n = 0, .data = export_command}; + sc_focus_inputbar(priv->zathura->ui.session, &argument, NULL, 0); + g_free(export_command); + +diff --git a/zathura/shortcuts.c b/zathura/shortcuts.c +index 8836cd2..35b5990 100644 +--- a/zathura/shortcuts.c ++++ b/zathura/shortcuts.c +@@ -513,7 +513,7 @@ sc_rotate(girara_session_t* session, girara_argument_t* argument, + zathura_document_set_rotation(zathura->document, (rotation + angle * t) % 360); + + /* update scale */ +- girara_argument_t new_argument = { zathura_document_get_adjust_mode(zathura->document), NULL }; ++ girara_argument_t new_argument = {.n = zathura_document_get_adjust_mode(zathura->document), .data = NULL}; + sc_adjust_window(zathura->ui.session, &new_argument, NULL, 0); + + /* render all pages again */ +@@ -1372,7 +1372,7 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t* + zathura->shortcut.toggle_presentation_mode.zoom = zathura_document_get_zoom(zathura->document); + + /* adjust window */ +- girara_argument_t argument = { ZATHURA_ADJUST_BESTFIT, NULL }; ++ girara_argument_t argument = {.n = ZATHURA_ADJUST_BESTFIT, .data = NULL}; + sc_adjust_window(session, &argument, NULL, 0); + + /* hide status and inputbar */ +@@ -1390,13 +1390,11 @@ sc_toggle_presentation(girara_session_t* session, girara_argument_t* + return false; + } + +-bool +-sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument), +- girara_event_t* UNUSED(event), unsigned int UNUSED(t)) +-{ ++bool sc_quit(girara_session_t* session, girara_argument_t* UNUSED(argument), girara_event_t* UNUSED(event), ++ unsigned int UNUSED(t)) { + g_return_val_if_fail(session != NULL, false); + +- girara_argument_t arg = { GIRARA_HIDE, NULL }; ++ girara_argument_t arg = {.n = GIRARA_HIDE, .data = NULL}; + girara_isc_completion(session, &arg, NULL, 0); + + cb_destroy(NULL, NULL); +-- +2.41.0 + diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index ee48ad0e2b..c7471169d9 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -102,6 +102,7 @@ POSIX regular expression API.") (base32 "0s4x2l6g0sb9piwkr3sxqwdswz2g6bk1hhwngv0kv4w38wybir0l")))) (build-system gnu-build-system) + (outputs '("out" "static")) (inputs (list bzip2 readline zlib)) (arguments (list #:configure-flags @@ -114,14 +115,23 @@ POSIX regular expression API.") ;; riscv64-linux is an unsupported architecture. #$@(if (target-riscv64?) #~() - #~("--enable-jit")) - "--disable-static") + #~("--enable-jit"))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths (lambda _ (substitute* "RunGrepTest" - (("/bin/echo") (which "echo")))))))) + (("/bin/echo") (which "echo"))))) + (add-after 'install 'move-static-libs + (lambda _ + (let ((source (string-append #$output "/lib")) + (static (string-append #$output:static "/lib"))) + (mkdir-p static) + (for-each (lambda (lib) + (link lib (string-append static "/" + (basename lib))) + (delete-file lib)) + (find-files source "\\.a$")))))))) (synopsis "Perl Compatible Regular Expressions") (description "The PCRE library is a set of functions that implement regular expression diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 0784111dae..0c83ff10e1 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -703,7 +703,7 @@ by using the poppler rendering engine.") (define-public zathura (package (name "zathura") - (version "0.5.2") + (version "0.5.4") (source (origin (method url-fetch) (uri @@ -711,7 +711,28 @@ by using the poppler rendering engine.") version ".tar.xz")) (sha256 (base32 - "15314m9chmh5jkrd9vk2h2gwcwkcffv2kjcxkd4v3wmckz5sfjy6")))) + "0ckgamf98sydq543arp865jg1afwzhpzcsbhv6zrch2dm5x7y0x3")) + (patches (search-patches "zathura-use-struct-initializers.patch")))) + (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'start-xserver + ;; Tests require a running X server. + (lambda* (#:key inputs #:allow-other-keys) + (let ((display ":1")) + (setenv "DISPLAY" display) + + ;; On busy machines, tests may take longer than + ;; the default of four seconds. + (setenv "CK_DEFAULT_TIMEOUT" "20") + + ;; Don't fail due to missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + (zero? (system (string-append + (search-input-file inputs "/bin/Xvfb") + " " display " &"))))))))) (native-inputs (list pkg-config gettext-minimal @@ -733,24 +754,6 @@ by using the poppler rendering engine.") (list (search-path-specification (variable "ZATHURA_PLUGINS_PATH") (files '("lib/zathura"))))) - (build-system meson-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'check 'start-xserver - ;; Tests require a running X server. - (lambda* (#:key inputs #:allow-other-keys) - (let ((display ":1")) - (setenv "DISPLAY" display) - - ;; On busy machines, tests may take longer than - ;; the default of four seconds. - (setenv "CK_DEFAULT_TIMEOUT" "20") - - ;; Don't fail due to missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - (zero? (system (string-append - (search-input-file inputs "/bin/Xvfb") - " " display " &"))))))))) (home-page "https://pwmt.org/projects/zathura/") (synopsis "Lightweight keyboard-driven PDF viewer") (description "Zathura is a customizable document viewer. It provides a @@ -1523,22 +1526,24 @@ multiple files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kj84sf5hgr2v2ra6dxmxqcr173h17cpnhg9lcq36shdbdnncwg4")))) + (base32 "0kj84sf5hgr2v2ra6dxmxqcr173h17cpnhg9lcq36shdbdnncwg4")) + (patches + (search-patches "pdfpc-build-with-vala-0.56.patch")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no test target - (inputs - `(("cairo" ,cairo) - ("discount" ,discount) ; libmarkdown - ("qrencode" ,qrencode) - ("gtk+" ,gtk+) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("json-glib" ,json-glib) - ("libgee" ,libgee) - ("poppler" ,poppler) - ("pango" ,pango) - ("vala" ,vala) - ("webkitgtk" ,webkitgtk-with-libsoup2))) + (inputs (list + cairo + discount ; libmarkdown + qrencode + gtk+ + gstreamer + gst-plugins-base + json-glib + libgee + poppler + pango + vala + webkitgtk-with-libsoup2)) (native-inputs (list pkg-config)) (home-page "https://pdfpc.github.io/") diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 2f733dd703..337d9b9a73 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -158,7 +158,7 @@ perl pkg-config python - python-dbusmock)) + python-dbusmock-minimal)) (home-page "https://www.freedesktop.org/wiki/Software/polkit/") (synopsis "Authorization API for privilege management") (description "Polkit is an application-level toolkit for defining and diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d876f37363..2c1cf5bd03 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -194,6 +194,7 @@ #:use-module (gnu packages djvu) #:use-module (gnu packages docker) #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) #:use-module (gnu packages enchant) #:use-module (gnu packages file) #:use-module (gnu packages fonts) @@ -284,6 +285,7 @@ #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) @@ -14006,6 +14008,24 @@ file (e.g. @file{PKG-INFO}).") (define-public python-pep621 (deprecated-package "python-pep621" python-pyproject-metadata)) +(define-public python-meson-python + (package + (name "python-meson-python") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "meson_python" version)) + (sha256 + (base32 "0vyjhjabvm41hqijifk33idbdl62i76kfyf884f9rs29rpp77nzx")))) + (build-system meson-build-system) + (propagated-inputs (list python-pyproject-metadata python-tomli)) + (home-page "https://github.com/mesonbuild/meson-python") + (synopsis "Meson Python build backend (PEP 517)") + (description "This package provides a PEP 517 build backend that makes +use of the Meson build system.") + (license license:expat))) + (define-public python-pyflakes (package (name "python-pyflakes") @@ -28929,17 +28949,50 @@ structure.") for YAML and JSON.") (license license:expat))) +(define-public python-dbus-python + (package + (name "python-dbus-python") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dbus-python" version)) + (sha256 + (base32 "1y28h90v2ib8zqhs3r2yr7ycg8ccwvw3gqkvadlm12v1129q2rxd")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-requirements + (lambda _ + (substitute* (list "pyproject.toml" "setup.py") + (("'(ninja|patchelf)',?") "")) + (substitute* "setup.cfg" + (("(ninja|patchelf)") ""))))))) + (inputs (list dbus glib)) + (propagated-inputs (list python-pygobject)) + (native-inputs (list pkg-config + python-meson-python + meson ninja patchelf + python-sphinx python-sphinx-rtd-theme + python-tappy + python-wheel)) + (home-page "https://dbus.freedesktop.org/doc/dbus-python/") + (synopsis "Python bindings for libdbus") + (description "This package provides Python bindings to libdbus, the +reference implementation of the D-Bus protocol.") + (license license:expat))) + (define-public python-dbusmock (package (name "python-dbusmock") - (version "0.25.0") + (version "0.30.0") (source (origin (method url-fetch) (uri (pypi-uri "python-dbusmock" version)) (sha256 (base32 - "1nwl0gzzds2g1w1gfxfzlgrkb5hr1rrdyn619ml25c6b1rjyfk3g")))) + "1hanz6x76jq66ypdirga5h15zjs67kwysl6rmsf0i22dbdqrxdfv")))) (build-system python-build-system) (arguments (list #:modules `((guix build python-build-system) @@ -28950,6 +29003,9 @@ for YAML and JSON.") #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/test_api.py" + (("/usr/bin/python3") + (which "python3"))) (substitute* "tests/test_code.py" (("/bin/bash") (which "bash"))) @@ -28976,11 +29032,11 @@ for YAML and JSON.") status)) (loop))))))))))))) (native-inputs - (list dbus python-pytest which)) + (list dbus python-pytest upower which)) (inputs (list dbus)) (propagated-inputs - (list python-dbus python-pygobject)) + (list python-dbus-python python-pygobject)) (home-page "https://github.com/martinpitt/python-dbusmock") (synopsis "Python library for mock D-Bus objects") (description "python-dbusmock allows for the easy creation of mock objects on @@ -28990,6 +29046,16 @@ hard (or impossible without root privileges) to set the state of the real services to what you expect in your tests.") (license license:lgpl3+))) +(define-public python-dbusmock-minimal + (package + (inherit python-dbusmock) + (name "python-dbusmock-minimal") + (arguments + (substitute-keyword-arguments (package-arguments python-dbusmock) + ((#:tests? _ #t) #f))) + (native-inputs (list which)) + (properties '((hidden? . #t))))) + (define-public python-jsonplus (package (name "python-jsonplus") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5fd89712e0..0dea780882 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -64,6 +64,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dbm) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages rails) #:use-module (gnu packages readline) #:use-module (gnu packages autotools) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 257d01b3f1..577c2b3278 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -516,7 +516,7 @@ Vim bindings and Xresource compatibility.") #t))))) (inputs `(("dmenu" ,dmenu) - ("gcr" ,gcr) + ("gcr" ,gcr-3) ("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("webkitgtk" ,webkitgtk-with-libsoup2) diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index f9221f8483..96df50d747 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -443,21 +443,23 @@ on arbitrary tasks. All the time data is saved in files residing in the (base32 "1j2h5cv8wnmw41fpz1ggsgi599qhk184cas9kgd92glj3m4alg6f")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (substitute* '("tests/test_cli.py" "tests/test_formatter.py") - (("tests\\.helpers") "helpers")))) - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (invoke "pytest" "-vv" "tests" "-k" - (string-append - ;; Test expects wrong output string. - "not test_bad_start_date " - ;; Unknown failure - "and not test_default_command_args")))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (substitute* '("tests/test_cli.py" "tests/test_formatter.py") + (("tests\\.helpers") "helpers")))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "--hypothesis-profile=ci" + "-vv" "tests" "-k" + (string-append + ;; Test expects wrong output string. + "not test_bad_start_date " + ;; Unknown failure + "and not test_default_command_args")))))))) (native-inputs (list python-setuptools-scm python-pytest diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 8d835bf243..358374a5bb 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -326,8 +326,8 @@ (list abseil-cpp-cxxstd17 crc32c ffmpeg - glib-next - glibmm-next + glib + glibmm libdrm libglvnd libjpeg-turbo @@ -487,7 +487,7 @@ Telegram project, for its use in telegram desktop client.") (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs - (list `(,glib-next "bin") + (list `(,glib "bin") `(,gtk+ "bin") pkg-config python-wrapper)) @@ -499,8 +499,8 @@ Telegram project, for its use in telegram desktop client.") fcitx-qt5 fcitx5-qt ffmpeg - glib-next - glibmm-next + glib + glibmm-2.76 gtk+ hime hunspell diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 41e83384ec..aa00cc3656 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages sqlite) @@ -94,6 +95,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system qt)) (define-public phonesim @@ -1157,3 +1159,106 @@ very useful to emulate thousands of user agents calling your SIP system.") (license (list license:gpl2+ ; sipp's main license license:bsd-3 ; send_packets.c, send_packets.h license:zlib)))) ; md5.c, md5.h + +(define-public sofia-sip + (package + (name "sofia-sip") + (version "1.13.16") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/freeswitch/sofia-sip") + (commit (string-append "v" version)))) + (file-name (git-file-name "sofia-sip" version)) + (sha256 + (base32 + "1hi9np49wcq91d1w93qi6by40qnr348hpzc2wkw3l955zh1n30lr")))) + (build-system gnu-build-system) + (arguments + (list + ;; run_addrinfo requires /etc/services for the 'echo' service. + #:make-flags #~'("XFAIL_TESTS = run_addrinfo" + ;; libsofia-sip-ua/nta/Makefile.am sets + ;; TESTS_ENVIRONMENT = $(SHELL), which is odd, because + ;; according to the Automake manual, it should be + ;; AM_TESTS_ENVIRONMENT, and it should end with a + ;; semicolon. + "TESTS_ENVIRONMENT = \ +export CHECK_NTA_VERBOSE=10; \ +export CHECK_NUA_VERBOSE=10; ") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-shebangs + (lambda _ + (patch-shebang "autogen.sh"))) + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; run_test_nta is disabled because it fails randomly (not for a + ;; timeout-related reason). The test suite is otherwise very + ;; long, most tests backed by libcheck timeout even with a ×100 + ;; multiplier. The tests are disabled here rather than put to + ;; XFAIL_TESTS because it saves compilation time. (see: + ;; https://github.com/freeswitch/sofia-sip/issues/234) + (substitute* "libsofia-sip-ua/nta/Makefile.am" + (("TESTS =") + "TESTS = run_test_nta_api\n# Disabled: ")) + (substitute* "libsofia-sip-ua/nua/Makefile.am" + (("TESTS \\+=") + "TESTS +=\n# Disabled: ")) + ;; The glib tests both wait forever without a timeout. + (substitute* "libsofia-sip-ua-glib/su-glib/Makefile.am" + (("TESTS =") + "TESTS =\n# Disabled: ")) + ;; Another timeout failing test: + (substitute* "tests/Makefile.am" + (("TESTS = test_nua") + "TESTS =")) + ;; This test fails for unknown reason: + (substitute* "tests/Makefile.am" + (("TESTS \\+= check_dlopen_sofia check_sofia") + "TESTS += check_dlopen_sofia"))))))) + (inputs + (list glib + openssl + zlib)) + (native-inputs + (list autoconf + autoconf-archive + automake + check + libtool + pkg-config)) + (home-page "https://sofia-sip.sourceforge.net/") + (synopsis "SIP user-agent library") + (description "Sofia-SIP is a @acronym{SIP, Session Initiation Protocol} +User-Agent library, compliant with the +@url{https://datatracker.ietf.org/doc/html/rfc3261, IETF RFC3261} +specification. It can be used as a building block for @acronym{SIP} client +software foruses such as @acronym{VoIP, Voice over @acronym{IP, Internet +Protocol}}, @acronym{IM, Instant Messaging}, and many other real-time and +person-to-person communication services.") + (license license:lgpl2.1))) + +(define-public libcallaudio + (package + (name "libcallaudio") + (version "0.1.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/mobian1/callaudiod/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qnllb28101c2ss1k3iwr04gljfyjqmbla5csj6vkq1y63aagr9s")))) + (build-system meson-build-system) + (inputs (list alsa-lib glib pulseaudio)) + (native-inputs + (list `(,glib "bin") ;for gdbus-codegen + pkg-config)) + (home-page "https://gitlab.com/mobian1/callaudiod") + (synopsis "Library for audio routing during voice calls") + (description "This package provides @command{callaudiod}, a daemon to +route audio during phone calls, and a library.") + (license license:gpl3+))) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 538d32296e..c165b5342d 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -909,7 +909,7 @@ in plain text file format.") (define-public editorconfig-core-c (package (name "editorconfig-core-c") - (version "0.12.5") + (version "0.12.6") (source (origin (method git-fetch) @@ -918,7 +918,7 @@ in plain text file format.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "073sh18y0v8wm10iphaia54pkdmwylalccpn1k5i9dwyfjzgj7yg")))) + (base32 "05qllpls3r95nfl14gqq3cv4lisf07fgn85n52w8blc5pfl1h93g")))) (build-system cmake-build-system) (arguments '(#:phases @@ -928,6 +928,13 @@ in plain text file format.") (let ((tests (assoc-ref inputs "tests"))) (copy-recursively tests "tests")) #t)) + (add-after 'insert-tests 'disable-failing-tests + (lambda _ + (substitute* "tests/parser/CMakeLists.txt" + (("# Test max property name and values") + "# Disabled: test max property name and values\nif(FALSE)\n") + (("# Test max section names") + "endif()\n\n# Test max section names")))) (add-after 'install 'delete-static-library (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index 6706c24745..72ab345e8a 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages browser-extensions) #:use-module (gnu packages compression) #:use-module (gnu packages cups) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index f1d40df1f1..251fe00aa0 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -495,7 +495,7 @@ exec smbd $@"))) ;; The following static libraries are required to build ;; the static output of QEMU. `(,glib "static") - `(,pcre "static") + `(,pcre2 "static") `(,zlib "static"))) (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer") diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index a83562485d..e6bc6a0c7b 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -141,7 +141,7 @@ ("which" ,which))) ;for tests (inputs `(("adwaita-icon-theme" ,adwaita-icon-theme) - ("gcr" ,gcr) + ("gcr" ,gcr-3) ("glib" ,glib) ("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 01e48fda57..c6ddae50ae 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -88,7 +88,7 @@ (define-public libxmlb (package (name "libxmlb") - (version "0.3.12") + (version "0.3.14") (source (origin (method git-fetch) @@ -98,7 +98,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v9s2k5saxrs0ssjyg1zxaibybikvaw7fip6sy0b8ixzax9r5y0c")))) + (base32 "0qcp881s559wc73db91vjccrv0d3zva87l5jdp5w0ygzz6bmg5cn")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t)) @@ -107,7 +107,7 @@ (inputs (list appstream-glib glib)) (propagated-inputs - (list `(,zstd "lib"))) ; in Requires.private of xmlb.pc + (list xz `(,zstd "lib"))) ; in Requires.private of xmlb.pc (synopsis "Library to help create and query binary XML blobs") (description "Libxmlb library takes XML source, and converts it to a structured binary representation with a deduplicated string table; where the |