aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi57
-rw-r--r--gnu/local.mk12
-rw-r--r--gnu/packages/calendar.scm4
-rw-r--r--gnu/packages/freedesktop.scm117
-rw-r--r--gnu/packages/geo.scm2
-rw-r--r--gnu/packages/gimp.scm65
-rw-r--r--gnu/packages/glib.scm445
-rw-r--r--gnu/packages/gnome-xyz.scm2
-rw-r--r--gnu/packages/gnome.scm961
-rw-r--r--gnu/packages/gnupg.scm2
-rw-r--r--gnu/packages/gnuzilla.scm1
-rw-r--r--gnu/packages/graphics.scm4
-rw-r--r--gnu/packages/gstreamer.scm39
-rw-r--r--gnu/packages/gtk.scm73
-rw-r--r--gnu/packages/guile-xyz.scm8
-rw-r--r--gnu/packages/kde-games.scm2
-rw-r--r--gnu/packages/kde-multimedia.scm1
-rw-r--r--gnu/packages/kde-pim.scm1
-rw-r--r--gnu/packages/kde-utils.scm1
-rw-r--r--gnu/packages/linux.scm57
-rw-r--r--gnu/packages/lisp-xyz.scm2
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/mate.scm2
-rw-r--r--gnu/packages/maths.scm1
-rw-r--r--gnu/packages/mp3.scm1
-rw-r--r--gnu/packages/music.scm2
-rw-r--r--gnu/packages/patches/calls-disable-application-test.patch72
-rw-r--r--gnu/packages/patches/calls-disable-sip-test.patch44
-rw-r--r--gnu/packages/patches/cogl-fix-double-free.patch32
-rw-r--r--gnu/packages/patches/eudev-rules-directory.patch9
-rw-r--r--gnu/packages/patches/feedbackd-use-system-gmobile.patch42
-rw-r--r--gnu/packages/patches/gdm-elogind-support.patch93
-rw-r--r--gnu/packages/patches/gegl-compatibility-old-librsvg.patch80
-rw-r--r--gnu/packages/patches/gitg-fix-positional-argument.patch36
-rw-r--r--gnu/packages/patches/glib-skip-failing-test.patch3
-rw-r--r--gnu/packages/patches/gmobile-make-it-installable.patch89
-rw-r--r--gnu/packages/patches/gnome-control-center-firmware-security.patch33
-rw-r--r--gnu/packages/patches/gtk2-harden-list-store.patch42
-rw-r--r--gnu/packages/patches/libcall-ui-make-it-installable.patch81
-rw-r--r--gnu/packages/patches/nautilus-extension-search-path.patch64
-rw-r--r--gnu/packages/patches/shared-mime-info-xdgmime-path.patch22
-rw-r--r--gnu/packages/pcre.scm16
-rw-r--r--gnu/packages/rednotebook.scm3
-rw-r--r--gnu/packages/ruby.scm1
-rw-r--r--gnu/packages/suckless.scm2
-rw-r--r--gnu/packages/syndication.scm2
-rw-r--r--gnu/packages/telegram.scm12
-rw-r--r--gnu/packages/telephony.scm105
-rw-r--r--gnu/packages/text-editors.scm11
-rw-r--r--gnu/packages/virtualization.scm2
-rw-r--r--gnu/packages/vnc.scm2
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/webkit.scm36
-rw-r--r--gnu/packages/xml.scm4
-rw-r--r--gnu/services/base.scm116
-rw-r--r--gnu/services/dbus.scm37
-rw-r--r--guix/profiles.scm2
57 files changed, 1997 insertions, 964 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 94903fb5e2..b0a71584ed 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19404,9 +19404,23 @@ Type of the service that runs udev, a service which populates the
@file{/dev} directory dynamically, whose value is a
@code{<udev-configuration>} object.
-This service type can be @emph{extended} using procedures
-@code{udev-rules-service} along with @code{file->udev-rule} or
-@code{udev-rule} which simplify the process of writing udev rules.
+Since the file names for udev rules and hardware description files
+matter, the configuration items for rules and hardware cannot simply be
+plain file-like objects with the rules content, because the name would
+be ignored. Instead, they are directory file-like objects that contain
+optional rules in @file{lib/udev/rules.d} and optional hardware files in
+@file{lib/udev/hwdb.d}. This way, the service can be configured with
+whole packages from which to take rules and hwdb files.
+
+The @code{udev-service-type} can be @emph{extended} with file-like
+directories that respect this hierarchy. For convenience, the
+@code{udev-rule} and @code{file->udev-rule} can be used to construct
+udev rules, while @code{udev-hardware} and @code{file->udev-hardware}
+can be used to construct hardware description files.
+
+In an @code{operating-system} declaration, this service type can be
+@emph{extended} using procedures @code{udev-rules-service} and
+@code{udev-hardware-service}.
@end defvar
@deftp {Data Type} udev-configuration
@@ -19414,10 +19428,17 @@ Data type representing the configuration of udev.
@table @asis
@item @code{udev} (default: @code{eudev}) (type: file-like)
-Package object of the udev service.
+Package object of the udev service. This package is used at run-time,
+when compiled for the target system. In order to generate the
+@file{hwdb.bin} hardware index, it is also used when generating the
+system definition, compiled for the current system.
@item @code{rules} (default: @var{'()}) (type: list-of-file-like)
-List of file-like objects denoting udev-rule files.
+List of file-like objects denoting udev rule files under a sub-directory.
+
+@item @code{hardware} (default: @var{'()}) (type: list-of-file-like)
+List of file-like objects denoting udev hardware description files under
+a sub-directory.
@end table
@end deftp
@@ -19440,6 +19461,11 @@ upon detecting a USB device with a given product identifier.
@end lisp
@end deffn
+@deffn {Procedure} udev-hardware @var{file-name} @var{contents}
+Return a udev hardware description file named @var{file-name} containing
+the hardware information @var{contents}.
+@end deffn
+
@deffn {Procedure} udev-rules-service @var{name} @var{rules} [#:groups '()]
Return a service that extends @code{udev-service-type} with @var{rules}
and @code{account-service-type} with @var{groups} as system groups.
@@ -19459,6 +19485,11 @@ with the previously defined rule @code{%example-udev-rule}.
@end lisp
@end deffn
+@deffn {Procedure} udev-hardware-service @var{name} @var{hardware}
+Return a service that extends @code{udev-service-type} with
+@var{hardware}. The service name is @code{@var{name}-udev-hardware}.
+@end deffn
+
@deffn {Procedure} file->udev-rule @var{file-name} @var{file}
Return a udev-rule file named @var{file-name} containing the rules
defined within @var{file}, a file-like object.
@@ -19483,12 +19514,16 @@ The following example showcases how we can use an existing rule file.
@end lisp
@end deffn
-Additionally, Guix package definitions can be included in @var{rules} in
-order to extend the udev rules with the definitions found under their
-@file{lib/udev/rules.d} sub-directory. In lieu of the previous
-@var{file->udev-rule} example, we could have used the
-@var{android-udev-rules} package which exists in Guix in the @code{(gnu
-packages android)} module.
+Since guix package definitions can be included in @var{rules} in order
+to use all their rules under the @file{lib/udev/rules.d} sub-directory,
+then in lieu of the previous @var{file->udev-rule} example, we could
+have used the @var{android-udev-rules} package which exists in Guix in
+the @code{(gnu packages android)} module.
+
+@deffn {Procedure} file->udev-hardware @var{file-name} @var{file}
+Return a udev hardware description file named @var{file-name} containing
+the rules defined within @var{file}, a file-like object.
+@end deffn
The following example shows how to use the @var{android-udev-rules}
package so that the Android tool @command{adb} can detect devices
diff --git a/gnu/local.mk b/gnu/local.mk
index fcd9024ce3..a939b9be8d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -60,6 +60,7 @@
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
+# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
#
# This file is part of GNU Guix.
@@ -990,6 +991,8 @@ dist_patch_DATA = \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
%D%/packages/patches/calibre-remove-test-unrar.patch \
+ %D%/packages/patches/calls-disable-application-test.patch \
+ %D%/packages/patches/calls-disable-sip-test.patch \
%D%/packages/patches/camlboot-dynamically-allocate-stack-signal.patch \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/ccextractor-add-missing-header.patch \
@@ -1035,6 +1038,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates-3.24.patch \
%D%/packages/patches/coda-use-system-libs.patch \
+ %D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
@@ -1156,6 +1160,7 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \
+ %D%/packages/patches/feedbackd-use-system-gmobile.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \
%D%/packages/patches/fenics-dolfin-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \
@@ -1259,6 +1264,7 @@ dist_patch_DATA = \
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
%D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \
%D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \
+ %D%/packages/patches/gegl-compatibility-old-librsvg.patch \
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
%D%/packages/patches/gemmi-fix-sajson-types.patch \
%D%/packages/patches/genimage-mke2fs-test.patch \
@@ -1278,7 +1284,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
- %D%/packages/patches/gitg-fix-positional-argument.patch \
%D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-networking-gnutls-binding.patch \
@@ -1319,10 +1324,12 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-2.29-supported-locales.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glslang-install-static-libs.patch \
+ %D%/packages/patches/gmobile-make-it-installable.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
+ %D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-dictionary-meson-i18n.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
@@ -1380,6 +1387,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/gtk2-fix-builder-test.patch \
+ %D%/packages/patches/gtk2-harden-list-store.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@@ -1473,6 +1481,7 @@ dist_patch_DATA = \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
+ %D%/packages/patches/libcall-ui-make-it-installable.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
@@ -1986,6 +1995,7 @@ dist_patch_DATA = \
%D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
+ %D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 991995daf7..9586e463c2 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -123,7 +123,7 @@ the <tz.h> library for handling time zones and leap seconds.")
(define-public libical
(package
(name "libical")
- (version "3.0.16")
+ (version "3.0.17")
(source (origin
(method url-fetch)
(uri (string-append
@@ -131,7 +131,7 @@ the <tz.h> library for handling time zones and leap seconds.")
version "/libical-" version ".tar.gz"))
(sha256
(base32
- "0cqc1wpalxmxjx8dmcaga9w8kd5l7944hqmidz43hifaf7fhaixl"))))
+ "06vqbxg4f3i03087grjncfy9pbvmlhg4v1ajhwr400l7nrnrmnmw"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 648ebad408..0aeeadf5a3 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.
;;;
@@ -138,7 +139,7 @@
(define-public appstream
(package
(name "appstream")
- (version "0.15.6")
+ (version "0.16.4")
(source
(origin
(method url-fetch)
@@ -147,11 +148,12 @@
"appstream/releases/"
"AppStream-" version ".tar.xz"))
(sha256
- (base32 "03pirmc5r4izl6mzff879g7pk1nxq03kgpr2yvnnqnlb6r0ckmi3"))))
+ (base32 "1val1b3dggn9g33q2r9q7wsl75a64x4lcvswvkcjjbvakkbj5xyl"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
+ #:configure-flags #~(list "-Dsystemd=false")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-libstemmer
@@ -164,7 +166,7 @@
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "tests/test-pool.c"
- (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;")
+ (("[ \t]*g_test_add_func \\(\"/AppStream/Stemming.*;")
""))))
(add-before 'check 'check-setup
(lambda _
@@ -481,6 +483,115 @@ method framework.")
display servers. It supports many different languages and emoji.")
(license license:gpl3+)))
+;; Private package used by shared-mime-info.
+(define xdgmime
+ ;; No public release, match commit to the one used in the
+ ;; shared-mime-info release.
+ (let ((commit "179296748e92bd91bf531656632a1056307fb7b7")
+ (revision "2"))
+ (package
+ (name "xdgmime")
+ (version (git-version "0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/xdg/xdgmime.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04bpbqlkmwi2pqx1lj3awa9f9gwp4n91fpnz8hbbd0hl8x41przm"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no tests
+ #:make-flags #~(list (string-append "DESTDIR=" #$output)
+ #$(string-append "CC=" (cc-for-target)))
+ #:imported-modules `((guix build copy-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules `((guix build gnu-build-system)
+ ((guix build copy-build-system) #:prefix copy:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Package uses a hand-crafted Makefile.
+ (delete 'configure)
+ (replace 'install
+ (lambda args
+ (apply (assoc-ref copy:%standard-phases 'install)
+ #:install-plan
+ '(("src" "bin/" #:include ("print-mime-data"
+ "test-mime-data"
+ "test-mime")))
+ args))))))
+ (home-page "https://gitlab.freedesktop.org/xdg/xdgmime/")
+ (synopsis "Module that parses the freedesktop.org MIME spec")
+ (description "This module is used for shared-mime-info package tests.")
+ (license (list license:lgpl2.1+ license:artistic2.0)))))
+
+;; Note: when updating shared-mime-info, don't forget to update xdgmime's commit
+;; to the one used in the release.
+(define-public shared-mime-info
+ (package
+ (name "shared-mime-info")
+ (version "2.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/xdg/shared-mime-info.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0w8sbhz00sk6k8pyiykfig4rm22jyibalj7g22j9qf3d2nfy8ivh"))
+ (patches (search-patches "shared-mime-info-xdgmime-path.patch"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append
+ "-Dxdgmime-path="
+ (dirname
+ (search-input-file %build-inputs "/bin/test-mime")))
+ "-Dupdate-mimedb=true")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Don't patch shebangs for the test files.
+ (replace 'patch-source-shebangs
+ (lambda _
+ (let ((pred (lambda (file stat)
+ (and (eq? 'regular (stat:type stat))
+ (not (string-prefix? "./tests/mime-detection"
+ file))))))
+ (for-each patch-shebang
+ (find-files "." pred #:stat lstat)))))
+ ;; The docs have no install rule.
+ (add-after 'install 'install-doc
+ (lambda* (#:key source #:allow-other-keys)
+ (let ((dest (string-append #$output:doc "/share/doc")))
+ (with-directory-excursion "data/shared-mime-info-spec-html"
+ (install-file "shared-mime-info-spec.html"
+ (string-append dest "/html")))
+ (install-file (string-append source
+ "/data/shared-mime-info-spec.xml")
+ dest)))))))
+ (inputs
+ (list glib libxml2))
+ (native-inputs
+ (list gettext-minimal pkg-config python xdgmime
+ ;; For 'doc' output.
+ docbook-xml-4.1.2 docbook-xsl xmlto))
+ (outputs (list "out" "doc"))
+ (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
+ (synopsis "Database of common MIME types")
+ (description
+ "The shared-mime-info package contains the core database of common types
+and the update-mime-database command used to extend it. It requires glib2 to
+be installed for building the update command. Additionally, it uses intltool
+for translations, though this is only a dependency for the maintainers. This
+database is translated at Transifex.")
+ (license license:gpl2+)))
+
(define-public xdg-utils
(package
(name "xdg-utils")
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index dbc8440141..f84fd12d86 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..ee44f8f403 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -37,6 +37,7 @@
(define-module (gnu packages glib)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -45,6 +46,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -105,7 +107,7 @@
(define dbus
(package
(name "dbus")
- (version "1.14.0")
+ (version "1.15.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -113,49 +115,57 @@
version ".tar.xz"))
(sha256
(base32
- "1m7bibavml4gx9d67j403l0kzd1a4z8lhrpxb2as3q4nfpiwrmyc"))
+ "016j3rqc8m62bg0h7z4rpvbvm5bg0hbjrld733f0aby8drz5kz44"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags
- (list
- ;; Install the system bus socket under /var.
- "--localstatedir=/var"
+ (list
+ #:configure-flags
+ #~(list
+ ;; Install the system bus socket under /var.
+ "--localstatedir=/var"
- ;; Install the session bus socket under /tmp.
- "--with-session-socket-dir=/tmp"
+ ;; Install the session bus socket under /tmp.
+ "--with-session-socket-dir=/tmp"
- ;; Build shared libraries only.
- "--disable-static"
+ ;; Build shared libraries only.
+ "--disable-static"
- ;; Use /etc/dbus-1 for system-wide config.
- ;; Look for configuration file under
- ;; /etc/dbus-1. This is notably required by
- ;; 'dbus-daemon-launch-helper', which looks for
- ;; the 'system.conf' file in that place,
- ;; regardless of what '--config-file' was
- ;; passed to 'dbus-daemon' on the command line;
- ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
- "--sysconfdir=/etc")
- #:phases
- (modify-phases %standard-phases
- (replace 'install
- (lambda _
- ;; Don't try to create /var and /etc.
- (invoke "make"
- "localstatedir=/tmp/dummy"
- "sysconfdir=/tmp/dummy"
- "install"))))))
+ ;; Use /etc/dbus-1 for system-wide config.
+ ;; Look for configuration file under
+ ;; /etc/dbus-1. This is notably required by
+ ;; 'dbus-daemon-launch-helper', which looks for
+ ;; the 'system.conf' file in that place,
+ ;; regardless of what '--config-file' was
+ ;; passed to 'dbus-daemon' on the command line;
+ ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
+ "--sysconfdir=/etc")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ ;; Don't try to create /var and /etc.
+ (invoke "make"
+ "localstatedir=/tmp/dummy"
+ "sysconfdir=/tmp/dummy"
+ "install"))))))
(native-inputs
- (list pkg-config
- ;; Dependencies to generate the doc.
+ ;; Some dependencies are required to generate the documentation. Also,
+ ;; quoting NEWS for 1.15.8: “Autotools-generated files are no longer
+ ;; included in the tarball release.”
+ (list autoconf
+ autoconf-archive
+ automake
docbook-xml-4.4
docbook-xsl
doxygen
- xmlto
+ libtool
libxml2 ;for XML_CATALOG_FILES
libxslt
- yelp-tools))
+ which
+ xmlto
+ yelp-tools
+ pkg-config))
(inputs
(list expat
;; Add a dependency on libx11 so that 'dbus-launch' has support for
@@ -217,7 +227,7 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
(define glib
(package
(name "glib")
- (version "2.72.3")
+ (version "2.78.0")
(source
(origin
(method url-fetch)
@@ -226,14 +236,14 @@ information, refer to the @samp{dbus-daemon(1)} man page.")))
name "/" (string-take version 4) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1w25sf2wxkkah2p2w189q58mza3zv8z1fh2q1m82sldq4kva4faa"))
+ (base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4"))
(patches
(search-patches "glib-appinfo-watch.patch"
"glib-skip-failing-test.patch"))
(modules '((guix build utils)))
(snippet
'(begin
- (substitute* "tests/spawn-test.c"
+ (substitute* "glib/tests/spawn-test.c"
(("/bin/sh") "sh"))))))
(build-system meson-build-system)
(outputs '("out" ;libraries, locales, etc
@@ -258,6 +268,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 +286,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 +348,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 +357,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 +478,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 +505,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 +586,14 @@ be used when cross-compiling."
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.72.0")
+ (version "1.78.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "1g5aps3b20ck96ahy7fjl4nhp9nabkd9rlqd0s1qzn3111cqxzh2"))
+ (base32 "1d0vhi83q0xc7kg3zn32wy7n16f3dd5blicyh5v8w9gpkbcsnyxx"))
(patches (search-patches
"gobject-introspection-cc.patch"
"gobject-introspection-girepository.patch"
@@ -723,10 +687,7 @@ provide bindings to call into the C library.")
(patches (search-patches
"gobject-introspection-cc-1.72.patch"
"gobject-introspection-girepository.patch"
- "gobject-introspection-absolute-shlib-path-1.72.patch"))))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs gobject-introspection)
- (replace "glib" glib-next)))))
+ "gobject-introspection-absolute-shlib-path-1.72.patch"))))))
(define intltool
(package
@@ -825,7 +786,7 @@ translated.")
(define dbus-glib
(package
(name "dbus-glib")
- (version "0.110")
+ (version "0.112")
(source (origin
(method url-fetch)
(uri
@@ -833,7 +794,7 @@ translated.")
version ".tar.gz"))
(sha256
(base32
- "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w"))))
+ "0fhlkdqyzbh89bdslwsfc5fbdvkiv6g840ami4rnwa6dvz60smbx"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
@@ -861,7 +822,7 @@ by GDBus included in Glib.")
(define-public libaccounts-glib
(package
(name "libaccounts-glib")
- (version "1.25")
+ (version "1.26")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -870,7 +831,7 @@ by GDBus included in Glib.")
(file-name (git-file-name name version))
(sha256
(base32
- "19rhk9f97m736d5ia26vfcbjp5kgi454558yhf9mrwm4iw5d9pk4"))))
+ "1fdvvzbz23q5c0jnzryinkmcymd0zcs2pdn4fvibg34pvybb4li9"))))
(build-system meson-build-system)
(native-inputs (list dbus
`(,glib "bin")
@@ -914,7 +875,7 @@ credentials and service-specific settings.")
(define libsigc++
(package
(name "libsigc++")
- (version "3.0.6")
+ (version "3.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/"
@@ -922,7 +883,7 @@ credentials and service-specific settings.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1kn57b039lg20182lnchl1ys27vf34brn43f895cal8nc7sdq3mp"))))
+ "05qf10lp5vxsi5fbzdphqhbzmys12mxvg4gh14p9zqynvwvkpln3"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@@ -985,7 +946,7 @@ libraries.")
(define glibmm
(package
(name "glibmm")
- (version "2.72.1")
+ (version "2.78.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -993,7 +954,7 @@ libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "1n2w2pcpbxjbsxynmar3i5ibr7src6gnrdxb9nn57p5miai4jxia"))))
+ "0l7gld1ghynlxdm55l8dn3w4lfbwgrkw7flbdnh04vwrchjqfbjx"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@@ -1034,23 +995,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 +1016,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
- (version "3.42.2")
+ (version "3.46.0")
(source
(origin
(method url-fetch)
@@ -1080,32 +1024,31 @@ useful for C++.")
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
- (base32
- "0my95gjnps093inzznbipkhf25cffbc32v9is2fq8wvh59g6ks5d"))
+ (base32 "1z6aagb46fhhdd0bb3zk6dfdw3s4y2fva0vv3jpwjj6mvar0hq22"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; We disable these tests in a snippet so that they are inherited
- ;; by the Python 2 variant which is built differently.
- (with-directory-excursion "tests"
- ;; FIXME: These tests require Gdk and/or Gtk 4.
- (for-each delete-file
- '("test_atoms.py" "test_overrides_gtk.py"))
- #t)))))
+ ;; We disable these tests in a snippet so that they are inherited
+ ;; by the Python 2 variant which is built differently.
+ #~(with-directory-excursion "tests"
+ ;; FIXME: These tests require Gdk and/or Gtk 4.
+ (for-each delete-file
+ '("test_atoms.py" "test_overrides_gtk.py"
+ "test_overrides_gdk.py"))))))
(build-system meson-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; The default 90 seconds can be too low on slower machines.
- (invoke "meson" "test" "--timeout-multiplier" "5")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The default 90 seconds can be too low on slower machines.
+ (invoke "meson" "test" "--timeout-multiplier" "5")))))))
(native-inputs
- `(("glib-bin" ,glib "bin")
- ("pkg-config" ,pkg-config)
- ("python-pytest" ,python-pytest)
- ("python-wrapper" ,python-wrapper))) ; For patching shebangs
+ (list `(,glib "bin")
+ pkg-config
+ python-pytest
+ python-wrapper)) ; For patching shebangs
(inputs
(list python python-pycairo gobject-introspection))
(propagated-inputs
@@ -1124,7 +1067,7 @@ useful for C++.")
(define-public perl-glib
(package
(name "perl-glib")
- (version "1.3293")
+ (version "1.3294")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1132,7 +1075,7 @@ useful for C++.")
version ".tar.gz"))
(sha256
(base32
- "005m3inz12xcsd5sr056cm1kbhmxsx2ly88ifbdv6p6cwz0s05kk"))))
+ "1fsw9sjfz1irlhnsk5n1xpb181vvq1dsxrw5vrsp066cdflga5fp"))))
(build-system perl-build-system)
(native-inputs
(list perl-extutils-depends perl-extutils-pkgconfig))
@@ -1150,14 +1093,14 @@ up the Gnome environment, and are used in many unrelated projects.")
(define-public perl-glib-object-introspection
(package
(name "perl-glib-object-introspection")
- (version "0.049")
+ (version "0.051")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
"Glib-Object-Introspection-" version ".tar.gz"))
(sha256
- (base32 "0mxg6pz8qfyipw0ypr54alij0c4adzg94f62702b2a6hkp5jhij6"))))
+ (base32 "12802l87mx65lswiwlc394fkb74cmsqn88n2qy119b40rhfn2sb5"))))
(build-system perl-build-system)
(native-inputs
(list perl-extutils-depends perl-extutils-pkgconfig))
@@ -1195,6 +1138,11 @@ libraries. Examples include gtk+, webkit, libsoup and many more.")
;; EOFError: EOF read where object expected
;; make[2]: *** [Makefile:1906: _gen/register-dbus-glib-marshallers-body.h] Error 1
#:parallel-build? #f
+ ;; When spawned in parallel, the dbus daemons may fail to shut down
+ ;; cleanly. This issue appears to have been closed upstream due to low
+ ;; information, but still continues to haunt folks. See also
+ ;; <https://gitlab.freedesktop.org/telepathy/telepathy-glib/-/issues/134>.
+ #:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
@@ -1321,7 +1269,7 @@ Some codes examples can be find at:
;; file.
(package
(name "sdbus-c++")
- (version "1.3.0")
+ (version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1330,7 +1278,7 @@ Some codes examples can be find at:
(file-name (git-file-name name version))
(sha256
(base32
- "03maivi3nj4g5wcydk9ih703ivmqkc93yip47wlyjni6dhikzzsb"))))
+ "111l2rl0pg9r5cdrhqpac4v22cnq41skxxfk3cng81l0n05v1sh0"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1359,7 +1307,7 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.")
(define-public appstream-glib
(package
(name "appstream-glib")
- (version "0.7.18")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://people.freedesktop.org/~hughsient/"
@@ -1367,45 +1315,47 @@ of abstraction on top of @code{sd-bus}, the C D-Bus implementation by systemd.")
"appstream-glib-" version ".tar.xz"))
(sha256
(base32
- "00j0kkgf224nzmrha72g8pd72mymhph7vaisj35i4ffy7cpd47na"))))
+ "15lbrmyx94cf6p6svq02yiskh31xidq092c711pqs16mml06a9bi"))))
(build-system meson-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("gsettings" ,gsettings-desktop-schemas) ; for ‘org.gnome.system.proxy’
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal
+ `(,glib "bin") ;for glib-compile-resources
+ gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’
+ pkg-config))
(propagated-inputs
- `(("gcab" ,gcab) ; for .pc file
- ("gdk-pixbuf" ,gdk-pixbuf) ; for .pc file
- ("libuuid" ,util-linux "lib"))) ; for .pc file
+ (list gcab ;for .pc file
+ gdk-pixbuf ;same
+ `(,util-linux "lib"))) ;libuuid, for .pc file
(inputs
- `(("glib" ,glib)
- ("gperf" ,gperf)
- ("gtk+" ,gtk+)
- ("json-glib" ,json-glib)
- ("libarchive" ,libarchive)
- ("libsoup" ,libsoup-minimal-2)))
+ (list curl
+ gperf
+ gtk+
+ json-glib
+ libarchive
+ glib))
(arguments
- `(#:configure-flags
- (list "-Ddep11=false"
- "-Dintrospection=false" ; avoid g-ir-scanner dependency
- "-Drpm=false"
- "-Dstemmer=false")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-tests
- (lambda _
- (substitute* "libappstream-glib/as-self-test.c"
- (("g_test_add_func.*as_test_store_local_appdata_func);") ""))
- #t))
- (add-before 'check 'set-home
- (lambda _
- ;; Some tests want write access there.
- (setenv "HOME" "/tmp"))))))
+ (list
+ #:configure-flags
+ #~(list "-Ddep11=false"
+ "-Dintrospection=false" ; avoid g-ir-scanner dependency
+ "-Drpm=false"
+ "-Dstemmer=false")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "libappstream-glib/as-self-test.c"
+ (("g_test_add_func.*as_test_store_local_appdata_func);") ""))))
+ (add-before 'check 'set-home
+ (lambda _
+ ;; Some tests want write access there.
+ (setenv "HOME" "/tmp"))))))
(home-page "https://github.com/hughsie/appstream-glib")
(synopsis "Library for reading and writing AppStream metadata")
- (description "This library provides objects and helper methods to help
-reading and writing @uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
+ (description
+ "This library provides objects and helper methods to help
+reading and writing
+@uref{https://www.freedesktop.org/wiki/Distributions/AppStream,AppStream}
metadata.")
(license license:lgpl2.1+)))
@@ -1464,7 +1414,7 @@ other API remains the same.")
(define-public template-glib
(package
(name "template-glib")
- (version "3.34.0")
+ (version "3.36.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1472,21 +1422,18 @@ other API remains the same.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1"))))
+ "00x5yq1yidxxv6hmlvblpp2k0vf60s0xzyi0psplbmss70bpl5iv"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags '("-D" "enable_gtk_doc=true")))
- (inputs
- `(("gettext" ,gettext-minimal)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
+ (list #:configure-flags #~'("-D" "gtk_doc=true")))
+ (inputs (list gettext-minimal glib gobject-introspection))
(native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)
- ("glib:bin" ,glib "bin") ;; For glib-mkenums
- ("gtk-doc" ,gtk-doc/stable)
- ("pkg-config" ,pkg-config)
- ("vala" ,vala)))
+ (list bison
+ flex
+ `(,glib "bin") ;for glib-mkenums
+ gtk-doc/stable
+ pkg-config
+ vala))
(home-page "https://gitlab.gnome.org/GNOME/template-glib")
(synopsis "Library for template expansion")
(description
@@ -1501,7 +1448,7 @@ simple methods via GObject-Introspection.")
(define-public xdg-dbus-proxy
(package
(name "xdg-dbus-proxy")
- (version "0.1.2")
+ (version "0.1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/flatpak/xdg-dbus-proxy"
@@ -1509,7 +1456,7 @@ simple methods via GObject-Introspection.")
"/xdg-dbus-proxy-" version ".tar.xz"))
(sha256
(base32
- "03sj1h0c2l08xa8phw013fnxr4fgav7l2mkjhzf9xk3dykwxcj8p"))))
+ "1yv10v7gpv5z0iii7p3rs2h9wx6sigldycjlkpyyal06iapwy786"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config
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..ab485cffb1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -212,6 +212,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages tex)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -812,7 +813,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 +823,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 +857,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 +1526,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 +1534,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 +1558,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 +1666,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 +1776,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 +2022,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 +2192,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 +2201,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 +2245,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 +2374,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 +2382,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 +2395,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 +2433,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 +2444,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 +2594,7 @@ GNOME Desktop.")
"1"))))))))
(inputs
(list dbus
- gcr
+ gcr-3
libgcrypt
linux-pam
openssh))
@@ -2588,7 +2611,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 +2703,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 +2712,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 +2739,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")
@@ -2868,7 +2876,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
(define-public adwaita-icon-theme
(package
(name "adwaita-icon-theme")
- (version "43")
+ (version "44.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2876,7 +2884,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1iiflc6rfpshipl23mszlv2lzm8d1a7pxwsx2ma5bam669ywffif"))))
+ "0k3638gkdpjcr9pbsmpfj7vdqdm9s04j4d5sh1fx5v5z3dhcb2a8"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -2916,39 +2924,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 +3370,7 @@ compiles to GTKBuilder XML.")
python-pygobject
python-lxml
webkitgtk
- webkitgtk-next))
+ webkitgtk))
(native-inputs
(list `(,glib "bin")
gobject-introspection
@@ -4423,7 +4398,7 @@ engineering.")
(setenv "HOME" (getcwd)))))))
(inputs
(list gtk+
- gcr
+ gcr-3
gnupg
gpgme
openldap
@@ -4451,7 +4426,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 +4434,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 +4494,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 +4502,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 +4945,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 +4953,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 +5063,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 +5071,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 +5387,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 +5395,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 +5483,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 +5491,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 +5503,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 +5728,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 +5737,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 +5760,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 +5792,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 +5923,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 +5935,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 +5980,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 +6131,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 +6144,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 +6157,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 +6244,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 +6616,7 @@ discovery protocols.")
(define-public totem
(package
(name "totem")
- (version "42.0")
+ (version "43.0")
(source
(origin
(method url-fetch)
@@ -6647,7 +6624,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 +6678,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 +6907,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 +6966,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 +7095,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 +7103,7 @@ almost all of them.")
"epiphany-" version ".tar.xz"))
(sha256
(base32
- "0q08ixzgp341g5pq6rfy5q75m9bvddvl8na3qa5v5vi056nkh29p"))))
+ "0mln4iym0fqkri959650cccdhq3r4d4kfn8yld0vvdmzskmak4a6"))))
(build-system meson-build-system)
(arguments
(list
@@ -7166,7 +7144,7 @@ almost all of them.")
xorg-server-for-tests))
(inputs
(list avahi
- gcr
+ gcr-3
glib-networking
gnome-desktop
gsettings-desktop-schemas
@@ -7183,7 +7161,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
@@ -7453,7 +7431,7 @@ classes for commonly used data structures.")
(define-public gexiv2
(package
(name "gexiv2")
- (version "0.14.0")
+ (version "0.14.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -7461,7 +7439,7 @@ classes for commonly used data structures.")
name "-" version ".tar.xz"))
(sha256
(base32
- "17nnsslj2wpizpx742w5lxdzcz5mx6jmsqcrli7zddi0zyk7k0p5"))))
+ "1gp07klqixpxjqiv84i2gmkb1pcf1gagyrl800sk92xyizs9q31a"))))
(build-system meson-build-system)
(arguments
(list
@@ -7469,14 +7447,11 @@ classes for commonly used data structures.")
(guix build python-build-system))
#:modules '((guix build meson-build-system)
((guix build python-build-system) #:prefix python:)
- (guix build utils))
- #:configure-flags
- #~(list (string-append "-Dpython3_girdir="
- (python:site-packages %build-inputs %outputs)
- "/gi/overrides"))))
+ (guix build utils))))
(native-inputs
- (list gcr
+ (list gcr-3
`(,glib "bin")
+ gobject-introspection
pkg-config
python
python-pygobject
@@ -7485,8 +7460,7 @@ classes for commonly used data structures.")
;; Listed in "Requires" section of gexiv2.pc
(list exiv2))
(inputs
- (list glib
- gobject-introspection))
+ (list glib))
(home-page "https://wiki.gnome.org/Projects/gexiv2")
(synopsis "GObject wrapper around the Exiv2 photo metadata library")
(description
@@ -7527,7 +7501,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 +7570,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 +7579,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 +7630,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 +7638,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 +7785,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 +7793,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 +7813,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 +7936,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 +7959,8 @@ to display dialog boxes from the commandline and shell scripts.")
pango
xinput))
(inputs
- (list egl-wayland ;for wayland-eglstream-protocols
+ (list colord
+ egl-wayland ;for wayland-eglstream-protocols
elogind
gnome-desktop
gnome-settings-daemon
@@ -8018,7 +7992,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
- (version "3.45.2")
+ (version "3.48.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -8026,16 +8000,18 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
- "15zzzndbfba8a497vxb6cmy1y22l3lfn4sx9s9r59kwzd83i6fxn"))))
+ "1gvmc4k5vm4qd97yfkd5a4sixz0pfq9nblss42c2mmyvzzybk2s1"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
- (add-before 'install 'disable-gtk-update-icon-cache
+ (add-after 'unpack 'disable-gtk-update-icon-cache
(lambda _
- (setenv "DESTDIR" "/"))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false")))))))
(native-inputs
(list gettext-minimal
`(,glib "bin") ; for glib-compile-schemas, etc.
@@ -8048,12 +8024,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 +8062,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 +8075,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1j0c7kwmjng7spkqz6vfd8gyvw65invjsf5mqzbsr7y58m0jb6x5"))))
+ (base32 "0q3d5masw20sr6xm2rg3170a4pxsh23ywyq1rkzhmyvyn69kyzlr"))))
(build-system cmake-build-system)
(arguments
(list
@@ -8164,7 +8140,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(inputs
(list bdb
boost
- gcr
+ gcr-3
gnome-online-accounts
json-glib
libcanberra
@@ -8172,7 +8148,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 +8175,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 +8540,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
libnma
pkg-config))
(inputs
- (list gcr
+ (list gcr-3
gtk
gtk+
kmod
@@ -8695,7 +8671,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 +8742,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 +8750,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0m9qmm3vm81jmqlc30a1fb79hsr4l4lpiw0zjxww3gipd6bsqa53"))
+ "03avvkrm2jd0731ggh9cjnkhrfysqp4slrq0km3gqa3xpqx6n9k8"))
(patches
(search-patches
"gdm-default-session.patch"
@@ -8967,6 +8943,7 @@ logo='~a'~%" icon))))))
(list accountsservice
check ;for testing
dbus
+ egl-wayland
elogind
eudev
gnome-session
@@ -9010,7 +8987,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 +8995,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 +9026,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 +9034,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 +9061,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 +9095,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 +9144,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 +9152,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 +9190,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 +9212,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 +9284,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 +9388,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 +9396,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 +9414,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 +9422,7 @@ easy, safe, and automatic.")
"tracker-" version ".tar.xz"))
(sha256
(base32
- "0c8ppm03b9r6lyxalama8sjmw3km4jibbswqra7qf17pli1g2vaf"))))
+ "1whdqidxmagsc35pmz9kcc5vs3bmvbkmnis7prnx3zxs37z2qnaj"))))
(build-system meson-build-system)
(arguments
(list
@@ -9437,6 +9444,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 +9548,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 +9556,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 +9590,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 +9622,7 @@ endpoint and it understands SPARQL.")
giflib
glib
gstreamer
+ gst-plugins-base
icu4c
json-glib
libcue
@@ -9647,7 +9666,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 +9674,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 +9683,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 +9700,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 +9729,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 +9758,7 @@ files.")
(define-public baobab
(package
(name "baobab")
- (version "42.0")
+ (version "44.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -9740,24 +9767,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 +10030,7 @@ associations for GNOME.")
bash-minimal
geoclue
gjs
- gsettings-desktop-schemas-next
+ gsettings-desktop-schemas
gtk
libadwaita
libgweather4))
@@ -10285,7 +10316,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 +10324,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 +10345,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 +10362,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 +10370,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 +10387,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 +10463,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")
@@ -10771,7 +10797,7 @@ handling the startup notification side.")
(define-public gnome-calculator
(package
(name "gnome-calculator")
- (version "42.2")
+ (version "44.0")
(source
(origin
(method url-fetch)
@@ -10780,21 +10806,22 @@ handling the startup notification side.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1866qn0r9xp7b7j1436kry2k3bdh9ikhz2wm41jxcn1nljyb3nik"))))
+ "0hqhnwaw7zam0r7b61ir68710hxmc5rxb0172mz9lc48kwr67rql"))))
(build-system meson-build-system)
(arguments
- '(#:glib-or-gtk? #t
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'skip-gtk-update-icon-cache
- (lambda _
- (substitute* "meson.build"
- (("gtk_update_icon_cache: true")
- "gtk_update_icon_cache: false"))))
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a writable HOME.
- (setenv "HOME" (getcwd)))))))
+ (list
+ #:glib-or-gtk? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ (lambda _
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false"))))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a writable HOME.
+ (setenv "HOME" (getcwd)))))))
(native-inputs
(list gettext-minimal
`(,glib "bin") ;for glib-compile-schemas, gio-2.0.
@@ -10803,15 +10830,17 @@ handling the startup notification side.")
python
vala))
(inputs
- (list gsettings-desktop-schemas-next
+ (list gsettings-desktop-schemas
gtksourceview
libadwaita
libgee
- libhandy
- libsoup-minimal-2
+ libsoup
libxml2
mpc
mpfr))
+ (propagated-inputs
+ ;; Marked as requires.private in either .pc
+ (list libgee glib gtk))
(home-page "https://wiki.gnome.org/Apps/Calculator")
(synopsis "Desktop calculator")
(description
@@ -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))
@@ -11059,7 +11088,7 @@ accessibility infrastructure.")
(define-public orca
(package
(name "orca")
- (version "42.3")
+ (version "44.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -11068,17 +11097,25 @@ accessibility infrastructure.")
name "-" version ".tar.xz"))
(sha256
(base32
- "097pyav3z5ssic8vwd7v1s7vynpycdpyfr324rr6c7mfzq5vmp7s"))))
+ "11jn925ga970y74did96ms78pc3lshkd9rd8v82i6zdzigxa7yvd"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before 'configure 'qualify-xkbcomp
+ (add-before 'configure 'qualify-programs
(lambda* (#:key inputs #:allow-other-keys)
(let ((xkbcomp (string-append
- (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
+ (assoc-ref inputs "xkbcomp") "/bin/xkbcomp"))
+ (pgrep (string-append
+ (assoc-ref inputs "procps") "/bin/pgrep")))
(substitute* "src/orca/orca.py"
- (("'xkbcomp'") (format #f "'~a'" xkbcomp))))))
+ (("'xkbcomp'") (format #f "'~a'" xkbcomp)))
+ (substitute* "src/orca/debug.py"
+ (("'pgrep %s'")
+ (format #f "'~a %s'" pgrep)))
+ (substitute* "src/orca/orca_bin.py.in"
+ (("'pgrep -u %s -x orca'")
+ (format #f "'~a -u %s -x orca'" pgrep))))))
(add-after 'install 'wrap-orca
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/orca")
@@ -11094,13 +11131,14 @@ accessibility infrastructure.")
pkg-config
libxml2))
(inputs
- (list at-spi2-atk
+ (list at-spi2-core
bash-minimal
gsettings-desktop-schemas
gstreamer
gst-plugins-base
gst-plugins-good
gtk+
+ procps ; for pgrep
python
python-pygobject
python-pyatspi
@@ -11118,7 +11156,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 +11164,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 +11314,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 +11596,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 +11607,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 +11623,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 +11724,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 +11732,7 @@ generic enough to work for everyone.")
"evolution-" version ".tar.xz"))
(sha256
(base32
- "0gbvd460hsha0gss9rjjpyisq336fwxd8y1xf55s6ifjrqql423s"))))
+ "1dwbwy67xg1fypxj0qyhhvy608hbw19gqhvxqkr739shl3mrjbx0"))))
(build-system cmake-build-system)
(arguments
(list
@@ -11733,7 +11771,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 +11783,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 +11798,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 +11806,7 @@ functionality.")
"gthumb-" version ".tar.xz"))
(sha256
(base32
- "09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p"))))
+ "1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -11781,28 +11819,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 +11923,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 +11932,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 +11992,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 +12000,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 +12023,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 +12031,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 +12055,7 @@ higher level porcelain stuff.")
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(inputs
(list glib
+ gpgme
gsettings-desktop-schemas
gspell
gtk+
@@ -12026,6 +12064,7 @@ higher level porcelain stuff.")
libdazzle
libgee
libgit2-glib
+ libhandy
libpeas
libsecret
libsoup-minimal-2
@@ -12118,44 +12157,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 +12399,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 +12455,7 @@ non-privileged user.")
(inputs
(list enchant
folks
- gcr
+ gcr-3
glib
gmime
gnome-online-accounts
@@ -12438,7 +12473,7 @@ non-privileged user.")
libstemmer
libunwind
sqlite
- webkitgtk
+ webkitgtk-for-gtk3
ytnef))
(native-inputs
(list appstream-glib
@@ -12889,10 +12924,37 @@ both peers support it. You might want that when communicating on a single
host to avoid parser overhead and memory-allocator fragmentation.")
(license license:lgpl2.1+)))
+(define-public gmobile
+ (package
+ (name "gmobile")
+ (version "0.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/guidog/gmobile")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "gmobile" version))
+ (sha256
+ (base32
+ "0lr22nj4ypzxbjim1a7ay07nh4vx3dqc895qql437gda6x0rvn2p"))
+ (patches
+ (search-patches "gmobile-make-it-installable.patch"))))
+ (build-system meson-build-system)
+ (native-inputs
+ (list `(,glib "bin") ; for glib-compile-resources
+ pkg-config))
+ (propagated-inputs
+ (list glib json-glib))
+ (synopsis "Functions useful in mobile related, glib based projects")
+ (description "This package provides functions for mobiles.")
+ (home-page "https://gitlab.gnome.org/guidog/gmobile")
+ (license license:lgpl2.1+)))
+
(define-public feedbackd
(package
(name "feedbackd")
- (version "0.0.0+git20200527")
+ (version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12901,12 +12963,18 @@ host to avoid parser overhead and memory-allocator fragmentation.")
(file-name (git-file-name name version))
(sha256
(base32
- "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
+ "1acwpb8cgzyvzriphrb42k3d7njwcn88j66i5wz75yx2sbfaf93q"))
+ (patches
+ (search-patches "feedbackd-use-system-gmobile.patch"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively "subprojects")))))
(build-system meson-build-system)
(native-inputs
(list `(,glib "bin") gobject-introspection pkg-config vala))
(inputs
- (list dbus gsound json-glib libgudev))
+ (list dbus gmobile gsound json-glib libgudev))
(propagated-inputs
(list glib)) ; in Requires of libfeedback-0.0.pc
(synopsis "Haptic/visual/audio feedback via DBus")
@@ -12946,7 +13014,7 @@ GObject introspection bindings.")
(propagated-inputs
(list polkit))
(inputs
- (list glib-next
+ (list glib
gtk
json-glib
libadwaita
@@ -12955,7 +13023,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 +13205,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 +13291,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 +13299,7 @@ your data.")
(list json-glib
jsonrpc-glib
gettext-minimal
- glib-next
+ glib
gsettings-desktop-schemas
gspell
libgda
@@ -13315,7 +13383,7 @@ Document Analysis and Recognition program.")
(define-public libadwaita
(package
(name "libadwaita")
- (version "1.2.0")
+ (version "1.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libadwaita/"
@@ -13323,7 +13391,7 @@ Document Analysis and Recognition program.")
"libadwaita-" version ".tar.xz"))
(sha256
(base32
- "0326qs0zhfi6zv52p90axnicmv0qb2l2hwpyv60pk9lvwcdkwbrj"))))
+ "1hj7kxza6263x662v4ffndlz8dhfx19cz3y4iwhnhdflaj50j6p5"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -13343,7 +13411,7 @@ Document Analysis and Recognition program.")
vala
xorg-server-for-tests))
(propagated-inputs
- (list gtk)) ;libadwaita-1.pc 'Requires' it
+ (list appstream gtk)) ;libadwaita-1.pc 'Requires' it
(home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/")
(synopsis "Building blocks for GNOME applications")
(description
@@ -13420,3 +13488,106 @@ historical battery usage and related statistics.")
(home-page "http://xffm.org/")
(license license:gpl3+)
(properties '((upstream-name . "xffm")))))
+
+(define-public libcall-ui
+ (package
+ (name "libcall-ui")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Phosh/libcall-ui")
+ (commit "6798b38d4d66d069751151b3e9a202c6de8d7f3c")))
+ (file-name (git-file-name "libcall-ui" version))
+ (sha256
+ (base32
+ "0zfrxh77ag8garqj319amnxjcdyp3ig12dkxfkl6wbwn1mvyrwx8"))
+ (patches (search-patches "libcall-ui-make-it-installable.patch"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" (getcwd))
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1"))))))
+ (propagated-inputs ; All these in call-ui.pc.
+ (list glib
+ gtk+
+ libcallaudio
+ libhandy))
+ (native-inputs
+ (list `(,glib "bin") ; glib-mkenums
+ pkg-config
+ xorg-server-for-tests))
+ (synopsis "Common User Interfaces for call handling")
+ (description "This package provides common user interfaces to make and
+receive calls.")
+ (home-page "https://gitlab.gnome.org/World/Phosh/libcall-ui")
+ (license license:lgpl2.1+)))
+
+(define-public calls
+ (package
+ (name "calls")
+ (version "45.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1mvnrm5wbl69xbcjg8nxd6l6nj2fd3whbyh70axlm75c7l7d5j5r"))
+ (patches
+ (search-patches "calls-disable-application-test.patch"
+ "calls-disable-sip-test.patch"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:glib-or-gtk? #t
+ #:configure-flags #~'("-Dgtk_doc=true")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (setenv "HOME" (getcwd))
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1"))))))
+ (inputs
+ (list evolution-data-server
+ feedbackd
+ folks
+ glib
+ gom
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-bad
+ gtk+
+ libcall-ui
+ libgee
+ libpeas
+ libhandy
+ modem-manager
+ sofia-sip))
+ (native-inputs
+ (list desktop-file-utils ;update-desktop-database
+ gettext-minimal
+ `(,glib "bin") ;glib-mkenums
+ gtk-doc ;gtkdoc-scan
+ `(,gtk+ "bin") ;gtk-update-icon-cache
+ pkg-config
+ python-docutils ;rst2man
+ vala
+ xorg-server-for-tests))
+ (home-page "https://gitlab.gnome.org/GNOME/calls")
+ (synopsis "Phone dialer and call handler")
+ (description "Calls can make and answer phone calls using different
+backends, such as ModemManager for phones and @acronym{SIP, Session Initiation
+Protocol} for @acronym{VoIP, Voice over @acronym{IP, Internet Protocol}}.")
+ (license license:gpl3+)))
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 6a93ab933e..f0dd5c7f3e 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..67611efaae 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -106,6 +106,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
@@ -361,7 +362,7 @@ applications.")
(define-public pango
(package
(name "pango")
- (version "1.50.10")
+ (version "1.50.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -370,7 +371,7 @@ applications.")
(patches (search-patches "pango-skip-libthai-test.patch"))
(sha256
(base32
- "0rj9sszflckk8gj47ppirpndpp3mzsx97l64lalj8kc580g2ypby"))))
+ "1s41sprfgkc944fva36zjmkmdpv8hn1bdpyg55xc4663pw2z4rqx"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@@ -614,6 +615,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 +636,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
@@ -787,7 +793,7 @@ ever use this library.")
(hidden-package
(package
(name "at-spi2-core")
- (version "2.45.90")
+ (version "2.48.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -795,7 +801,7 @@ ever use this library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03dba3c6m3sfapkkbbgzvbi1qcmrrlppydxjjs1m8ds9qb9hl1g9"))))
+ "05d5azffbglnvqzwk8ngg61jksm3brrwhmfpymsrccz8j8lv3v19"))))
(build-system meson-build-system)
(arguments
(list
@@ -811,10 +817,15 @@ ever use this library.")
(lambda _
;; xfconfd requires a writable HOME
(setenv "HOME" (getenv "TMPDIR"))
- ;; Run test-suite under a dbus session.
- (setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service
- (string-append #$output "/share:"
- (getenv "XDG_DATA_DIRS")))
+ ;; dbus-run-session may crash if XDG_DATA_DIRS has too
+ ;; many entries, maybe related to
+ ;; https://gitlab.freedesktop.org/dbus/dbus/-/issues/481.
+ (setenv "XDG_DATA_DIRS"
+ (string-append
+ #$output "/share:"
+ #$(this-package-native-input
+ "gsettings-desktop-schemas")
+ "/share"))
;; Don't fail on missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(with-directory-excursion (string-append "../at-spi2-core-"
@@ -832,7 +843,8 @@ ever use this library.")
;; atspi-2.pc refers to all these.
(list dbus glib libx11 libxi libxtst))
(native-inputs
- (list gettext-minimal
+ (list findutils
+ gettext-minimal
`(,glib "bin")
gobject-introspection
gsettings-desktop-schemas
@@ -862,25 +874,13 @@ is part of the GNOME accessibility project.")
(add-after 'unpack 'set-documentation-path
(lambda _
;; Ensure that the cross-references point to the "doc" output.
- (substitute* "doc/libatspi/meson.build"
- (("docpath =.*")
- (string-append "docpath = '" #$output:doc
- "/share/gtk-doc/html'\n")))))
- (add-before 'install 'prepare-doc-directory
- (lambda _
- (mkdir-p (string-append #$output:doc "/share"))))
- #$@(if (%current-target-system)
- #~()
- #~((add-after 'install 'move-documentation
- (lambda _
- (copy-recursively
- (string-append #$output "/share/gtk-doc")
- (string-append #$output:doc "/share/gtk-doc"))
- (delete-file-recursively
- (string-append #$output "/share/gtk-doc"))))))))))
+ (substitute* "doc/meson.build"
+ (("docs_dir =.*")
+ (string-append "docs_dir = '" #$output:doc
+ "/share/doc'\n")))))))))
(native-inputs
(modify-inputs (package-native-inputs at-spi2-core)
- (append docbook-xml-4.3 gtk-doc/stable)))
+ (append gi-docgen python python-sphinx)))
(properties (alist-delete 'hidden?
(package-properties at-spi2-core)))))
@@ -904,6 +904,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 +1114,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
- (version "4.8.1")
+ (version "4.12.3")
(source
(origin
(method url-fetch)
@@ -1121,9 +1122,10 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
- (base32 "1za2nyqqs2lrbss61gfw17qba2f0w6a119m1xk4d0fx2k3gdis2w"))
+ (base32 "128ahzsj016vz8brd8kplhfkxg2q7wy7kndibx2qfr68yrif530l"))
(patches
- (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
+ (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
+ (modules '((guix build utils)))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@@ -1147,6 +1149,9 @@ application suites.")
;; Use the same test options as upstream uses for
;; their CI.
"--suite=gtk"
+ "--no-suite=failing"
+ "--no-suite=flaky"
+ "--no-suite=headless" ; requires mutter…
"--no-suite=gsk-compare-broadway")
#:phases
#~(modify-phases %standard-phases
@@ -1169,6 +1174,9 @@ application suites.")
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))
+ (substitute* (find-files "testsuite/gsk/nodeparser/"
+ "^text-color.*\\.node$")
+ (("Noto Sans") "DejaVu Sans"))
;; Disable failing tests.
(substitute* (find-files "testsuite" "meson.build")
(("[ \t]*'empty-text.node',") "")
@@ -1253,6 +1261,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 +2947,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 af032db680..7e93de5505 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2348,7 +2348,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
@@ -3379,7 +3379,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
@@ -3425,7 +3425,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
@@ -3964,7 +3964,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 2024163a08..e0ab937dbd 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4328,10 +4328,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")
@@ -4339,8 +4338,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
@@ -4351,6 +4351,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"))
@@ -4362,19 +4387,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 0a918dffd1..1c7957c3d7 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -5056,7 +5056,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 256bd4b03a..e57e3ac07c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3924,7 +3924,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 34710fc65c..80941ac10a 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 b5f7d882e4..55edecb649 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/calls-disable-application-test.patch b/gnu/packages/patches/calls-disable-application-test.patch
new file mode 100644
index 0000000000..f06f747487
--- /dev/null
+++ b/gnu/packages/patches/calls-disable-application-test.patch
@@ -0,0 +1,72 @@
+From e0fdae20840ffe3aeca7190eb8b1bcae70f0c93b Mon Sep 17 00:00:00 2001
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 21:03:27 +0100
+Subject: [PATCH] Disable the application test.
+
+The application test does not work in a Guix container, because an actual
+sound card is required to run this integration test.
+
+* tests/meson.build: Disable test-application.
+---
+ tests/meson.build | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index c9bdc3d..65f9b93 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -165,24 +165,24 @@ test('dbus', t, env: test_env)
+
+ dbus_run_session = find_program('dbus-run-session')
+
+-if dbus_run_session.found ()
+- test_sources = [ 'test-application.c' ]
+- t = executable('application', test_sources, calls_resources,
+- c_args : test_cflags,
+- link_args: test_link_args,
+- pie: true,
+- link_with : [calls_vala, libcalls],
+- dependencies: calls_deps,
+- include_directories : [
+- calls_includes,
+- ]
+- )
+- test('application',
+- dbus_run_session,
+- args: t.full_path(),
+- env: test_env,
+- timeout : 300
+- )
+-endif
++# if dbus_run_session.found ()
++# test_sources = [ 'test-application.c' ]
++# t = executable('application', test_sources, calls_resources,
++# c_args : test_cflags,
++# link_args: test_link_args,
++# pie: true,
++# link_with : [calls_vala, libcalls],
++# dependencies: calls_deps,
++# include_directories : [
++# calls_includes,
++# ]
++# )
++# test('application',
++# dbus_run_session,
++# args: t.full_path(),
++# env: test_env,
++# timeout : 300
++# )
++# endif
+
+ endif
+
+base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c
+prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6
+prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292
+prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b
+prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1
+prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf
+prerequisite-patch-id: e8302846f4650dba9e0072c18be3459ce903fe2e
+--
+2.41.0
+
diff --git a/gnu/packages/patches/calls-disable-sip-test.patch b/gnu/packages/patches/calls-disable-sip-test.patch
new file mode 100644
index 0000000000..75e9294fc0
--- /dev/null
+++ b/gnu/packages/patches/calls-disable-sip-test.patch
@@ -0,0 +1,44 @@
+From 33b75bfcda3437b12b6155addeeddcea697a4270 Mon Sep 17 00:00:00 2001
+Message-ID: <33b75bfcda3437b12b6155addeeddcea697a4270.1698608762.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 20:45:24 +0100
+Subject: [PATCH] Disable the direct call SIP test.
+
+* plugins/provider/tests/test-sip.c (main): Disable it.
+---
+
+This test passes in a guix shell --container --network but not in
+guix shell --container. The most likely cause is it requires access to the
+network.
+
+ plugins/provider/tests/test-sip.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/provider/tests/test-sip.c b/plugins/provider/tests/test-sip.c
+index 185d372..4e83d40 100644
+--- a/plugins/provider/tests/test-sip.c
++++ b/plugins/provider/tests/test-sip.c
+@@ -442,8 +442,11 @@ main (int argc,
+ g_test_add ("/Calls/SIP/origin_call_lists", SipFixture, NULL,
+ setup_sip_origins, test_sip_origin_call_lists, tear_down_sip_origins);
+
+- g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL,
+- setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins);
++ /* The direct call fails in the Guix build environment, possibly
++ * because the network is more restricted. */
++
++ /* g_test_add ("/Calls/SIP/calls_direct_call", SipFixture, NULL,
++ setup_sip_origins, test_sip_call_direct_calls, tear_down_sip_origins); */
+
+ ret = g_test_run ();
+
+
+base-commit: 936d36287324163b958c6ea0c4297c7a607ee18c
+prerequisite-patch-id: 20f8a81da35ce1797635eb310e1f85ac5ff814f6
+prerequisite-patch-id: 96768617d0a8ee8c66faa00220a1612e0f527292
+prerequisite-patch-id: 444c1ee57c24ba4b8165497b0a5885844110c59b
+prerequisite-patch-id: 9415b848ca9ee277bccbad7c3fff23230d5016f1
+prerequisite-patch-id: 3ca2a45be430041875b21f6c8dfac0bc17916abf
+--
+2.41.0
+
diff --git a/gnu/packages/patches/cogl-fix-double-free.patch b/gnu/packages/patches/cogl-fix-double-free.patch
new file mode 100644
index 0000000000..e7a994b33a
--- /dev/null
+++ b/gnu/packages/patches/cogl-fix-double-free.patch
@@ -0,0 +1,32 @@
+From 15d0f7d96cf53263196e26f2eb48ededdff0efeb Mon Sep 17 00:00:00 2001
+Message-ID: <15d0f7d96cf53263196e26f2eb48ededdff0efeb.1694148833.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Thu, 7 Sep 2023 22:16:48 +0200
+Subject: [PATCH] Prevent double free on context objects
+
+The display is unrefed in the context destructor, but not refed in the
+constructor.
+
+This targets an archived (read-only) repository.
+---
+ cogl/cogl-context.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c
+index a7eed29a..7cdc9fe7 100644
+--- a/cogl/cogl-context.c
++++ b/cogl/cogl-context.c
+@@ -218,7 +218,7 @@ cogl_context_new (CoglDisplay *display,
+ return NULL;
+ }
+
+- context->display = display;
++ context->display = cogl_object_ref (display);
+
+ /* This is duplicated data, but it's much more convenient to have
+ the driver attached to the context and the value is accessed a
+
+base-commit: 61d966c7442d521e38572b7f93ac7b8973a9c65e
+--
+2.41.0
+
diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch
index 54fc01c6d5..c4b1cfae39 100644
--- a/gnu/packages/patches/eudev-rules-directory.patch
+++ b/gnu/packages/patches/eudev-rules-directory.patch
@@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed
the search path to be customized, but eudev no longer has this, hence
this hack.
---- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800
-+++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800
-@@ -47,15 +47,11 @@
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -48,16 +48,11 @@ struct uid_gid {
};
};
@@ -20,11 +20,12 @@ this hack.
- "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d",
-#endif
+- "/usr/local/lib/udev/rules.d",
+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL};
struct udev_rules {
-@@ -1704,6 +1700,9 @@
+@@ -1718,6 +1713,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) {
udev_rules_check_timestamp(rules);
diff --git a/gnu/packages/patches/feedbackd-use-system-gmobile.patch b/gnu/packages/patches/feedbackd-use-system-gmobile.patch
new file mode 100644
index 0000000000..f0a0449472
--- /dev/null
+++ b/gnu/packages/patches/feedbackd-use-system-gmobile.patch
@@ -0,0 +1,42 @@
+From af9e72124b12ca481fd3592f9c8ea2649f7e4c80 Mon Sep 17 00:00:00 2001
+Message-ID: <af9e72124b12ca481fd3592f9c8ea2649f7e4c80.1698775513.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 19:12:27 +0100
+Subject: [PATCH] Look for a system-installed gmobile first.
+
+Meson lets projects use a dependency with fallback to a submodule, in
+case the dependency is not installed.
+
+* meson.build (gmobile_subp): Convert to a dependency with subproject
+fallback.
+---
+I am waiting for Purism to approve my account before I can report this.
+
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 8725e76..e5504be 100644
+--- a/meson.build
++++ b/meson.build
+@@ -14,13 +14,13 @@ gio_unix = dependency('gio-unix-2.0', version: '>=2.50.0')
+ glib = dependency('glib-2.0', version: '>=2.50.0')
+ if get_option('daemon')
+ gobject = dependency('gobject-2.0', version: '>=2.50.0')
+- gmobile_subp = subproject('gmobile',
++ gmobile = dependency('gmobile',
++ fallback: ['gmobile', 'gmobile_dep'],
+ default_options: [
+ 'examples=false',
+ 'gtk_doc=false',
+ 'tests=false',
+ ])
+- gmobile = gmobile_subp.get_variable('gmobile_dep')
+ gsound = dependency('gsound')
+ gudev = dependency('gudev-1.0', version: '>=232')
+ json_glib = dependency('json-glib-1.0')
+
+base-commit: 853bd6d7ea8455efea063ba7c4f29ce8c203285f
+--
+2.41.0
+
diff --git a/gnu/packages/patches/gdm-elogind-support.patch b/gnu/packages/patches/gdm-elogind-support.patch
index 5c8e3bd610..b27e000585 100644
--- a/gnu/packages/patches/gdm-elogind-support.patch
+++ b/gnu/packages/patches/gdm-elogind-support.patch
@@ -18,10 +18,10 @@ system and user units.
meson_options.txt | 5 +-
6 files changed, 66 insertions(+), 42 deletions(-)
-diff --git a/common/meson.build b/common/meson.build
-index 074dd92e..bca58f7c 100644
---- a/common/meson.build
-+++ b/common/meson.build
+Index: gdm-44.1/common/meson.build
+===================================================================
+--- gdm-44.1.orig/common/meson.build
++++ gdm-44.1/common/meson.build
@@ -11,7 +11,7 @@ libgdmcommon_src = files(
)
@@ -31,10 +31,10 @@ index 074dd92e..bca58f7c 100644
gobject_dep,
gio_dep,
gio_unix_dep,
-diff --git a/data/meson.build b/data/meson.build
-index 2dec4c23..c3452e1c 100644
---- a/data/meson.build
-+++ b/data/meson.build
+Index: gdm-44.1/data/meson.build
+===================================================================
+--- gdm-44.1.orig/data/meson.build
++++ gdm-44.1/data/meson.build
@@ -164,41 +164,53 @@ else
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
endif
@@ -114,10 +114,10 @@ index 2dec4c23..c3452e1c 100644
# XSession
if get_option('gdm-xsession')
-diff --git a/libgdm/meson.build b/libgdm/meson.build
-index 3f8cafbb..83e95151 100644
---- a/libgdm/meson.build
-+++ b/libgdm/meson.build
+Index: gdm-44.1/libgdm/meson.build
+===================================================================
+--- gdm-44.1.orig/libgdm/meson.build
++++ gdm-44.1/libgdm/meson.build
@@ -56,7 +56,7 @@ libgdm_deps = [
glib_dep,
gio_dep,
@@ -127,55 +127,46 @@ index 3f8cafbb..83e95151 100644
libgdmcommon_dep,
]
-diff --git a/meson.build b/meson.build
-index 845f673e..d0ca41ef 100644
---- a/meson.build
-+++ b/meson.build
-@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
- if xdmcp_dep.found() and get_option('tcp-wrappers')
+Index: gdm-44.1/meson.build
+===================================================================
+--- gdm-44.1.orig/meson.build
++++ gdm-44.1/meson.build
+@@ -100,16 +100,24 @@ if xdmcp_dep.found() and get_option('tcp
libwrap_dep = cc.find_library('wrap')
endif
--# systemd
+ # systemd
-systemd_dep = dependency('systemd')
-libsystemd_dep = dependency('libsystemd')
--if meson.version().version_compare('>= 0.53')
-- systemd_multiseat_x = find_program('systemd-multi-seat-x',
-- required: false,
-- dirs: [
-- systemd_dep.get_pkgconfig_variable('systemdutildir'),
-- '/lib/systemd',
-- '/usr/lib/systemd',
-- ])
-+
+-systemd_multiseat_x = find_program('systemd-multi-seat-x',
+- required: false,
+- dirs: [
+- systemd_dep.get_pkgconfig_variable('systemdutildir'),
+- '/lib/systemd',
+- '/usr/lib/systemd',
+- ])
+-systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
+logind_provider = get_option('logind-provider')
+systemd_dep = dependency('systemd', required: false)
+if logind_provider == 'systemd'
+ libsystemd_dep = dependency('libsystemd')
+ logind_dep = libsystemd_dep
-+ if meson.version().version_compare('>= 0.53')
-+ systemd_multiseat_x = find_program('systemd-multi-seat-x',
-+ required: false,
-+ dirs: [
-+ systemd_dep.get_pkgconfig_variable('systemdutildir'),
-+ '/lib/systemd',
-+ '/usr/lib/systemd',
-+ ])
-+ else
-+ systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
-+ endif
++ systemd_multiseat_x = find_program('systemd-multi-seat-x',
++ required: false,
++ dirs: [
++ systemd_dep.get_pkgconfig_variable('systemdutildir'),
++ '/lib/systemd',
++ '/usr/lib/systemd',
++ ])
+ systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
- else
-- systemd_multiseat_x = find_program('systemd-multi-seat-x', required: false)
++else
+ elogind_dep = dependency('libelogind')
+ logind_dep = elogind_dep
+ systemd_x_server = 'disabled'
- endif
--systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
-+
++endif
# Plymouth
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
# Check for Solaris auditing API (ADT)
-@@ -319,6 +328,7 @@ summary({
+@@ -319,6 +327,7 @@ summary({
'PAM Syslog': have_pam_syslog,
'Supports PAM Extensions': pam_extensions_supported,
'SeLinux': libselinux_dep.found(),
@@ -183,11 +174,11 @@ index 845f673e..d0ca41ef 100644
'Use GDM Xsession': get_option('gdm-xsession'),
'Use UserDisplayServer': get_option('user-display-server'),
'Use SystemdJournal': get_option('systemd-journal'),
-diff --git a/meson_options.txt b/meson_options.txt
-index 14e0b908..5135d7d6 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
+Index: gdm-44.1/meson_options.txt
+===================================================================
+--- gdm-44.1.orig/meson_options.txt
++++ gdm-44.1/meson_options.txt
+@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', va
option('ipv6', type: 'boolean', value: false, description: 'Enables compilation of IPv6 code.')
option('lang-file', type: 'string', value: '', description: 'File containing default language settings.')
option('libaudit', type: 'feature', value: 'auto', description: 'Add Linux audit support.')
@@ -195,7 +186,7 @@ index 14e0b908..5135d7d6 100644
option('log-dir', type: 'string', value: '/var/log/gdm', description: 'Log directory.')
option('pam-mod-dir', type: 'string', value: '', description: 'Directory to install PAM modules in.')
option('pam-prefix', type: 'string', value: '', description: 'Specify where PAM files go.')
-@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value: false, description: 'Build for Solaris
+@@ -27,8 +28,8 @@ option('solaris', type: 'boolean', value
option('split-authentication', type: 'boolean', value: true, description: 'Enable multiple simultaneous PAM conversations during login.')
option('sysconfsubdir', type: 'string', value: 'gdm', description: 'Directory name used under sysconfdir.')
option('systemd-journal', type: 'boolean', value: true, description: 'Use journald support.')
diff --git a/gnu/packages/patches/gegl-compatibility-old-librsvg.patch b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch
new file mode 100644
index 0000000000..3e5733f9fd
--- /dev/null
+++ b/gnu/packages/patches/gegl-compatibility-old-librsvg.patch
@@ -0,0 +1,80 @@
+From a99a93e5c9013bd4101f5058cdee7d0cf30234fe Mon Sep 17 00:00:00 2001
+Message-ID: <a99a93e5c9013bd4101f5058cdee7d0cf30234fe.1694554961.git.vivien@planete-kraus.eu>
+From: Jehan <jehan@girinstud.io>
+Date: Wed, 5 Jul 2023 21:18:19 +0200
+Subject: [PATCH] Issue #333: continuing to support librsvg 2.40.x (C
+ versions).
+
+Commit 9beeefcbe uses too new functions of librsvg. We could just bump
+the minimum required version but there are issues with Rust not being
+available on every platform yet. So instead, let's add some conditional
+code paths, so that it still builds with librsvg 2.40.x (which was the
+last versions fully in C) while we use newer code and no warnings when
+using newer versions.
+---
+ operations/external/svg-load.c | 25 ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/operations/external/svg-load.c b/operations/external/svg-load.c
+index 3312a0c0a..15c0b30b7 100644
+--- a/operations/external/svg-load.c
++++ b/operations/external/svg-load.c
+@@ -76,16 +76,25 @@ query_svg (GeglOperation *operation)
+ {
+ GeglProperties *o = GEGL_PROPERTIES (operation);
+ Priv *p = (Priv*) o->user_data;
++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ gdouble out_width, out_height;
++#else
++ RsvgDimensionData dimensions;
++#endif
+
+ g_return_val_if_fail (p->handle != NULL, FALSE);
+
+- rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
+-
+ p->format = babl_format ("R'G'B'A u8");
+
++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
++ rsvg_handle_get_intrinsic_size_in_pixels (p->handle, &out_width, &out_height);
+ p->height = out_height;
+- p->width = out_width;
++ p->width = out_width;
++#else
++ rsvg_handle_get_dimensions (p->handle, &dimensions);
++ p->height = dimensions.height;
++ p->width = dimensions.width;
++#endif
+
+ return TRUE;
+ }
+@@ -98,10 +107,12 @@ load_svg (GeglOperation *operation,
+ {
+ GeglProperties *o = GEGL_PROPERTIES (operation);
+ Priv *p = (Priv*) o->user_data;
+- RsvgRectangle svg_rect = {0.0, 0.0, width, height};
+ cairo_surface_t *surface;
+ cairo_t *cr;
+- GError *error = NULL;
++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
++ GError *error = NULL;
++ RsvgRectangle svg_rect = {0.0, 0.0, width, height};
++#endif
+
+ g_return_val_if_fail (p->handle != NULL, -1);
+
+@@ -115,7 +126,11 @@ load_svg (GeglOperation *operation,
+ (double)height / (double)p->height);
+ }
+
++#if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ rsvg_handle_render_document (p->handle, cr, &svg_rect, &error);
++#else
++ rsvg_handle_render_cairo (p->handle, cr);
++#endif
+
+ cairo_surface_flush (surface);
+
+--
+2.41.0
+
diff --git a/gnu/packages/patches/gitg-fix-positional-argument.patch b/gnu/packages/patches/gitg-fix-positional-argument.patch
deleted file mode 100644
index 1d3513921c..0000000000
--- a/gnu/packages/patches/gitg-fix-positional-argument.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1978973b12848741b08695ec2020bac98584d636 Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Mon, 24 Jan 2022 12:17:52 +0000
-Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
-
-Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
-
-data/meson.build:8:0: ERROR: Function does not take positional arguments.
-data/meson.build:44:0: ERROR: Function does not take positional arguments.
----
- data/meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/data/meson.build b/data/meson.build
-index a8b90fd1..2413531d 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -6,7 +6,6 @@ desktop_config = configuration_data()
- desktop_config.set('icon', application_id)
- desktop_config.set('binary', gitg_name)
- i18n.merge_file(
-- desktop,
- type: 'desktop',
- input: configure_file(
- input: desktop + '.in.in',
-@@ -42,7 +41,6 @@ appdata_config = configuration_data()
- appdata_config.set('app-id', application_id)
- appdata_config.set('gettext', gitg_name)
- i18n.merge_file(
-- appdata,
- type: 'xml',
- input: configure_file(
- input: appdata + '.in.in',
---
-GitLab
-
diff --git a/gnu/packages/patches/glib-skip-failing-test.patch b/gnu/packages/patches/glib-skip-failing-test.patch
index c7706aaa74..3fde5cb1e2 100644
--- a/gnu/packages/patches/glib-skip-failing-test.patch
+++ b/gnu/packages/patches/glib-skip-failing-test.patch
@@ -10,12 +10,13 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build
index a926ae0..4fdbe7a 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
-@@ -317,10 +317,6 @@ if host_machine.system() != 'windows'
+@@ -317,11 +317,6 @@ if host_machine.system() != 'windows'
'extra_sources' : [extra_sources, gdbus_test_codegen_generated, gdbus_test_codegen_generated_interface_info],
'c_args' : ['-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_32'],
},
- 'gdbus-threading' : {
- 'extra_sources' : extra_sources,
+- 'extra_programs': extra_programs,
- 'suite' : ['slow'],
- },
'gmenumodel' : {
diff --git a/gnu/packages/patches/gmobile-make-it-installable.patch b/gnu/packages/patches/gmobile-make-it-installable.patch
new file mode 100644
index 0000000000..9db6554877
--- /dev/null
+++ b/gnu/packages/patches/gmobile-make-it-installable.patch
@@ -0,0 +1,89 @@
+From c1ea43a45f4588f21752b0ad679c43350a9c8905 Mon Sep 17 00:00:00 2001
+Message-ID: <c1ea43a45f4588f21752b0ad679c43350a9c8905.1698604357.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 19:00:44 +0100
+Subject: [PATCH] Install gmobile as a shared library.
+
+Tracked at https://gitlab.gnome.org/guidog/gmobile/-/issues/1
+
+* src/meson.build: Install the header files. Import pkgconfig.
+Generate a pkg-config definition.
+(gm_lib): use "library", not "static_library". Install it.
+(gmobile_gir): Install it.
+* meson.build: Install gm-config.h.
+---
+ meson.build | 1 +
+ src/meson.build | 22 +++++++++++++++++++---
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e9f6c62..51ebeac 100644
+--- a/meson.build
++++ b/meson.build
+@@ -83,6 +83,7 @@ root_inc = include_directories('.')
+ configure_file(
+ output: 'gm-config.h',
+ configuration: config_h,
++ install_dir: get_option('includedir')
+ )
+
+ subdir('data')
+diff --git a/src/meson.build b/src/meson.build
+index ee98a39..3dedbe4 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,3 +1,5 @@
++pkg = import('pkgconfig')
++
+ gm_deps = [
+ gio_dep,
+ glib_dep,
+@@ -37,18 +39,33 @@ gm_c_args = [
+ '-DG_LOG_DOMAIN="gmobile"',
+ ]
+
+-gm_lib = static_library(
++gm_lib = library(
+ 'gmobile',
+ gm_sources,
+ include_directories: root_inc,
+ c_args: gm_c_args,
+- dependencies: gm_deps)
++ dependencies: gm_deps,
++ install: true)
++
++pkg.generate(gm_lib)
+
+ gmobile_dep = declare_dependency(
+ include_directories: [root_inc, include_directories('.')],
+ dependencies: gm_deps,
+ link_with: gm_lib)
+
++install_headers(
++ 'gmobile.h',
++ 'gm-cutout.h',
++ 'gm-device-info.h',
++ 'gm-device-tree.h',
++ 'gm-display-panel.h',
++ 'gm-error.h',
++ 'gm-main.h',
++ 'gm-rect.h',
++ 'gm-svg-path.h',
++ 'gm-timeout.h')
++
+ if get_option('gtk_doc')
+ gmobile_gir_extra_args = [
+ '--c-include=gmobile.h',
+@@ -66,7 +83,6 @@ if get_option('gtk_doc')
+ identifier_prefix: 'Gm',
+ link_with: gm_lib,
+ includes: ['Gio-2.0'],
+- install: false,
+ extra_args: gmobile_gir_extra_args,
+ )
+ endif
+
+base-commit: 382fc89472176d2f1d435517cad53d969d8b8eff
+--
+2.41.0
+
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+ PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
+ PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
+ PANEL_TYPE("location", cc_location_panel_get_type, NULL),
+- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
+ PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
+ PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),
diff --git a/gnu/packages/patches/gtk2-harden-list-store.patch b/gnu/packages/patches/gtk2-harden-list-store.patch
new file mode 100644
index 0000000000..f49dc3bc77
--- /dev/null
+++ b/gnu/packages/patches/gtk2-harden-list-store.patch
@@ -0,0 +1,42 @@
+Backport the implementation of gtk_list_store_iter_is_valid from gtk+-3.
+
+Index: gtk+-2.24.33/gtk/gtkliststore.c
+===================================================================
+--- gtk+-2.24.33.orig/gtk/gtkliststore.c
++++ gtk+-2.24.33/gtk/gtkliststore.c
+@@ -1195,16 +1195,31 @@ gboolean
+ gtk_list_store_iter_is_valid (GtkListStore *list_store,
+ GtkTreeIter *iter)
+ {
++ GSequenceIter *seq_iter;
++
+ g_return_val_if_fail (GTK_IS_LIST_STORE (list_store), FALSE);
+ g_return_val_if_fail (iter != NULL, FALSE);
+
+- if (!VALID_ITER (iter, list_store))
+- return FALSE;
++ /* can't use VALID_ITER() here, because iter might point
++ * to random memory.
++ *
++ * We MUST NOT dereference it.
++ */
+
+- if (g_sequence_iter_get_sequence (iter->user_data) != list_store->seq)
++ if (iter == NULL ||
++ iter->user_data == NULL ||
++ list_store->stamp != iter->stamp)
+ return FALSE;
+
+- return TRUE;
++ for (seq_iter = g_sequence_get_begin_iter (list_store->seq);
++ !g_sequence_iter_is_end (seq_iter);
++ seq_iter = g_sequence_iter_next (seq_iter))
++ {
++ if (seq_iter == iter->user_data)
++ return TRUE;
++ }
++
++ return FALSE;
+ }
+
+ static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_source,
diff --git a/gnu/packages/patches/libcall-ui-make-it-installable.patch b/gnu/packages/patches/libcall-ui-make-it-installable.patch
new file mode 100644
index 0000000000..078422913d
--- /dev/null
+++ b/gnu/packages/patches/libcall-ui-make-it-installable.patch
@@ -0,0 +1,81 @@
+From 1a79c18e85232a6f56a58ec99271b92d5b0e6dca Mon Sep 17 00:00:00 2001
+Message-ID: <1a79c18e85232a6f56a58ec99271b92d5b0e6dca.1698606228.git.vivien@planete-kraus.eu>
+From: Vivien Kraus <vivien@planete-kraus.eu>
+Date: Sun, 29 Oct 2023 19:42:55 +0100
+Subject: [PATCH] Install libcall-ui.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Tracked at https://gitlab.gnome.org/World/Phosh/libcall-ui/-/issues/27
+
+* src/meson.build: Require pkgconfig. Install a pkg-config
+definition. Install the headers.
+(call_ui_lib): Install it. Use “library”, not “static_library”.
+* meson.build (config_h): Install the config.h file.
+(call_ui_enum_sources): Install the header file.
+---
+ meson.build | 1 +
+ src/meson.build | 22 +++++++++++++++++++---
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 6d96178..80514ba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -93,6 +93,7 @@ configure_file(
+ input: 'cui-config.h.in',
+ output: 'cui-config.h',
+ configuration: config_h,
++ install_dir: get_option('includedir')
+ )
+
+ #subdir('data')
+diff --git a/src/meson.build b/src/meson.build
+index bdb347c..2f9fa0c 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,7 +1,11 @@
++pkg = import('pkgconfig')
++
+ call_ui_enum_headers = files(['cui-call.h',
+ ])
+ call_ui_enum_sources = gnome.mkenums_simple('cui-enums',
+- sources : call_ui_enum_headers)
++ sources : call_ui_enum_headers,
++ install_header: true,
++ install_dir: get_option('includedir'))
+
+ call_ui_resources = gnome.compile_resources(
+ 'cui-resources',
+@@ -50,11 +54,23 @@ call_ui_c_args = [
+ '-DG_LOG_DOMAIN="Cui"',
+ ]
+
+-call_ui_lib = static_library('call-ui',
++call_ui_lib = library('call-ui',
+ call_ui_sources,
+ c_args: call_ui_c_args,
+ include_directories: [ root_inc, src_inc ],
+- dependencies: call_ui_deps)
++ dependencies: call_ui_deps,
++ install: true)
++
++pkg.generate(call_ui_lib)
++
++install_headers(
++ 'call-ui.h',
++ 'cui-call.h',
++ 'cui-call-display.h',
++ 'cui-main.h',
++ 'cui-dialpad.h',
++ 'cui-keypad.h',
++)
+
+ libcall_ui_dep = declare_dependency(
+ sources: call_ui_enum_sources,
+
+base-commit: 817d770cfa6876d37c4a6d09b00c9bdedfdce8b7
+--
+2.41.0
+
diff --git a/gnu/packages/patches/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 1490c783fa..7a54baba4d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -63,6 +63,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/telephony.scm b/gnu/packages/telephony.scm
index 3092c39b24..fb239f1ba8 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -51,6 +51,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages sqlite)
@@ -94,6 +95,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system qt))
(define-public phonesim
@@ -1088,3 +1090,106 @@ very useful to emulate thousands of user agents calling your SIP system.")
(license (list license:gpl2+ ; sipp's main license
license:bsd-3 ; send_packets.c, send_packets.h
license:zlib)))) ; md5.c, md5.h
+
+(define-public sofia-sip
+ (package
+ (name "sofia-sip")
+ (version "1.13.16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/freeswitch/sofia-sip")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "sofia-sip" version))
+ (sha256
+ (base32
+ "1hi9np49wcq91d1w93qi6by40qnr348hpzc2wkw3l955zh1n30lr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; run_addrinfo requires /etc/services for the 'echo' service.
+ #:make-flags #~'("XFAIL_TESTS = run_addrinfo"
+ ;; libsofia-sip-ua/nta/Makefile.am sets
+ ;; TESTS_ENVIRONMENT = $(SHELL), which is odd, because
+ ;; according to the Automake manual, it should be
+ ;; AM_TESTS_ENVIRONMENT, and it should end with a
+ ;; semicolon.
+ "TESTS_ENVIRONMENT = \
+export CHECK_NTA_VERBOSE=10; \
+export CHECK_NUA_VERBOSE=10; ")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-shebangs
+ (lambda _
+ (patch-shebang "autogen.sh")))
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ ;; run_test_nta is disabled because it fails randomly (not for a
+ ;; timeout-related reason). The test suite is otherwise very
+ ;; long, most tests backed by libcheck timeout even with a ×100
+ ;; multiplier. The tests are disabled here rather than put to
+ ;; XFAIL_TESTS because it saves compilation time. (see:
+ ;; https://github.com/freeswitch/sofia-sip/issues/234)
+ (substitute* "libsofia-sip-ua/nta/Makefile.am"
+ (("TESTS =")
+ "TESTS = run_test_nta_api\n# Disabled: "))
+ (substitute* "libsofia-sip-ua/nua/Makefile.am"
+ (("TESTS \\+=")
+ "TESTS +=\n# Disabled: "))
+ ;; The glib tests both wait forever without a timeout.
+ (substitute* "libsofia-sip-ua-glib/su-glib/Makefile.am"
+ (("TESTS =")
+ "TESTS =\n# Disabled: "))
+ ;; Another timeout failing test:
+ (substitute* "tests/Makefile.am"
+ (("TESTS = test_nua")
+ "TESTS ="))
+ ;; This test fails for unknown reason:
+ (substitute* "tests/Makefile.am"
+ (("TESTS \\+= check_dlopen_sofia check_sofia")
+ "TESTS += check_dlopen_sofia")))))))
+ (inputs
+ (list glib
+ openssl
+ zlib))
+ (native-inputs
+ (list autoconf
+ autoconf-archive
+ automake
+ check
+ libtool
+ pkg-config))
+ (home-page "https://sofia-sip.sourceforge.net/")
+ (synopsis "SIP user-agent library")
+ (description "Sofia-SIP is a @acronym{SIP, Session Initiation Protocol}
+User-Agent library, compliant with the
+@url{https://datatracker.ietf.org/doc/html/rfc3261, IETF RFC3261}
+specification. It can be used as a building block for @acronym{SIP} client
+software foruses such as @acronym{VoIP, Voice over @acronym{IP, Internet
+Protocol}}, @acronym{IM, Instant Messaging}, and many other real-time and
+person-to-person communication services.")
+ (license license:lgpl2.1)))
+
+(define-public libcallaudio
+ (package
+ (name "libcallaudio")
+ (version "0.1.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mobian1/callaudiod/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qnllb28101c2ss1k3iwr04gljfyjqmbla5csj6vkq1y63aagr9s"))))
+ (build-system meson-build-system)
+ (inputs (list alsa-lib glib pulseaudio))
+ (native-inputs
+ (list `(,glib "bin") ;for gdbus-codegen
+ pkg-config))
+ (home-page "https://gitlab.com/mobian1/callaudiod")
+ (synopsis "Library for audio routing during voice calls")
+ (description "This package provides @command{callaudiod}, a daemon to
+route audio during phone calls, and a library.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 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 d38882046d..3033102926 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..527195dbff 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.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
- (base32 "0zq32rn34v7hzr53s100r77aglbi6wffp9b13bcj31k6cfi53q3x"))
+ (base32 "066i1dswmrgvxfb1fyv93pkkl8zqy16ps62j6bvbkw97hqzal82p"))
(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,34 +281,34 @@ 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
- (modify-inputs (package-propagated-inputs webkitgtk)
+ (modify-inputs (package-propagated-inputs webkitgtk-for-gtk3)
(replace "libsoup" libsoup-minimal-2)))))
(define-public wpewebkit
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 01e48fda57..ec68deb31a 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -88,7 +88,7 @@
(define-public libxmlb
(package
(name "libxmlb")
- (version "0.3.12")
+ (version "0.3.14")
(source
(origin
(method git-fetch)
@@ -98,7 +98,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0v9s2k5saxrs0ssjyg1zxaibybikvaw7fip6sy0b8ixzax9r5y0c"))))
+ (base32 "0qcp881s559wc73db91vjccrv0d3zva87l5jdp5w0ygzz6bmg5cn"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 82c6940780..154e3079d3 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -82,6 +82,7 @@
#:select (mount-flags->bit-mask
swap-space->flags-bit-mask))
#:use-module (guix gexp)
+ #:use-module ((guix packages) #:select (package-version))
#:use-module (guix records)
#:use-module (guix modules)
#:use-module (guix pki)
@@ -152,11 +153,15 @@
udev-configuration
udev-configuration?
udev-configuration-rules
+ udev-configuration-hardware
udev-service-type
udev-service ; deprecated
udev-rule
+ udev-hardware
file->udev-rule
+ file->udev-hardware
udev-rules-service
+ udev-hardware-service
login-configuration
login-configuration?
@@ -2232,11 +2237,13 @@ command that allows you to share pre-built binaries with others over HTTP.")))
(udev udev-configuration-udev ;file-like
(default eudev))
(rules udev-configuration-rules ;list of file-like
- (default '())))
+ (default '()))
+ (hardware udev-configuration-hardware ;list of file-like
+ (default '())))
-(define (udev-rules-union packages)
- "Return the union of the @code{lib/udev/rules.d} directories found in each
-item of @var{packages}."
+(define (udev-configurations-union subdirectory packages)
+ "Return the union of the lib/udev/SUBDIRECTORY directories found in each
+item of PACKAGES."
(define build
(with-imported-modules '((guix build union)
(guix build utils))
@@ -2247,51 +2254,64 @@ item of @var{packages}."
(srfi srfi-26))
(define %standard-locations
- '("/lib/udev/rules.d" "/libexec/udev/rules.d"))
+ '(#$(string-append "/lib/udev/" subdirectory)
+ #$(string-append "/libexec/udev/" subdirectory)))
- (define (rules-sub-directory directory)
- ;; Return the sub-directory of DIRECTORY containing udev rules, or
- ;; #f if none was found.
+ (define (configuration-sub-directory directory)
+ ;; Return the sub-directory of DIRECTORY containing udev
+ ;; configurations, or #f if none was found.
(find directory-exists?
(map (cut string-append directory <>) %standard-locations)))
(union-build #$output
- (filter-map rules-sub-directory '#$packages)))))
+ (filter-map configuration-sub-directory '#$packages)))))
+
+ (computed-file (string-append "udev-" subdirectory) build))
+
+(define (udev-rules-union packages)
+ "Return the union of the lib/udev/rules.d directories found in each
+item of PACKAGES."
+ (udev-configurations-union "rules.d" packages))
- (computed-file "udev-rules" build))
+(define (udev-configuration-file subdirectory file-name contents)
+ "Return a directory with a udev configuration file FILE-NAME containing CONTENTS."
+ (file->udev-configuration-file subdirectory file-name (plain-file file-name contents)))
(define (udev-rule file-name contents)
"Return a directory with a udev rule file FILE-NAME containing CONTENTS."
- (computed-file file-name
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
-
- (define rules.d
- (string-append #$output "/lib/udev/rules.d"))
+ (udev-configuration-file "rules.d" file-name contents))
- (mkdir-p rules.d)
- (call-with-output-file
- (string-append rules.d "/" #$file-name)
- (lambda (port)
- (display #$contents port)))))))
+(define (udev-hardware file-name contents)
+ "Return a directory with a udev hardware file FILE-NAME containing CONTENTS."
+ (udev-configuration-file "hwdb.d" file-name contents))
-(define (file->udev-rule file-name file)
- "Return a directory with a udev rule file FILE-NAME which is a copy of FILE."
+(define (file->udev-configuration-file subdirectory file-name file)
+ "Return a directory with a udev configuration file FILE-NAME which is a copy
+ of FILE."
(computed-file file-name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
- (define rules.d
- (string-append #$output "/lib/udev/rules.d"))
+ (define configuration-directory
+ (string-append #$output
+ "/lib/udev/"
+ #$subdirectory))
(define file-copy-dest
- (string-append rules.d "/" #$file-name))
+ (string-append configuration-directory "/" #$file-name))
- (mkdir-p rules.d)
+ (mkdir-p configuration-directory)
(copy-file #$file file-copy-dest)))))
+(define (file->udev-rule file-name file)
+ "Return a directory with a udev rule file FILE-NAME which is a copy of FILE."
+ (file->udev-configuration-file "rules.d" file-name file))
+
+(define (file->udev-hardware file-name file)
+ "Return a directory with a udev hardware file FILE-NAME which is a copy of FILE."
+ (file->udev-configuration-file "hwdb.d" file-name file))
+
(define kvm-udev-rule
;; Return a directory with a udev rule that changes the group of /dev/kvm to
;; "kvm" and makes it #o660. Apparently QEMU-KVM used to ship this rule,
@@ -2399,13 +2419,27 @@ item of @var{packages}."
(define (udev-etc config)
(match-record config <udev-configuration>
- (udev rules)
+ (udev rules hardware)
+ (let* ((hardware
+ (udev-configurations-union "hwdb.d" (cons* udev hardware)))
+ (hwdb.bin
+ (computed-file
+ "hwdb.bin"
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (setenv "UDEV_HWDB_PATH" #$hardware)
+ (invoke #+(file-append udev "/bin/udevadm")
+ "hwdb"
+ "--update"
+ "-o" #$output))))))
`(("udev"
,(file-union "udev"
`(("udev.conf" ,udev.conf)
("rules.d"
,(udev-rules-union (cons* udev kvm-udev-rule
- rules)))))))))
+ rules)))
+ ("hwdb.bin" ,hwdb.bin))))))))
(define udev-service-type
(service-type (name 'udev)
@@ -2414,12 +2448,15 @@ item of @var{packages}."
udev-shepherd-service)
(service-extension etc-service-type udev-etc)))
(compose concatenate) ;concatenate the list of rules
- (extend (lambda (config rules)
+ (extend (lambda (config extensions)
(let ((initial-rules
- (udev-configuration-rules config)))
+ (udev-configuration-rules config))
+ (initial-hardware
+ (udev-configuration-hardware config)))
(udev-configuration
(inherit config)
- (rules (append initial-rules rules))))))
+ (rules (append initial-rules extensions))
+ (hardware (append initial-hardware extensions))))))
(default-value (udev-configuration))
(description
"Run @command{udev}, which populates the @file{/dev}
@@ -2454,6 +2491,19 @@ instance."
(description "This service adds udev rules."))))
(service type #f)))
+(define (udev-hardware-service name hardware-files)
+ "Return a service that extends udev-service-type with HARDWARE-FILES, named
+NAME-udev-hardware."
+ (let* ((name (symbol-append name '-udev-hardware))
+ (udev-extension (const (list hardware-files)))
+ (type (service-type
+ (name name)
+ (extensions (list
+ (service-extension
+ udev-service-type udev-extension)))
+ (description "This service adds udev hardware files."))))
+ (service type #f)))
+
(define (swap-space->shepherd-service-name space)
(let ((target (swap-space-target space)))
(symbol-append 'swap-
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 5a0c634393..1edcc6eb9e 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -163,7 +163,7 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
(group "messagebus")
(system? #t)
(comment "D-Bus system bus user")
- (home-directory "/var/run/dbus")
+ (home-directory "/run/dbus")
(shell (file-append shadow "/sbin/nologin")))))
(define dbus-setuid-programs
@@ -186,7 +186,38 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
(let ((user (getpwnam "messagebus")))
;; This directory contains the daemon's socket so it must be
;; world-readable.
- (mkdir-p/perms "/var/run/dbus" user #o755))
+ (mkdir-p/perms "/run/dbus" user #o755))
+
+ (catch 'system-error
+ (lambda ()
+ (symlink "/run/dbus" "/var/run/dbus"))
+ (lambda args
+ (let ((errno (system-error-errno args)))
+ (cond
+ ((= errno EEXIST)
+ (let ((existing-name
+ (false-if-exception
+ (readlink "/var/run/dbus"))))
+ (unless (equal? existing-name "/run/dbus")
+ ;; Move the content of /var/run/dbus to /run/dbus, and
+ ;; retry.
+ (let ((dir (opendir "/var/run/dbus")))
+ (let loop ((next (readdir dir)))
+ (cond
+ ((eof-object? next) (closedir dir))
+ ((member next '("." "..")) (loop (readdir dir)))
+ (else
+ (begin
+ (rename-file (string-append "/var/run/dbus/" next)
+ (string-append "/run/dbus/" next))
+ (loop (readdir dir))))))))
+ (rmdir "/var/run/dbus")
+ (symlink "/run/dbus" "/var/run/dbus")))
+ (else
+ (format (current-error-port)
+ "Failed to symlink /run/dbus to /var/run/dbus: ~s~%"
+ (strerror errno))
+ (error "cannot create /var/run/dbus"))))))
(unless (file-exists? "/etc/machine-id")
(format #t "creating /etc/machine-id...~%")
@@ -210,7 +241,7 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
'(#:environment-variables '("DBUS_VERBOSE=1")
#:log-file "/var/log/dbus-daemon.log")
'())
- #:pid-file "/var/run/dbus/pid"))
+ #:pid-file "/run/dbus/pid"))
(stop #~(make-kill-destructor)))))))
(define dbus-root-service-type
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 5d2fb8dc64..031f1f59c6 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1572,7 +1572,7 @@ MIME type."
"Return a derivation that builds the @file{mime.cache} database from manifest
entries. It's used to query the MIME type of a given file."
(define shared-mime-info ; lazy reference
- (module-ref (resolve-interface '(gnu packages gnome)) 'shared-mime-info))
+ (module-ref (resolve-interface '(gnu packages freedesktop)) 'shared-mime-info))
(mlet %store-monad ((glib (manifest-lookup-package manifest "glib")))
(define build