diff options
-rw-r--r-- | gnu/local.mk | 3 | ||||
-rw-r--r-- | gnu/packages/freedesktop.scm | 108 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 188 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 74 | ||||
-rw-r--r-- | gnu/packages/gnuzilla.scm | 1 | ||||
-rw-r--r-- | gnu/packages/graphics.scm | 4 | ||||
-rw-r--r-- | gnu/packages/gstreamer.scm | 39 | ||||
-rw-r--r-- | gnu/packages/gtk.scm | 27 | ||||
-rw-r--r-- | gnu/packages/guile-xyz.scm | 2 | ||||
-rw-r--r-- | gnu/packages/kde-games.scm | 2 | ||||
-rw-r--r-- | gnu/packages/kde-multimedia.scm | 1 | ||||
-rw-r--r-- | gnu/packages/kde-pim.scm | 1 | ||||
-rw-r--r-- | gnu/packages/kde-utils.scm | 1 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 1 | ||||
-rw-r--r-- | gnu/packages/mp3.scm | 1 | ||||
-rw-r--r-- | gnu/packages/patches/glib-skip-failing-test.patch | 3 | ||||
-rw-r--r-- | gnu/packages/patches/gtk2-harden-list-store.patch | 42 | ||||
-rw-r--r-- | gnu/packages/patches/shared-mime-info-xdgmime-path.patch | 22 | ||||
-rw-r--r-- | gnu/packages/ruby.scm | 1 | ||||
-rw-r--r-- | gnu/packages/telegram.scm | 10 | ||||
-rw-r--r-- | guix/profiles.scm | 2 |
21 files changed, 310 insertions, 223 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index e4f5b2078a..32b1797333 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -59,6 +59,7 @@ # Copyright © 2023 Zheng Junjie <873216071@qq.com> # Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com> # Copyright © 2023 Andy Tai <atai@atai.org> +# Copyright © 2023 Bruno Victal <mirai@makinata.eu> # # This file is part of GNU Guix. # @@ -1350,6 +1351,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 \ @@ -1948,6 +1950,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..8cb4c61d9f 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com> +;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -467,6 +468,113 @@ 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 #$(format #f "-Dxdgmime-path=~a/bin" + (this-package-native-input "xdgmime")) + "-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/glib.scm b/gnu/packages/glib.scm index a0b85b15d1..935d8d4da1 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -216,7 +216,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) @@ -225,14 +225,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 @@ -257,6 +257,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 _ @@ -272,9 +275,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 @@ -454,10 +467,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 @@ -481,92 +494,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")))) - '()))))))) - (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 @@ -607,14 +575,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" @@ -708,10 +676,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 @@ -970,7 +935,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/" @@ -978,7 +943,7 @@ libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia")))) + "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments @@ -1019,23 +984,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) @@ -1057,7 +1005,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) @@ -1066,7 +1014,7 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d")) + "042pmpyaz7bsbr68znnwdqyhs3j3cajib0k45v1hrs8v6b8has1w")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 4a2e867476..d718764dfc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2244,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 @@ -2679,7 +2679,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) @@ -2688,7 +2688,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 @@ -2715,21 +2715,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") @@ -2915,39 +2900,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") @@ -5077,7 +5029,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/" @@ -5085,7 +5037,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) @@ -6004,7 +5956,7 @@ services for numerous locations.") geoclue geocode-glib-with-libsoup2 gnome-desktop - gsettings-desktop-schemas-next + gsettings-desktop-schemas lcms libcanberra libgudev @@ -7942,7 +7894,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 @@ -9984,7 +9936,7 @@ associations for GNOME.") bash-minimal geoclue gjs - gsettings-desktop-schemas-next + gsettings-desktop-schemas gtk libadwaita libgweather4)) @@ -10786,7 +10738,7 @@ handling the startup notification side.") python vala)) (inputs - (list gsettings-desktop-schemas-next + (list gsettings-desktop-schemas gtksourceview libadwaita libgee @@ -12918,7 +12870,7 @@ GObject introspection bindings.") (propagated-inputs (list polkit)) (inputs - (list glib-next + (list glib gtk json-glib libadwaita @@ -12927,7 +12879,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)) @@ -13195,7 +13147,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)) @@ -13203,7 +13155,7 @@ your data.") (list json-glib jsonrpc-glib gettext-minimal - glib-next + glib gsettings-desktop-schemas gspell libgda diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index ee902da9a8..2ba56886af 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 2a94bd51cc..fb14cd6e44 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -882,9 +882,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 86886c025f..3196a2d07a 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" @@ -954,7 +947,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -962,7 +955,7 @@ par compared to the rest.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1486x08bwasq6l7kc75nph5az61siq9mbgkgpw4kf1mxn16z8c4g")))) + (base32 "0q53snvh7kr8g7qqxy4v5ska0d78kgc5bkp6qjrnhcr9qbaqxj9x")))) (build-system meson-build-system) (arguments (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -1011,7 +1004,7 @@ think twice about shipping them.") (define-public gst-libav (package (name "gst-libav") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) @@ -1020,7 +1013,7 @@ think twice about shipping them.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1zfg7giwampmjxkqr5pqy66vck42b0akmwby661brwz8iy3zkapw")))) + (base32 "08x929yhjd2wpy05146fnqv6p2hw58ha079bwfkp2hwbh02wii9f")))) (build-system meson-build-system) (native-inputs (list perl pkg-config python-wrapper ruby)) (inputs (list ffmpeg)) @@ -1034,7 +1027,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") (define-public gst-editing-services (package (name "gst-editing-services") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append @@ -1042,7 +1035,7 @@ decoders, muxers, and demuxers provided by FFmpeg.") "gst-editing-services-" version ".tar.xz")) (sha256 (base32 - "1gyfw11ns2la1cm6gvvvv5qj3q5gcvcypc3wk8kdwmrqzij18fs5")))) + "18nfq3av5ksz17048l2b4r4zbh11yd0yq2asx0jy3c894pkbr98m")))) (build-system meson-build-system) (arguments (list @@ -1102,7 +1095,7 @@ binary, but none of the actual plugins."))) (define-public python-gst (package (name "python-gst") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append @@ -1110,7 +1103,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 4e7c80ac8d..51ae8df906 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2327,7 +2327,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 1666d6e420..3dc0a66b8b 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/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/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/ruby.scm b/gnu/packages/ruby.scm index e0dca646ac..9a2c2ee0bb 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/telegram.scm b/gnu/packages/telegram.scm index aa5c303603..d90477282e 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -320,8 +320,8 @@ (list abseil-cpp-cxxstd17 crc32c ffmpeg - glib-next - glibmm-next + glib + glibmm libdrm libglvnd libjpeg-turbo @@ -480,7 +480,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)) @@ -492,8 +492,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/guix/profiles.scm b/guix/profiles.scm index 2bd6477cf8..6fa68fc6ac 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 |