diff options
34 files changed, 800 insertions, 516 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index ee9a509f1b..72c9954492 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -59,6 +59,7 @@ # Copyright © 2023 Zheng Junjie <[email protected]> # Copyright © 2023 Ivana Drazovic <[email protected]> # Copyright © 2023 Andy Tai <[email protected]> +# Copyright © 2023 Bruno Victal <[email protected]> # # This file is part of GNU Guix. # @@ -1026,6 +1027,7 @@ dist_patch_DATA = \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/cmake-curl-certificates-3.24.patch \ %D%/packages/patches/coda-use-system-libs.patch \ + %D%/packages/patches/cogl-fix-double-free.patch \ %D%/packages/patches/collectd-5.11.0-noinstallvar.patch \ %D%/packages/patches/combinatorial-blas-awpm.patch \ %D%/packages/patches/combinatorial-blas-io-fix.patch \ @@ -1248,6 +1250,7 @@ dist_patch_DATA = \ %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \ %D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \ %D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \ + %D%/packages/patches/gegl-compatibility-old-librsvg.patch \ %D%/packages/patches/gemmi-fix-pegtl-usage.patch \ %D%/packages/patches/gemmi-fix-sajson-types.patch \ %D%/packages/patches/genimage-mke2fs-test.patch \ @@ -1367,6 +1370,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ %D%/packages/patches/gtk2-fix-builder-test.patch \ + %D%/packages/patches/gtk2-harden-list-store.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ @@ -1964,6 +1968,7 @@ dist_patch_DATA = \ %D%/packages/patches/libsequoia-remove-store.patch \ %D%/packages/patches/serf-python3.patch \ %D%/packages/patches/shakespeare-spl-fix-grammar.patch \ + %D%/packages/patches/shared-mime-info-xdgmime-path.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/slim-session.patch \ %D%/packages/patches/slim-config.patch \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0a1c9bffb3..85ba5ba147 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2022 Petr Hodina <[email protected]> ;;; Copyright © 2022 muradm <[email protected]> ;;; Copyright © 2023 Alex Devaure <[email protected]> +;;; Copyright © 2023 Bruno Victal <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -467,6 +468,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 "de283fc430460b9b3a7e61432a6d273cd64cb102") + (revision "1")) + (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 + "0m9k7nfxgchb9j0xh9cwsldz6564qisqdkvlhgkcgc0grd4nfbn9")))) + (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.2") + (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 + "04dfnnflspprxg7qia3whz1754lfvgi4ihvmihg379936zy5xd22")) + (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") diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index b1ff08d652..9c8100dc7b 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -215,7 +215,7 @@ provided, as well as a framework to add new color models and data types.") (define-public gegl (package (name "gegl") - (version "0.4.42") + (version "0.4.46") (source (origin (method url-fetch) @@ -228,8 +228,10 @@ provided, as well as a framework to add new color models and data types.") (string-append "ftp://ftp.gtk.org/pub/gegl/" (version-major+minor version) "/gegl-" version ".tar.xz"))) + (patches + (search-patches "gegl-compatibility-old-librsvg.patch")) (sha256 - (base32 "0bg0vlmj4n9x1291b9fsjqxsal192zlg48pa57f6xid6p863ma5b")))) + (base32 "14p8n6vily0yp6gqafl2xy7d2rh1j48pcj0a7mglqxy83d4b5cyh")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -253,23 +255,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 @@ -285,10 +287,31 @@ buffers.") ;; application and GUI binary gegl is licensed under GPL. (license (list license:lgpl3+ license:gpl3+)))) +;; gnome-photos does not build against gegl 0.4.46 yet. +;; See also <https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/214>. +(define-public gegl-0.4.44 + (package + (inherit gegl) + (version "0.4.44") + (source + (origin + (method url-fetch) + (uri (list (string-append "https://download.gimp.org/pub/gegl/" + (string-take version 3) + "/gegl-" version ".tar.xz") + (string-append "https://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz") + (string-append "ftp://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz"))) + (sha256 + (base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a")))))) + (define-public gimp (package (name "gimp") - (version "2.10.32") + (version "2.10.34") (source (origin (method url-fetch) @@ -296,7 +319,7 @@ buffers.") (version-major+minor version) "/gimp-" version ".tar.bz2")) (sha256 - (base32 "09csp2d8bzf012n7hvbbwngwr9phv3rnip768qdwqpdgah2wf59z")))) + (base32 "18vscmy293q6wq78almv0m7r8jh4j8szvmrw56j9icsisd14c044")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index b5eb4602da..8af89d60e0 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -217,7 +217,7 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) (define glib (package (name "glib") - (version "2.72.3") + (version "2.76.1") (source (origin (method url-fetch) @@ -226,14 +226,14 @@ information, refer to the @samp{dbus-daemon(1)} man page."))) name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1w25sf2wxkkah2p2w189q58mza3zv8z1fh2q1m82sldq4kva4faa")) + (base32 "17x1zpr2avj8hjbpc6hp2sf2885lxac46v0kajsgan3929m0zp23")) (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 +258,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 +276,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 +338,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 +347,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 +468,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 +495,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 +576,14 @@ be used when cross-compiling." (define gobject-introspection (package (name "gobject-introspection") - (version "1.72.0") + (version "1.76.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 "1grq6wmbi2nbnwffgvsljd481zm6darnk12dvkf02m9lcjzphq8r")) (patches (search-patches "gobject-introspection-cc.patch" "gobject-introspection-girepository.patch" @@ -723,10 +677,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 @@ -985,7 +936,7 @@ libraries.") (define glibmm (package (name "glibmm") - (version "2.72.1") + (version "2.76.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -993,7 +944,7 @@ libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia")))) + "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -1034,23 +985,6 @@ libraries.") useful for C++.") (license license:lgpl2.1+))) -(define-public glibmm-next - (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))))) - (define-public glibmm-2.64 (package (inherit glibmm) @@ -1072,7 +1006,7 @@ useful for C++.") (define-public python-pygobject (package (name "python-pygobject") - (version "3.42.2") + (version "3.44.1") (source (origin (method url-fetch) @@ -1081,7 +1015,7 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d")) + "042pmpyaz7bsbr68znnwdqyhs3j3cajib0k45v1hrs8v6b8has1w")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 8b5dc3030e..86dacdf7ff 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -1067,7 +1067,7 @@ notebooks and tiling window managers.") (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 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 908b5782b5..eaceb76e1e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -812,7 +812,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 "43.1") (source (origin (method url-fetch) @@ -822,7 +822,7 @@ tomorrow, the rest of the week and for special occasions.") name "-" version ".tar.xz")) (sha256 (base32 - "1pry45dy4sjw8y63vxw2b499brcxzpkd4hmg2vbqy538r79ah2g9")))) + "1axhabxrrmf4r2xw2hvrzwj62inkckpmrc0gfbjcrwic04d6gqgk")))) (build-system meson-build-system) (arguments (list @@ -856,7 +856,7 @@ tomorrow, the rest of the week and for special occasions.") (inputs (list babl cairo - gegl + gegl-0.4.44 geocode-glib gexiv2 gfbgraph @@ -1525,7 +1525,7 @@ extraction, and lookup for applications on the desktop.") (define-public gnome-initial-setup (package (name "gnome-initial-setup") - (version "42.2") + (version "44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-initial-setup/" @@ -1533,7 +1533,7 @@ extraction, and lookup for applications on the desktop.") "/gnome-initial-setup-" version ".tar.xz")) (sha256 (base32 - "0yxy39a7d2whphd0jskvra5q8zy4v7m7lziy5fxibgls4j5xk0sd")))) + "1zxv0i6lwcnjs4m0ny08wxbfz25ygnwkbh4l3dkrhapqr1nzqg2r")))) (build-system meson-build-system) (arguments (list @@ -1557,28 +1557,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-next)) (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 @@ -1776,7 +1775,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 @@ -2022,7 +2021,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) @@ -2192,7 +2191,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) @@ -2201,7 +2200,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 @@ -2245,7 +2244,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 @@ -2374,7 +2373,7 @@ the font would look under various sizes.") (define-public gcr (package (name "gcr") - (version "3.41.1") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2382,7 +2381,7 @@ the font would look under various sizes.") name "-" version ".tar.xz")) (sha256 (base32 - "0kx2pv272p0qc0nq1287gciyn34d95yxg41vq3lzxfzyqaijhwdv")))) + "0z7cviri25qy2v042hw6x731bj1azpx8plrd7ssbmrqf9y95an64")))) (build-system meson-build-system) (arguments (list @@ -2395,11 +2394,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"))) @@ -2433,11 +2432,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 @@ -2446,6 +2443,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.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0kx2pv272p0qc0nq1287gciyn34d95yxg41vq3lzxfzyqaijhwdv")))) + (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") @@ -2571,7 +2593,7 @@ GNOME Desktop.") "1")))))))) (inputs (list dbus - gcr + gcr-3 libgcrypt linux-pam openssh)) @@ -2588,7 +2610,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>. @@ -2680,7 +2702,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) @@ -2689,7 +2711,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 @@ -2716,21 +2738,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") @@ -2916,39 +2923,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") @@ -4423,7 +4397,7 @@ engineering.") (setenv "HOME" (getcwd))))))) (inputs (list gtk+ - gcr + gcr-3 gnupg gpgme openldap @@ -4451,7 +4425,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.56.3") + (version "0.56.13") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vala/" @@ -4459,7 +4433,7 @@ passwords in the GNOME keyring.") "vala-" version ".tar.xz")) (sha256 (base32 - "1gwrnr0d0bqkh6m4bgz39mh3pcswcj43hyijlwgwp2bvpwhn41p1")))) + "01xfarnhpp30wmv9mwayw8751glwppl0sva79j3y9qf76qq25229")))) (build-system glib-or-gtk-build-system) (arguments (list @@ -4519,7 +4493,7 @@ targeting the GNOME stack simple.") (define-public vte (package (name "vte") - (version "0.70.2") + (version "0.72.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vte/" @@ -4527,7 +4501,7 @@ targeting the GNOME stack simple.") "vte-" version ".tar.xz")) (sha256 (base32 - "102d6cd9f96czlq01ixhymfp0z20khw0dl5bgvan9xg31lwb85ad")))) + "17hwfkb0vakjgf1gbmjma54hdrppzqfbfqj1jr9iz656hp8nz5pp")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "-Dvapi=true" @@ -4970,7 +4944,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 "/" @@ -4978,25 +4952,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 @@ -5078,7 +5062,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/" @@ -5086,7 +5070,7 @@ 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) ((#:phases phases) @@ -5402,7 +5386,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/" @@ -5410,28 +5394,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") @@ -5506,7 +5482,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/" @@ -5514,7 +5490,7 @@ keyboard shortcuts.") "gnome-text-editor-" version ".tar.xz")) (sha256 (base32 - "1nn53iv2a82kkqkg5jy0bqh2b2wzg7g4a6w8q3qsis5wvj64lvg5")))) + "1jii59hw31baira2psl1kx2lxljmnnkxmif4zhasizrl0xwc6yzn")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t)) @@ -5526,7 +5502,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 @@ -5934,22 +5915,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) @@ -5958,7 +5927,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 @@ -6003,13 +5972,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 @@ -6180,7 +6149,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) @@ -6265,8 +6236,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 @@ -6639,7 +6608,7 @@ discovery protocols.") (define-public totem (package (name "totem") - (version "42.0") + (version "43.0") (source (origin (method url-fetch) @@ -6647,7 +6616,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 @@ -6701,8 +6670,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" "/"))) @@ -6988,7 +6958,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 @@ -7166,7 +7136,7 @@ almost all of them.") xorg-server-for-tests)) (inputs (list avahi - gcr + gcr-3 glib-networking gnome-desktop gsettings-desktop-schemas @@ -7475,7 +7445,7 @@ classes for commonly used data structures.") (python:site-packages %build-inputs %outputs) "/gi/overrides")))) (native-inputs - (list gcr + (list gcr-3 `(,glib "bin") pkg-config python @@ -7527,7 +7497,7 @@ metadata in photo and video files of various formats.") python vala)) (inputs - (list gcr + (list gcr-3 gexiv2 gst-plugins-base gstreamer @@ -7596,7 +7566,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 "/" @@ -7605,7 +7575,7 @@ such as gzip tarballs.") (patches (search-patches "gnome-session-support-elogind.patch")) (sha256 (base32 - "1alwjqr36rd0s132qs2clwnxgilcbylps6lm41lr50mn782hdjiw")))) + "1ipjvcjabifqgmrz65m3vwmhk99nbm8jcxcikyg5w4r6cnljky6c")))) (arguments `(#:glib-or-gtk? #t #:phases @@ -7656,8 +7626,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.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7665,7 +7634,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0xfspsc1q4xm7p500lmy17b9csyaqps1kilylq8wjjd0fjqq8ayg")) + "1m15qscx2z862gfkb9pxg30bz8ka0h774l2azs5dfvzaagbckn7p")) (modules '((guix build utils))) (snippet '(begin @@ -7812,7 +7781,7 @@ to display dialog boxes from the commandline and shell scripts.") (define-public mutter (package (name "mutter") - (version "42.4") + (version "44.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7820,7 +7789,7 @@ to display dialog boxes from the commandline and shell scripts.") name "-" version ".tar.xz")) (sha256 (base32 - "0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62")) + "0l85qyn6x5hyaaclzcbqd44xpd582gdindqfam8f9lsh46zvwp0q")) ;; 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")))) @@ -7843,7 +7812,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. @@ -7967,7 +7936,7 @@ to display dialog boxes from the commandline and shell scripts.") python-dbusmock tini)) ;acting as init (zombie reaper) (propagated-inputs - (list gsettings-desktop-schemas-next ;required by libmutter.pc + (list gsettings-desktop-schemas ;required by libmutter.pc gtk+ ;required by libmutter.pc ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these: at-spi2-core @@ -7990,7 +7959,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 @@ -8022,7 +7992,7 @@ window manager.") (define-public gnome-online-accounts (package (name "gnome-online-accounts") - (version "3.45.2") + (version "3.48.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8030,16 +8000,18 @@ window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "15zzzndbfba8a497vxb6cmy1y22l3lfn4sx9s9r59kwzd83i6fxn")))) + "1gvmc4k5vm4qd97yfkd5a4sixz0pfq9nblss42c2mmyvzzybk2s1")))) (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. @@ -8052,7 +8024,7 @@ window manager.") gtk+)) ; required by goa-backend-1.0.pc (inputs (list docbook-xsl - gcr + gcr-3 json-glib libsecret mit-krb5 @@ -8095,7 +8067,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) @@ -8103,7 +8075,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 @@ -8168,7 +8140,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (inputs (list bdb boost - gcr + gcr-3 gnome-online-accounts json-glib libcanberra @@ -8276,7 +8248,7 @@ users.") (name "network-manager") ;; Note: NetworkManager still follows the odd/even major version number ;; for development/stable releases scheme; be sure to use a stable one. - (version "1.42.6") + (version "1.44.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/NetworkManager/" @@ -8286,7 +8258,7 @@ users.") "network-manager-meson.patch")) (sha256 (base32 - "0y82xl84dyhdkyl98y86wspiq9iy5jz23bjzc3mvrijsfz1qlf4c")))) + "17zvg63jjbqdw8xyc6narirvvbbv7micbn0j7dmq0bqqgmihkjpd")))) (build-system meson-build-system) (outputs '("out" "doc")) ; 8 MiB of gtk-doc HTML @@ -8574,7 +8546,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") libnma pkg-config)) (inputs - (list gcr + (list gcr-3 gtk gtk+ kmod @@ -8705,7 +8677,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 @@ -8776,7 +8748,7 @@ library.") (define-public gdm (package (name "gdm") - (version "42.0") + (version "44.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8784,7 +8756,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0m9qmm3vm81jmqlc30a1fb79hsr4l4lpiw0zjxww3gipd6bsqa53")) + "03avvkrm2jd0731ggh9cjnkhrfysqp4slrq0km3gqa3xpqx6n9k8")) (patches (search-patches "gdm-default-session.patch" @@ -8977,6 +8949,7 @@ logo='~a'~%" icon)))))) (list accountsservice check ;for testing dbus + egl-wayland elogind eudev gnome-session @@ -9118,7 +9091,7 @@ devices using the GNOME desktop.") colord-gtk cups dconf - gcr + gcr-3 gnome-bluetooth gnome-desktop gnome-online-accounts @@ -9160,7 +9133,7 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "42.4") + (version "44.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9168,7 +9141,7 @@ properties, screen resolution, and other GNOME parameters.") name "-" version ".tar.xz")) (sha256 (base32 - "0kn5fclciybp2fs38wd39hdz85y91pas0ckfa02pmyx91sbz4pw7")))) + "1grizh3fbks5dgizaj38300cz97ay81q0hlk1pvawkpfq9qlnsam")))) (build-system meson-build-system) (arguments (let ((disallowed-references @@ -9206,6 +9179,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")) @@ -9222,7 +9201,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")) @@ -9288,13 +9273,14 @@ 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 docbook-xsl evolution-data-server gcr @@ -9391,7 +9377,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 "/" @@ -9399,7 +9385,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)) @@ -9417,7 +9403,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/" @@ -9425,7 +9411,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "0c8ppm03b9r6lyxalama8sjmw3km4jibbswqra7qf17pli1g2vaf")))) + "1whdqidxmagsc35pmz9kcc5vs3bmvbkmnis7prnx3zxs37z2qnaj")))) (build-system meson-build-system) (arguments (list @@ -9447,6 +9433,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")))) @@ -9535,7 +9537,7 @@ endpoint and it understands SPARQL.") (define-public tracker-miners (package (name "tracker-miners") - (version "3.3.1") + (version "3.5.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -9543,7 +9545,7 @@ endpoint and it understands SPARQL.") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "151w6ljq1gk9idqfq9qs3w16vms91jnxy59c9kx6jaf0fb9cdp9y")))) + "0sbc3fmvqg5hvdl5sq8w77lqmk9i6vc13izcxck8winrrgx93ys0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -9577,12 +9579,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? @@ -9614,6 +9611,7 @@ endpoint and it understands SPARQL.") giflib glib gstreamer + gst-plugins-base icu4c json-glib libcue @@ -9657,7 +9655,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "42.2") + (version "44.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9665,7 +9663,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) + "1rfkh43iw4bqv36ccznl3lh9g0p9pa8xqyjk167qlvar4xchcji7")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9674,6 +9672,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). @@ -9684,8 +9689,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)) @@ -9712,18 +9718,18 @@ 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 @@ -9741,7 +9747,7 @@ files.") (define-public baobab (package (name "baobab") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append @@ -9750,24 +9756,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 @@ -10009,7 +10019,7 @@ associations for GNOME.") bash-minimal geoclue gjs - gsettings-desktop-schemas-next + gsettings-desktop-schemas gtk libadwaita libgweather4)) @@ -10295,7 +10305,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 "/" @@ -10303,7 +10313,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 @@ -10324,13 +10334,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 @@ -10341,7 +10351,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 "/" @@ -10349,7 +10359,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 @@ -10366,16 +10376,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 @@ -10813,7 +10821,7 @@ handling the startup notification side.") python vala)) (inputs - (list gsettings-desktop-schemas-next + (list gsettings-desktop-schemas gtksourceview libadwaita libgee @@ -11696,7 +11704,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/" @@ -11704,7 +11712,7 @@ generic enough to work for everyone.") "evolution-" version ".tar.xz")) (sha256 (base32 - "0gbvd460hsha0gss9rjjpyisq336fwxd8y1xf55s6ifjrqql423s")))) + "1dwbwy67xg1fypxj0qyhhvy608hbw19gqhvxqkr739shl3mrjbx0")))) (build-system cmake-build-system) (arguments (list @@ -11743,7 +11751,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 @@ -12430,7 +12438,7 @@ non-privileged user.") (inputs (list enchant folks - gcr + gcr-3 glib gmime gnome-online-accounts @@ -12956,7 +12964,7 @@ GObject introspection bindings.") (propagated-inputs (list polkit)) (inputs - (list glib-next + (list glib gtk json-glib libadwaita @@ -12965,7 +12973,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)) @@ -13233,7 +13241,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)) @@ -13241,7 +13249,7 @@ your data.") (list json-glib jsonrpc-glib gettext-minimal - glib-next + glib gsettings-desktop-schemas gspell libgda @@ -13325,7 +13333,7 @@ Document Analysis and Recognition program.") (define-public libadwaita (package (name "libadwaita") - (version "1.2.0") + (version "1.3.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libadwaita/" @@ -13333,7 +13341,7 @@ Document Analysis and Recognition program.") "libadwaita-" version ".tar.xz")) (sha256 (base32 - "0326qs0zhfi6zv52p90axnicmv0qb2l2hwpyv60pk9lvwcdkwbrj")))) + "1gdimh85f5hb6jhnivjaai4m08nz4x9iif5rxdckn8b0lzrwl740")))) (build-system meson-build-system) (arguments `(#:phases diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index a5b8587a14..00307ec270 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -866,7 +866,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 e700931d28..aa268da561 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -63,6 +63,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 9362666274..9dd7720ae3 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -884,9 +884,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 71f8e3453a..bcbed68715 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 @@ -809,13 +809,6 @@ model to base your own plug-in on, here it is.") "'elements/viewfinderbin.c'], true, ],")) '()) - ;; This substitution is no longer effective and can be removed. - #$@(if (member (%current-system) - '("i686-linux" "aarch64-linux" "riscv64-linux")) - `((("'elements/camerabin\\.c'\\]\\],") - "'elements/camerabin.c'], true, ],")) - '()) - ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 ((".*elements/dtls\\.c.*") "")) (substitute* "tests/check/elements/zxing.c" @@ -956,7 +949,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) @@ -964,7 +957,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 @@ -1013,7 +1006,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) @@ -1022,7 +1015,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)) @@ -1036,7 +1029,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 @@ -1044,7 +1037,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 @@ -1104,7 +1097,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 @@ -1112,7 +1105,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 0d6df1f583..9ff1c6e2b5 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -361,7 +361,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 +370,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 @@ -614,6 +614,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 +635,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 @@ -897,6 +902,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) @@ -1106,7 +1112,7 @@ application suites.") (define-public gtk (package (name "gtk") - (version "4.8.1") + (version "4.10.3") (source (origin (method url-fetch) @@ -1114,9 +1120,11 @@ application suites.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1za2nyqqs2lrbss61gfw17qba2f0w6a119m1xk4d0fx2k3gdis2w")) + (base32 "1aff06l9v40j16s4s0qvdbj8cs54qxnh41d7w2v7wdwyswd48ia5")) (patches - (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")))) + (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")) + (modules '((guix build utils))) + (snippet #~(begin (delete-file-recursively "subprojects/gi-docgen"))))) (build-system meson-build-system) (outputs '("out" "bin" "doc")) (arguments @@ -1140,6 +1148,8 @@ application suites.") ;; Use the same test options as upstream uses for ;; their CI. "--suite=gtk" + "--no-suite=failing" + "--no-suite=flaky" "--no-suite=gsk-compare-broadway") #:phases #~(modify-phases %standard-phases @@ -1246,6 +1256,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 @@ -2931,11 +2942,11 @@ Unix desktop environment under X11 as well as Wayland.") (substitute* "meson.build" (("gtk_update_icon_cache: true") "gtk_update_icon_cache: false"))))))) - (native-inputs (list `(,glib-next "bin") + (native-inputs (list `(,glib "bin") gobject-introspection pkg-config vala)) - (inputs (list glib-next gtk libadwaita)) + (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 01dbe9b3ad..87a056752f 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2343,7 +2343,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-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/maths.scm b/gnu/packages/maths.scm index 62d4adfbd1..45ca49e04f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -122,6 +122,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 7ede16f4bb..85f45d3271 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -40,6 +40,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/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 <[email protected]> +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/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 <[email protected]> +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/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/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/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/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/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/ruby.scm b/gnu/packages/ruby.scm index ff6829082c..baae4b3aaf 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -62,6 +62,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 400832045f..e8cf86f504 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -514,7 +514,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/telegram.scm b/gnu/packages/telegram.scm index 4814c22b6c..d3276cbe7c 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -325,8 +325,8 @@ (list abseil-cpp-cxxstd17 crc32c ffmpeg - glib-next - glibmm-next + glib + glibmm libdrm libglvnd libjpeg-turbo @@ -486,7 +486,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)) @@ -498,8 +498,8 @@ Telegram project, for its use in telegram desktop client.") fcitx-qt5 fcitx5-qt ffmpeg - glib-next - glibmm-next + glib + glibmm gtk+ hime hunspell diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 44c5754d6d..56554373be 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -826,7 +826,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) @@ -835,7 +835,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 @@ -845,6 +845,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/virtualization.scm b/gnu/packages/virtualization.scm index f5bdedd45e..49817fdbcd 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -481,7 +481,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 a8ef7099f5..d0b4e9f971 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -138,7 +138,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/webkit.scm b/gnu/packages/webkit.scm index c46bcd5662..0c82435cde 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -317,13 +317,13 @@ propagated by default) such as @code{gst-plugins-good} and (package (inherit webkitgtk) (name "wpewebkit") - (version "2.40.0") + (version "2.40.5") (source (origin (inherit (package-source webkitgtk)) (uri (string-append "https://wpewebkit.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "1dl663nbm011sx099x9gdhk3aj119yn5rxp77jmnhdv1l77jpv58")))) + (base32 "0cv74qy67a0hg8sba18wrjcmmwkj4z23wqnn5yqrh3n594q8srac")))) (arguments (substitute-keyword-arguments (package-arguments webkitgtk) ((#:configure-flags flags) diff --git a/guix/profiles.scm b/guix/profiles.scm index fea766879d..c88672c25a 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1562,7 +1562,7 @@ MIME type." "Return a derivation that builds the @file{mime.cache} database from manifest entries. It's used to query the MIME type of a given file." (define shared-mime-info ; lazy reference - (module-ref (resolve-interface '(gnu packages gnome)) 'shared-mime-info)) + (module-ref (resolve-interface '(gnu packages freedesktop)) 'shared-mime-info)) (mlet %store-monad ((glib (manifest-lookup-package manifest "glib"))) (define build |