diff options
Diffstat (limited to 'gnu/packages')
44 files changed, 1051 insertions, 734 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 648ebad408..c52e921756 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. ;;; @@ -481,6 +482,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/geo.scm b/gnu/packages/geo.scm index a33d446201..5b1c1dd582 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -529,7 +529,7 @@ topology functions.") libsoup libxml2 rest-next - webkitgtk)) + webkitgtk-for-gtk3)) (synopsis "Graphical map viewer and wayfinding program") (description "GNOME Maps is a graphical map viewer. It uses map data from the OpenStreetMap project. It can provide directions for walking, bicycling, 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 6b66658215..100018a2dc 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -1090,7 +1090,7 @@ dark, switch backgrounds and run custom commands at sunset and sunrise.") (search-patches "gpaste-fix-paths.patch")))) (build-system meson-build-system) (native-inputs - (list gcr + (list gcr-3 gettext-minimal gobject-introspection (list glib "bin") ; for glib-compile-resources diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ac3035e07d..a86ddc34b3 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)) (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 @@ -1666,7 +1665,7 @@ sharing to the masses.") libmusicbrainz libxml2 neon - webkitgtk)) + webkitgtk-for-gtk3)) (synopsis "File previewer for the GNOME desktop") (description "Sushi is a DBus-activated service that allows applications to preview files on the GNOME desktop.") @@ -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") @@ -3395,7 +3369,7 @@ compiles to GTKBuilder XML.") python-pygobject python-lxml webkitgtk - webkitgtk-next)) + webkitgtk)) (native-inputs (list `(,glib "bin") gobject-introspection @@ -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 @@ -5746,7 +5727,7 @@ faster results and to avoid unnecessary server load.") (define-public upower (package (name "upower") - (version "1.90.0") + (version "1.90.2") (source (origin (method git-fetch) @@ -5755,7 +5736,7 @@ faster results and to avoid unnecessary server load.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1g17rm91p8vfpjyb0k2shylrs55nccn3fa890vlk4n9s71sghbzq")) + (base32 "13xp423ycv8imf2cmgf6lii9f01p7x2v19cny7acrmczkc0cqv7d")) (modules '((guix build utils))) (snippet ;; Upstream commit <https://cgit.freedesktop.org/upower/commit/ @@ -5778,19 +5759,25 @@ faster results and to avoid unnecessary server load.") ;; If not specified, udev will try putting history information ;; in /gnu/store. "-Dhistorydir=/var/lib/upower" - (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d")) - #:phases (if (target-x86-32?) - #~(modify-phases %standard-phases - (add-after 'unpack 'adjust-test-for-excess-precision - (lambda _ - ;; Address test failure caused by excess precision - ;; on i686: - ;; <https://gitlab.freedesktop.org/upower/upower/-/issues/214>. - (substitute* "src/linux/integration-test.py" - (("assertEqual(.*)40\\.0" _ middle) - (string-append - "assertAlmostEqual" middle "40.0")))))) - #~%standard-phases))) + (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d") + (string-append "-Dudevhwdbdir=" #$output "/lib/udev/hwdb.d")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'adjust-test-suite + (lambda _ + ;; This test calls an unimplemented bluez dbus method. + (substitute* "src/linux/integration-test.py" + (("test_bluetooth_hidpp_mouse") + "disabled_test_bluetooth_hidpp_mouse")) + #$@(if (target-x86-32?) + ;; Address test failure caused by excess precision + ;; on i686: + ;; <https://gitlab.freedesktop.org/upower/upower/-/issues/214>. + '((substitute* "src/linux/integration-test.py" + (("assertEqual(.*)40\\.0" _ middle) + (string-append + "assertAlmostEqual" middle "40.0")))) + '())))))) (native-inputs (list `(,glib "bin") ; for gdbus-codegen gobject-introspection @@ -5804,12 +5791,13 @@ faster results and to avoid unnecessary server load.") python-packaging python-pygobject umockdev + dbus ;; For man pages. docbook-xsl libxslt ; for 'xsltproc' libxml2)) ; for 'XML_CATALOG_FILES' (inputs - (list dbus-glib libgudev libusb)) + (list libgudev libusb)) (propagated-inputs ;; In Requires of upower-glib.pc. (list glib)) @@ -5934,22 +5922,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 +5934,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 +5979,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 @@ -6154,7 +6130,7 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") pkg-config)) (inputs (list amtk - webkitgtk)) + webkitgtk-for-gtk3)) (home-page "https://wiki.gnome.org/Apps/Devhelp") (synopsis "API documentation browser for GNOME") (description @@ -6167,7 +6143,7 @@ throughout GNOME for API documentation).") (hidden-package (package/inherit devhelp (inputs (modify-inputs (package-inputs devhelp) - (replace "webkitgtk" webkitgtk-with-libsoup2)))))) + (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2)))))) (define-public cogl (package @@ -6180,7 +6156,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 +6243,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 +6615,7 @@ discovery protocols.") (define-public totem (package (name "totem") - (version "42.0") + (version "43.0") (source (origin (method url-fetch) @@ -6647,7 +6623,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 +6677,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" "/"))) @@ -6929,14 +6906,14 @@ side panel; (define-public libgudev (package (name "libgudev") - (version "236") + (version "238") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "094mgjmwgsgqrr1i0vd20ynvlkihvs3vgbmpbrhswjsrdp86j0z5")))) + "1laxgdkgmr30aw44sm4rgpsdybwxx5rszcm8c2y3vmy9myqnl9k1")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. @@ -6988,7 +6965,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 @@ -7117,7 +7094,7 @@ almost all of them.") (define-public epiphany (package (name "epiphany") - (version "42.4") + (version "42.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/epiphany/" @@ -7125,7 +7102,7 @@ almost all of them.") "epiphany-" version ".tar.xz")) (sha256 (base32 - "0q08ixzgp341g5pq6rfy5q75m9bvddvl8na3qa5v5vi056nkh29p")))) + "0mln4iym0fqkri959650cccdhq3r4d4kfn8yld0vvdmzskmak4a6")))) (build-system meson-build-system) (arguments (list @@ -7166,7 +7143,7 @@ almost all of them.") xorg-server-for-tests)) (inputs (list avahi - gcr + gcr-3 glib-networking gnome-desktop gsettings-desktop-schemas @@ -7183,7 +7160,7 @@ almost all of them.") libxslt nettle ; for hogweed sqlite - webkitgtk)) + webkitgtk-for-gtk3)) (home-page "https://wiki.gnome.org/Apps/Web") (synopsis "GNOME web browser") (description @@ -7475,7 +7452,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 +7504,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 +7573,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 +7582,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 +7633,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 +7641,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 +7788,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 +7796,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")))) @@ -7840,7 +7816,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. @@ -7963,7 +7939,7 @@ to display dialog boxes from the commandline and shell scripts.") python-dbus python-dbusmock)) (propagated-inputs - (list gsettings-desktop-schemas-next ;required by libmutter.pc + (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 @@ -7986,7 +7962,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 @@ -8018,7 +7995,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 "/" @@ -8026,16 +8003,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. @@ -8048,12 +8027,12 @@ window manager.") gtk+)) ; required by goa-backend-1.0.pc (inputs (list docbook-xsl - gcr + gcr-3 json-glib libsecret mit-krb5 rest-next - webkitgtk)) + webkitgtk-for-gtk3)) (synopsis "Single sign-on framework for GNOME") (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts") (description @@ -8086,12 +8065,12 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (delete 'disable-gtk-update-icon-cache))))) (inputs (modify-inputs (package-inputs gnome-online-accounts) (replace "rest" rest) - (replace "webkitgtk" webkitgtk-with-libsoup2))))) + (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2))))) (define-public evolution-data-server (package (name "evolution-data-server") - (version "3.46.4") + (version "3.48.4") (source (origin (method url-fetch) @@ -8099,7 +8078,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 @@ -8164,7 +8143,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (inputs (list bdb boost - gcr + gcr-3 gnome-online-accounts json-glib libcanberra @@ -8172,7 +8151,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") libphonenumber mit-krb5 openldap - webkitgtk)) + webkitgtk-for-gtk3)) (synopsis "Store address books and calendars") (home-page "https://wiki.gnome.org/Apps/Evolution") (description @@ -8199,7 +8178,7 @@ Evolution (hence the name), but is now used by other packages as well.") (modify-inputs (package-inputs evolution-data-server) (replace "gnome-online-accounts" gnome-online-accounts-3.44) (replace "libgweather4" libgweather) - (replace "webkitgtk" webkitgtk-with-libsoup2))) + (replace "webkitgtk-for-gtk3" webkitgtk-with-libsoup2))) (propagated-inputs (modify-inputs (package-propagated-inputs evolution-data-server) (delete "gtk") @@ -8564,7 +8543,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") libnma pkg-config)) (inputs - (list gcr + (list gcr-3 gtk gtk+ kmod @@ -8695,7 +8674,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 @@ -8766,7 +8745,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 "/" @@ -8774,7 +8753,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0m9qmm3vm81jmqlc30a1fb79hsr4l4lpiw0zjxww3gipd6bsqa53")) + "03avvkrm2jd0731ggh9cjnkhrfysqp4slrq0km3gqa3xpqx6n9k8")) (patches (search-patches "gdm-default-session.patch" @@ -8967,6 +8946,7 @@ logo='~a'~%" icon)))))) (list accountsservice check ;for testing dbus + egl-wayland elogind eudev gnome-session @@ -9010,7 +8990,7 @@ usage and information about running processes.") (define-public gnome-bluetooth (package (name "gnome-bluetooth") - (version "42.4") + (version "42.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-bluetooth/" @@ -9018,7 +8998,7 @@ usage and information about running processes.") "gnome-bluetooth-" version ".tar.xz")) (sha256 (base32 - "1p5wq3rh9p7fhka57qcds6lvphd26yyc18ilncx95jbcvcfcyvqx")))) + "1l2rp8nwsn9mbdj3gv3z4ks0q0jrbavh28mn4vdib1vi3rpzwr2q")))) (build-system meson-build-system) (native-inputs (list gettext-minimal @@ -9049,7 +9029,7 @@ devices using the GNOME desktop.") (define-public gnome-control-center (package (name "gnome-control-center") - (version "42.4") + (version "44.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9057,7 +9037,10 @@ devices using the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs")))) + "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6")) + (patches + (search-patches + "gnome-control-center-firmware-security.patch")))) (build-system meson-build-system) (arguments (list @@ -9081,19 +9064,32 @@ devices using the GNOME desktop.") "panels/network/connection-editor/net-connection-editor.c") (("\"nm-connection-editor") (string-append "\"" (search-input-file - inputs "bin/nm-connection-editor")))) - (substitute* "panels/user-accounts/run-passwd.c" - (("/usr/bin/passwd") - "/run/setuid-programs/passwd")) - (substitute* "panels/info-overview/cc-info-overview-panel.c" - (("DATADIR \"/gnome/gnome-version.xml\"") - (format #f "~s" (search-input-file - inputs "share/gnome/gnome-version.xml")))))) + inputs "bin/nm-connection-editor")))))) (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "build-aux/meson/meson_post_install.py" - (("gtk-update-icon-cache") (which "true")))))))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) + (replace 'check + (lambda* (#:key parallel-tests? tests? #:allow-other-keys) + (when tests? + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + ;; For the missing /var/lib/dbus/machine-id + (setenv "DBUS_FATAL_WARNINGS" "0") + (setenv "NO_AT_BRIDGE" "1") + (setenv "HOME" "/tmp") + (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir")) + (mkdir (getenv "XDG_RUNTIME_DIR")) + (chmod (getenv "XDG_RUNTIME_DIR") #o700) + (setenv "MESON_TESTTHREADS" + (if parallel-tests? + (number->string (parallel-job-count)) + "1")) + (invoke "dbus-run-session" "--" + "meson" "test" "-t" "0"))))))) (native-inputs (list docbook-xsl gettext-minimal @@ -9102,13 +9098,14 @@ devices using the GNOME desktop.") pkg-config python python-dbusmock - xorg-server-for-tests)) + xorg-server-for-tests + setxkbmap)) (inputs (list accountsservice colord-gtk cups dconf - gcr + gcr-3 gnome-bluetooth gnome-desktop gnome-online-accounts @@ -9150,7 +9147,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 "/" @@ -9158,7 +9155,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 @@ -9196,6 +9193,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")) @@ -9212,7 +9215,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")) @@ -9278,13 +9287,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 @@ -9381,7 +9391,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 "/" @@ -9389,7 +9399,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)) @@ -9407,7 +9417,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/" @@ -9415,7 +9425,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "0c8ppm03b9r6lyxalama8sjmw3km4jibbswqra7qf17pli1g2vaf")))) + "1whdqidxmagsc35pmz9kcc5vs3bmvbkmnis7prnx3zxs37z2qnaj")))) (build-system meson-build-system) (arguments (list @@ -9437,6 +9447,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")))) @@ -9525,7 +9551,7 @@ endpoint and it understands SPARQL.") (define-public tracker-miners (package (name "tracker-miners") - (version "3.3.2") + (version "3.6.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -9533,7 +9559,7 @@ endpoint and it understands SPARQL.") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "1izg2xhlr64gd9pw7apa9nkf0ffyz74f22ml1ng7q60bxf0dl0yl")))) + "13ljx0birrav728ik3bnlwzgas8q6rbhjbvxp7zzwy6ambafiw7f")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -9567,12 +9593,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? @@ -9604,6 +9625,7 @@ endpoint and it understands SPARQL.") giflib glib gstreamer + gst-plugins-base icu4c json-glib libcue @@ -9647,7 +9669,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "42.2") + (version "44.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9655,7 +9677,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) + "0k0yyh7sqan68c8n0ahwlw0xyiq25f57inm5qrpsgxr78w12zinr")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9664,6 +9686,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). @@ -9674,8 +9703,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)) @@ -9702,18 +9732,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 @@ -9731,7 +9761,7 @@ files.") (define-public baobab (package (name "baobab") - (version "42.0") + (version "44.0") (source (origin (method url-fetch) (uri (string-append @@ -9740,24 +9770,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 @@ -9999,7 +10033,7 @@ associations for GNOME.") bash-minimal geoclue gjs - gsettings-desktop-schemas-next + gsettings-desktop-schemas gtk libadwaita libgweather4)) @@ -10285,7 +10319,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 "/" @@ -10293,7 +10327,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 @@ -10314,13 +10348,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 @@ -10331,7 +10365,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 "/" @@ -10339,7 +10373,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 @@ -10356,16 +10390,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 @@ -10434,9 +10466,6 @@ desktop. It supports multiple calendars, month, week and year view.") to perfectly fit the GNOME desktop.") (license license:gpl3+))) -(define-public gnome-todo - (deprecated-package "gnome-todo" endeavour)) - (define-public dialect (package (name "dialect") @@ -10803,7 +10832,7 @@ handling the startup notification side.") python vala)) (inputs - (list gsettings-desktop-schemas-next + (list gsettings-desktop-schemas gtksourceview libadwaita libgee @@ -10953,14 +10982,14 @@ supports both X and Wayland display servers.") (define-public bluefish (package (name "bluefish") - (version "2.2.12") + (version "2.2.14") (source (origin (method url-fetch) (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/" "bluefish-" version ".tar.gz")) (sha256 - (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl")))) + (base32 "0427xihrr7l1475qr3n40hz2xz6bqmfdbdg9pn8q7rvhvajyvjx7")))) (build-system gnu-build-system) (native-inputs (list desktop-file-utils intltool pkg-config)) @@ -11118,7 +11147,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") (define-public gspell (package (name "gspell") - (version "1.11.1") + (version "1.12.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -11126,7 +11155,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") name "-" version ".tar.xz")) (sha256 (base32 - "14h2w0yzqwaw5dykmhh21sy2c96g17waahg2lxc52xqiyzis8spg")))) + "0f91vl42i6fz5yrbw31biffbxqzwa24mw6qbfxmfnk3yhayr7sdl")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags (list "--enable-vala") @@ -11276,7 +11305,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") python-pygobject python-pylast totem-pl-parser - webkitgtk)) + webkitgtk-for-gtk3)) (propagated-inputs (list gst-plugins-good ;required to start lollypop gst-plugins-ugly)) ;required for streaming @@ -11558,7 +11587,7 @@ configurable file renaming.") (define-public workrave (package (name "workrave") - (version "1.10.50") + (version "1.10.52") (source (origin (method git-fetch) @@ -11569,7 +11598,7 @@ configurable file renaming.") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "0fj3fqmdn4nsjgvbbvzpxw2mgiihcr1zpb08amg2p6hg9n11y9bx")))) + (base32 "1rp6v9a8xmhjy75wmh7pnd092dn9nrb6wd4gcgr3c866qnpp6zsk")))) (build-system glib-or-gtk-build-system) (arguments ;; The only tests are maintainer tests (in po/), which fail. @@ -11585,17 +11614,17 @@ configurable file renaming.") libice libsm libxscrnsaver)) - (native-inputs `(("boost" ,boost) - ("pkg-config" ,pkg-config) - ("gettext" ,gettext-minimal) - ("autoconf" ,autoconf) - ("autoconf-archive" , autoconf-archive) - ("automake" ,automake) - ("libtool" ,libtool) - ("intltool" ,intltool) - ("gobject-introspection" ,gobject-introspection) - ("python3" ,python-3) - ("python-jinja2" ,python-jinja2))) + (native-inputs (list boost + pkg-config + gettext-minimal + autoconf + autoconf-archive + automake + libtool + intltool + gobject-introspection + python-3 + python-jinja2)) (synopsis "Tool to help prevent repetitive strain injury (RSI)") (description "Workrave is a program that assists in the recovery and prevention of @@ -11686,7 +11715,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/" @@ -11694,7 +11723,7 @@ generic enough to work for everyone.") "evolution-" version ".tar.xz")) (sha256 (base32 - "0gbvd460hsha0gss9rjjpyisq336fwxd8y1xf55s6ifjrqql423s")))) + "1dwbwy67xg1fypxj0qyhhvy608hbw19gqhvxqkr739shl3mrjbx0")))) (build-system cmake-build-system) (arguments (list @@ -11733,7 +11762,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 @@ -11745,7 +11774,7 @@ generic enough to work for everyone.") libsoup nss openldap - webkitgtk + webkitgtk-for-gtk3 ytnef)) (home-page "https://gitlab.gnome.org/GNOME/evolution") (synopsis "Manage your email, contacts and schedule") @@ -11760,7 +11789,7 @@ functionality.") (define-public gthumb (package (name "gthumb") - (version "3.12.2") + (version "3.12.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gthumb/" @@ -11768,7 +11797,7 @@ functionality.") "gthumb-" version ".tar.xz")) (sha256 (base32 - "09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p")))) + "1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -11781,28 +11810,28 @@ functionality.") (assoc-ref %outputs "out") "/lib/gthumb/extensions")))) (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database - ("glib:bin" ,glib "bin") ; for glib-compile-resources - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache - ("intltool" ,intltool) - ("itstool" ,itstool) - ("pkg-config" ,pkg-config) - ("python" ,python))) + (list desktop-file-utils ; for update-desktop-database + `(,glib "bin") ; for glib-compile-resources + `(,gtk+ "bin") ; for gtk-update-icon-cache + intltool + itstool + pkg-config + python)) (inputs - `(("clutter" ,clutter) - ("clutter-gst" ,clutter-gst) - ("clutter-gtk" ,clutter-gtk) - ("colord" ,colord) - ("exiv2" ,exiv2) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gstreamer" ,gstreamer) - ("gtk" ,gtk+) - ("libheif" ,libheif) - ("libjpeg" ,libjpeg-turbo) - ("libraw" ,libraw) - ("librsvg" ,(librsvg-for-system)) - ("libtiff" ,libtiff) - ("libwebp" ,libwebp))) + (list clutter + clutter-gst + clutter-gtk + colord + exiv2 + gsettings-desktop-schemas + gstreamer + gtk+ + libheif + libjpeg-turbo + libraw + (librsvg-for-system) + libtiff + libwebp)) (home-page "https://wiki.gnome.org/Apps/Gthumb") (synopsis "GNOME image viewer and browser") (description "GThumb is an image viewer, browser, organizer, editor and @@ -11885,7 +11914,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (define-public libhandy (package (name "libhandy") - (version "1.7.90") + (version "1.8.2") (source (origin (method git-fetch) @@ -11894,7 +11923,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1z8sbx7g19c1p8dy0sn0l25qfvrd2j28h269lsqm1y98r818h2k1")))) + (base32 "031bmrxc62p86fpk1x8kg4zljxf5bd2cgq8bsm7nrk5yipha2xvy")))) (build-system meson-build-system) (arguments (list #:configure-flags @@ -11954,7 +11983,7 @@ for usage on small and big screens.") (define-public libgit2-glib (package (name "libgit2-glib") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -11962,7 +11991,7 @@ for usage on small and big screens.") name "-" version ".tar.xz")) (sha256 (base32 - "1wqypx0xv20vk0zfh20c474z6rdgbxbklcr2wkhl30dgbmbxg3f3")))) + "1441w7gzn6m3adhx4g6wcbkmscka2929si963dciyklghgddlc8k")))) (build-system meson-build-system) (native-inputs (list `(,glib "bin") ;; For glib-mkenums @@ -11985,7 +12014,7 @@ higher level porcelain stuff.") (define-public gitg (package (name "gitg") - (version "41") + (version "44") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -11993,8 +12022,7 @@ higher level porcelain stuff.") name "-" version ".tar.xz")) (sha256 (base32 - "0aa6djcf7rjw0q688mfy47k67bbjpnx6aw1xs94abfhgn6gipdkz")) - (patches (search-patches "gitg-fix-positional-argument.patch")))) + "0m135v2qm5kaa2jki0y2lbh0wa69bqfh9a4cm7db153v7smrj3jv")))) (build-system meson-build-system) (arguments (list @@ -12018,6 +12046,7 @@ higher level porcelain stuff.") `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (inputs (list glib + gpgme gsettings-desktop-schemas gspell gtk+ @@ -12026,6 +12055,7 @@ higher level porcelain stuff.") libdazzle libgee libgit2-glib + libhandy libpeas libsecret libsoup-minimal-2 @@ -12118,44 +12148,40 @@ library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg - ;; There hasn't been a GNOME Mahjongg release in a long time, and the last - ;; release doesn't build with a recent Meson, so use the latest commit. - (let ((commit "e9e73e5165e5968ff897e568f8eba10fc1eb207b") - (revision "0")) - (package - (name "gnome-mahjongg") - (version (git-version "3.38.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cj0c076h7qfz77wpz8ypli60inj37fgw0cl9cc39b1kjfqcy3mb")))) - (build-system meson-build-system) - (arguments (list #:glib-or-gtk? #t)) - (native-inputs - (list appstream-glib - gettext-minimal - `(,glib "bin") ;for glib-compile-resources - `(,gtk "bin") ;for gtk-update-icon-cache - itstool - pkg-config - vala)) - (propagated-inputs - (list dconf)) - (inputs - (list glib - gtk - libadwaita)) - (synopsis "Mahjongg tile-matching game") - (description "GNOME Mahjongg is a game based on the classic Chinese + (package + (name "gnome-mahjongg") + (version "3.40.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yj41lj2vancjzwjcm5cdv48983jq05i6sw8p4nggyqwij3xpllj")))) + (build-system meson-build-system) + (arguments (list #:glib-or-gtk? #t)) + (native-inputs + (list appstream-glib + gettext-minimal + `(,glib "bin") ;for glib-compile-resources + `(,gtk "bin") ;for gtk-update-icon-cache + itstool + pkg-config + vala)) + (propagated-inputs + (list dconf)) + (inputs + (list glib + gtk + libadwaita)) + (synopsis "Mahjongg tile-matching game") + (description "GNOME Mahjongg is a game based on the classic Chinese tile-matching game Mahjongg. It features multiple board layouts, tile themes, and a high score table.") - (home-page "https://wiki.gnome.org/Apps/Mahjongg") - (license license:gpl2+)))) + (home-page "https://wiki.gnome.org/Apps/Mahjongg") + (license license:gpl2+))) (define-public gnome-themes-extra (package @@ -12364,7 +12390,7 @@ integrate seamlessly with the GNOME desktop.") spice-gtk tracker vte - webkitgtk)) + webkitgtk-for-gtk3)) (home-page "https://wiki.gnome.org/Apps/Boxes") (synopsis "View, access, and manage remote and virtual systems") (description "GNOME Boxes is a simple application to view, access, and @@ -12420,7 +12446,7 @@ non-privileged user.") (inputs (list enchant folks - gcr + gcr-3 glib gmime gnome-online-accounts @@ -12438,7 +12464,7 @@ non-privileged user.") libstemmer libunwind sqlite - webkitgtk + webkitgtk-for-gtk3 ytnef)) (native-inputs (list appstream-glib @@ -12946,7 +12972,7 @@ GObject introspection bindings.") (propagated-inputs (list polkit)) (inputs - (list glib-next + (list glib gtk json-glib libadwaita @@ -12955,7 +12981,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)) @@ -13137,7 +13163,7 @@ profiler via Sysprof, debugging support, and more.") python-rarfile python-requests python-unidecode - webkitgtk-next)) + webkitgtk)) (native-inputs (list desktop-file-utils gettext-minimal @@ -13223,7 +13249,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)) @@ -13231,7 +13257,7 @@ your data.") (list json-glib jsonrpc-glib gettext-minimal - glib-next + glib gsettings-desktop-schemas gspell libgda @@ -13315,7 +13341,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/" @@ -13323,7 +13349,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 1817dd44d1..8e56b0af63 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 00e273b853..e5a26ecc6d 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -885,9 +885,9 @@ exception-handling library.") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/inkscape/lib2geom.git") + (url "https://gitlab.com/inkscape/lib2geom") (commit version))) - (file-name (git-file-name name version)) + (file-name (git-file-name "lib2geom" version)) (sha256 (base32 "0dq981g894hmvhd6rmfl1w32mksg9hpvpjs1qvfxrnz87rhkknj8")))) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 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 47d4c1808f..21a12689b7 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 @@ -904,6 +909,7 @@ is part of the GNOME accessibility project.") "1nn6kks1zyvb5xikr9y2k7r9bwjy1g4b0m0s66532bclymbwfamc")) (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch" "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch" + "gtk2-harden-list-store.patch" "gtk2-theme-paths.patch" "gtk2-fix-builder-test.patch")))) (build-system gnu-build-system) @@ -1113,7 +1119,7 @@ application suites.") (define-public gtk (package (name "gtk") - (version "4.8.1") + (version "4.10.3") (source (origin (method url-fetch) @@ -1121,9 +1127,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 @@ -1147,6 +1155,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 @@ -1253,6 +1263,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 @@ -2938,11 +2949,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 0dbab6d991..982eebacba 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2345,7 +2345,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 @@ -3376,7 +3376,7 @@ list of components. This module takes care of that for you.") (guix build utils) (ice-9 popen) (ice-9 rdelim)) - #:disallowed-references ,(list gtk+ webkitgtk) + #:disallowed-references ,(list gtk+ webkitgtk-for-gtk3) #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-dotted-circle-from-combining-character @@ -3422,7 +3422,7 @@ list of components. This module takes care of that for you.") (propagated-inputs (list gobject-introspection)) (inputs (list guile-3.0 glib ;; For tests, only relevant when compiling natively - gtk+ webkitgtk)) + gtk+ webkitgtk-for-gtk3)) (home-page "https://github.com/spk121/guile-gi") (synopsis "GObject bindings for Guile") (description @@ -3961,7 +3961,7 @@ processing filters.") ("glib-networking" ,glib-networking) ("gtk+" ,gtk+) ("gtk+:bin" ,gtk+ "bin") - ("webkitgtk" ,webkitgtk) + ("webkitgtk" ,webkitgtk-for-gtk3) ("gtksourceview" ,gtksourceview-4) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("vte" ,vte) diff --git a/gnu/packages/kde-games.scm b/gnu/packages/kde-games.scm index dc3e81170c..e40fb3bef8 100644 --- a/gnu/packages/kde-games.scm +++ b/gnu/packages/kde-games.scm @@ -32,7 +32,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages gl) - #:use-module ((gnu packages gnome) #:select (shared-mime-info)) + #:use-module ((gnu packages freedesktop) #:select (shared-mime-info)) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages perl) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index cc12a72a59..655ae39277 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cdrom) #:use-module (gnu packages docbook) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index e95eac4e2f..09552f33f4 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -36,6 +36,7 @@ #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 4e665da599..6735bf2aea 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) ; dbus for tests #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f02577d2d5..560ba6c637 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4295,10 +4295,9 @@ to the in-kernel OOM killer.") (license license:expat))) (define-public eudev - ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "3.2.11") + (version "3.2.14") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/gentoo/eudev") @@ -4306,8 +4305,9 @@ to the in-kernel OOM killer.") (file-name (git-file-name name version)) (sha256 (base32 - "0dzaqwjnl55f69ird57wb6skahc6l7zs1slsrzqqfhww33icp6av")) - (patches (search-patches "eudev-rules-directory.patch")))) + "1f6lz57igi7iw2ls3fpzgw42bfznam4nf9368h7x8yf1mb737yxz")) + (patches (search-patches "eudev-rules-directory.patch")) + (modules '((guix build utils))))) (build-system gnu-build-system) (arguments (list @@ -4318,6 +4318,31 @@ to the in-kernel OOM killer.") (substitute* "man/make.sh" (("/usr/bin/xsltproc") (search-input-file (or native-inputs inputs) "/bin/xsltproc"))))) + (add-before 'bootstrap 'install-in-lib + (lambda _ + ;; When the udev-service-type instantiates /etc, it collects + ;; hardware files from the <package>/lib/udev/hwdb.d directories + ;; of different packages. Since we set sysconfdir to /etc, the + ;; only package-dependent location we can install hwdb files is + ;; in <package>/lib/udev/hwdb.d. Eudev is configured to install + ;; these files in sysconfdir, but they should be placed into + ;; udevlibexecdir. + (copy-file "hwdb/Makefile.am" "hwdb/files.am") + (call-with-output-file "hwdb/Makefile.am" + (lambda (port) + (format port "hardwarelibdir = $(udevlibexecdir)/hwdb.d\n") + (format port "include ./files.am"))) + (substitute* "hwdb/files.am" + (("dist_udevhwdb_DATA =") + "dist_hardwarelib_DATA =")) + ;; Do not install the empty udev.conf template. + (substitute* "src/udev/Makefile.am" + (("dist_udevconf_DATA =") + "dist_noinst_DATA =")) + ;; Do not ensure that /etc/udev/rules.d exists. + (substitute* "rules/Makefile.am" + (("\\$\\(MKDIR_P\\) \\$\\(DESTDIR\\)\\$\\(udevconfdir\\)/rules\\.d") + "true")))) (add-after 'install 'move-static-library (lambda _ (let ((source (string-append #$output "/lib/libudev.a")) @@ -4329,19 +4354,17 @@ to the in-kernel OOM killer.") ;; such that Libtool looks for it in the usual places. (substitute* (string-append #$output "/lib/libudev.la") (("old_library=.*") - "old_library=''\n"))))) - (add-after 'install 'build-hwdb - (lambda _ - ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and - ;; similar tools to display product names. - ;; - ;; XXX: This can't be done when cross-compiling. Find another way - ;; to generate hwdb.bin for cross-built systems. - #$@(if (%current-target-system) - #~(#t) - #~((invoke (string-append #$output "/bin/udevadm") - "hwdb" "--update")))))) - #:configure-flags #~(list "--enable-manpages"))) + "old_library=''\n")))))) + #:configure-flags + #~(list "--enable-manpages" + ;; By default, autoconf uses $prefix/etc. The udev-service-type + ;; makes sure /etc is set up with rules and hardware file + ;; descriptions. + "--sysconfdir=/etc"))) + (native-search-paths + (list (search-path-specification + (variable "UDEV_HWDB_PATH") + (files '("lib/udev/hwdb.d"))))) (native-inputs (list autoconf automake diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e7b603f59d..3bf9ebcbe2 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5084,7 +5084,7 @@ is a library for creating graphical user interfaces.") (inputs `(("cffi" ,sbcl-cffi) ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) - ("webkitgtk" ,webkitgtk))) + ("webkitgtk" ,webkitgtk-for-gtk3))) (native-inputs `(;; Tests seem to need Xorg. ;; ("xorg-server" ,xorg-server-for-tests) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9f410047e2..ac8cff93d4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3916,7 +3916,7 @@ tools and applications: libsecret openldap sqlite - webkitgtk)) + webkitgtk-for-gtk3)) (native-inputs (list compface `(,glib "bin") intltool pkg-config yelp-tools)) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 5c3b4a265e..5a6c6b5b64 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -775,7 +775,7 @@ infamous 'Wanda the Fish'.") ;; Build libkpathsea as a shared library for DVI support. ;; ("libkpathsea" ,texlive-bin) ("poppler" ,poppler) - ("webkitgtk" ,webkitgtk))) + ("webkitgtk" ,webkitgtk-for-gtk3))) (home-page "https://mate-desktop.org") (synopsis "Document viewer for Mate") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5c904fc094..1c8a7f1865 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -124,6 +124,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/music.scm b/gnu/packages/music.scm index 9b4088f077..fff0cab749 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -538,7 +538,7 @@ list(APPEND ctrlrLibs \"iberty\")"))))) freetype libiberty libx11 - webkitgtk)) + webkitgtk-for-gtk3)) (native-inputs (list pkg-config)) (home-page "https://ctrlr.org/") diff --git a/gnu/packages/patches/cogl-fix-double-free.patch b/gnu/packages/patches/cogl-fix-double-free.patch new file mode 100644 index 0000000000..e7a994b33a --- /dev/null +++ b/gnu/packages/patches/cogl-fix-double-free.patch @@ -0,0 +1,32 @@ +From 15d0f7d96cf53263196e26f2eb48ededdff0efeb Mon Sep 17 00:00:00 2001 +Message-ID: <15d0f7d96cf53263196e26f2eb48ededdff0efeb.1694148833.git.vivien@planete-kraus.eu> +From: Vivien Kraus <vivien@planete-kraus.eu> +Date: Thu, 7 Sep 2023 22:16:48 +0200 +Subject: [PATCH] Prevent double free on context objects + +The display is unrefed in the context destructor, but not refed in the +constructor. + +This targets an archived (read-only) repository. +--- + cogl/cogl-context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c +index a7eed29a..7cdc9fe7 100644 +--- a/cogl/cogl-context.c ++++ b/cogl/cogl-context.c +@@ -218,7 +218,7 @@ cogl_context_new (CoglDisplay *display, + return NULL; + } + +- context->display = display; ++ context->display = cogl_object_ref (display); + + /* This is duplicated data, but it's much more convenient to have + the driver attached to the context and the value is accessed a + +base-commit: 61d966c7442d521e38572b7f93ac7b8973a9c65e +-- +2.41.0 + diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch index 54fc01c6d5..c4b1cfae39 100644 --- a/gnu/packages/patches/eudev-rules-directory.patch +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed the search path to be customized, but eudev no longer has this, hence this hack. ---- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800 -+++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800 -@@ -47,15 +47,11 @@ +--- a/src/udev/udev-rules.c ++++ b/src/udev/udev-rules.c +@@ -48,16 +48,11 @@ struct uid_gid { }; }; @@ -20,11 +20,12 @@ this hack. - "/lib/udev/rules.d", - "/usr/lib/udev/rules.d", -#endif +- "/usr/local/lib/udev/rules.d", + NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ NULL}; struct udev_rules { -@@ -1704,6 +1700,9 @@ +@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) { udev_rules_check_timestamp(rules); diff --git a/gnu/packages/patches/gdm-elogind-support.patch b/gnu/packages/patches/gdm-elogind-support.patch index 5c8e3bd610..b27e000585 100644 --- a/gnu/packages/patches/gdm-elogind-support.patch +++ b/gnu/packages/patches/gdm-elogind-support.patch @@ -18,10 +18,10 @@ system and user units. meson_options.txt | 5 +- 6 files changed, 66 insertions(+), 42 deletions(-) -diff --git a/common/meson.build b/common/meson.build -index 074dd92e..bca58f7c 100644 ---- a/common/meson.build -+++ b/common/meson.build +Index: gdm-44.1/common/meson.build +=================================================================== +--- gdm-44.1.orig/common/meson.build ++++ gdm-44.1/common/meson.build @@ -11,7 +11,7 @@ libgdmcommon_src = files( ) @@ -31,10 +31,10 @@ index 074dd92e..bca58f7c 100644 gobject_dep, gio_dep, gio_unix_dep, -diff --git a/data/meson.build b/data/meson.build -index 2dec4c23..c3452e1c 100644 ---- a/data/meson.build -+++ b/data/meson.build +Index: gdm-44.1/data/meson.build +=================================================================== +--- gdm-44.1.orig/data/meson.build ++++ gdm-44.1/data/meson.build @@ -164,41 +164,53 @@ else service_config.set('PLYMOUTH_QUIT_SERVICE', '') endif @@ -114,10 +114,10 @@ index 2dec4c23..c3452e1c 100644 # XSession if get_option('gdm-xsession') -diff --git a/libgdm/meson.build b/libgdm/meson.build -index 3f8cafbb..83e95151 100644 ---- a/libgdm/meson.build -+++ b/libgdm/meson.build +Index: gdm-44.1/libgdm/meson.build +=================================================================== +--- gdm-44.1.orig/libgdm/meson.build ++++ gdm-44.1/libgdm/meson.build @@ -56,7 +56,7 @@ libgdm_deps = [ glib_dep, gio_dep, @@ -127,55 +127,46 @@ index 3f8cafbb..83e95151 100644 libgdmcommon_dep, ] -diff --git a/meson.build b/meson.build -index 845f673e..d0ca41ef 100644 ---- a/meson.build -+++ b/meson.build -@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp')) - if xdmcp_dep.found() and get_option('tcp-wrappers') +Index: gdm-44.1/meson.build +=================================================================== +--- gdm-44.1.orig/meson.build ++++ gdm-44.1/meson.build +@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp libwrap_dep = cc.find_library('wrap') endif --# systemd + # systemd -systemd_dep = dependency('systemd') -libsystemd_dep = dependency('libsystemd') --if meson.version().version_compare('>= 0.53') -- systemd_multiseat_x = find_program('systemd-multi-seat-x', -- required: false, -- dirs: [ -- systemd_dep.get_pkgconfig_variable('systemdutildir'), -- '/lib/systemd', -- '/usr/lib/systemd', -- ]) -+ +-systemd_multiseat_x = find_program('systemd-multi-seat-x', +- required: false, +- dirs: [ +- systemd_dep.get_pkgconfig_variable('systemdutildir'), +- '/lib/systemd', +- '/usr/lib/systemd', +- ]) +-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' +logind_provider = get_option('logind-provider') +systemd_dep = dependency('systemd', required: false) +if logind_provider == 'systemd' + libsystemd_dep = dependency('libsystemd') + logind_dep = libsystemd_dep -+ if meson.version().version_compare('>= 0.53') -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', -+ required: false, -+ dirs: [ -+ systemd_dep.get_pkgconfig_variable('systemdutildir'), -+ '/lib/systemd', -+ '/usr/lib/systemd', -+ ]) -+ else -+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) -+ endif ++ systemd_multiseat_x = find_program('systemd-multi-seat-x', ++ required: false, ++ dirs: [ ++ systemd_dep.get_pkgconfig_variable('systemdutildir'), ++ '/lib/systemd', ++ '/usr/lib/systemd', ++ ]) + systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' - else -- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false) ++else + elogind_dep = dependency('libelogind') + logind_dep = elogind_dep + systemd_x_server = 'disabled' - endif --systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x' -+ ++endif # Plymouth plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth')) # Check for Solaris auditing API (ADT) -@@ -319,6 +328,7 @@ summary({ +@@ -319,6 +327,7 @@ summary({ 'PAM Syslog': have_pam_syslog, 'Supports PAM Extensions': pam_extensions_supported, 'SeLinux': libselinux_dep.found(), @@ -183,11 +174,11 @@ index 845f673e..d0ca41ef 100644 'Use GDM Xsession': get_option('gdm-xsession'), 'Use UserDisplayServer': get_option('user-display-server'), 'Use SystemdJournal': get_option('systemd-journal'), -diff --git a/meson_options.txt b/meson_options.txt -index 14e0b908..5135d7d6 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te +Index: gdm-44.1/meson_options.txt +=================================================================== +--- gdm-44.1.orig/meson_options.txt ++++ gdm-44.1/meson_options.txt +@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.') option('lang-file', type: 'string', value: '', description: 'File containing default language settings.') option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.') @@ -195,7 +186,7 @@ index 14e0b908..5135d7d6 100644 option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.') option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.') option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.') -@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris +@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.') option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.') option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.') diff --git a/gnu/packages/patches/gegl-compatibility-old-librsvg.patch b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch new file mode 100644 index 0000000000..3e5733f9fd --- /dev/null +++ b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch @@ -0,0 +1,80 @@ +From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001 +Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu> +From: Jehan <jehan@girinstud.io> +Date: Wed, 5 Jul 2023 21:18:19 +0200 +Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C + versions). + +Commit 9beeefcbe uses too new functions of librsvg. We could just bump +the minimum required version but there are issues with Rust not being +available on every platform yet. So instead, let's add some conditional +code paths, so that it still builds with librsvg 2.40.x (which was the +last versions fully in C) while we use newer code and no warnings when +using newer versions. +--- + operations/external/svg-load.c | 25 ++++++++++++++++++++----- + 1 file changed, 20 insertions(+), 5 deletions(-) + +diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c +index 3312a0c0a..15c0b30b7 100644 +--- a/operations/external/svg-load.c ++++ b/operations/external/svg-load.c +@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation) + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + gdouble out_width, out_height; ++#else ++ RsvgDimensionData dimensions; ++#endif + + g_return_val_if_fail (p->handle != NULL, FALSE); + +- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); +- + p->format = babl_format ("R'G'B'A u8"); + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height); + p->height = out_height; +- p->width = out_width; ++ p->width = out_width; ++#else ++ rsvg_handle_get_dimensions (p->handle, &dimensions); ++ p->height = dimensions.height; ++ p->width = dimensions.width; ++#endif + + return TRUE; + } +@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation, + { + GeglProperties *o = GEGL_PROPERTIES (operation); + Priv *p = (Priv*) o->user_data; +- RsvgRectangle svg_rect = {0.0, 0.0, width, height}; + cairo_surface_t *surface; + cairo_t *cr; +- GError *error = NULL; ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) ++ GError *error = NULL; ++ RsvgRectangle svg_rect = {0.0, 0.0, width, height}; ++#endif + + g_return_val_if_fail (p->handle != NULL, -1); + +@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation, + (double)height / (double)p->height); + } + ++#if LIBRSVG_CHECK_VERSION(2, 52, 0) + rsvg_handle_render_document (p->handle, cr, &svg_rect, &error); ++#else ++ rsvg_handle_render_cairo (p->handle, cr); ++#endif + + cairo_surface_flush (surface); + +-- +2.41.0 + diff --git a/gnu/packages/patches/gitg-fix-positional-argument.patch b/gnu/packages/patches/gitg-fix-positional-argument.patch deleted file mode 100644 index 1d3513921c..0000000000 --- a/gnu/packages/patches/gitg-fix-positional-argument.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1978973b12848741b08695ec2020bac98584d636 Mon Sep 17 00:00:00 2001 -From: Jan Beich <jbeich@FreeBSD.org> -Date: Mon, 24 Jan 2022 12:17:52 +0000 -Subject: [PATCH] meson: drop unused argument for i18n.merge_file() - -Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0. - -data/meson.build:8:0: ERROR: Function does not take positional arguments. -data/meson.build:44:0: ERROR: Function does not take positional arguments. ---- - data/meson.build | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/data/meson.build b/data/meson.build -index a8b90fd1..2413531d 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -6,7 +6,6 @@ desktop_config = configuration_data() - desktop_config.set('icon', application_id) - desktop_config.set('binary', gitg_name) - i18n.merge_file( -- desktop, - type: 'desktop', - input: configure_file( - input: desktop + '.in.in', -@@ -42,7 +41,6 @@ appdata_config = configuration_data() - appdata_config.set('app-id', application_id) - appdata_config.set('gettext', gitg_name) - i18n.merge_file( -- appdata, - type: 'xml', - input: configure_file( - input: appdata + '.in.in', --- -GitLab - diff --git a/gnu/packages/patches/glib-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/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch new file mode 100644 index 0000000000..fd9d7b8ff4 --- /dev/null +++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch @@ -0,0 +1,33 @@ +From: Jeremy Bicha <jeremy.bicha@canonical.com> +Date: Mon, 22 Aug 2022 08:31:15 -0400 +Subject: firmware-security: Disable + +Not yet useful enough to justify its inclusion by default here + +You can get the same info by running +fwupdmgr security + +If you drop this patch, add a Depends: fwupd [linux-any] + +https://launchpad.net/bugs/1987162 + +https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938 + +[Stolen from the debian package] +--- + shell/cc-panel-loader.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c +index 17f9601..1b819a5 100644 +--- a/shell/cc-panel-loader.c ++++ b/shell/cc-panel-loader.c +@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] = + PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL), + PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL), + PANEL_TYPE("location", cc_location_panel_get_type, NULL), +- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), ++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func), + PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL), + PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL), + PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL), diff --git a/gnu/packages/patches/gtk2-harden-list-store.patch b/gnu/packages/patches/gtk2-harden-list-store.patch new file mode 100644 index 0000000000..f49dc3bc77 --- /dev/null +++ b/gnu/packages/patches/gtk2-harden-list-store.patch @@ -0,0 +1,42 @@ +Backport the implementation of gtk_list_store_iter_is_valid from gtk+-3. + +Index: gtk+-2.24.33/gtk/gtkliststore.c +=================================================================== +--- gtk+-2.24.33.orig/gtk/gtkliststore.c ++++ gtk+-2.24.33/gtk/gtkliststore.c +@@ -1195,16 +1195,31 @@ gboolean + gtk_list_store_iter_is_valid (GtkListStore *list_store, + GtkTreeIter *iter) + { ++ GSequenceIter *seq_iter; ++ + g_return_val_if_fail (GTK_IS_LIST_STORE (list_store), FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + +- if (!VALID_ITER (iter, list_store)) +- return FALSE; ++ /* can't use VALID_ITER() here, because iter might point ++ * to random memory. ++ * ++ * We MUST NOT dereference it. ++ */ + +- if (g_sequence_iter_get_sequence (iter->user_data) != list_store->seq) ++ if (iter == NULL || ++ iter->user_data == NULL || ++ list_store->stamp != iter->stamp) + return FALSE; + +- return TRUE; ++ for (seq_iter = g_sequence_get_begin_iter (list_store->seq); ++ !g_sequence_iter_is_end (seq_iter); ++ seq_iter = g_sequence_iter_next (seq_iter)) ++ { ++ if (seq_iter == iter->user_data) ++ return TRUE; ++ } ++ ++ return FALSE; + } + + static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_source, diff --git a/gnu/packages/patches/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/rednotebook.scm b/gnu/packages/rednotebook.scm index f63104ad32..a5dcc26efd 100644 --- a/gnu/packages/rednotebook.scm +++ b/gnu/packages/rednotebook.scm @@ -71,7 +71,8 @@ `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path))) #t)))))) (inputs - (list gtk+ gtksourceview-3 python-pyyaml python-pygobject webkitgtk)) + (list gtk+ gtksourceview-3 python-pyyaml python-pygobject + webkitgtk-for-gtk3)) ;; TODO: package the following for python3 (if possible), add them as ;; dependencies, and remove them from rednotebook source: ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags 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/syndication.scm b/gnu/packages/syndication.scm index 5a9d5ed480..85b75c17d6 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -621,7 +621,7 @@ parser. It is \"not fit for use at this point\", but gfeeds uses it anyway.") python-readability-lxml python-requests syndication-domination - webkitgtk-next)) + webkitgtk)) (home-page "https://gfeeds.gabmus.org/") (synopsis "Easy-to-use GTK+ RSS/Atom feed reader") (description "Feeds is an RSS/Atom feed reader made with GTK+ diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 4814c22b6c..af90fc35eb 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 @@ -531,7 +531,7 @@ Telegram project, for its use in telegram desktop client.") rnnoise wayland wayland-protocols - webkitgtk + webkitgtk-for-gtk3 webrtc-for-telegram-desktop xcb-util-keysyms xxhash diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index f5714e934a..cd580d7343 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 ea4601a5d0..8a2a187dca 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -483,7 +483,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/vnc.scm b/gnu/packages/vnc.scm index 8ba1292e28..7b39aba58d 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -151,7 +151,7 @@ telepathy-glib vte ; for st plugin wayland - webkitgtk ; for www plugin + webkitgtk-for-gtk3 ; for www plugin libx11 libxext ; for xdmcp plugin xdg-utils diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 45b7034824..5ffe54bd78 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) @@ -711,7 +711,7 @@ driven and does not detract you from your daily work.") gsettings-desktop-schemas cl-gobject-introspection gtk+ ; For the main loop - webkitgtk ; Required when we use its typelib + webkitgtk-for-gtk3 ; Required when we use its typelib gobject-introspection pkg-config)) (synopsis "Extensible web-browser in Common Lisp") diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 0c82435cde..6810ba74e7 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -126,14 +126,14 @@ engine that uses Wayland for graphics output.") (define-public webkitgtk (package - (name "webkitgtk") ; webkit2gtk4 - (version "2.40.5") + (name "webkitgtk") + (version "2.42.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "0zq32rn34v7hzr53s100r77aglbi6wffp9b13bcj31k6cfi53q3x")) + (base32 "1694dnqrjzcqh1hlpqspqz5xxvfd77af33f410ffaglxk34zlhbg")) (patches (search-patches "webkitgtk-adjust-bubblewrap-paths.patch")))) (build-system cmake-build-system) @@ -149,10 +149,8 @@ engine that uses Wayland for graphics output.") #:build-type "Release" #:configure-flags #~(list "-DPORT=GTK" - ;; GTKDOC will be removed upstream soon in favor of - ;; gi-docgen; it is normally disabled because the - ;; doc is rather expensive to build. - "-DENABLE_GTKDOC=ON" + "-DENABLE_INTROSPECTION=ON" + "-DUSE_GTK4=ON" ;; The minibrowser, not built by default, is a good ;; tool to validate the good operation of ;; webkitgtk. @@ -232,7 +230,7 @@ engine that uses Wayland for graphics output.") ruby-2.7 unifdef)) (propagated-inputs - (list gtk+ libsoup)) + (list gtk libsoup)) (inputs (list at-spi2-core bubblewrap @@ -249,8 +247,8 @@ engine that uses Wayland for graphics output.") libgcrypt libgudev libjpeg-turbo + libjxl libmanette - libnotify libpng libseccomp libsecret @@ -283,30 +281,30 @@ propagated by default) such as @code{gst-plugins-good} and license:bsd-2 license:bsd-3)))) -(define-public webkitgtk-next +(define-public webkitgtk-for-gtk3 (package (inherit webkitgtk) - (name "webkitgtk-next") ; webkit2gtk5 + (name "webkitgtk-for-gtk3") (arguments (substitute-keyword-arguments (package-arguments webkitgtk) ((#:configure-flags flags) - #~(cons* "-DENABLE_INTROSPECTION=ON" - "-DUSE_GTK4=ON" - (delete "-DENABLE_GTKDOC=ON" #$flags))))) + #~(cons* "-DENABLE_GTKDOC=ON" + (delete "-DENABLE_INTROSPECTION=ON" + (delete "-DUSE_GTK4=ON" #$flags)))))) (propagated-inputs (modify-inputs (package-propagated-inputs webkitgtk) - (replace "gtk+" gtk))) + (replace "gtk" gtk+))) (inputs (modify-inputs (package-inputs webkitgtk) - (delete "libnotify"))))) + (prepend libnotify))))) ;;; Required by e.g. emacs-next-pgtk, emacs-xwidgets, and some other GNOME ;;; packages for webkit2gtk-4.0. See also the upstream tracker for libsoup 3: ;;; https://gitlab.gnome.org/GNOME/libsoup/-/issues/218. (define-public webkitgtk-with-libsoup2 - (package/inherit webkitgtk + (package/inherit webkitgtk-for-gtk3 (name "webkitgtk-with-libsoup2") - (arguments (substitute-keyword-arguments (package-arguments webkitgtk) + (arguments (substitute-keyword-arguments (package-arguments webkitgtk-for-gtk3) ((#:configure-flags flags) #~(cons "-DUSE_SOUP2=ON" #$flags)))) (propagated-inputs |