1
0
forked from tribes/guix

Compare commits

...

72 Commits

Author SHA1 Message Date
Noé Lopez cf76e5a1b9 gnu: Add libglycin.
We split the glycin loaders from libglycin to avoid dependency circles between
gdk-pixbuf and glycin:

glycin-loaders depends transitively on gdk-pixbuf. And gdk-pixbuf must depend
on glycin at some point, since the transition plan is that it starts using it
as a backend instead of its builtin loaders.

With this commit, gdk-pixbuf can depend on libglycin; avoiding the extra
dependencies brought by the loaders.

This split is also recommended in Glycin’s README.

* gnu/packages/gnome.scm
(libglycin): New variable.
(glycin-loaders): Define as inherited package of libglycin.
(loupe, nautilus)[inputs]: Add libglycin.

Change-Id: I424b2227882b9ca1cbd9c5130ac7239c22d59e56
2026-05-29 11:56:43 +02:00
Noé Lopez f3db2a83b4 gnu: rust-glycin-3: Update to 3.1.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[glycin]:
Update rust dependencies.
* gnu/packages/rust-sources.scm (rust-glycin-3): Update to 3.1.0.

Change-Id: Ib09a7f1ff0014e05ca2524a5aea6900b201f00ba
2026-05-29 11:56:41 +02:00
Maxim Cournoyer 9db32e6573 gnu: glycin-loaders: Update to 2.1.1.
* gnu/packages/gnome.scm (glycin-loaders): Update to 2.1.1.
[native-inputs]: Update test-images input.
* gnu/packages/rust-crates.scm: Re-import crates and delete unused ones.
Review a few forgotten crates for bundled sources, removing comments.

Change-Id: I71b5b98ecdc12bd85222dccb5dcb3782ecb72671
2026-05-20 20:54:36 +02:00
Maxim Cournoyer 51288fcc9e gnu: gvfs: Update to 1.58.1.
* gnu/packages/gnome.scm (gvfs): Update to 1.58.1.

Change-Id: I538b2b99a0f21702ac98c589c0a4d0a23b4724ee
2026-05-20 20:54:35 +02:00
Maxim Cournoyer 38e8f129c4 gnu: msgraph: Update to 0.3.4.
* gnu/packages/gnome.scm (msgraph): Update to 0.3.4.

Change-Id: Iffd639f2ac5739ffa536a2514135ae3bbbb104af
2026-05-20 20:54:35 +02:00
Maxim Cournoyer c62591bde7 gnu: libgsf: Update to 1.14.55.
* gnu/packages/gnome.scm (libgsf): Update to 1.14.55.

Change-Id: I58c7e9a690ae6656aa3bf960109e0459a6629aef
2026-05-20 20:54:35 +02:00
Maxim Cournoyer 1add19280c gnu: gnome-desktop: Update to 44.5.
* gnu/packages/gnome.scm (gnome-desktop): Update to 44.5.
[#:phases] {disable-failing-tests}: New phase.

Change-Id: I878628048649797f020c4919a9be97f9e3b0549d
2026-05-20 20:54:35 +02:00
Maxim Cournoyer ba86d5f655 gnu: gnome-online-accounts: Update to 3.56.4.
* gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.56.4.

Change-Id: I226970a8db6bcb5c61ce33c5d581b0082b628701
2026-05-20 20:54:35 +02:00
Maxim Cournoyer 762ded35ef gnu: gtk-doc: Update to 1.35.1.
* gnu/packages/gtk.scm (gtk-doc): Update to 1.35.1.

Change-Id: I5f6c59b7d873dd838982bbd71464d43c84ea42ba
2026-05-20 20:54:35 +02:00
Maxim Cournoyer ff65b44e7d gnu: glade3: Fix build, and wrap to render icons.
* gnu/packages/gnome.scm (glade3) [#:glib-or-gtk]: New.
[#:phases] {skip-gjs-test}: Delete.
{skip-modules-test}: New.

Change-Id: I71397e22835f37cb83cef517ee0c9116f706cfc9
2026-05-20 20:54:35 +02:00
Maxim Cournoyer bbd0e658e0 gnu: gjs: Update to 1.88.0.
* gnu/packages/gnome.scm (gjs): Update to 1.88.0.
[source] <snippet>: Update; unbundle most subprojects.
[#:modules]: New.
[#:configure-flags]: Delete.
[#:phases] {pre-check}: Delete, moving relevant bits to...
{check}: ... this new override phase, which is ordered after install.
{sanitize-pkg-config-files}: New.
[native-inputs]: Add gnome-desktop-testing, sysprof.  Replace
xorg-server-for-tests with xvfb-run.
[propagated-inputs]: Remove cairo.  Add glib.  Move mozjs to...
[inputs]: ... here.

Change-Id: I13d20c931dc68cdedebb8952ebf44d31caa6b684
2026-05-20 20:54:35 +02:00
Maxim Cournoyer cd8c4bd53d gnu: gjs: Update to 1.86.0.
* gnu/packages/gnome.scm (gjs): Update to 1.86.0.
[inputs]: Move gtk+ to...
[native-inputs]: ... here.
[home-page]: Update.

Change-Id: Iae26a02d3ba343c8a46076745cd8a053ebedcbb4
2026-05-20 20:54:34 +02:00
Noé Lopez 010a60bb90 gnu: mozjs: Keep API compatibility.
When changing to the icecat source, these two symbols are renamed.  We define
aliases to their canonical name.

* gnu/packages/gnuzilla.scm (mozjs)[arguments]<#:phases>: Add phase.

Change-Id: Ifdd09ebab2767faff71b558c7ffb622d101448b5
2026-05-20 20:54:34 +02:00
Maxim Cournoyer adb2f5d47c gnu: mozjs: Apply patch to resolve an error in the gjs build.
The headers of mozjs would previous return "#error "Unsupported OS?" when
building a recent gjs.

* gnu/packages/patches/mozjs-xp-win.patch: New patch.
* gnu/packages/gnuzilla.scm (mozjs): Apply it.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I9b3fb0d13a41524e6047940bc0759a218c69b277
2026-05-20 20:54:34 +02:00
Maxim Cournoyer 9a0bd7eb7a gnu: mozjs: Update to 140.10.1-gnu1.
* gnu/packages/gnuzilla.scm (mozjs): Update to 140.10.1-gnu1.
[version, source]: Use the same as icecat.  Fixes the TODO.
(mozjs, mozjs-128, mozjs-115): Move below icecat.

Co-Authored-By: Noé Lopez <noelopez@free.fr>
Change-Id: Ibe07c3124368171204b44d7d14a3952b3d68fb23
2026-05-20 20:54:34 +02:00
Maxim Cournoyer 79a08015a8 gnu: libmanette: Update to 0.2.13.
* gnu/packages/games.scm (libmanette): Update to 0.2.13.

Change-Id: Icf032e5411f93f64f847597407c2ba2b5a700496
2026-05-20 20:54:34 +02:00
Maxim Cournoyer 2a0f5a26a9 gnu: sysprof: Update to 49.0.
* gnu/packages/gnome.scm (sysprof): Update to 49.0.

Change-Id: If2d794cf959f1edd3b67ba8588a9193b54115d34
2026-05-20 20:54:34 +02:00
Maxim Cournoyer d6ed5db055 gnu: at-spi2-core: Update to 2.60.0.
* gnu/packages/gtk.scm (at-spi2-core): Update to 2.60.0.

Change-Id: I92d8208d689a0b148102d2bc3d84c693020924a8
2026-05-20 20:54:34 +02:00
Maxim Cournoyer c285fb5618 gnu: adwaita-icon-theme: Update to 49.0.
* gnu/packages/gnome.scm (adwaita-icon-theme): Update to 49.0.

Change-Id: If6cfbf9bd306c5a93e13bbbe6ac2e7e9f1ea2474
2026-05-20 20:54:34 +02:00
Maxim Cournoyer fd059abc5c gnu: libadwaita: Update to 1.8.4.
* gnu/packages/gnome.scm (libadwaita): Update to 1.8.4.

Change-Id: I106464421f494ccb4a36285c4b0be841013030cd
2026-05-20 20:54:33 +02:00
Maxim Cournoyer 338cc52cf6 gnu: tinysparql: Update to 3.10.1.
* gnu/packages/gnome.scm (tinysparql): Update to 3.10.1.

Change-Id: I182daf164f9da39662acb4e2b6d991c257010f8b
2026-05-20 20:54:33 +02:00
Maxim Cournoyer 935c71d6f0 gnu: elogind: Update to 257.14.
* gnu/packages/freedesktop.scm (elogind): Update to 257.14.

Change-Id: I894dbc4a34b82c1d1502f55a0da2de620e71d373
2026-05-20 20:54:33 +02:00
Noé Lopez 13b5d22946 build: glib-or-gtk: Export %gdk-pixbuf-loaders-directory.
* guix/build/glib-or-gtk-build-system.scm: Export it.
* guix/build-system/glib-or-gtk.scm: Re-export it.

Change-Id: I5f1c307b05b906243fcc66ae1c0363176c628073
2026-05-20 20:52:33 +02:00
Noé Lopez bb9cd7d41d gnu: librsvg: Install loader in right directory.
Before, it would be installed outside of the “loaders” directory, due to an
oversight in the substitution. We can use the new
%gdk-pixbuf-loaders-directory variable instead.

* gnu/packages/gnome.scm (librsvg)[arguments]<#:phases>: Fix path of
gdk-pixbuf loader.

Change-Id: I1618608d466ad7fdb344b1dcce9a69ff7fcad7af
2026-05-20 20:41:34 +02:00
Noé Lopez 25ca142fa2 build: glib-or-gtk: Find gdk-pixbuf loaders correctly.
The current approach to finding the loaders depends on an implicit naming
assumption. However it differs from what is actually used by gdk-pixbuf.

The correct approach is to take all module (.so) files in the loaders
directory (not in the whole input) as is done in gdk-pixbuf-query-loaders:
<https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/blob/361cfd5e235af26a32e4b4015606ae3dbe1d952f/gdk-pixbuf/queryloaders.c#L449>.

See also: <https://codeberg.org/guix/guix/pulls/8212#issuecomment-14661621>.

* guix/build/glib-or-gtk-build-system.scm
(%gdk-pixbuf-loaders-directory): New variable.
(generate-gdk-pixbuf-loaders-cache): Change logic to find loaders.

Reviewed-By: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Reviewed-By: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Noé Lopez <noelopez@free.fr>
Merges: guix/guix!8545
Change-Id: Idb9023775ac47019c93b291286f3c67f09b82857
2026-05-12 11:53:36 +02:00
Noé Lopez ae23962fa6 gnu: libtracefs: Update to 1.8.3.
* gnu/packages/linux.scm (libtracefs): Update to 1.8.3 and switch to
meson-build-system.
[native-inputs]: Add bison and flex.

Change-Id: If92fe0f3b16547129170492fc91a7b583da4ea73
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:54 +02:00
Maxim Cournoyer 03b7362f5b gnu: xdg-desktop-portal: Fix tests.
* gnu/packages/freedesktop.scm (xdg-desktop-portal)
[native-inputs]: Add librsvg.

Change-Id: I90e1f9b5997aba09ec8d1994666550a91ff93f2b
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:54 +02:00
Maxim Cournoyer bf66ac60c5 gnu: fontconfig: Update to 2.17.1.
* gnu/packages/fontutils.scm (fontconfig): Update to 2.17.1.
[source]: Adjust URI.
* gnu/packages/patches/fontconfig-cache-ignore-mtime.patch: Rebase.

Change-Id: I1e54b9fa4a7a1de81326726070b64c478bd3c615
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 1d9252aefd gnu: libnice: Update to 0.1.23.
* gnu/packages/networking.scm (libnice): Update to 0.1.23.
[#:phases] {disable-failing-tests}: Reinstate 'test-new-trickle'.  Disable
test-slow-resolving.

Change-Id: I1765304e09f5493a8096e42f5f40a86517888239
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 47bf936933 gnu: libjxl: Update to 0.11.2.
* gnu/packages/image.scm (libjxl): Update to 0.11.2.

Change-Id: If6d4aaac74b8d8593626f4ee1c56e351df2375d2
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 1e44d5afe3 [WIP] gnu: ibus-minimal: Update to 1.5.34-rc2.
This is WIP so that we go to 1.5.34 when it releases.

* gnu/packages/ibus.scm (ibus-minimal): Update to 1.5.34-rc2.

Change-Id: I60d1b292f756fea8a190e9eb2d6853959201f1be
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 886e396dee gnu: dconf: Update to 0.49.0.
* gnu/packages/gnome.scm (dconf): Update to 0.49.0.
[#:configure-flags]: Add --wrap-mode=nodownload.

Change-Id: I6aadef96f9c1fba7cab159b2d9e3ee93fff40922
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 56d2cc82bd gnu: dconf-editor: Update to 49.0.
* gnu/packages/gnome.scm (dconf-editor): Update to 49.0.

Change-Id: I5ed04ebb773bb22a7172223ba398de1c400bce5f
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer 12a01c020a gnu: webrtc-audio-processing: Update to 2.1.
* gnu/packages/audio.scm (webrtc-audio-processing): Update to 2.1.
[source]: Apply new patches.
[#:phases]: Delete.
* gnu/packages/patches/webrtc-audio-processing-x86-no-sse.patch: Delete file.
* gnu/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch: Likewise.
* gnu/packages/patches/webrtc-audio-processing-abseil-cpp.patch: New file.
* gnu/packages/patches/webrtc-audio-processing-gcc-14.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.

Change-Id: I7b9c408a7e256d5fb83e14b4d21f6c44a9cd4616
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:53 +02:00
Maxim Cournoyer bce6cffcb3 gnu: gtk+: Update to 3.24.52.
* gnu/packages/patches/gtk3-treeview-test-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gtk.scm (gtk+): Update to 3.24.52.  Apply patch.

Change-Id: Ibf49241f637ac1d5ed2c6f9675f78810c8acb265
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer ce8a71d961 gnu: gsettings-desktop-schemas: Update to 49.1.
* gnu/packages/gnome.scm (gsettings-desktop-schemas): Update to 49.1.

Change-Id: I23742ca5779332ecc7a59bf0b77194387bfc0d7c
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer 0892e93615 gnu: gnome-backgrounds: Update to 49.0.
* gnu/packages/gnome.scm (gnome-backgrounds): Update to 49.0.

Change-Id: If77094b502b8ca92c2595529a4536a1e5485336b
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer c402d99037 gnu: librsvg: Update to 2.61.4.
* gnu/packages/gnome.scm (librsvg): Update to 2.61.4.
[build-system]: Switch to meson.
[#:configure-flags]: Port to Meson.  Add -Dpixbuf-loader=enabled.
[#:make-flags]: Delete.
[#:imported-modules, modules]: Adjust for build system switch.
[#:phases] {pre-build}: Set RUSTFLAGS environment variable.
{loosen-test-boundaries}: Rename to...
{prepare-for-tests}: ... this.  Set HOME.
{pre-configure}: Port to Meson.
{sanitize-pkg-config-files}: New.
* gnu/packages/rust-crates.scm: Re-import crates.
[native-inputs]: Add gi-docgen, python, python-docutils and rust-cargo-c.
rust:cargo.
[inputs]: Add dav1d.  Delete harfbuzz.

Change-Id: I4272ccdbfbcf2b40a347eac2c7c91446ea2f08c7
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer ff9242e63e gnu: python-pygobject: Update to 3.54.5.
* gnu/packages/glib.scm (python-pygobject): Update to 3.54.5.

Change-Id: Id3832e76f2596aaf221ccd86d603b3b4c48b43c6
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer c379adbf87 gnu: gdk-pixbuf: Update to 2.44.5.
* gnu/packages/gtk.scm (gdk-pixbuf): Update to 2.44.5.

Change-Id: Ia94deddcb894a08c1f9460be0b04013eda668a1b
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Maxim Cournoyer acad9ba45f gnu: gi-docgen: Update to 2026.1.
* gnu/packages/gnome.scm (gi-docgen): Update to 2026.1.
[arguments]: New field.
[native-inputs]: Add graphviz-14.

Change-Id: I5bd19caa41695d4660a12478d8e6766069ed0791
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:52 +02:00
Liliana Marie Prikler 3a9fb73409 gnu: meson: Keep vicinity of $prefix in RUNPATH.
* gnu/packages/patches/meson-keep-rpath-vicinity.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (meson)[patches]: Use it.

Merges: guix/guix!7583
Fixes: https://issues.guix.gnu.org/70349 (RUNPATH validation fails with Clang+Meson)
Change-Id: I79551bd3770e36009fe26f88074d5793fd18ad18
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 22:38:43 +02:00
Maxim Cournoyer 0e0b120588 gnu: meson: Apply patch to fix computed GIR library paths.
* gnu/packages/build-tools.scm (meson): Apply patch.
* gnu/packages/patches/meson-gir-fallback-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I7a54149aa4f7560c689202b5f4db3e3c3f7d9f39
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 18:02:31 +02:00
Maxim Cournoyer 489866cf11 gnu: pango: Update to 1.57.1.
* gnu/packages/gtk.scm (pango): Update to 1.57.1.

Change-Id: Ic315967b36da2371ee5febcb7a5b9bf369027cf9
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 18:02:30 +02:00
Maxim Cournoyer 17d29fa361 gnu: lcms: Update to 2.16.0.
* gnu/packages/ghostscript.scm (lcms): Update to 2.16.0.
(lcms-next): Deprecate package.
* gnu/packages/astronomy.scm (siril): Adjust accordingly.
* gnu/packages/gnome.scm (glycin-loaders): Likewise.

Co-Authored-By: Noé Lopez <noelopez@free.fr>
Change-Id: Idd3fb39d89a84fe3a7a2d322165e166199c87777
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 18:02:30 +02:00
Maxim Cournoyer 0b75deab99 gnu: yelp: Update to 49.0.
* gnu/packages/gnome.scm (yelp): Update to 49.0.

Change-Id: I5905c6240b47c83cdfa630e636b72478daeb47fd
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 18:02:30 +02:00
Maxim Cournoyer 96a8e11e9a gnu: yelp-xsl: Update to 49.0.
* gnu/packages/gnome.scm (yelp-xsl): Update to 49.0.

Change-Id: I88e2357d3769c0594e0dd09a64d869ac0d5c78c3
Signed-off-by: Noé Lopez <noelopez@free.fr>
2026-05-05 18:02:30 +02:00
Maxim Cournoyer 33640e95b8 gnu: qtbase: Skip racy 'tst_qsqldatabase' test; reinstate qsqlthread.
* gnu/packages/qt.scm (qtbase) [#:phases] {check}: Skip tst_qsqldatabase.
Reinstate qsqlthread one.

Change-Id: I60fcca2a8e5d730b9599b81103d7ee7acb8b5bda
2026-05-05 18:02:30 +02:00
Maxim Cournoyer 1464041366 gnu: wireplumber: Update to 0.5.14.
* gnu/packages/linux.scm (wireplumber): Update to 0.5.14.

Change-Id: Iad13fd3bf249c9faaa62695fcef9afc984dbf3ea
2026-05-05 18:02:30 +02:00
Maxim Cournoyer de9e4539c9 gnu: pulseaudio: Update to 17.0.
This resolves bugs caused by audio overflow hanging seek in gstreamer video
players like showtime.

* gnu/packages/pulseaudio.scm (pulseaudio): Update to 17.0.

Change-Id: I166bd19b2fcd4ef0e3d3cd74c690f2e4832d40ea
2026-05-05 18:02:29 +02:00
Maxim Cournoyer 73f31664a5 gnu: libnice: Disable test-send-recv flaky test.
* gnu/packages/networking.scm (libnice)
[#:phases]{disable-failing-tests}: Skip test-send-recv test.

Change-Id: I8df3bd9061cf154bcb028bee193a8d6cabebf3f1
2026-05-05 18:02:29 +02:00
Maxim Cournoyer d69e6c80ec gnu: gst-plugins-base: Disable elements-inputselector test.
* gnu/packages/gstreamer.scm (gst-plugins-base)
[#:phases] {disable-problematic-tests}: Disable elements-inputselector test.

Change-Id: I9785719f2b3d196869afc1630808c7f693b02c79
2026-05-05 18:02:29 +02:00
Maxim Cournoyer ab701f0e25 gnu: python-rich: Disable test_brokenpipeerror test.
* gnu/packages/python-xyz.scm (python-rich) [#:test-options]: New.

Change-Id: I0df72628c2ecd896bce8db8e8f8101cb992ea1a5
2026-05-05 18:02:29 +02:00
Maxim Cournoyer 94c15aade7 gnu: python-pyftpdlib: Harden against flaky test failures.
* gnu/packages/python-xyz.scm (python-pyftpdlib)
[#:test-flags]: Unconditionally deselect whole test_functional_ssl and
test_functional test suites.

Change-Id: Icdd50dbe488309d609f73693b69bab2bac39d135
2026-05-05 18:02:29 +02:00
Maxim Cournoyer ed09edf243 gnu: libbluray: Fix patching of libbdplus library path.
* gnu/packages/video.scm (libbluray)
[#:phases] {fix-dlopen-paths}: Adjust for new file name.

Change-Id: I191e88e30659a7d3ed37839b43464babfdf3be43
2026-05-05 18:02:29 +02:00
Maxim Cournoyer 2cb88181d8 gnu: libaacs: Do not build/install static libraries.
* gnu/packages/video.scm (libaacs) [arguments]: New field.

Change-Id: I2f7664d20ecb235d6d4ef54371c00ae84eb2895d
2026-05-05 18:02:29 +02:00
Maxim Cournoyer b0b32be4f9 gnu: libaacs: Update to 0.11.1.
* gnu/packages/video.scm (libaacs): Update to 0.11.1.

Change-Id: Id3311ff91bd38584d3074e8900046a073f27e6d2
2026-05-05 18:02:28 +02:00
Maxim Cournoyer 202a80eb11 gnu: gtk: Remove dependency on ffmpeg.
That's not needed anymore since 4.22.

* gnu/packages/gtk.scm (gtk) [inputs]: Remove ffmpeg.

Change-Id: I53fea883f47cefe6a17967e9520f4adc76ec2bf8
2026-05-05 18:02:28 +02:00
Maxim Cournoyer a1f71db3e5 gnu: gtk: Disable gtklistitemmanager test.
* gnu/packages/gtk.scm (gtk) [#:phases] {patch}: Disable
gtklistitemmanager test.

Change-Id: Ia6c7e1dba7922b0f8975ae920d5e0e20079bf5fc
2026-05-05 18:02:28 +02:00
Maxim Cournoyer fe4fcb8818 gnu: gtk: Make reproducible.
* gnu/packages/patches/gtk4-demo-reproducible.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gtk.scm (gtk) [source]: Apply it.

Change-Id: I03ef58f324a84151a681988a18aa1ab986aeba79
2026-05-05 18:02:28 +02:00
Maxim Cournoyer c977f46f47 gnu: gtk: Update to 4.22.1.
* gnu/packages/gtk.scm (gtk): Update to 4.22.1.
[patches]: Add gtk-needs-udmabuf.patch.
[#:phases] {pre-check}: Adjust arguments of Xvfb.
[native-inputs]: Add glibc-utf8-locales.
* gnu/packages/patches/gtk-needs-udmabuf.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: If9043cb55a60f4ec703515b61796b38fb4959f0b
2026-05-05 18:02:28 +02:00
Maxim Cournoyer c31598426c gnu: gst-plugins-bad: Clean up 'adjust-tests' phase.
* gnu/packages/gstreamer.scm (gst-plugins-bad)
[#:phases] {adjust-tests}: Update cross-references.  Skip camerabin test on
all platforms.  Delete duplicate mxfdemux substitution.  Remove stale zxing.c
patching.

Change-Id: I75292bbeabf37c33f19a448d8fd592bfddbb4b2a
2026-05-05 18:02:28 +02:00
Maxim Cournoyer 8d62aab47a gnu: gst-plugins-ugly: Patch libdvdcss.so reference.
* gnu/packages/gstreamer.scm (gst-plugins-ugly)
[#:phases] {patch-paths}: New phase.

Change-Id: I86952f83bec68bc699c4700ee9dfed003db8dd6b
2026-05-05 18:02:28 +02:00
Maxim Cournoyer 5a49ba3d1b gnu: gst-plugins-bad: Patch libdvdcss.so reference.
* gnu/packages/gstreamer.scm (gst-plugins-bad)
[#:phases] {patch-paths}: New phase.

Change-Id: Idaf5de29b7cd6d0f5187af4250d8292997ecd38c
2026-05-05 18:02:28 +02:00
Maxim Cournoyer 0269bf6ad4 gnu: gst-plugins-ugly: Enable GPL plugins.
This enables dvdread, for DVD playback support, among others.

* gnu/packages/gstreamer.scm (gst-plugins-ugly)
[#configure-flags]: Add "-Dgpl=enabled".

Change-Id: Ibff7cdf10b33b76ed79c771e4673afe36b02ce19
2026-05-05 18:02:27 +02:00
Maxim Cournoyer 847ca0505f gnu: gst-plugins-bad: Enable GPL plugins.
This enables resindvd, for DVD playback support, among others.

* gnu/packages/gstreamer.scm (gst-plugins-bad)
[#configure-flags]: Add "-Dgpl=enabled".

Change-Id: I04c3501044160730298771875d85b99f277f1686
2026-05-05 18:02:27 +02:00
Maxim Cournoyer f52d6d59d6 gnu: libbluray: Update to 1.4.1.
* gnu/packages/video.scm (libbluray): Update to 1.4.1.
[source]: Adjust URI.
[build-system]: Switch to meson-build-system.
[#:configure-flags]: Delete.
[#:phases] {move-packages-to-libs}: Move after install phase and adjust
accordingly.
{fix-dlopen-paths}: Order after unpack phase.
[inputs]: Add libudfread.

Change-Id: I249215317cf51e84152115983706670319dd1bb9
2026-05-05 18:02:27 +02:00
Maxim Cournoyer d1abb90c37 gnu: libudfread: Update to 1.2.0.
* gnu/packages/cdrom.scm (libudfread): Update to 1.2.0.
[source]: Adjust URI.
[build-system]: Use meson-build-system.
[native-inputs]: Remove automake, autoconf and libtool.

Change-Id: Iee2e2b4120f6211112cc2b60edaf4d30d5a9bb1d
2026-05-05 18:02:27 +02:00
Maxim Cournoyer 6cc008d218 gnu: libdvdnav: Update to 7.0.0.
* gnu/packages/video.scm (libdvdnav): Update to 7.0.0.
[source]: Adjust URI.
[build-system]: Switch to meson-build-system.

Change-Id: I20cf2c46a713f0a9bc7afec3dec2e576b7ad381a
2026-05-05 18:02:27 +02:00
Maxim Cournoyer b1a84c94bf gnu: libdvdread: Update to 7.0.1.
* gnu/packages/video.scm (libdvdread): Update to 7.0.1.
[source]: Adjust URI.
[build-system]: Switch to meson-build-system.
[arguments]: Delete field.

Change-Id: I02231a64c2a3bb93e4d95f90051f58da5face50a
2026-05-05 18:02:27 +02:00
Maxim Cournoyer 32b07a35fe gnu: libdvdcss: Update to 1.5.0.
* gnu/packages/video.scm (libdvdcss): Update to 1.5.0.
[build-system]: Switch to meson-build-system.

Change-Id: Ie9667158d4973961ce7068cf41f656afa4ab1a17
2026-05-05 18:02:27 +02:00
Liliana Marie Prikler aa00c3d7fb gnu: Fix build of qtbase on non-privileged daemons.
* gnu/packages/qt.scm (qtbase)[#:phases]<check>: Also disable
“tst_qstandardpaths”.
2026-05-05 18:02:26 +02:00
39 changed files with 2184 additions and 1371 deletions
+9 -3
View File
@@ -1588,8 +1588,11 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk3-treeview-test-fix.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-demo-reproducible.patch \
%D%/packages/patches/gtk4-needs-udmabuf.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@@ -1913,6 +1916,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
%D%/packages/patches/mozjs-xp-win.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
%D%/packages/patches/libmodbus-disable-networking-test.patch \
@@ -1925,6 +1929,8 @@ dist_patch_DATA = \
%D%/packages/patches/mediasdk-gcc-14.patch \
%D%/packages/patches/memtest86+-build-reproducibly.patch \
%D%/packages/patches/mercurial-hg-extension-path.patch \
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
%D%/packages/patches/meson-gir-fallback-path.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \
%D%/packages/patches/mia-gcc11.patch \
@@ -2617,9 +2623,9 @@ dist_patch_DATA = \
%D%/packages/patches/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
%D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
+1 -1
View File
@@ -12132,7 +12132,7 @@ It can be used to calculate the trajectory of satellites.")
gtksourceview-4
healpix-cxx
json-glib
lcms-next
lcms
;; XXX: It downloads script and data during start up, check if they
;; may be presented as packages with wrapped environment variables
+6 -22
View File
@@ -11,7 +11,7 @@
;;; Copyright © 20162023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
@@ -403,7 +403,7 @@ displays a histogram of the roundtrip time jitter.")
(define-public webrtc-audio-processing
(package
(name "webrtc-audio-processing")
(version "1.3")
(version "2.1")
(source
(origin
(method url-fetch)
@@ -411,30 +411,14 @@ displays a histogram of the roundtrip time jitter.")
(string-append "http://freedesktop.org/software/pulseaudio/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
"webrtc-audio-processing-gcc-14.patch"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags (if (target-x86-32?)
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
#~'())
#:phases
(if (or (target-x86-32?) (target-powerpc?))
#~(modify-phases %standard-phases
(add-after 'unpack 'apply-patches
(lambda _
(define (patch file)
(invoke "patch" "-p1" "--force" "-i" file))
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
;; TODO: Move to the 'patches' field of the origin on
;; the next rebuild.
(patch #$(local-file
(search-patch
"webrtc-audio-processing-byte-order-pointer-size.patch")))
(patch #$(local-file
(search-patch
"webrtc-audio-processing-x86-no-sse.patch"))))))
#~%standard-phases)))
#~'())))
(native-inputs (list pkg-config))
(inputs (list abseil-cpp))
(synopsis "WebRTC's Audio Processing Library")
+4 -1
View File
@@ -427,7 +427,10 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
(patches
(search-patches "meson-gir-fallback-path.patch"
"meson-keep-rpath-vicinity.patch"))))
(build-system gnu-build-system)
(arguments
(list
+6 -6
View File
@@ -43,6 +43,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -1000,18 +1001,17 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
(define-public libudfread
(package
(name "libudfread")
(version "1.1.2")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.videolan.org/pub/videolan/libudfread/"
name "-" version ".tar.bz2"))
name "-" version ".tar.xz"))
(sha256
(base32
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
(build-system gnu-build-system)
(native-inputs
(list automake autoconf libtool pkg-config))
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(home-page "https://code.videolan.org/videolan/libudfread")
(synopsis "C library to read UDF file systems")
(description "@code{libudfread} is a C library for reading
+6 -5
View File
@@ -12,7 +12,7 @@
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
@@ -1382,14 +1382,15 @@ Font Format (WOFF).")
(hidden-package
(package
(name "fontconfig-minimal")
(version "2.16.0")
(version "2.17.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.freedesktop.org/software/"
"fontconfig/release/fontconfig-" version ".tar.xz"))
"https://gitlab.freedesktop.org/api/v4/projects/890"
"/packages/generic/fontconfig/" version "/fontconfig-"
version ".tar.xz"))
(sha256 (base32
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva"))
"0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
(build-system gnu-build-system)
;; In Requires or Requires.private of fontconfig.pc.
+5 -4
View File
@@ -794,16 +794,16 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
(version "255.17")
(version "257.14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
"16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@@ -3302,6 +3302,7 @@ compatible with the well-known scripts of the same name.")
(list gettext-minimal
`(,glib "bin")
gst-plugins-good ;for wavparse plugin
(librsvg-for-system) ;SVG loader needed for one test
pkg-config
python
python-dbusmock
+2 -2
View File
@@ -10225,7 +10225,7 @@ their own levels.")
(define-public libmanette
(package
(name "libmanette")
(version "0.2.12")
(version "0.2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libmanette/"
@@ -10233,7 +10233,7 @@ their own levels.")
"libmanette-" version ".tar.xz"))
(sha256
(base32
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8"))))
"1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
(build-system meson-build-system)
(native-inputs
(list `(,glib "bin") ; for glib-compile-resources
+11 -22
View File
@@ -50,15 +50,15 @@
(define-public lcms
(package
(name "lcms")
(version "2.13.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" version ".tar.gz"))
(sha256
(base32
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl"))))
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" (version-major+minor version) ".tar.gz"))
(sha256
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -73,19 +73,8 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(home-page "https://www.littlecms.com/")
(properties '((cpe-name . "little_cms_color_engine")))))
(define-public lcms-next
(package
(inherit lcms)
(name "lcms-next")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" (version-major+minor version) ".tar.gz"))
(sha256
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))))
;; Can be removed after 2027/05/01.
(define-deprecated-package lcms-next lcms)
(define-public libpaper
(package
+2 -2
View File
@@ -994,7 +994,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
(version "3.54.3")
(version "3.54.5")
(source
(origin
(method url-fetch)
@@ -1003,7 +1003,7 @@ useful for C++.")
"/pygobject-" version ".tar.gz"))
(sha256
(base32
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8"))))
"11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
(build-system meson-build-system)
;; The tests require mutter, which would introduce a circular dependency.
(arguments (list #:tests? #f))
+227 -164
View File
@@ -215,6 +215,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages sdl)
@@ -2084,7 +2085,7 @@ offline sources, providing a centralized place for managing your contacts.")
(define-public gnome-desktop
(package
(name "gnome-desktop")
(version "44.4")
(version "44.5")
(source
(origin
(method url-fetch)
@@ -2093,11 +2094,16 @@ offline sources, providing a centralized place for managing your contacts.")
name "-" version ".tar.xz"))
(sha256
(base32
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x"))))
"0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The languages test fails due to Guix defaulting to C.UTF-8.
(substitute* "tests/meson.build"
((".*'languages':.*") ""))))
(add-before 'configure 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libgnome-desktop/gnome-languages.c"
@@ -2687,7 +2693,7 @@ and single page document formats like PDF and DejaVu.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
(version "48.0")
(version "49.1")
(source
(origin
(method url-fetch)
@@ -2696,7 +2702,7 @@ and single page document formats like PDF and DejaVu.")
name "-" version ".tar.xz"))
(sha256
(base32
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6"))))
"0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
(build-system meson-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -2874,7 +2880,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
(define-public adwaita-icon-theme
(package
(name "adwaita-icon-theme")
(version "48.1")
(version "49.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2882,7 +2888,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
name "-" version ".tar.xz"))
(sha256
(base32
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb"))))
"0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -3221,6 +3227,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -3228,17 +3235,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))))
#$@(if (this-package-input "gjs")
'()
'((add-after 'unpack 'skip-gjs-test
(lambda _
;; When the optional dependency on GJS is missing, skip
;; the GJS plugin tests.
(substitute* "tests/modules.c"
(("g_test_add.*JavaScript.*" all)
(string-append "// " all "\n")))
(delete-file "tests/catalogs/gjsplugin.xml")))))
(add-after 'unpack 'skip-modules-test
;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
;; register existing type 'GIRepository' since the GNOME 49
;; upgrades.
(lambda _
(substitute* "tests/meson.build"
((".*'modules', .*") ""))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp")
@@ -3494,7 +3497,7 @@ XML/CSS rendering engine.")
(define-public libgsf
(package
(name "libgsf")
(version "1.14.54")
(version "1.14.55")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3502,7 +3505,7 @@ XML/CSS rendering engine.")
name "-" version ".tar.xz"))
(sha256
(base32
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i"))))
"0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@@ -3550,7 +3553,7 @@ for dealing with different structured file formats.")
(define-public librsvg
(package
(name "librsvg")
(version "2.58.5")
(version "2.61.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/"
@@ -3558,45 +3561,31 @@ for dealing with different structured file formats.")
"librsvg-" version ".tar.xz"))
(sha256
(base32
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
(build-system gnu-build-system)
"036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
(build-system meson-build-system)
(outputs '("out" "doc" "debug"))
(arguments
(list
#:configure-flags
#~(list "--disable-static"
#$@(if (%current-target-system)
#~(;; g-ir-scanner can't import its modules
#~(list #$@(if (%current-target-system)
#~( ;; g-ir-scanner can't import its modules
;; and vala currently can't be cross-compiled.
"--enable-introspection=no"
"--enable-vala=no"
;; These two are necessary for cross-compiling.
(string-append
"--build=" #$(nix-system->gnu-triplet
(%current-system)))
(string-append
"--host=" #$(%current-target-system))
"-Dintrospection=false"
"-Dvala=false"
;; This is needed when cross-compiling for some
;; architectures as autoconf and rust disagree about
;; the target triplet.
(string-append "RUST_TARGET="
(string-append "-Dtriplet="
#$(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))))
#~("--enable-vala")))
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
#$@(if (%current-target-system)
#~((string-append "RUST_TARGET="
#$(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))))
#~()))
#:imported-modules %cargo-build-system-modules
#~())
"-Dpixbuf-loader=enabled") ;disabled since 2.61.2
#:imported-modules (append %cargo-build-system-modules
%meson-build-system-modules)
#:modules
'(((guix build cargo-build-system) #:prefix cargo:)
(guix build gnu-build-system)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
@@ -3613,12 +3602,19 @@ for dealing with different structured file formats.")
(lambda _
;; Something about the build environment resists building
;; successfully with the '--locked' flag.
(substitute* '("Makefile.am" "Makefile.in")
(("--locked") ""))))
(add-after 'unpack 'loosen-test-boundaries
(substitute* "meson/cargo_wrapper.py"
(("\"--locked\",?") ""))
;; This is needed so Cargo embeds the correct RUNPATH
;; information to the binaries it produces,
;; e.g. libpixbufloader_svg.so.
(setenv "RUSTFLAGS"
(string-append "-C link-arg=-Wl,-rpath,"
#$output "/lib"))))
(add-after 'unpack 'prepare-for-tests
(lambda _
(setenv "HOME" "/tmp") ;placate fontconfig errors
;; Increase reftest tolerance a bit to account for different
;; harfbuzz, pango, etc.
;; libraries like pango, etc.
(setenv "RSVG_TEST_TOLERANCE" "20")
;; These tests fail even after loosening the tolerance.
(substitute* "rsvg/tests/reference.rs"
@@ -3626,19 +3622,16 @@ for dealing with different structured file formats.")
((".*rtl_tspan_svg.*") ""))))
(add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "gdk-pixbuf-loader/Makefile.in"
(substitute* "gdk-pixbuf-loader/meson.build"
;; By default the gdk-pixbuf loader is installed under
;; gdk-pixbuf's prefix. Work around that.
(("gdk_pixbuf_moduledir = .*$")
(string-append "gdk_pixbuf_moduledir = "
"$(prefix)/"
#$(dirname %gdk-pixbuf-loaders-cache-file) "/"
"loaders\n")))
(substitute* "configure"
(("gdk_pixbuf_cache_file=.*")
(string-append "gdk_pixbuf_cache_file="
#$output "/"
#$%gdk-pixbuf-loaders-cache-file "\n")))))
(("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
(format #f "get_option('prefix') / '~a',"
#$%gdk-pixbuf-loaders-directory))
(("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
(format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
(("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
(format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
(add-after 'unpack 'prepare-cargo-build-system
(lambda args
(for-each
@@ -3650,23 +3643,30 @@ for dealing with different structured file formats.")
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums)))))))
patch-cargo-checksums))))
(add-after 'install 'sanitize-pkg-config-files
(lambda _
(substitute* (find-files #$output "\\.pc$")
(("^Requires.private:.*") "")))))))
(native-inputs
(append
(list gdk-pixbuf
gi-docgen
`(,glib "bin")
gobject-introspection
pkg-config
python
python-docutils ;for rst2man
rust
`(,rust "cargo")
rust-cargo-c
vala)
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* freetype
(cons* dav1d
freetype
gobject-introspection
harfbuzz
libxml2
pango
(cargo-inputs 'librsvg)))
@@ -4667,7 +4667,7 @@ and RDP protocols.")
(define-public dconf
(package
(name "dconf")
(version "0.40.0")
(version "0.49.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4676,7 +4676,7 @@ and RDP protocols.")
name "-" version ".tar.xz"))
(sha256
(base32
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"))))
"0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
(build-system meson-build-system)
(arguments
(list
@@ -4685,7 +4685,8 @@ and RDP protocols.")
;; there and loaded without having to set GCONF_PROFILE, which cannot be
;; safely set globally (as a gconf profile is a per-user thing).
#:configure-flags #~(list "--sysconfdir=/etc"
"-Dgtk_doc=true")
"-Dgtk_doc=true"
"--wrap-mode=nodownload") ;for gvdb
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'increase-test-timeout
(lambda _
@@ -5211,17 +5212,26 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public gi-docgen
(package
(name "gi-docgen")
(version "2025.4")
(version "2026.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "gi_docgen" version))
(sha256
(base32
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z"))))
"1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest-bootstrap
python-setuptools))
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-commands
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("gidocgen/config.py"
"gidocgen/utils.py")
(("find_program\\(['\"]dot['\"])")
(format #f "find_program(~s)"
(search-input-file inputs "bin/dot")))))))))
(native-inputs (list python-pytest-bootstrap python-setuptools))
(inputs (list graphviz-14))
(propagated-inputs (list python-jinja2
python-markdown
python-markupsafe
@@ -6978,10 +6988,10 @@ side panel;
(license license:gpl2+)))
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
(define-public glycin-loaders
(define-public libglycin
(package
(name "glycin-loaders")
(version "2.0.7")
(name "libglycin")
(version "2.1.1")
(source
(origin
(method git-fetch)
@@ -6991,12 +7001,16 @@ side panel;
(file-name (git-file-name name version))
(sha256
(base32
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
(outputs '("out" "debug"))
(build-system meson-build-system)
(arguments
(list
#:configure-flags #~(list "-Dglycin-loaders=false"
"-Dglycin-thumbnailer=true"
"-Dlibglycin=true"
"-Dlibglycin-gtk4=true")
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
@@ -7082,18 +7096,15 @@ side panel;
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf")))
(commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
(file-name "glycin-test-images")
(sha256
(base32
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm")))))
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
(inputs (cons* bubblewrap
libheif
libjxl
librsvg
(cargo-inputs 'glycin)))
;; The following inputs are 'Required' in the pkg-config files.
(propagated-inputs (list fontconfig glib gtk lcms-next libseccomp))
(propagated-inputs (list fontconfig glib gtk lcms libseccomp))
(home-page "https://gitlab.gnome.org/GNOME/glycin")
(synopsis "Rust library for sandboxed image decoding")
(description "Glycin is a sandbox image decoder for image viewers and
@@ -7101,6 +7112,22 @@ thumbnails to display untrusted content safely. This package provides the
runtime image loader executables that are used inside the sandbox.")
(license (list license:mpl2.0 license:lgpl2.1+))))
(define-public glycin-loaders
(package/inherit libglycin
(name "glycin-loaders")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags original-flags #~(list))
#~(list "-Dglycin-loaders=true"
"-Dglycin-thumbnailer=false"
"-Dlibglycin=false"
"-Dlibglycin-gtk4=false"))))
(inputs
(modify-inputs inputs
(prepend libheif
libjxl
librsvg)))))
(define-public loupe
(package
(name "loupe")
@@ -7171,6 +7198,7 @@ runtime image loader executables that are used inside the sandbox.")
gtk
lcms
libadwaita
libglycin
libgweather
libseccomp
(cargo-inputs 'loupe)))
@@ -7211,14 +7239,14 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(define-public msgraph
(package
(name "msgraph")
(version "0.3.3")
(version "0.3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/msgraph/"
(version-major+minor version) "/"
"msgraph-" version ".tar.xz"))
(sha256
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp"))))
(base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
(build-system meson-build-system)
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
(inputs (list gnome-online-accounts json-glib libsoup librest))
@@ -7231,7 +7259,7 @@ MS Graph APIs.")
(define-public gvfs
(package
(name "gvfs")
(version "1.58.0")
(version "1.58.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gvfs/"
@@ -7239,7 +7267,7 @@ MS Graph APIs.")
"gvfs-" version ".tar.xz"))
(sha256
(base32
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx"))))
"0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
(build-system meson-build-system)
(arguments
(list
@@ -7589,7 +7617,7 @@ environments.")
(define-public yelp-xsl
(package
(name "yelp-xsl")
(version "42.4")
(version "49.0")
(source
(origin
(method url-fetch)
@@ -7598,7 +7626,7 @@ environments.")
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx"))))
(base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
(build-system meson-build-system)
(native-inputs
(list mallard-ducktype
@@ -7626,7 +7654,7 @@ jQuery.Syntax JavaScript libraries.")
(define-public yelp
(package
(name "yelp")
(version "42.3")
(version "49.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -7634,7 +7662,7 @@ jQuery.Syntax JavaScript libraries.")
name "-" version ".tar.xz"))
(sha256
(base32
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16"))))
"0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -7659,7 +7687,9 @@ jQuery.Syntax JavaScript libraries.")
`("PATH" ":" prefix
(,(dirname (search-input-file inputs "bin/groff"))))))))))
(native-inputs
(list `(,glib "bin") ; for glib-genmarshal, etc.
(list desktop-file-utils
`(,glib "bin") ;for glib-genmarshal, etc.
`(,gtk "bin")
intltool
itstool
pkg-config))
@@ -7668,13 +7698,14 @@ jQuery.Syntax JavaScript libraries.")
(inputs
(list bash-minimal
gsettings-desktop-schemas
libadwaita
libhandy
libxslt
man-db ;for URIs like "man:ls"
groff-minimal ;ditto
gtk+
man-db ;for URIs like "man:ls"
groff-minimal ;ditto
gtk
sqlite
webkitgtk-for-gtk3
webkitgtk
yelp-xsl))
(home-page "https://wiki.gnome.org/Apps/Yelp")
(synopsis "GNOME help browser")
@@ -7963,57 +7994,88 @@ configuration program to choose applications starting on login.")
(define-public gjs
(package
(name "gjs")
(version "1.84.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "installed-tests/scripts/testCommandLine.sh"
(("Valentín") "")
(("☭") ""))
(substitute* "modules/script/package.js"
(("type_default_interface_ref")
"type_default_interface_get"))))))
(version "1.88.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "subprojects"
"gobject-introspection-tests")))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
(setenv "HOME" (getcwd))))
(add-after 'unpack 'skip-failing-tests
(lambda _
;; Expects to test against 2.84, but we're using 2.86.
(substitute* "installed-tests/js/testIntrospection.js"
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';")
"const skip = true;"))))
(add-after 'install 'wrap-gi
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/gjs")
`("GI_TYPELIB_PATH" suffix
(,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GObject-2.0.typelib"))
,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
(list
#:modules '((guix build meson-build-system)
(guix build utils)
(ice-9 match))
#:configure-flags #~(list "-Dinstalled_tests=false")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-gi
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/gjs")
`("GI_TYPELIB_PATH" suffix
(,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GObject-2.0.typelib"))
,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
(setenv "HOME" (getcwd))
;; In Guix, gobject-introspection is patched to always embed
;; the absolute path of a typelib library; unfortunately it
;; does this also for test typelibs not meant to be installed;
;; work around it via temporary symlinks.
(let* ((test-libraries (find-files (getcwd)
"\\.so(\\.[0-9]*)?$"))
(test-library-links (map (lambda (x)
(cons x (string-append
#$output "/lib/"
(basename x))))
test-libraries)))
(for-each (match-lambda
((old . new)
(symlink old new)))
test-library-links)
(invoke "xvfb-run" "--" "dbus-run-session"
"meson" "test" "--print-errorlogs" "-t" "0"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1"))
(for-each delete-file (map cdr test-library-links))))))
(add-after 'install 'delete-installed-tests
(lambda _
;; Installed tests libraries are installed despite
;; -Dinstalled_tests=false.
(delete-file-recursively
(string-append #$output "/libexec/installed-tests"))))
(add-after 'install 'sanitize-pkg-config-files
(lambda _
(substitute* (find-files #$output "\\.pc$")
(("^Requires.private:.*") "")))))))
(native-inputs
(list `(,glib "bin") ;for glib-compile-resources
pkg-config
@@ -8021,16 +8083,16 @@ configuration program to choose applications starting on login.")
;; For testing
dbus
dconf ;required to properly store settings
gtk+
sysprof
util-linux
xorg-server-for-tests))
xvfb-run))
(inputs (list mozjs readline))
(propagated-inputs
;; These are all in the Requires.private field of gjs-1.0.pc.
;; Check the version of mozjs required in meson.build.
(list cairo gobject-introspection mozjs-128))
(inputs
(list gtk+ readline))
;; These are all in the Requires field of gjs-1.0.pc.
(list glib gobject-introspection))
(synopsis "Javascript bindings for GNOME")
(home-page "https://wiki.gnome.org/Gjs")
(home-page "https://gitlab.gnome.org/GNOME/gjs")
(description
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
javascript engine and the GObject introspection framework.")
@@ -8352,7 +8414,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
(version "3.54.9")
(version "3.56.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -8360,7 +8422,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb"))))
"1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
(build-system meson-build-system)
(arguments
(list
@@ -9881,7 +9943,7 @@ easy, safe, and automatic.")
(define-public tinysparql
(package
(name "tinysparql")
(version "3.9.2")
(version "3.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/tinysparql/"
@@ -9889,7 +9951,7 @@ easy, safe, and automatic.")
"tinysparql-" version ".tar.xz"))
(sha256
(base32
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
"0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
(build-system meson-build-system)
(arguments
(list
@@ -10172,6 +10234,7 @@ through portals.")
gst-plugins-base
json-glib
libadwaita
libglycin
libportal
libseccomp
libselinux
@@ -10243,7 +10306,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds
(package
(name "gnome-backgrounds")
(version "48.2.1")
(version "49.0")
(source
(origin
(method url-fetch)
@@ -10252,7 +10315,7 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz"))
(sha256
(base32
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a"))))
"1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
(build-system meson-build-system)
(native-inputs (list gettext-minimal))
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
@@ -10317,7 +10380,7 @@ beautifying border effects.")
(define-public dconf-editor
(package
(name "dconf-editor")
(version "45.0.1")
(version "49.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -10325,7 +10388,7 @@ beautifying border effects.")
name "-" version ".tar.xz"))
(sha256
(base32
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i"))))
"16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
(build-system meson-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
@@ -13383,7 +13446,7 @@ GObject introspection bindings.")
(define-public sysprof
(package
(name "sysprof")
(version "48.1")
(version "49.0")
(source
(origin
(method url-fetch)
@@ -13391,7 +13454,7 @@ GObject introspection bindings.")
(version-major version) "/"
"sysprof-" version ".tar.xz"))
(sha256
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal"))))
(base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
(build-system meson-build-system)
(arguments
(list
@@ -13688,7 +13751,7 @@ Document Analysis and Recognition program.")
(define-public libadwaita
(package
(name "libadwaita")
(version "1.8.2")
(version "1.8.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libadwaita/"
@@ -13696,7 +13759,7 @@ Document Analysis and Recognition program.")
"libadwaita-" version ".tar.xz"))
(sha256
(base32
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq"))))
"074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
(build-system meson-build-system)
(arguments
`(#:phases
+349 -349
View File
@@ -106,355 +106,6 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time))
(define-public mozjs
(package
(name "mozjs")
(version "140.3.0")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
#:modules `((guix build cargo-utils)
,@%default-gnu-modules)
#:test-target "check-jstests"
#:configure-flags
#~(list
;; Disable debugging symbols to save space.
"--disable-debug"
"--disable-debug-symbols"
;; This is important because without it gjs will segfault during the
;; configure phase. With jemalloc only the standalone mozjs console
;; will work.
"--disable-jemalloc"
"--enable-tests"
"--enable-hardening"
"--enable-optimize"
"--enable-release"
"--enable-readline"
"--enable-rust-simd"
"--enable-shared-js"
"--with-system-icu"
"--with-system-nspr"
"--with-system-zlib"
"--with-intl-api")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'python-3.11-compatibility
(lambda _
(substitute* '("python/mozbuild/mozpack/files.py"
"python/mozbuild/mozbuild/util.py"
"python/mozbuild/mozbuild/action/process_define_files.py"
"python/mozbuild/mozbuild/backend/base.py"
"python/mozbuild/mozbuild/preprocessor.py")
(("\"rU\"") "\"r\""))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(let ((null-hash
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(for-each (lambda (file)
(format #t "patching checksums in ~a~%" file)
(substitute* file
(("^checksum = \".*\"")
(string-append "checksum = \"" null-hash "\""))))
(find-files "." "Cargo\\.lock$"))
(for-each generate-all-checksums
'("js" "third_party/rust")))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script does not accept environment variables as
;; arguments. It also must be run from a different directory,
;; but not the root directory either.
(mkdir "run-configure-from-here")
(chdir "run-configure-from-here")
;; Configure script writes to $HOME.
(setenv "HOME" (getcwd))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "AUTOCONF" (which "autoconf"))
(apply invoke "python" "../configure.py"
"--enable-project=js"
(string-append "--prefix=" #$output)
configure-flags)))
(add-before 'check 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; Most of the timezone related failures are probably
;; attributable to our use of a system-provided icu4c library
;; instead of the bundled one.
(for-each
delete-file
'( ;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
"non262/Date/15.9.5.7.js"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
"non262/Intl/available-locales-supported.js"
;; FIXME: got "en-US", expected "en-US-POSIX"
"non262/Intl/available-locales-resolved.js"
;;; Since 115:
;; Mismatching array lengths
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
"non262/Intl/DateTimeFormat/timeZone_version.js"
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
"non262/Intl/Collator/implicithan.js"
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
"non262/Intl/Collator/big5han-gb2312han.js"
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
;; FIXME: got 7, expected 9: parts count mismatch
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
;; Since 140:
;; RangeError: invalid time zone: America/Coyhaique
"non262/Temporal/ZonedDateTime/zones-and-links.js"
;; got 2042, expected 2043
"non262/Temporal/Intl/consistent-dates.js"
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
"non262/Intl/DateTimeFormat/timeZone_links.js"
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
;; Test262Error: Expected true but got false
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
;; Test262Error: getTimeZoneTransition(next) does not return its input
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/result-type.js"
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transition-at-instant-boundaries.js"
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/specific-tzdb-values.js"
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
;; TypeError: can't access property "epochNanoseconds",
;; before.getTimeZoneTransition(...) is null
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transitions-close-together.js")))))
(add-before 'check 'pre-check
(lambda _
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string (parallel-job-count)))))))))))
(native-inputs
(list autoconf
llvm ;for llvm-objdump
m4
perl
pkg-config
python-wrapper
rust
`(,rust "cargo")
rust-cbindgen))
(inputs
(list icu4c-77 readline zlib))
(propagated-inputs
(list nspr)) ; in the Requires.private field of mozjs-*.pc
(home-page
"https://spidermonkey.dev/")
(synopsis "Mozilla JavaScript engine")
(description "SpiderMonkey is Mozilla's JavaScript engine written
in C/C++.")
(license license:mpl2.0))) ; and others for some files
(define-public mozjs-128
(package
(inherit mozjs)
(version "128.3.1")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; This was fixed sometime between 102.15.1 and 115.11.0.
;; These tests are supposed to be skipped on all 64-bit systems.
#$@(if (target-riscv64?)
#~((substitute* '("non262/Array/regress-157652.js"
"non262/regress/regress-422348.js")
(("mips64") "mips64|riscv64")))
#~())
;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
(delete-file "non262/Date/15.9.5.7.js")
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
;; FIXME: got 7, expected 9: parts count mismatch
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
(inputs
(list icu4c-73 readline zlib))))
(define-public mozjs-115
(package
(inherit mozjs)
(version "115.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
(replace 'pre-check
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; XXX: Delete all tests that test time zone functionality,
;; because the test suite uses /etc/localtime to figure out
;; the offset from the hardware clock, which does not work
;; in the build container. See <tests/non262/Date/shell.js>.
(delete-file-recursively "non262/Date")
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string
(parallel-job-count)))))))))))))
(inputs
(list icu4c-73 readline zlib))))
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define mozilla-compare-locales
@@ -1249,6 +900,355 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
(define-public mozjs
(package
(name "mozjs")
(version %icecat-version)
(source (origin (inherit icecat-source)
(patches (search-patches "mozjs-xp-win.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
#:modules `((guix build cargo-utils)
,@%default-gnu-modules)
#:test-target "check-jstests"
#:configure-flags
#~(list
;; Disable debugging symbols to save space.
"--disable-debug"
"--disable-debug-symbols"
;; This is important because without it gjs will segfault during the
;; configure phase. With jemalloc only the standalone mozjs console
;; will work.
"--disable-jemalloc"
"--enable-tests"
"--enable-hardening"
"--enable-optimize"
"--enable-release"
"--enable-readline"
"--enable-rust-simd"
"--enable-shared-js"
"--with-system-icu"
"--with-system-nspr"
"--with-system-zlib"
"--with-intl-api")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'python-3.11-compatibility
(lambda _
(substitute* '("python/mozbuild/mozpack/files.py"
"python/mozbuild/mozbuild/util.py"
"python/mozbuild/mozbuild/action/process_define_files.py"
"python/mozbuild/mozbuild/backend/base.py"
"python/mozbuild/mozbuild/preprocessor.py")
(("\"rU\"") "\"r\""))))
(add-after 'unpack 'restore-api-compat
(lambda _
(substitute* "js/public/GCAPI.h"
(("enum class GCReason")
"#define FIRST_FIREFOX_REASON FIRST_ICECAT_REASON
#define LAST_FIREFOX_REASON LAST_ICECAT_REASON
enum class GCReason"))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(let ((null-hash
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(for-each (lambda (file)
(format #t "patching checksums in ~a~%" file)
(substitute* file
(("^checksum = \".*\"")
(string-append "checksum = \"" null-hash "\""))))
(find-files "." "Cargo\\.lock$"))
(for-each generate-all-checksums
'("js" "third_party/rust")))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script does not accept environment variables as
;; arguments. It also must be run from a different directory,
;; but not the root directory either.
(mkdir "run-configure-from-here")
(chdir "run-configure-from-here")
;; Configure script writes to $HOME.
(setenv "HOME" (getcwd))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "AUTOCONF" (which "autoconf"))
(apply invoke "python" "../configure.py"
"--enable-project=js"
(string-append "--prefix=" #$output)
configure-flags)))
(add-before 'check 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; Most of the timezone related failures are probably
;; attributable to our use of a system-provided icu4c library
;; instead of the bundled one.
(for-each
delete-file
'( ;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
"non262/Date/15.9.5.7.js"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
"non262/Intl/available-locales-supported.js"
;; FIXME: got "en-US", expected "en-US-POSIX"
"non262/Intl/available-locales-resolved.js"
;;; Since 115:
;; Mismatching array lengths
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
"non262/Intl/DateTimeFormat/timeZone_version.js"
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
"non262/Intl/Collator/implicithan.js"
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
"non262/Intl/Collator/big5han-gb2312han.js"
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
;; FIXME: got 7, expected 9: parts count mismatch
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
;; Since 140:
;; RangeError: invalid time zone: America/Coyhaique
"non262/Temporal/ZonedDateTime/zones-and-links.js"
;; got 2042, expected 2043
"non262/Temporal/Intl/consistent-dates.js"
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
"non262/Intl/DateTimeFormat/timeZone_links.js"
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
;; Test262Error: Expected true but got false
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
;; Test262Error: getTimeZoneTransition(next) does not return its input
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/result-type.js"
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transition-at-instant-boundaries.js"
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/specific-tzdb-values.js"
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
;; TypeError: can't access property "epochNanoseconds",
;; before.getTimeZoneTransition(...) is null
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transitions-close-together.js")))))
(add-before 'check 'pre-check
(lambda _
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string (parallel-job-count)))))))))))
(native-inputs
(list autoconf
llvm ;for llvm-objdump
m4
perl
pkg-config
python-wrapper
rust
`(,rust "cargo")
rust-cbindgen))
(inputs
(list icu4c-77 readline zlib))
(propagated-inputs
(list nspr)) ; in the Requires.private field of mozjs-*.pc
(home-page
"https://spidermonkey.dev/")
(synopsis "Mozilla JavaScript engine")
(description "SpiderMonkey is Mozilla's JavaScript engine written
in C/C++.")
(license license:mpl2.0))) ; and others for some files
(define-public mozjs-128
(package
(inherit mozjs)
(version "128.3.1")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; This was fixed sometime between 102.15.1 and 115.11.0.
;; These tests are supposed to be skipped on all 64-bit systems.
#$@(if (target-riscv64?)
#~((substitute* '("non262/Array/regress-157652.js"
"non262/regress/regress-422348.js")
(("mips64") "mips64|riscv64")))
#~())
;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
(delete-file "non262/Date/15.9.5.7.js")
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
;; FIXME: got 7, expected 9: parts count mismatch
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
(inputs
(list icu4c-73 readline zlib))))
(define-public mozjs-115
(package
(inherit mozjs)
(version "115.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
(replace 'pre-check
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; XXX: Delete all tests that test time zone functionality,
;; because the test suite uses /etc/localtime to figure out
;; the offset from the hardware clock, which does not work
;; in the build container. See <tests/non262/Date/shell.js>.
(delete-file-recursively "non262/Date")
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string
(parallel-job-count)))))))))))))
(inputs
(list icu4c-73 readline zlib))))
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
(define %icecat-140.9.1-base-version "140.9.1")
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
+32 -20
View File
@@ -578,7 +578,10 @@ This package provides the core library and elements.")
(substitute* "tests/check/meson.build"
;; This test causes nondeterministic failures (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
((".*'elements/appsrc.c'.*") ""))
((".*'elements/appsrc.c'.*") "")
;; This one is flaky (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5016>).
((".*'elements/inputselector.c'.*") ""))
;; Some other tests fail on other architectures.
#$@(cond
((target-x86-32?)
@@ -766,7 +769,8 @@ model to base your own plug-in on, here it is.")
(build-system meson-build-system)
(arguments
(list
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled"
#:configure-flags #~(list "-Dgpl=enabled"
"-Dsctp-internal-usrsctp=disabled"
;; TODO: Figure out why audiovisualizer test
;; fails on riscv64-linux.
#$@(if (target-riscv64?)
@@ -776,6 +780,15 @@ model to base your own plug-in on, here it is.")
#:phases
#~(modify-phases %standard-phases
#$@%common-gstreamer-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ext/resindvd/resindvdsrc.c"
;; `g_module_open' is a wrapper above dlopen; pass it the
;; absolute file name of the library to ensure it is always
;; found.
(("\"libdvdcss\"")
(format #f "~s"
(search-input-file inputs "lib/libdvdcss.so"))))))
(add-after 'unpack 'adjust-tests
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
@@ -789,18 +802,18 @@ model to base your own plug-in on, here it is.")
;; The 'elements_shm.test_shm_live' test sometimes times out
;; (see:
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
((".*'elements/shm\\.c'.*") "")
;; The 'elements_curlhttpsrc' test sometimes times out.
((".*'elements/curlhttpsrc\\.c'.*") "")
;; The 'mxfdemux' test fails for unknown reasons (see:
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921).
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921>).
((".*'elements/mxfdemux.c'.*") "")
;; Unexpected critical/warning, see
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000>
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
((".*'elements/netsim\\.c'.*") "")
;; TODO: Figure out why this test fails on riscv64-linux.
@@ -809,30 +822,19 @@ model to base your own plug-in on, here it is.")
"'elements/viewfinderbin.c'], true, ],"))
'())
;; This test is flaky on at least some architectures.
;; This test is flaky.
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
#$@(if (member (%current-system)
'("aarch64-linux" "riscv64-linux"))
`((("'elements/camerabin\\.c'\\].*],")
"'elements/camerabin.c'], true, ],"))
'())
(("'elements/camerabin\\.c'\\].*],")
"'elements/camerabin.c'], true, ],")
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
((".*elements/dtls\\.c.*") "")
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
((".*elements/mxfdemux\\.c.*") "")
;; Unable to create pipeline 'bin.
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
;; no element "vulkanupload"
((".*elements/vkcolorconvert\\.c.*") "")
((".*elements/vkupload\\.c.*") ""))
(substitute* "tests/check/elements/zxing.c"
;; zxing 1.2.0 seemingly changed the type representation of
;; the EAN_13 structure; disable it.
((".*\"EAN_13\".*")
"")))))
((".*elements/vkupload\\.c.*") "")))))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
@@ -1162,9 +1164,19 @@ after their category.")
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags #~(list "-Dgpl=enabled")
#:phases
#~(modify-phases %standard-phases
#$@%common-gstreamer-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ext/dvdread/dvdreadsrc.c"
;; `g_module_open' is a wrapper above dlopen; pass it the
;; absolute file name of the library to ensure it is always
;; found.
(("\"libdvdcss\"")
(format #f "~s"
(search-input-file inputs "lib/libdvdcss.so"))))))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
+44 -38
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -387,7 +387,7 @@ applications.")
(define-public pango
(package
(name "pango")
(version "1.56.4")
(version "1.57.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -396,7 +396,7 @@ applications.")
(file-name (git-file-name name version))
(sha256
(base32
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67"))))
"0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
(build-system meson-build-system)
(arguments
(list
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
(version "2.44.4")
(version "2.44.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -655,7 +655,7 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck"))
"0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
(patches
(search-patches
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
@@ -781,7 +781,7 @@ images.")
(hidden-package
(package
(name "at-spi2-core")
(version "2.52.0")
(version "2.60.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -789,7 +789,7 @@ images.")
name "-" version ".tar.xz"))
(sha256
(base32
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa"))))
"16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
(build-system meson-build-system)
(arguments
(list
@@ -987,7 +987,7 @@ application suites.")
(package
(inherit gtk+-2)
(name "gtk+")
(version "3.24.51")
(version "3.24.52")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -996,10 +996,11 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
"197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"
"gtk3-treeview-test-fix.patch"))))
;; There is no "doc" output, because adding gtk-doc here would introduce a
;; dependency cycle with itself.
(outputs '("out" "bin"))
@@ -1075,22 +1076,20 @@ application suites.")
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; These tests fail only in the containerized environment, for
;; unknown reasons.
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
@@ -1114,13 +1113,13 @@ application suites.")
"/share/applications")))))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(define-public gtk
(package
(name "gtk")
(version "4.20.3")
(version "4.22.1")
(source
(origin
(method url-fetch)
@@ -1128,9 +1127,11 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8"))
(base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
(patches
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
(search-patches "gtk4-demo-reproducible.patch"
"gtk4-needs-udmabuf.patch"
"gtk4-respect-GUIX_GTK4_PATH.patch"))
(modules '((guix build utils)))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
@@ -1198,6 +1199,9 @@ application suites.")
(("[ \t]*'empty-text.node',") "")
(("[ \t]*'testswitch.node',") "")
(("[ \t]*'widgetfactory.node',") "")
;; The gtklistitemmanager test is flaky (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/6547>).
((".*'gtklistitemmanager.c',.*") "")
;; XXX: Figure out why this fails and report upstream.
((".*'memorytexture',.*") "")
((".*'yuv-matrix-dmabuf',.*") ""))
@@ -1254,8 +1258,10 @@ application suites.")
(setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
;; Tests require a running X server. The '-noreset' option is
;; necessary to avoid spurious "Failed to open display" test
;; errors.
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
(setenv "DISPLAY" ":1")
;; Tests write to $HOME.
(setenv "HOME" (getcwd))
@@ -1298,6 +1304,7 @@ application suites.")
docbook-xsl
gettext-minimal
`(,glib "bin")
glibc-utf8-locales ;some tests require en_US.UTF-8
gobject-introspection ;for building introspection data
graphene
gtk-doc/stable ;for building documentation
@@ -1321,7 +1328,6 @@ application suites.")
(inputs
(list colord ;for color printing support
cups ;for CUPS print-backend
ffmpeg ;for ffmpeg media-backend
fribidi
gi-docgen
gstreamer ;for gstreamer media-backend
@@ -1365,8 +1371,8 @@ application suites.")
(native-search-paths
(list
(search-path-specification
(variable "GUIX_GTK4_PATH")
(files '("lib/gtk-4.0")))))
(variable "GUIX_GTK4_PATH")
(files '("lib/gtk-4.0")))))
(search-paths native-search-paths)
(home-page "https://www.gtk.org/")
(synopsis "Cross-platform widget toolkit")
@@ -2205,7 +2211,7 @@ information.")
(define-public gtk-doc
(package
(name "gtk-doc")
(version "1.34.0")
(version "1.35.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2213,7 +2219,7 @@ information.")
name "-" version ".tar.xz"))
(sha256
(base32
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
"1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
(patches
(search-patches "gtk-doc-respect-xml-catalog.patch"
"gtk-doc-mkhtml-test-fix.patch"))))
+3 -3
View File
@@ -89,14 +89,14 @@
(define-public ibus-minimal
(package
(name "ibus")
(version "1.5.32")
(version "1.5.34-rc2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ibus/ibus")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6"))))
(sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "doc"))
(arguments
@@ -204,7 +204,7 @@
wayland
xmodmap))
(native-inputs
(list autoconf
(list autoconf-2.72
automake
docbook-xml-4.1.2
`(,glib "bin") ;for glib-genmarshal
+2 -2
View File
@@ -2854,7 +2854,7 @@ Format) file format decoder and encoder.")
(define-public libjxl
(package
(name "libjxl")
(version "0.11.1")
(version "0.11.2")
(outputs (list "out" "pixbuf-loader"))
(source
(origin
@@ -2865,7 +2865,7 @@ Format) file format decoder and encoder.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
(base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
(modules '((guix build utils)))
(snippet
;; Delete the bundles that will not be used.
+11 -20
View File
@@ -11535,7 +11535,7 @@ of Linux application development.")
(define-public wireplumber
(package
(name "wireplumber")
(version "0.5.12")
(version "0.5.14")
(source
(origin
(method git-fetch)
@@ -11545,7 +11545,7 @@ of Linux application development.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1dljz669ywy1lvvn0jh14ymynmbii45q5vay71zajpcg31249dyw"))))
(base32 "0rr2vlbwjjhgsk6lk2iwaww21gks2v63f0cs01rh2mdi8jpfz7h2"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dsystemd=disabled"
@@ -12268,7 +12268,7 @@ that avoids the usage of older system-wide @file{/sys} interface.")
(define-public libtracefs
(package
(name "libtracefs")
(version "1.7.0")
(version "1.8.3")
(source
(origin
(method git-fetch)
@@ -12277,25 +12277,16 @@ that avoids the usage of older system-wide @file{/sys} interface.")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0v896n3q0df0nxx5drbwyaqhrqiyxl06rvrdw3gp2r37awa9g1zb"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* (list "Makefile" "scripts/utils.mk")
(("/bin/(pwd)" _ command) command))))))
(build-system gnu-build-system)
(base32 "1bc4mwf488nlja64zawjznvb6640vchjb25xa02v53x6qfb1mpmq"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target))
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig")
(string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(native-inputs (list pkg-config))
#:configure-flags
#~(list "-Ddoc=false")))
(native-inputs
(list bison
flex
pkg-config))
(inputs (list libtraceevent))
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
(synopsis "Linux kernel trace file system library")
+10 -8
View File
@@ -591,7 +591,7 @@ Android, and ChromeOS.")
(define-public libnice
(package
(name "libnice")
(version "0.1.22")
(version "0.1.23")
(source
(origin
(method git-fetch)
@@ -601,7 +601,7 @@ Android, and ChromeOS.")
(file-name (git-file-name name version))
(sha256
(base32
"0ik45q1qlr04llr2ssm6zb73840dmn31q303k3qrcpgj0jp578hg"))))
"0zqnqhcm1rx5axbzd448yi6j4bq4kykiqb4wihs2p8h1k49nkyjh"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
@@ -614,23 +614,25 @@ Android, and ChromeOS.")
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "tests/meson.build"
;; This test is flaky (see:
;; <https://gitlab.freedesktop.org/libnice/libnice/-/work_items/210>).
((".*'test-send-recv',.*") "")
;; test-set-port-range.c:66:main: assertion failed:
;; (nice_agent_gather_candidates (agent, stream1))
(("'test-set-port-range'" all)
(string-append "# " all))
;; The following test is disabled as it fails in a
;; nondeterministic fashion (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/151).
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/151>).
(("'test-bsd'" all)
(string-append "# " all))
;; The test-new-trickle fails with GLib 2.83.0 (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/198).
(("'test-new-trickle'" all)
(string-append "# " all)))
;; This test uses getaddrinfo, which cannot resolve in the
;; build environment.
((".*'test-slow-resolving',.*") ""))
(substitute* "stun/tests/meson.build"
;; test-bind.c:234: bad_responses: Assertion `len >= 20'
;; failed (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/150).
;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/150>).
(("'bind', ")
""))))
(add-after 'install 'move-docs
@@ -1,6 +1,3 @@
Pretend that stat's mtime is broken, so that the fontconfig cache does not
depend upon modification time to determine if a cache is stale.
diff --git a/src/fcstat.c b/src/fcstat.c
index 9b54e2b4..76d7780e 100644
--- a/src/fcstat.c
@@ -10,6 +7,6 @@ index 9b54e2b4..76d7780e 100644
FcIsFsMtimeBroken (const FcChar8 *dir)
{
+ return FcTrue;
int fd = FcOpen ((const char *) dir, O_RDONLY);
int fd = FcOpen ((const char *)dir, O_RDONLY);
if (fd != -1)
if (fd != -1) {
@@ -0,0 +1,35 @@
Some udmapbuf relying tests were still selected despite using --no-suite=needs-udmabuf.
Upstream-status: Patch prepared by upstream, not yet committed.
diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
index 0118304bf8..6bf4d4bb93 100644
--- a/testsuite/gsk/meson.build
+++ b/testsuite/gsk/meson.build
@@ -275,6 +275,16 @@ compare_render_tests = [
'zero-length-path-stroke',
]
+# These tests use dmabufs and fail in testrunners that have
+# dmabuf support but no access to /dev/udmabuf.
+# For that purpose we add them to the 'needs-udmabuf' suite
+# with this list
+needs_udmabuf = [
+ 'yuv-matrix-dmabuf-nv12',
+ 'yuv-matrix-dmabuf-rgba',
+ 'yuv-matrix-dmabuf-yuyv',
+]
+
# These tests are either slow or need lots of memory.
# So we don't run them in parallel with other such tests to not
# cause CI failures
@@ -386,6 +396,9 @@ foreach renderer : renderers
if test_xfails.contains(variant) or (renderer_name == 'cairo' and variant == 'clip')
extra_suites += ['failing']
endif
+ if needs_udmabuf.contains(testname)
+ extra_suites += ['needs-udmabuf']
+ endif
test('compare ' + renderer_name + ' ' + testname + ' ' + variant, compare_render,
protocol: 'tap',
args: [
@@ -0,0 +1,67 @@
From 8fb3557bce1fdf9e2c4146e89b43753688d64455 Mon Sep 17 00:00:00 2001
From: Alessandro Astone <alessandro.astone@canonical.com>
Date: Mon, 23 Mar 2026 15:48:20 +0100
Subject: [PATCH] testsuite/a11y: Fixup treeview test after focus policy
changes
Since commit
fbc28541f0 ("a11y: Don't send focus-related events for unfocused treeview")
the window must have focus in order for the treeview to have focus and emit
the signal we want to test for.
Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9716>
---
testsuite/a11y/tree-relationships.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/testsuite/a11y/tree-relationships.c b/testsuite/a11y/tree-relationships.c
index 34f45b690a5..a1cc1f38288 100644
--- a/testsuite/a11y/tree-relationships.c
+++ b/testsuite/a11y/tree-relationships.c
@@ -223,6 +223,24 @@ process_pending_idles ()
g_main_loop_run (loop);
}
+static void
+on_window_focus (GObject *obj,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ GMainLoop *loop = data;
+ g_main_loop_quit (loop);
+}
+
+
+static void
+wait_window_focus (GtkWidget *window)
+{
+ GMainLoop *loop = g_main_loop_new (NULL, FALSE);
+ g_signal_connect (window, "notify::is-active", G_CALLBACK (on_window_focus), loop);
+ g_main_loop_run (loop);
+}
+
static void
test_a11y_tree_focus (void)
{
@@ -243,13 +261,15 @@ test_a11y_tree_focus (void)
window = builder_get_toplevel (builder);
g_assert (window);
- populate_tree (builder);
+ gtk_widget_show (window);
+ gtk_window_present (GTK_WINDOW (window));
+ wait_window_focus (window);
+ populate_tree (builder);
tv = (GtkTreeView *)gtk_builder_get_object (builder, "treeview1");
gtk_tree_view_expand_all (tv);
- gtk_widget_show (window);
-
+ gtk_widget_grab_focus (GTK_WIDGET (tv));
gtk_tree_view_get_cursor (tv, &path, &focus_column);
gtk_tree_path_down (path);
data.count = 0;
--
GitLab
@@ -0,0 +1,79 @@
Upstream-status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/9675
diff --git a/demos/gtk-demo/geninclude.py b/demos/gtk-demo/geninclude.py
index 2ebfaeb625..5864a608f5 100755
--- a/demos/gtk-demo/geninclude.py
+++ b/demos/gtk-demo/geninclude.py
@@ -2,19 +2,20 @@
# -*- coding: utf-8 -*-
import sys
-import re
-import os
from collections import *
+
def add_quotes(s):
return "\"" + s.lower() + "\""
+
def wordify(s):
return s.strip().rstrip(".,;:")
+
def is_keyword(s):
if s == "GTK":
- return False
+ return False
elif s.startswith(("Gtk", "Gdk", "Pango")):
return True
elif s.startswith("G") and s[1].isupper():
@@ -22,6 +23,7 @@ def is_keyword(s):
else:
return False
+
out_file = sys.argv[1]
in_files = sys.argv[2:]
@@ -82,6 +84,10 @@ for demo in demos:
parent_index = parent_index + 1
+# Sort demos by title
+demos = sorted(demos, key=lambda x: x[1])
+
+
# For every child with a parent, generate a list of child demos
i = 0
for parent in parents:
@@ -91,15 +97,12 @@ for parent in parents:
for child in demos:
if child[1].startswith(parent + "/"):
title = child[1][child[1].rfind('/') + 1:]
- file_output += " { \"" + child[0] + "\", \"" + title + "\", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, child[2])) + ["NULL"]) + " }, \"" + child[3] + "\", " + child[4] + ", NULL },\n"
+ file_output += " { \"" + child[0] + "\", \"" + title + "\", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, sorted(child[2]))) + ["NULL"]) + " }, \"" + child[3] + "\", " + child[4] + ", NULL },\n"
file_output += " { NULL }\n};\n"
i = i + 1
-# Sort demos by title
-demos = sorted(demos, key=lambda x: x[1])
-
file_output += "\nDemoData gtk_demos[] = {\n"
for demo in demos:
# Do not generate one of these for demos with a parent demo
@@ -118,10 +121,10 @@ for demo in demos:
if demo[5] != -1:
child_array = "child" + str(demo[5])
- file_output += " { " + name + ", " + title + ", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, keywords)) + ["NULL"]) + " }, " + file + ", " + demo[4] + ", " + child_array + " },\n"
+ file_output += " { " + name + ", " + title + ", " + "(const char*[]) {" + ", ".join(list(map(add_quotes, sorted(keywords))) + ["NULL"]) + " }, " + file + ", " + demo[4] + ", " + child_array + " },\n"
-file_output += " { NULL }\n};\n"
+file_output += " { NULL }\n};\n"
ofile = open(out_file, "w")
ofile.write(file_output)
ofile.close()
@@ -0,0 +1,35 @@
Some udmapbuf relying tests were still selected despite using --no-suite=needs-udmabuf.
Upstream-status: Patch prepared by upstream, not yet committed.
diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build
index 0118304bf8..6bf4d4bb93 100644
--- a/testsuite/gsk/meson.build
+++ b/testsuite/gsk/meson.build
@@ -275,6 +275,16 @@ compare_render_tests = [
'zero-length-path-stroke',
]
+# These tests use dmabufs and fail in testrunners that have
+# dmabuf support but no access to /dev/udmabuf.
+# For that purpose we add them to the 'needs-udmabuf' suite
+# with this list
+needs_udmabuf = [
+ 'yuv-matrix-dmabuf-nv12',
+ 'yuv-matrix-dmabuf-rgba',
+ 'yuv-matrix-dmabuf-yuyv',
+]
+
# These tests are either slow or need lots of memory.
# So we don't run them in parallel with other such tests to not
# cause CI failures
@@ -386,6 +396,9 @@ foreach renderer : renderers
if test_xfails.contains(variant) or (renderer_name == 'cairo' and variant == 'clip')
extra_suites += ['failing']
endif
+ if needs_udmabuf.contains(testname)
+ extra_suites += ['needs-udmabuf']
+ endif
test('compare ' + renderer_name + ' ' + testname + ' ' + variant, compare_render,
protocol: 'tap',
args: [
@@ -0,0 +1,29 @@
This patch provides a correct library path when shared libraries referenced by
typelibs are installed in a subdirectory of lib/ rather than directly
underneath it. It works in combination with the
gobject-introspection-absolute-shlib-path.patch patch that adds the
'--fallback-library-path' option to its 'g-ir-scanner' command.
Retrieved-from: <https://raw.githubusercontent.com/NixOS/nixpkgs/refs/heads/master/pkgs/by-name/me/meson/004-gir-fallback-path.patch>
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 1c6952df7..9466a0b7d 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -923,6 +923,16 @@ class GnomeModule(ExtensionModule):
if fatal_warnings:
scan_command.append('--warn-error')
+ if len(set(girtarget.get_custom_install_dir()[0] for girtarget in girtargets if girtarget.get_custom_install_dir())) > 1:
+ raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets])))
+
+ if girtargets[0].get_custom_install_dir():
+ fallback_libpath = girtargets[0].get_custom_install_dir()[0]
+ else:
+ fallback_libpath = None
+ if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
+ scan_command += ['--fallback-library-path=' + fallback_libpath]
+
generated_files = [f for f in libsources if isinstance(f, (GeneratedList, CustomTarget, CustomTargetIndex))]
scan_target = self._make_gir_target(state, girfile, scan_command, generated_files, depends, kwargs)
@@ -0,0 +1,25 @@
This patch provides a roundabout way of keeping "$prefix/..", i.e. the store
directory, in DT_RPATH/DT_RUNPATH. See <https://issues.guix.gnu.org/70349>
for motivation.
Upstream-Status: Not submitted.
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1826,6 +1826,7 @@ class BuildTarget(Target):
def rpaths_for_non_system_absolute_shared_libraries(self, exclude_system: bool = True) -> ImmutableListProtocol[str]:
paths: OrderedSet[str] = OrderedSet()
srcdir = self.environment.get_source_dir()
+ vicinity = os.path.dirname(self.prefix)
system_dirs = set()
if exclude_system:
@@ -1840,7 +1841,7 @@ class BuildTarget(Target):
if dep.type_name not in {'library', 'pkgconfig', 'cmake'}:
continue
for libpath in dep.link_args:
- if libpath.startswith('-'):
+ if libpath.startswith('-') or libpath.startswith(vicinity):
continue
# For all link args that are absolute paths to a library file, add RPATH args
if not os.path.isabs(libpath):
+27
View File
@@ -0,0 +1,27 @@
Retrieved-from: <https://src.fedoraproject.org/rpms/mozjs140/raw/49492baa47bc1d7b7d5bc738c4c81b4661302f27/f/9aa8b4b051dd539e0fbd5e08040870b3c712a846.patch>
Upstream-status: https://bugzilla.mozilla.org/show_bug.cgi?id=1973994
From 9aa8b4b051dd539e0fbd5e08040870b3c712a846 Mon Sep 17 00:00:00 2001
From: Philip Chimento <philip.chimento@gmail.com>
Date: Wed, 16 Jul 2025 22:50:50 -0700
Subject: [PATCH] Bug 1973994 - mozjs-140.pc does not contain -DXP_UNIX on
Linux
Temporary fix.
---
js/src/js-config.h.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in
index 8372623586..498ea968ba 100644
--- a/js/src/js-config.h.in
+++ b/js/src/js-config.h.in
@@ -68,4 +68,8 @@
#undef MOZJS_MAJOR_VERSION
#undef MOZJS_MINOR_VERSION
+/* Controls API in UniquePtrExtensions.h. */
+#undef XP_UNIX
+#undef XP_WIN
+
#endif /* js_config_h */
@@ -0,0 +1,299 @@
From c8896801dfbfe03b56f85c1533abc077ff74a533 Mon Sep 17 00:00:00 2001
From: Reilly Brogan <reilly@reillybrogan.com>
Date: Tue, 19 Aug 2025 14:47:03 -0500
Subject: [PATCH 1/2] Fix build with abseil-cpp 202508
---
webrtc/api/audio/audio_processing.h | 12 +++++++++
webrtc/api/make_ref_counted.h | 13 ++++++++++
webrtc/api/scoped_refptr.h | 15 +++++++++++
.../aec_dump/aec_dump_factory.h | 15 +++++++++++
.../aec_dump/null_aec_dump_factory.cc | 25 +++++++++++++++++++
.../audio_processing/audio_processing_impl.cc | 9 +++++++
.../audio_processing/audio_processing_impl.h | 9 +++++++
7 files changed, 98 insertions(+)
diff --git a/webrtc/api/audio/audio_processing.h b/webrtc/api/audio/audio_processing.h
index dca75f2..4580ba9 100644
--- a/webrtc/api/audio/audio_processing.h
+++ b/webrtc/api/audio/audio_processing.h
@@ -28,6 +28,7 @@
#include <string>
#include <utility>
+#include "absl/base/config.h"
#include "absl/base/nullability.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
@@ -632,6 +633,7 @@ class RTC_EXPORT AudioProcessing : public RefCountInterface {
// return value of true indicates that the file has been
// sucessfully opened, while a value of false indicates that
// opening the file failed.
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
virtual bool CreateAndAttachAecDump(
absl::string_view file_name,
int64_t max_log_size_bytes,
@@ -640,6 +642,16 @@ class RTC_EXPORT AudioProcessing : public RefCountInterface {
absl::Nonnull<FILE*> handle,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue) = 0;
+#else
+ virtual bool CreateAndAttachAecDump(absl::string_view file_name,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull
+ worker_queue) = 0;
+ virtual bool CreateAndAttachAecDump(FILE* absl_nonnull handle,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull
+ worker_queue) = 0;
+#endif
// TODO(webrtc:5298) Deprecated variant.
// Attaches provided webrtc::AecDump for recording debugging
diff --git a/webrtc/api/make_ref_counted.h b/webrtc/api/make_ref_counted.h
index b5f4e99..080023a 100644
--- a/webrtc/api/make_ref_counted.h
+++ b/webrtc/api/make_ref_counted.h
@@ -13,6 +13,7 @@
#include <type_traits>
#include <utility>
+#include "absl/base/config.h"
#include "absl/base/nullability.h"
#include "api/ref_count.h"
#include "api/scoped_refptr.h"
@@ -86,7 +87,11 @@ template <
typename std::enable_if<std::is_convertible_v<T*, RefCountInterface*> &&
std::is_abstract_v<T>,
T>::type* = nullptr>
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
+#else
+absl_nonnull scoped_refptr<T> make_ref_counted(Args&&... args) {
+#endif
return scoped_refptr<T>(new RefCountedObject<T>(std::forward<Args>(args)...));
}
@@ -99,7 +104,11 @@ template <
!std::is_convertible_v<T*, RefCountInterface*> &&
webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
T>::type* = nullptr>
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<scoped_refptr<T>> make_ref_counted(Args&&... args) {
+#else
+absl_nonnull scoped_refptr<T> make_ref_counted(Args&&... args) {
+#endif
return scoped_refptr<T>(new T(std::forward<Args>(args)...));
}
@@ -113,7 +122,11 @@ template <
!webrtc_make_ref_counted_internal::HasAddRefAndRelease<T>::value,
T>::type* = nullptr>
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<scoped_refptr<FinalRefCountedObject<T>>> make_ref_counted(
+#else
+absl_nonnull scoped_refptr<FinalRefCountedObject<T>> make_ref_counted(
+#endif
Args&&... args) {
return scoped_refptr<FinalRefCountedObject<T>>(
new FinalRefCountedObject<T>(std::forward<Args>(args)...));
diff --git a/webrtc/api/scoped_refptr.h b/webrtc/api/scoped_refptr.h
index c6fb560..8c441ff 100644
--- a/webrtc/api/scoped_refptr.h
+++ b/webrtc/api/scoped_refptr.h
@@ -66,6 +66,7 @@
#include <cstddef>
#include <utility>
+#include "absl/base/config.h"
#include "absl/base/nullability.h"
namespace webrtc {
@@ -73,13 +74,19 @@ namespace webrtc {
template <class T>
class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
public:
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
using absl_nullability_compatible = void;
+#endif
using element_type = T;
scoped_refptr() : ptr_(nullptr) {}
scoped_refptr(std::nullptr_t) : ptr_(nullptr) {} // NOLINT(runtime/explicit)
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
explicit scoped_refptr(absl::Nullable<T*> p) : ptr_(p) {
+#else
+ explicit scoped_refptr(T* absl_nullable p) : ptr_(p) {
+#endif
if (ptr_)
ptr_->AddRef();
}
@@ -122,7 +129,11 @@ class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
return retVal;
}
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
scoped_refptr<T>& operator=(absl::Nullable<T*> p) {
+#else
+ scoped_refptr<T>& operator=(T* absl_nullable p) {
+#endif
// AddRef first so that self assignment should work
if (p)
p->AddRef();
@@ -152,7 +163,11 @@ class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
return *this;
}
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
void swap(absl::Nonnull<T**> pp) noexcept {
+#else
+ void swap(T** absl_nonnull pp) noexcept {
+#endif
T* p = ptr_;
ptr_ = *pp;
*pp = p;
diff --git a/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h b/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
index 0d258a9..14d8b39 100644
--- a/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
+++ b/webrtc/modules/audio_processing/aec_dump/aec_dump_factory.h
@@ -29,6 +29,7 @@ class RTC_EXPORT AecDumpFactory {
// The AecDump takes responsibility for `handle` and closes it in the
// destructor. A non-null return value indicates that the file has been
// sucessfully opened.
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
static absl::Nullable<std::unique_ptr<AecDump>> Create(
FileWrapper file,
int64_t max_log_size_bytes,
@@ -41,6 +42,20 @@ class RTC_EXPORT AecDumpFactory {
absl::Nonnull<FILE*> handle,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue);
+#else
+ static absl_nullable std::unique_ptr<AecDump> Create(
+ FileWrapper file,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue);
+ static absl_nullable std::unique_ptr<AecDump> Create(
+ absl::string_view file_name,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue);
+ static absl_nullable std::unique_ptr<AecDump> Create(
+ FILE* absl_nonnull handle,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue);
+#endif
};
} // namespace webrtc
diff --git a/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc b/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
index 63929af..658bcee 100644
--- a/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
+++ b/webrtc/modules/audio_processing/aec_dump/null_aec_dump_factory.cc
@@ -16,6 +16,7 @@
namespace webrtc {
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
FileWrapper file,
int64_t max_log_size_bytes,
@@ -37,3 +38,27 @@ absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
return nullptr;
}
} // namespace webrtc
+#else
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
+ FileWrapper file,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue) {
+ return nullptr;
+}
+
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
+ absl::string_view file_name,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue) {
+ return nullptr;
+}
+
+absl_nullable std::unique_ptr<AecDump> AecDumpFactory::Create(
+ FILE* absl_nonnull handle,
+ int64_t max_log_size_bytes,
+ TaskQueueBase* absl_nonnull worker_queue) {
+ return nullptr;
+}
+} // namespace webrtc
+
+#endif
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index a1cba51..1dfe26d 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -19,6 +19,7 @@
#include <type_traits>
#include <utility>
+#include "absl/base/config.h"
#include "absl/base/nullability.h"
#include "absl/strings/match.h"
#include "absl/strings/string_view.h"
@@ -1787,7 +1788,11 @@ void AudioProcessingImpl::UpdateRecommendedInputVolumeLocked() {
bool AudioProcessingImpl::CreateAndAttachAecDump(
absl::string_view file_name,
int64_t max_log_size_bytes,
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<TaskQueueBase*> worker_queue) {
+#else
+ TaskQueueBase* absl_nonnull worker_queue) {
+#endif
std::unique_ptr<AecDump> aec_dump =
AecDumpFactory::Create(file_name, max_log_size_bytes, worker_queue);
if (!aec_dump) {
@@ -1801,7 +1806,11 @@ bool AudioProcessingImpl::CreateAndAttachAecDump(
bool AudioProcessingImpl::CreateAndAttachAecDump(
FILE* handle,
int64_t max_log_size_bytes,
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<TaskQueueBase*> worker_queue) {
+#else
+ TaskQueueBase* absl_nonnull worker_queue) {
+#endif
std::unique_ptr<AecDump> aec_dump =
AecDumpFactory::Create(handle, max_log_size_bytes, worker_queue);
if (!aec_dump) {
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index ecdc055..51a2bfb 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -20,6 +20,7 @@
#include <string>
#include <vector>
+#include "absl/base/config.h"
#include "absl/base/nullability.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
@@ -74,11 +75,19 @@ class AudioProcessingImpl : public AudioProcessing {
bool CreateAndAttachAecDump(
absl::string_view file_name,
int64_t max_log_size_bytes,
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<TaskQueueBase*> worker_queue) override;
+#else
+ TaskQueueBase* absl_nonnull worker_queue) override;
+#endif
bool CreateAndAttachAecDump(
FILE* handle,
int64_t max_log_size_bytes,
+#if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20250512
absl::Nonnull<TaskQueueBase*> worker_queue) override;
+#else
+ TaskQueueBase* absl_nonnull worker_queue) override;
+#endif
// TODO(webrtc:5298) Deprecated variant.
void AttachAecDump(std::unique_ptr<AecDump> aec_dump) override;
void DetachAecDump() override;
--
GitLab
@@ -1,32 +0,0 @@
https://bugs.gentoo.org/917493
https://sources.debian.org/src/webrtc-audio-processing/1.0-0.2/debian/patches/Add-generic-byte-order-and-pointer-size-detection.patch/
Description: Add generic byte order and pointer size detection
Author: Than <than@redhat.com>
Origin: https://bugs.freedesktop.org/show_bug.cgi?id=95738#c4
Last-Update: 2022-02-01
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/webrtc/rtc_base/system/arch.h
+++ b/webrtc/rtc_base/system/arch.h
@@ -58,7 +58,19 @@
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
#else
-#error Please add support for your architecture in rtc_base/system/arch.h
+/* instead of failing, use typical unix defines... */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+#define WEBRTC_ARCH_LITTLE_ENDIAN
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#define WEBRTC_ARCH_BIG_ENDIAN
+#else
+#error __BYTE_ORDER__ is not defined
+#endif
+#if defined(__LP64__)
+#define WEBRTC_ARCH_64_BITS
+#else
+#define WEBRTC_ARCH_32_BITS
+#endif
#endif
#if !(defined(WEBRTC_ARCH_LITTLE_ENDIAN) ^ defined(WEBRTC_ARCH_BIG_ENDIAN))
@@ -0,0 +1,48 @@
From e9c78dc4712fa6362b0c839ad57b6b46dce1ba83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= <francois@centricular.com>
Date: Mon, 14 Apr 2025 16:48:19 +0200
Subject: [PATCH] Fix compilation with gcc-15
This commit fixes compilation errors with gcc-15 (default for Fedora 42).
From [1]:
> Common C++ headers (like <memory>) in GCC 15.0.0 (combined with libstdc++)
> don't transitively include uint64_t anymore.
See also [2].
[1]: https://github.com/ROCm/rocm_smi_lib/pull/198
[2]: https://github.com/root-project/root/issues/17444
---
.../audio_processing/aec3/multi_channel_content_detector.h | 1 +
webrtc/rtc_base/trace_event.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
index 2b2f3b8..feb29fd 100644
--- a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
+++ b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
@@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_AEC3_MULTI_CHANNEL_CONTENT_DETECTOR_H_
#include <stddef.h>
+#include <cstdint>
#include <memory>
#include <optional>
diff --git a/webrtc/rtc_base/trace_event.h b/webrtc/rtc_base/trace_event.h
index 2aee713..f88a68e 100644
--- a/webrtc/rtc_base/trace_event.h
+++ b/webrtc/rtc_base/trace_event.h
@@ -28,6 +28,7 @@
#if !defined(RTC_USE_PERFETTO)
#include <string>
+#include <cstdint>
#include "rtc_base/event_tracer.h"
--
GitLab
@@ -1,13 +0,0 @@
https://bugs.gentoo.org/921140
https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
--- a/webrtc/rtc_base/system/arch.h
+++ b/webrtc/rtc_base/system/arch.h
@@ -34,7 +34,7 @@
#else
#define WEBRTC_ARCH_32_BITS
#endif
-#elif defined(_M_IX86) || defined(__i386__)
+#elif defined(__SSE__) && (defined(_M_IX86) || defined(__i386__))
#define WEBRTC_ARCH_X86_FAMILY
#define WEBRTC_ARCH_X86
#define WEBRTC_ARCH_32_BITS
+2 -2
View File
@@ -173,7 +173,7 @@ rates.")
(define-public pulseaudio
(package
(name "pulseaudio")
(version "16.1")
(version "17.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -181,7 +181,7 @@ rates.")
name "-" version ".tar.xz"))
(sha256
(base32
"1r2aa0g7al9jhrrbrnih6i3bfznd73kkbafrbzwpjyflj7735vwf"))
"1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5"))
(modules '((guix build utils)))
(snippet
;; Disable console-kit support by default since it's deprecated
+7 -7
View File
@@ -16986,12 +16986,11 @@ the @code{sendfile(2)} system call.")
(arguments
(list
#:test-flags
#~(list "-k" "not TestCommandLineParser"
#$@(if (target-aarch64?)
;; TimeoutError: timed out
'((string-append "--deselect=pyftpdlib/test/test_functional.py"
"::TestTimeouts::test_idle_data_timeout2"))
'()))))
#~(list
"-k" "not TestCommandLineParser"
;; These contains flaky tests.
"--deselect=pyftpdlib/test/test_functional.py"
"--deselect=pyftpdlib/test/test_functional_ssl.py")))
(native-inputs
(list python-psutil
python-pytest
@@ -21073,7 +21072,8 @@ into 22 character URL-safe base64 slug representation.")
(sha256
(base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1"))))
(build-system pyproject-build-system)
;; tests: 856 passed, 24 skipped
;; The test_brokenpipeerror is flaky.
(arguments (list #:test-flags #~(list "-k" "not test_brokenpipeerror")))
(native-inputs
(list python-poetry-core
python-pytest
+13 -4
View File
@@ -1093,11 +1093,16 @@ tst_qt_cmake_create.cpp"
;; See https://bugreports.qt.io/browse/QTBUG-113371
;; Adding glibc-utf8-locales to native-inpus is no help.
;; TODO: when core-updates is merged, check again.
"tst_selftests"
;; The 'tst_qsqlthread' test sometimes fails.
"tst_qsqlthread"
;; The qsqldatabase test is flaky (see:
;; <https://qt-project.atlassian.net/browse/QTBUG-145385>).
"tst_qsqldatabase"
;; The 'tst_qtimer' test has a propensity to hang and
;; fail (see:
;; <https://qt-project.atlassian.net/browse/QTBUG-145261>).
"tst_qtimer_no_glib"
;; The 'tst_qthread' test is also flaky, despite the
;; patch applied that promised to fix it.
@@ -1196,7 +1201,11 @@ tst_qt_cmake_create.cpp"
;; This test may fail non-deterministically as reported
;; in Guix bug#73233 and upstream at
;; https://bugreports.qt.io/browse/QTBUG-119321.
"tst_qsharedmemory")
"tst_qsharedmemory"
;; This test fails deterministically on a non-privileged
;; daemon.
"tst_qstandardpaths")
#$@(cond
((target-ppc64le?)
#~((list
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1736,18 +1736,18 @@ and runtime for AI-assisted coding.")
(define-public rust-glycin-3
(package
(name "rust-glycin")
(version "3.0.7")
(version "3.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/glycin.git")
;; Rust library version is different from the tagged version.
(commit "2.0.7")))
(commit "2.1.1")))
(file-name (git-file-name name version))
(sha256
(base32
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
(build-system cargo-build-system)
(arguments
+46 -50
View File
@@ -50,7 +50,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com>
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
@@ -3573,38 +3573,21 @@ soon as it starts.")
(define-public libbluray
(package
(name "libbluray")
(version "1.3.4")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
name "/" version "/"
name "-" version ".tar.bz2"))
name "-" version ".tar.xz"))
(sha256
(base32
"0aszpsz3pc7p7z6yahlib4na585m6pqbg2d9dkpyipgml1lgv3s7"))))
(build-system gnu-build-system)
"0jglp44wsjpp5k3mrxskfj9b488ksn7cj2dhxfjdqa3z150drdbn"))))
(build-system meson-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-bdjava-jar" "--disable-static")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'move-packages-to-libs
;; Avoid the need to propagate libxml2 et al. by referring to them
;; directly.
(lambda* (#:key inputs #:allow-other-keys)
(define (search-input-vicinity lib)
(dirname
(search-input-file inputs
(string-append "lib/lib" lib ".so"))))
(substitute* "src/libbluray.pc.in"
(("@PACKAGES@") "")
(("^Libs.private:" field)
(string-append field
" -L" (search-input-vicinity "xml2")
" -L" (search-input-vicinity "freetype")
" -L" (search-input-vicinity "fontconfig")
" -lxml2 -lfreetype -lfontconfig")))))
(add-before 'build 'fix-dlopen-paths
(add-after 'unpack 'fix-dlopen-paths
(lambda* (#:key inputs #:allow-other-keys)
(define (lib/no.so library)
(let ((found (search-input-file inputs library)))
@@ -3612,11 +3595,29 @@ soon as it starts.")
(string-length ".so")))))
(substitute* "src/libbluray/disc/aacs.c"
(("\"libaacs\"")
(string-append "\"" (lib/no.so "lib/libaacs.so") "\""))
(string-append "\"" (lib/no.so "lib/libaacs.so") "\"")))
(substitute* "src/libbluray/disc/bdplus.c"
(("\"libbdplus\"")
(string-append "\"" (lib/no.so "lib/libbdplus.so") "\""))))))))
(string-append "\"" (lib/no.so "lib/libbdplus.so") "\"")))))
(add-after 'install 'move-packages-to-libs
;; Avoid the need to propagate libxml2 et al. by referring to them
;; directly.
(lambda* (#:key inputs #:allow-other-keys)
(define (search-input-vicinity lib)
(dirname
(search-input-file inputs
(string-append "lib/lib" lib ".so"))))
(substitute* (string-append #$output
"/lib/pkgconfig/libbluray.pc")
(("^Requires.private.*") "")
(("^Libs.private:" field)
(string-append field
" -L" (search-input-vicinity "xml2")
" -L" (search-input-vicinity "freetype")
" -L" (search-input-vicinity "fontconfig")
" -lxml2 -lfreetype -lfontconfig"))))))))
(native-inputs (list pkg-config))
(inputs (list fontconfig freetype libaacs libbdplus libxml2))
(inputs (list fontconfig freetype libaacs libbdplus libudfread libxml2))
(home-page "https://www.videolan.org/developers/libbluray.html")
(synopsis "Blu-Ray Disc playback library")
(description
@@ -3627,22 +3628,18 @@ players, like VLC or MPlayer.")
(define-public libdvdread
(package
(name "libdvdread")
(version "6.1.3")
(version "7.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
"libdvdread/" version "/"
"libdvdread-" version ".tar.bz2"))
"libdvdread-" version ".tar.xz"))
(sha256
(base32
"0sakl4c8y2kkp09km0b5353w66pvfc72y8wi1vjwn252jx4ladff"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-libdvdcss=yes")))
(native-inputs
(list pkg-config))
(propagated-inputs
(list libdvdcss))
"01ylalrr9lw6x7fz7z030243kln1hfd1pbh3m9ikjp610nih8gif"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(propagated-inputs (list libdvdcss))
(home-page "http://dvdnav.mplayerhq.hu/")
(synopsis "Library for reading video DVDs")
(description
@@ -3706,16 +3703,16 @@ MPEG-2 stream containing VOB packets.")
(define-public libdvdnav
(package
(name "libdvdnav")
(version "6.1.1")
(version "7.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/"
"libdvdnav/" version "/"
"libdvdnav-" version ".tar.bz2"))
"libdvdnav-" version ".tar.xz"))
(sha256
(base32
"0j4ds6c4xl34dijkfpw805vj7s0vzg095kw0fvzj7ls7b53sg4f1"))))
(build-system gnu-build-system)
"07i2gdj4nfah4lwlc6hl14xjbyh6b12bc1lipxs3q4vdsdd8z8d2"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
(home-page "http://dvdnav.mplayerhq.hu/")
@@ -3736,16 +3733,16 @@ encapsulated.")
(define-public libdvdcss
(package
(name "libdvdcss")
(version "1.4.3")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
name "/" version "/"
name "-" version ".tar.bz2"))
name "-" version ".tar.xz"))
(sha256
(base32
"0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13"))))
(build-system gnu-build-system)
"16f3lnwcldy0ssq2yah97qsb0b8scsvhsivfbhpgizmys7j6752j"))))
(build-system meson-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
(description
@@ -5194,19 +5191,18 @@ specifications.")
(define-public libaacs
(package
(name "libaacs")
(version "0.11.0")
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
version "/libaacs-" version ".tar.bz2"))
(sha256
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
(inputs
(list libgcrypt))
(native-inputs
(list bison flex))
(base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
(inputs (list libgcrypt))
(native-inputs (list bison flex))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--disable-static")))
(home-page "https://www.videolan.org/developers/libaacs.html")
(synopsis "Library for decrypting certain Blu-Ray discs")
(description "libaacs is a library which implements the Advanced Access
+1 -61
View File
@@ -1542,66 +1542,6 @@ the user shall be removed when the user fully logs out.")
'#$(elogind-configuration-system-shutdown-hook-files
config))))))
(define (elogind-dbus-service config)
"Return a @file{org.freedesktop.login1.service} file that tells D-Bus how to
\"start\" elogind. In practice though, our elogind is started when booting by
shepherd. Thus, the @code{Exec} line of this @file{.service} file does not
explain how to start elogind; instead, it spawns a wrapper that waits for the
@code{elogind} shepherd service. This avoids a race condition where both
@command{shepherd} and @command{dbus-daemon} would attempt to start elogind."
;; For more info on the elogind startup race, see
;; <https://issues.guix.gnu.org/55444>.
(define elogind
(elogind-configuration-elogind config))
(define wrapper
(program-file "elogind-dbus-shepherd-sync"
(with-imported-modules '((gnu services herd))
#~(begin
(use-modules (gnu services herd)
(srfi srfi-34))
(guard (c ((service-not-found-error? c)
(format (current-error-port)
"no elogind shepherd service~%")
(exit 1))
((shepherd-error? c)
(format (current-error-port)
"elogind shepherd service not \
started~%")
(exit 2)))
(wait-for-service 'elogind))))))
(define build
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
(ice-9 match))
(define service-directory
"/share/dbus-1/system-services")
(mkdir-p (dirname (string-append #$output service-directory)))
(copy-recursively (string-append #$elogind service-directory)
(string-append #$output service-directory))
(symlink (string-append #$elogind "/etc") ;for etc/dbus-1
(string-append #$output "/etc"))
;; Also expose the D-Bus policy configurations (.conf) files, now
;; installed under '/share' instead of the legacy '/etc' prefix.
(symlink (string-append #$elogind "/share/dbus-1/system.d")
(string-append #$output "/share/dbus-1/system.d"))
;; Replace the "Exec=" line of the 'org.freedesktop.login1.service'
;; file with one that refers to WRAPPER instead of elogind.
(match (find-files #$output "\\.service$")
((file)
(substitute* file
(("Exec[[:blank:]]*=.*" _)
(string-append "Exec=" #$wrapper "\n"))))))))
(list (computed-file "elogind-dbus-service-wrapper" build)))
(define (pam-extension-procedure config)
"Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM
services use 'pam_elogind.so', a module that allows elogind to keep track of
@@ -1649,7 +1589,7 @@ of the service's configuration files."
(name 'elogind)
(extensions
(list (service-extension dbus-root-service-type
elogind-dbus-service)
(compose list elogind-configuration-elogind))
(service-extension udev-service-type
(compose list elogind-configuration-elogind))
(service-extension polkit-service-type
+4 -2
View File
@@ -26,7 +26,8 @@
#:use-module (guix monads)
#:use-module (guix search-paths)
#:use-module ((guix build glib-or-gtk-build-system)
#:select (%gdk-pixbuf-loaders-cache-file))
#:select (%gdk-pixbuf-loaders-cache-file
%gdk-pixbuf-loaders-directory))
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
@@ -35,7 +36,8 @@
glib-or-gtk-build
glib-or-gtk-cross-build
glib-or-gtk-build-system)
#:re-export (%gdk-pixbuf-loaders-cache-file)) ;for convenience
#:re-export (%gdk-pixbuf-loaders-cache-file
%gdk-pixbuf-loaders-directory)) ;for convenience
;; Commentary:
;;
+6 -2
View File
@@ -30,6 +30,7 @@
#:use-module (srfi srfi-26)
#:export (%standard-phases
%gdk-pixbuf-loaders-cache-file
%gdk-pixbuf-loaders-directory
generate-gdk-pixbuf-loaders-cache
glib-or-gtk-build))
@@ -207,6 +208,8 @@ if needed."
;; `generate-gdk-pixbuf-loaders-cache' build phase defined below.
(define %gdk-pixbuf-loaders-cache-file
"lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")
(define %gdk-pixbuf-loaders-directory
"lib/gdk-pixbuf-2.0/2.10.0/loaders")
(define (generate-gdk-pixbuf-loaders-cache directories outputs)
"Generate the loaders.cache file used by gdk-pixbuf to locate the available
@@ -214,8 +217,9 @@ loaders among DIRECTORIES, and set the GDK_PIXBUF_MODULE_FILE environment
variable. The cache file is installed under OUTPUTS. Return the first cache
file name if one was created else #f."
(let* ((loaders (append-map
(cut find-files <> "^libpixbufloader-.*\\.so$")
(delete-duplicates directories)))
(lambda (dir)
(find-files (in-vicinity dir %gdk-pixbuf-loaders-directory) "^.*.so$"))
directories))
(outputs* (map (cut string-append <> "/"
%gdk-pixbuf-loaders-cache-file)
outputs))