1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-22 21:44:04 +02:00

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/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.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-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-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/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.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/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-build.patch \
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.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/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \ %D%/packages/patches/libmhash-hmac-fix-uaf.patch \
%D%/packages/patches/libmodbus-disable-networking-test.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/mediasdk-gcc-14.patch \
%D%/packages/patches/memtest86+-build-reproducibly.patch \ %D%/packages/patches/memtest86+-build-reproducibly.patch \
%D%/packages/patches/mercurial-hg-extension-path.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/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \ %D%/packages/patches/mia-fix-boost-headers.patch \
%D%/packages/patches/mia-gcc11.patch \ %D%/packages/patches/mia-gcc11.patch \
@@ -2617,9 +2623,9 @@ dist_patch_DATA = \
%D%/packages/patches/wcstools-extend-makefiles.patch \ %D%/packages/patches/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \ %D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.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-big-endian.patch \
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \ %D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \ %D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.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 gtksourceview-4
healpix-cxx healpix-cxx
json-glib json-glib
lcms-next lcms
;; XXX: It downloads script and data during start up, check if they ;; XXX: It downloads script and data during start up, check if they
;; may be presented as packages with wrapped environment variables ;; 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 © 20162023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc> ;;; 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 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@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 (define-public webrtc-audio-processing
(package (package
(name "webrtc-audio-processing") (name "webrtc-audio-processing")
(version "1.3") (version "2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -411,30 +411,14 @@ displays a histogram of the roundtrip time jitter.")
(string-append "http://freedesktop.org/software/pulseaudio/" (string-append "http://freedesktop.org/software/pulseaudio/"
name "/" name "-" version ".tar.gz")) name "/" name "-" version ".tar.gz"))
(sha256 (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) (build-system meson-build-system)
(arguments (arguments
(list #:configure-flags (if (target-x86-32?) (list #:configure-flags (if (target-x86-32?)
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE") #~(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)) (native-inputs (list pkg-config))
(inputs (list abseil-cpp)) (inputs (list abseil-cpp))
(synopsis "WebRTC's Audio Processing Library") (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")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd")))) "13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
(patches
(search-patches "meson-gir-fallback-path.patch"
"meson-keep-rpath-vicinity.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
+6 -6
View File
@@ -43,6 +43,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
@@ -1000,18 +1001,17 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
(define-public libudfread (define-public libudfread
(package (package
(name "libudfread") (name "libudfread")
(version "1.1.2") (version "1.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://download.videolan.org/pub/videolan/libudfread/" "https://download.videolan.org/pub/videolan/libudfread/"
name "-" version ".tar.bz2")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m")))) "03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
(build-system gnu-build-system) (build-system meson-build-system)
(native-inputs (native-inputs (list pkg-config))
(list automake autoconf libtool pkg-config))
(home-page "https://code.videolan.org/videolan/libudfread") (home-page "https://code.videolan.org/videolan/libudfread")
(synopsis "C library to read UDF file systems") (synopsis "C library to read UDF file systems")
(description "@code{libudfread} is a C library for reading (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 © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; 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 © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org> ;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
@@ -1382,14 +1382,15 @@ Font Format (WOFF).")
(hidden-package (hidden-package
(package (package
(name "fontconfig-minimal") (name "fontconfig-minimal")
(version "2.16.0") (version "2.17.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://www.freedesktop.org/software/" "https://gitlab.freedesktop.org/api/v4/projects/890"
"fontconfig/release/fontconfig-" version ".tar.xz")) "/packages/generic/fontconfig/" version "/fontconfig-"
version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva")) "0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
(patches (search-patches "fontconfig-cache-ignore-mtime.patch")))) (patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; In Requires or Requires.private of fontconfig.pc. ;; 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 (define-public elogind
(package (package
(name "elogind") (name "elogind")
(version "255.17") (version "257.14")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/elogind/elogind") (url "https://github.com/elogind/elogind")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h")))) "16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@@ -3302,6 +3302,7 @@ compatible with the well-known scripts of the same name.")
(list gettext-minimal (list gettext-minimal
`(,glib "bin") `(,glib "bin")
gst-plugins-good ;for wavparse plugin gst-plugins-good ;for wavparse plugin
(librsvg-for-system) ;SVG loader needed for one test
pkg-config pkg-config
python python
python-dbusmock python-dbusmock
+2 -2
View File
@@ -10225,7 +10225,7 @@ their own levels.")
(define-public libmanette (define-public libmanette
(package (package
(name "libmanette") (name "libmanette")
(version "0.2.12") (version "0.2.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libmanette/" (uri (string-append "mirror://gnome/sources/libmanette/"
@@ -10233,7 +10233,7 @@ their own levels.")
"libmanette-" version ".tar.xz")) "libmanette-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8")))) "1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list `(,glib "bin") ; for glib-compile-resources (list `(,glib "bin") ; for glib-compile-resources
+11 -22
View File
@@ -50,15 +50,15 @@
(define-public lcms (define-public lcms
(package (package
(name "lcms") (name "lcms")
(version "2.13.1") (version "2.16.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "mirror://sourceforge/lcms/lcms/" (method url-fetch)
(version-major+minor version) (uri (string-append "mirror://sourceforge/lcms/lcms/"
"/lcms2-" version ".tar.gz")) (version-major+minor version)
(sha256 "/lcms2-" (version-major+minor version) ".tar.gz"))
(base32 (sha256
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl")))) (base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--disable-static"))) '(#:configure-flags '("--disable-static")))
@@ -73,19 +73,8 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(home-page "https://www.littlecms.com/") (home-page "https://www.littlecms.com/")
(properties '((cpe-name . "little_cms_color_engine"))))) (properties '((cpe-name . "little_cms_color_engine")))))
(define-public lcms-next ;; Can be removed after 2027/05/01.
(package (define-deprecated-package lcms-next lcms)
(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"))))))
(define-public libpaper (define-public libpaper
(package (package
+2 -2
View File
@@ -994,7 +994,7 @@ useful for C++.")
(define-public python-pygobject (define-public python-pygobject
(package (package
(name "python-pygobject") (name "python-pygobject")
(version "3.54.3") (version "3.54.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -1003,7 +1003,7 @@ useful for C++.")
"/pygobject-" version ".tar.gz")) "/pygobject-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8")))) "11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
(build-system meson-build-system) (build-system meson-build-system)
;; The tests require mutter, which would introduce a circular dependency. ;; The tests require mutter, which would introduce a circular dependency.
(arguments (list #:tests? #f)) (arguments (list #:tests? #f))
+227 -164
View File
@@ -215,6 +215,7 @@
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages ruby-xyz) #:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages rust) #:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba) #:use-module (gnu packages samba)
#:use-module (gnu packages scanner) #:use-module (gnu packages scanner)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
@@ -2084,7 +2085,7 @@ offline sources, providing a centralized place for managing your contacts.")
(define-public gnome-desktop (define-public gnome-desktop
(package (package
(name "gnome-desktop") (name "gnome-desktop")
(version "44.4") (version "44.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -2093,11 +2094,16 @@ offline sources, providing a centralized place for managing your contacts.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x")))) "0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-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 (add-before 'configure 'patch-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "libgnome-desktop/gnome-languages.c" (substitute* "libgnome-desktop/gnome-languages.c"
@@ -2687,7 +2693,7 @@ and single page document formats like PDF and DejaVu.")
(define-public gsettings-desktop-schemas (define-public gsettings-desktop-schemas
(package (package
(name "gsettings-desktop-schemas") (name "gsettings-desktop-schemas")
(version "48.0") (version "49.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -2696,7 +2702,7 @@ and single page document formats like PDF and DejaVu.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6")))) "0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#: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 (define-public adwaita-icon-theme
(package (package
(name "adwaita-icon-theme") (name "adwaita-icon-theme")
(version "48.1") (version "49.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (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")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb")))) "0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:phases (list #:phases
@@ -3221,6 +3227,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:glib-or-gtk? #t
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache (add-after 'unpack 'skip-gtk-update-icon-cache
@@ -3228,17 +3235,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(lambda _ (lambda _
(substitute* "meson_post_install.py" (substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true")))) (("gtk-update-icon-cache") "true"))))
(add-after 'unpack 'skip-modules-test
#$@(if (this-package-input "gjs") ;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
'() ;; register existing type 'GIRepository' since the GNOME 49
'((add-after 'unpack 'skip-gjs-test ;; upgrades.
(lambda _ (lambda _
;; When the optional dependency on GJS is missing, skip (substitute* "tests/meson.build"
;; the GJS plugin tests. ((".*'modules', .*") ""))))
(substitute* "tests/modules.c"
(("g_test_add.*JavaScript.*" all)
(string-append "// " all "\n")))
(delete-file "tests/catalogs/gjsplugin.xml")))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
@@ -3494,7 +3497,7 @@ XML/CSS rendering engine.")
(define-public libgsf (define-public libgsf
(package (package
(name "libgsf") (name "libgsf")
(version "1.14.54") (version "1.14.55")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -3502,7 +3505,7 @@ XML/CSS rendering engine.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i")))) "0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(outputs '("out" "bin" "doc")) (outputs '("out" "bin" "doc"))
(arguments (arguments
@@ -3550,7 +3553,7 @@ for dealing with different structured file formats.")
(define-public librsvg (define-public librsvg
(package (package
(name "librsvg") (name "librsvg")
(version "2.58.5") (version "2.61.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/" (uri (string-append "mirror://gnome/sources/librsvg/"
@@ -3558,45 +3561,31 @@ for dealing with different structured file formats.")
"librsvg-" version ".tar.xz")) "librsvg-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2")))) "036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
(build-system gnu-build-system) (build-system meson-build-system)
(outputs '("out" "doc" "debug")) (outputs '("out" "doc" "debug"))
(arguments (arguments
(list (list
#:configure-flags #:configure-flags
#~(list "--disable-static" #~(list #$@(if (%current-target-system)
#$@(if (%current-target-system) #~( ;; g-ir-scanner can't import its modules
#~(;; g-ir-scanner can't import its modules
;; and vala currently can't be cross-compiled. ;; and vala currently can't be cross-compiled.
"--enable-introspection=no" "-Dintrospection=false"
"--enable-vala=no" "-Dvala=false"
;; These two are necessary for cross-compiling.
(string-append
"--build=" #$(nix-system->gnu-triplet
(%current-system)))
(string-append
"--host=" #$(%current-target-system))
;; This is needed when cross-compiling for some ;; This is needed when cross-compiling for some
;; architectures as autoconf and rust disagree about ;; architectures as autoconf and rust disagree about
;; the target triplet. ;; the target triplet.
(string-append "RUST_TARGET=" (string-append "-Dtriplet="
#$(platform-rust-target #$(platform-rust-target
(lookup-platform-by-target (lookup-platform-by-target
(%current-target-system))))) (%current-target-system)))))
#~("--enable-vala"))) #~())
#:make-flags "-Dpixbuf-loader=enabled") ;disabled since 2.61.2
#~(list (string-append "CC=" #$(cc-for-target)) #:imported-modules (append %cargo-build-system-modules
(string-append "PKG_CONFIG=" #$(pkg-config-for-target)) %meson-build-system-modules)
#$@(if (%current-target-system)
#~((string-append "RUST_TARGET="
#$(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))))
#~()))
#:imported-modules %cargo-build-system-modules
#:modules #:modules
'(((guix build cargo-build-system) #:prefix cargo:) '(((guix build cargo-build-system) #:prefix cargo:)
(guix build gnu-build-system) (guix build meson-build-system)
(guix build utils)) (guix build utils))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@@ -3613,12 +3602,19 @@ for dealing with different structured file formats.")
(lambda _ (lambda _
;; Something about the build environment resists building ;; Something about the build environment resists building
;; successfully with the '--locked' flag. ;; successfully with the '--locked' flag.
(substitute* '("Makefile.am" "Makefile.in") (substitute* "meson/cargo_wrapper.py"
(("--locked") "")))) (("\"--locked\",?") ""))
(add-after 'unpack 'loosen-test-boundaries ;; 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 _ (lambda _
(setenv "HOME" "/tmp") ;placate fontconfig errors
;; Increase reftest tolerance a bit to account for different ;; Increase reftest tolerance a bit to account for different
;; harfbuzz, pango, etc. ;; libraries like pango, etc.
(setenv "RSVG_TEST_TOLERANCE" "20") (setenv "RSVG_TEST_TOLERANCE" "20")
;; These tests fail even after loosening the tolerance. ;; These tests fail even after loosening the tolerance.
(substitute* "rsvg/tests/reference.rs" (substitute* "rsvg/tests/reference.rs"
@@ -3626,19 +3622,16 @@ for dealing with different structured file formats.")
((".*rtl_tspan_svg.*") "")))) ((".*rtl_tspan_svg.*") ""))))
(add-before 'configure 'pre-configure (add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys) (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 ;; By default the gdk-pixbuf loader is installed under
;; gdk-pixbuf's prefix. Work around that. ;; gdk-pixbuf's prefix. Work around that.
(("gdk_pixbuf_moduledir = .*$") (("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
(string-append "gdk_pixbuf_moduledir = " (format #f "get_option('prefix') / '~a',"
"$(prefix)/" #$%gdk-pixbuf-loaders-directory))
#$(dirname %gdk-pixbuf-loaders-cache-file) "/" (("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
"loaders\n"))) (format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
(substitute* "configure" (("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
(("gdk_pixbuf_cache_file=.*") (format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
(string-append "gdk_pixbuf_cache_file="
#$output "/"
#$%gdk-pixbuf-loaders-cache-file "\n")))))
(add-after 'unpack 'prepare-cargo-build-system (add-after 'unpack 'prepare-cargo-build-system
(lambda args (lambda args
(for-each (for-each
@@ -3650,23 +3643,30 @@ for dealing with different structured file formats.")
'(unpack-rust-crates '(unpack-rust-crates
configure configure
check-for-pregenerated-files 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 (native-inputs
(append (append
(list gdk-pixbuf (list gdk-pixbuf
gi-docgen
`(,glib "bin") `(,glib "bin")
gobject-introspection gobject-introspection
pkg-config pkg-config
python
python-docutils ;for rst2man
rust rust
`(,rust "cargo") rust-cargo-c
vala) vala)
(or (and=> (%current-target-system) (or (and=> (%current-target-system)
(compose list make-rust-sysroot)) (compose list make-rust-sysroot))
'()))) '())))
(inputs (inputs
(cons* freetype (cons* dav1d
freetype
gobject-introspection gobject-introspection
harfbuzz
libxml2 libxml2
pango pango
(cargo-inputs 'librsvg))) (cargo-inputs 'librsvg)))
@@ -4667,7 +4667,7 @@ and RDP protocols.")
(define-public dconf (define-public dconf
(package (package
(name "dconf") (name "dconf")
(version "0.40.0") (version "0.49.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@@ -4676,7 +4676,7 @@ and RDP protocols.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg")))) "0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -4685,7 +4685,8 @@ and RDP protocols.")
;; there and loaded without having to set GCONF_PROFILE, which cannot be ;; there and loaded without having to set GCONF_PROFILE, which cannot be
;; safely set globally (as a gconf profile is a per-user thing). ;; safely set globally (as a gconf profile is a per-user thing).
#:configure-flags #~(list "--sysconfdir=/etc" #:configure-flags #~(list "--sysconfdir=/etc"
"-Dgtk_doc=true") "-Dgtk_doc=true"
"--wrap-mode=nodownload") ;for gvdb
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'increase-test-timeout (add-after 'unpack 'increase-test-timeout
(lambda _ (lambda _
@@ -5211,17 +5212,26 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public gi-docgen (define-public gi-docgen
(package (package
(name "gi-docgen") (name "gi-docgen")
(version "2025.4") (version "2026.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "gi_docgen" version)) (uri (pypi-uri "gi_docgen" version))
(sha256 (sha256
(base32 (base32
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z")))) "1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (arguments
(list python-pytest-bootstrap (list
python-setuptools)) #: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 (propagated-inputs (list python-jinja2
python-markdown python-markdown
python-markupsafe python-markupsafe
@@ -6978,10 +6988,10 @@ side panel;
(license license:gpl2+))) (license license:gpl2+)))
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this. ;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
(define-public glycin-loaders (define-public libglycin
(package (package
(name "glycin-loaders") (name "libglycin")
(version "2.0.7") (version "2.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -6991,12 +7001,16 @@ side panel;
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp")) "1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch")))) (patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:configure-flags #~(list "-Dglycin-loaders=false"
"-Dglycin-thumbnailer=true"
"-Dlibglycin=true"
"-Dlibglycin-gtk4=true")
#:imported-modules `(,@%meson-build-system-modules #:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules) ,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:) #:modules `(((guix build cargo-build-system) #:prefix cargo:)
@@ -7082,18 +7096,15 @@ side panel;
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.gnome.org/sophie-h/test-images.git") (url "https://gitlab.gnome.org/sophie-h/test-images.git")
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf"))) (commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
(file-name "glycin-test-images") (file-name "glycin-test-images")
(sha256 (sha256
(base32 (base32
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm"))))) "1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
(inputs (cons* bubblewrap (inputs (cons* bubblewrap
libheif
libjxl
librsvg
(cargo-inputs 'glycin))) (cargo-inputs 'glycin)))
;; The following inputs are 'Required' in the pkg-config files. ;; 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") (home-page "https://gitlab.gnome.org/GNOME/glycin")
(synopsis "Rust library for sandboxed image decoding") (synopsis "Rust library for sandboxed image decoding")
(description "Glycin is a sandbox image decoder for image viewers and (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.") runtime image loader executables that are used inside the sandbox.")
(license (list license:mpl2.0 license:lgpl2.1+)))) (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 (define-public loupe
(package (package
(name "loupe") (name "loupe")
@@ -7171,6 +7198,7 @@ runtime image loader executables that are used inside the sandbox.")
gtk gtk
lcms lcms
libadwaita libadwaita
libglycin
libgweather libgweather
libseccomp libseccomp
(cargo-inputs 'loupe))) (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 (define-public msgraph
(package (package
(name "msgraph") (name "msgraph")
(version "0.3.3") (version "0.3.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/msgraph/" (uri (string-append "mirror://gnome/sources/msgraph/"
(version-major+minor version) "/" (version-major+minor version) "/"
"msgraph-" version ".tar.xz")) "msgraph-" version ".tar.xz"))
(sha256 (sha256
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp")))) (base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock)) (native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
(inputs (list gnome-online-accounts json-glib libsoup librest)) (inputs (list gnome-online-accounts json-glib libsoup librest))
@@ -7231,7 +7259,7 @@ MS Graph APIs.")
(define-public gvfs (define-public gvfs
(package (package
(name "gvfs") (name "gvfs")
(version "1.58.0") (version "1.58.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/gvfs/" (uri (string-append "mirror://gnome/sources/gvfs/"
@@ -7239,7 +7267,7 @@ MS Graph APIs.")
"gvfs-" version ".tar.xz")) "gvfs-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx")))) "0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -7589,7 +7617,7 @@ environments.")
(define-public yelp-xsl (define-public yelp-xsl
(package (package
(name "yelp-xsl") (name "yelp-xsl")
(version "42.4") (version "49.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -7598,7 +7626,7 @@ environments.")
(version-major version) "/" (version-major version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx")))) (base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list mallard-ducktype (list mallard-ducktype
@@ -7626,7 +7654,7 @@ jQuery.Syntax JavaScript libraries.")
(define-public yelp (define-public yelp
(package (package
(name "yelp") (name "yelp")
(version "42.3") (version "49.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -7634,7 +7662,7 @@ jQuery.Syntax JavaScript libraries.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16")))) "0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:phases (list #:phases
@@ -7659,7 +7687,9 @@ jQuery.Syntax JavaScript libraries.")
`("PATH" ":" prefix `("PATH" ":" prefix
(,(dirname (search-input-file inputs "bin/groff")))))))))) (,(dirname (search-input-file inputs "bin/groff"))))))))))
(native-inputs (native-inputs
(list `(,glib "bin") ; for glib-genmarshal, etc. (list desktop-file-utils
`(,glib "bin") ;for glib-genmarshal, etc.
`(,gtk "bin")
intltool intltool
itstool itstool
pkg-config)) pkg-config))
@@ -7668,13 +7698,14 @@ jQuery.Syntax JavaScript libraries.")
(inputs (inputs
(list bash-minimal (list bash-minimal
gsettings-desktop-schemas gsettings-desktop-schemas
libadwaita
libhandy libhandy
libxslt libxslt
man-db ;for URIs like "man:ls" man-db ;for URIs like "man:ls"
groff-minimal ;ditto groff-minimal ;ditto
gtk+ gtk
sqlite sqlite
webkitgtk-for-gtk3 webkitgtk
yelp-xsl)) yelp-xsl))
(home-page "https://wiki.gnome.org/Apps/Yelp") (home-page "https://wiki.gnome.org/Apps/Yelp")
(synopsis "GNOME help browser") (synopsis "GNOME help browser")
@@ -7963,57 +7994,88 @@ configuration program to choose applications starting on login.")
(define-public gjs (define-public gjs
(package (package
(name "gjs") (name "gjs")
(version "1.84.2") (version "1.88.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "mirror://gnome/sources/" name "/" (method url-fetch)
(version-major+minor version) "/" (uri (string-append "mirror://gnome/sources/" name "/"
name "-" version ".tar.xz")) (version-major+minor version) "/"
(sha256 name "-" version ".tar.xz"))
(base32 (sha256
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m")) (base32
(modules '((guix build utils))) "0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
(snippet (modules '((guix build utils)
'(begin (ice-9 ftw)
(substitute* "installed-tests/scripts/testCommandLine.sh" (srfi srfi-26)))
(("Valentín") "") (snippet
(("☭") "")) #~(begin
(substitute* "modules/script/package.js" ;; XXX: 'delete-all-but' is copied from the turbovnc package.
(("type_default_interface_ref") (define (delete-all-but directory . preserve)
"type_default_interface_get")))))) (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) (build-system meson-build-system)
(arguments (arguments
'(#:configure-flags '("-Dinstalled_tests=false") (list
#:phases #:modules '((guix build meson-build-system)
(modify-phases %standard-phases (guix build utils)
(add-before 'check 'pre-check (ice-9 match))
(lambda _ #:configure-flags #~(list "-Dinstalled_tests=false")
;; The test suite requires a running X server. #:phases
(system "Xvfb :1 &") #~(modify-phases %standard-phases
(setenv "DISPLAY" ":1") (add-after 'install 'wrap-gi
(lambda* (#:key inputs #:allow-other-keys)
;; For the missing /etc/machine-id. (wrap-program (string-append #$output "/bin/gjs")
(setenv "DBUS_FATAL_WARNINGS" "0") `("GI_TYPELIB_PATH" suffix
(setenv "HOME" (getcwd)))) (,(dirname
(add-after 'unpack 'skip-failing-tests (search-input-file
(lambda _ inputs
;; Expects to test against 2.84, but we're using 2.86. "lib/girepository-1.0/GObject-2.0.typelib"))
(substitute* "installed-tests/js/testIntrospection.js" ,(dirname
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';") (search-input-file
"const skip = true;")))) inputs
(add-after 'install 'wrap-gi "lib/girepository-1.0/GIRepository-2.0.typelib")))))))
(lambda* (#:key inputs outputs #:allow-other-keys) (replace 'check
(wrap-program (string-append (assoc-ref outputs "out") (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
"/bin/gjs") (when tests?
`("GI_TYPELIB_PATH" suffix ;; For the missing /etc/machine-id.
(,(dirname (setenv "DBUS_FATAL_WARNINGS" "0")
(search-input-file (setenv "HOME" (getcwd))
inputs ;; In Guix, gobject-introspection is patched to always embed
"lib/girepository-1.0/GObject-2.0.typelib")) ;; the absolute path of a typelib library; unfortunately it
,(dirname ;; does this also for test typelibs not meant to be installed;
(search-input-file ;; work around it via temporary symlinks.
inputs (let* ((test-libraries (find-files (getcwd)
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))))) "\\.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 (native-inputs
(list `(,glib "bin") ;for glib-compile-resources (list `(,glib "bin") ;for glib-compile-resources
pkg-config pkg-config
@@ -8021,16 +8083,16 @@ configuration program to choose applications starting on login.")
;; For testing ;; For testing
dbus dbus
dconf ;required to properly store settings dconf ;required to properly store settings
gtk+
sysprof
util-linux util-linux
xorg-server-for-tests)) xvfb-run))
(inputs (list mozjs readline))
(propagated-inputs (propagated-inputs
;; These are all in the Requires.private field of gjs-1.0.pc. ;; These are all in the Requires field of gjs-1.0.pc.
;; Check the version of mozjs required in meson.build. (list glib gobject-introspection))
(list cairo gobject-introspection mozjs-128))
(inputs
(list gtk+ readline))
(synopsis "Javascript bindings for GNOME") (synopsis "Javascript bindings for GNOME")
(home-page "https://wiki.gnome.org/Gjs") (home-page "https://gitlab.gnome.org/GNOME/gjs")
(description (description
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
javascript engine and the GObject introspection framework.") javascript engine and the GObject introspection framework.")
@@ -8352,7 +8414,7 @@ window manager.")
(define-public gnome-online-accounts (define-public gnome-online-accounts
(package (package
(name "gnome-online-accounts") (name "gnome-online-accounts")
(version "3.54.9") (version "3.56.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -8360,7 +8422,7 @@ window manager.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb")))) "1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -9881,7 +9943,7 @@ easy, safe, and automatic.")
(define-public tinysparql (define-public tinysparql
(package (package
(name "tinysparql") (name "tinysparql")
(version "3.9.2") (version "3.10.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/tinysparql/" (uri (string-append "mirror://gnome/sources/tinysparql/"
@@ -9889,7 +9951,7 @@ easy, safe, and automatic.")
"tinysparql-" version ".tar.xz")) "tinysparql-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl")))) "0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -10172,6 +10234,7 @@ through portals.")
gst-plugins-base gst-plugins-base
json-glib json-glib
libadwaita libadwaita
libglycin
libportal libportal
libseccomp libseccomp
libselinux libselinux
@@ -10243,7 +10306,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds (define-public gnome-backgrounds
(package (package
(name "gnome-backgrounds") (name "gnome-backgrounds")
(version "48.2.1") (version "49.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -10252,7 +10315,7 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a")))) "1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (list gettext-minimal)) (native-inputs (list gettext-minimal))
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds") (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
@@ -10317,7 +10380,7 @@ beautifying border effects.")
(define-public dconf-editor (define-public dconf-editor
(package (package
(name "dconf-editor") (name "dconf-editor")
(version "45.0.1") (version "49.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -10325,7 +10388,7 @@ beautifying border effects.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i")))) "16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:phases #~(modify-phases %standard-phases (list #:phases #~(modify-phases %standard-phases
@@ -13383,7 +13446,7 @@ GObject introspection bindings.")
(define-public sysprof (define-public sysprof
(package (package
(name "sysprof") (name "sysprof")
(version "48.1") (version "49.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -13391,7 +13454,7 @@ GObject introspection bindings.")
(version-major version) "/" (version-major version) "/"
"sysprof-" version ".tar.xz")) "sysprof-" version ".tar.xz"))
(sha256 (sha256
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal")))) (base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -13688,7 +13751,7 @@ Document Analysis and Recognition program.")
(define-public libadwaita (define-public libadwaita
(package (package
(name "libadwaita") (name "libadwaita")
(version "1.8.2") (version "1.8.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libadwaita/" (uri (string-append "mirror://gnome/sources/libadwaita/"
@@ -13696,7 +13759,7 @@ Document Analysis and Recognition program.")
"libadwaita-" version ".tar.xz")) "libadwaita-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq")))) "074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:phases `(#:phases
+349 -349
View File
@@ -106,355 +106,6 @@
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages time)) #: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 computed-origin-method (@@ (guix packages) computed-origin-method))
(define mozilla-compare-locales (define mozilla-compare-locales
@@ -1249,6 +900,355 @@ testing.")
(cpe-name . "firefox_esr") (cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-))))))) (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. ;;; 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-base-version "140.9.1")
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1")) (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" (substitute* "tests/check/meson.build"
;; This test causes nondeterministic failures (see: ;; This test causes nondeterministic failures (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>). ;; <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. ;; Some other tests fail on other architectures.
#$@(cond #$@(cond
((target-x86-32?) ((target-x86-32?)
@@ -766,7 +769,8 @@ model to base your own plug-in on, here it is.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled" #:configure-flags #~(list "-Dgpl=enabled"
"-Dsctp-internal-usrsctp=disabled"
;; TODO: Figure out why audiovisualizer test ;; TODO: Figure out why audiovisualizer test
;; fails on riscv64-linux. ;; fails on riscv64-linux.
#$@(if (target-riscv64?) #$@(if (target-riscv64?)
@@ -776,6 +780,15 @@ model to base your own plug-in on, here it is.")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
#$@%common-gstreamer-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 (add-after 'unpack 'adjust-tests
(lambda* (#:key native-inputs inputs #:allow-other-keys) (lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs) (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 ;; The 'elements_shm.test_shm_live' test sometimes times out
;; (see: ;; (see:
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790). ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
((".*'elements/shm\\.c'.*") "") ((".*'elements/shm\\.c'.*") "")
;; The 'elements_curlhttpsrc' test sometimes times out. ;; The 'elements_curlhttpsrc' test sometimes times out.
((".*'elements/curlhttpsrc\\.c'.*") "") ((".*'elements/curlhttpsrc\\.c'.*") "")
;; The 'mxfdemux' test fails for unknown reasons (see: ;; 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'.*") "") ((".*'elements/mxfdemux.c'.*") "")
;; Unexpected critical/warning, see ;; Unexpected critical/warning, see
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000> ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
((".*'elements/netsim\\.c'.*") "") ((".*'elements/netsim\\.c'.*") "")
;; TODO: Figure out why this test fails on riscv64-linux. ;; 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, ],")) "'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 ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
#$@(if (member (%current-system) (("'elements/camerabin\\.c'\\].*],")
'("aarch64-linux" "riscv64-linux")) "'elements/camerabin.c'], true, ],")
`((("'elements/camerabin\\.c'\\].*],")
"'elements/camerabin.c'], true, ],"))
'())
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
((".*elements/dtls\\.c.*") "") ((".*elements/dtls\\.c.*") "")
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
((".*elements/mxfdemux\\.c.*") "")
;; Unable to create pipeline 'bin. ;; Unable to create pipeline 'bin.
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )': ;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
;; no element "vulkanupload" ;; no element "vulkanupload"
((".*elements/vkcolorconvert\\.c.*") "") ((".*elements/vkcolorconvert\\.c.*") "")
((".*elements/vkupload\\.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\".*")
"")))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
;; Tests require a running X server. ;; Tests require a running X server.
@@ -1162,9 +1164,19 @@ after their category.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags #~(list "-Dgpl=enabled")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
#$@%common-gstreamer-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 (add-before 'check 'pre-check
(lambda _ (lambda _
;; Tests require a running X server. ;; Tests require a running X server.
+44 -38
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me> ;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; 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 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -387,7 +387,7 @@ applications.")
(define-public pango (define-public pango
(package (package
(name "pango") (name "pango")
(version "1.56.4") (version "1.57.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -396,7 +396,7 @@ applications.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67")))) "0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf (define-public gdk-pixbuf
(package (package
(name "gdk-pixbuf") (name "gdk-pixbuf")
(version "2.44.4") (version "2.44.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (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")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck")) "0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
(patches (patches
(search-patches (search-patches
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch")))) "gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
@@ -781,7 +781,7 @@ images.")
(hidden-package (hidden-package
(package (package
(name "at-spi2-core") (name "at-spi2-core")
(version "2.52.0") (version "2.60.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -789,7 +789,7 @@ images.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa")))) "16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@@ -987,7 +987,7 @@ application suites.")
(package (package
(inherit gtk+-2) (inherit gtk+-2)
(name "gtk+") (name "gtk+")
(version "3.24.51") (version "3.24.52")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@@ -996,10 +996,11 @@ application suites.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")) "197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
(patches (search-patches (patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch" "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 ;; There is no "doc" output, because adding gtk-doc here would introduce a
;; dependency cycle with itself. ;; dependency cycle with itself.
(outputs '("out" "bin")) (outputs '("out" "bin"))
@@ -1075,22 +1076,20 @@ application suites.")
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests (add-after 'unpack 'disable-failing-tests
(lambda _ (lambda _
;; These tests fail only in the containerized environment, for (substitute* "testsuite/gtk/meson.build"
;; unknown reasons. ((".*\\['defaultvalue'],.*") "")
(substitute* "testsuite/gtk/meson.build" ((".*\\['objects-finalize',.*") ""))
((".*\\['defaultvalue'],.*") "") ;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
((".*\\['objects-finalize',.*") "")) ;; fail for unknown reasons (see:
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
;; fail for unknown reasons (see: (substitute* "testsuite/reftests/meson.build"
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>). ((" 'flipping-icons.ui',.*") "")
(substitute* "testsuite/reftests/meson.build" ((" 'gtk-icontheme-sizing.ui',.*") ""))
((" 'flipping-icons.ui',.*") "") ;; This test fails just on i686-linux, for unknown reasons.
((" 'gtk-icontheme-sizing.ui',.*") "")) #$@(if (target-x86-32?)
;; This test fails just on i686-linux, for unknown reasons. #~((substitute* "testsuite/reftests/meson.build"
#$@(if (target-x86-32?) ((" 'linear-gradient.ui',.*") "")))
#~((substitute* "testsuite/reftests/meson.build" #~())))
((" 'linear-gradient.ui',.*") "")))
#~())))
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases (assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file)) 'generate-gdk-pixbuf-loaders-cache-file))
@@ -1114,13 +1113,13 @@ application suites.")
"/share/applications"))))))) "/share/applications")))))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "GUIX_GTK3_PATH") (variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0"))))))) (files '("lib/gtk-3.0")))))))
(define-public gtk (define-public gtk
(package (package
(name "gtk") (name "gtk")
(version "4.20.3") (version "4.22.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@@ -1128,9 +1127,11 @@ application suites.")
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8")) (base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
(patches (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))))) (modules '((guix build utils)))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "bin" "doc")) (outputs '("out" "bin" "doc"))
@@ -1198,6 +1199,9 @@ application suites.")
(("[ \t]*'empty-text.node',") "") (("[ \t]*'empty-text.node',") "")
(("[ \t]*'testswitch.node',") "") (("[ \t]*'testswitch.node',") "")
(("[ \t]*'widgetfactory.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. ;; XXX: Figure out why this fails and report upstream.
((".*'memorytexture',.*") "") ((".*'memorytexture',.*") "")
((".*'yuv-matrix-dmabuf',.*") "")) ((".*'yuv-matrix-dmabuf',.*") ""))
@@ -1254,8 +1258,10 @@ application suites.")
(setenv "XDG_CACHE_HOME" (getcwd)))) (setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server. ;; Tests require a running X server. The '-noreset' option is
(system "Xvfb :1 +extension GLX &") ;; necessary to avoid spurious "Failed to open display" test
;; errors.
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
(setenv "DISPLAY" ":1") (setenv "DISPLAY" ":1")
;; Tests write to $HOME. ;; Tests write to $HOME.
(setenv "HOME" (getcwd)) (setenv "HOME" (getcwd))
@@ -1298,6 +1304,7 @@ application suites.")
docbook-xsl docbook-xsl
gettext-minimal gettext-minimal
`(,glib "bin") `(,glib "bin")
glibc-utf8-locales ;some tests require en_US.UTF-8
gobject-introspection ;for building introspection data gobject-introspection ;for building introspection data
graphene graphene
gtk-doc/stable ;for building documentation gtk-doc/stable ;for building documentation
@@ -1321,7 +1328,6 @@ application suites.")
(inputs (inputs
(list colord ;for color printing support (list colord ;for color printing support
cups ;for CUPS print-backend cups ;for CUPS print-backend
ffmpeg ;for ffmpeg media-backend
fribidi fribidi
gi-docgen gi-docgen
gstreamer ;for gstreamer media-backend gstreamer ;for gstreamer media-backend
@@ -1365,8 +1371,8 @@ application suites.")
(native-search-paths (native-search-paths
(list (list
(search-path-specification (search-path-specification
(variable "GUIX_GTK4_PATH") (variable "GUIX_GTK4_PATH")
(files '("lib/gtk-4.0"))))) (files '("lib/gtk-4.0")))))
(search-paths native-search-paths) (search-paths native-search-paths)
(home-page "https://www.gtk.org/") (home-page "https://www.gtk.org/")
(synopsis "Cross-platform widget toolkit") (synopsis "Cross-platform widget toolkit")
@@ -2205,7 +2211,7 @@ information.")
(define-public gtk-doc (define-public gtk-doc
(package (package
(name "gtk-doc") (name "gtk-doc")
(version "1.34.0") (version "1.35.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@@ -2213,7 +2219,7 @@ information.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj")) "1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
(patches (patches
(search-patches "gtk-doc-respect-xml-catalog.patch" (search-patches "gtk-doc-respect-xml-catalog.patch"
"gtk-doc-mkhtml-test-fix.patch")))) "gtk-doc-mkhtml-test-fix.patch"))))
+3 -3
View File
@@ -89,14 +89,14 @@
(define-public ibus-minimal (define-public ibus-minimal
(package (package
(name "ibus") (name "ibus")
(version "1.5.32") (version "1.5.34-rc2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/ibus/ibus") (url "https://github.com/ibus/ibus")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6")))) (sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@@ -204,7 +204,7 @@
wayland wayland
xmodmap)) xmodmap))
(native-inputs (native-inputs
(list autoconf (list autoconf-2.72
automake automake
docbook-xml-4.1.2 docbook-xml-4.1.2
`(,glib "bin") ;for glib-genmarshal `(,glib "bin") ;for glib-genmarshal
+2 -2
View File
@@ -2854,7 +2854,7 @@ Format) file format decoder and encoder.")
(define-public libjxl (define-public libjxl
(package (package
(name "libjxl") (name "libjxl")
(version "0.11.1") (version "0.11.2")
(outputs (list "out" "pixbuf-loader")) (outputs (list "out" "pixbuf-loader"))
(source (source
(origin (origin
@@ -2865,7 +2865,7 @@ Format) file format decoder and encoder.")
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r")) (base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete the bundles that will not be used. ;; Delete the bundles that will not be used.
+11 -20
View File
@@ -11535,7 +11535,7 @@ of Linux application development.")
(define-public wireplumber (define-public wireplumber
(package (package
(name "wireplumber") (name "wireplumber")
(version "0.5.12") (version "0.5.14")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -11545,7 +11545,7 @@ of Linux application development.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1dljz669ywy1lvvn0jh14ymynmbii45q5vay71zajpcg31249dyw")))) (base32 "0rr2vlbwjjhgsk6lk2iwaww21gks2v63f0cs01rh2mdi8jpfz7h2"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags '("-Dsystemd=disabled" `(#:configure-flags '("-Dsystemd=disabled"
@@ -12268,7 +12268,7 @@ that avoids the usage of older system-wide @file{/sys} interface.")
(define-public libtracefs (define-public libtracefs
(package (package
(name "libtracefs") (name "libtracefs")
(version "1.7.0") (version "1.8.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -12277,25 +12277,16 @@ that avoids the usage of older system-wide @file{/sys} interface.")
(commit (string-append name "-" version)))) (commit (string-append name "-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0v896n3q0df0nxx5drbwyaqhrqiyxl06rvrdw3gp2r37awa9g1zb")) (base32 "1bc4mwf488nlja64zawjznvb6640vchjb25xa02v53x6qfb1mpmq"))))
(modules '((guix build utils))) (build-system meson-build-system)
(snippet
#~(begin
(substitute* (list "Makefile" "scripts/utils.mk")
(("/bin/(pwd)" _ command) command))))))
(build-system gnu-build-system)
(arguments (arguments
(list (list
#:tests? #f ; no test suite #:configure-flags
#:make-flags #~(list "-Ddoc=false")))
#~(list (native-inputs
(string-append "CC=" #$(cc-for-target)) (list bison
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig") flex
(string-append "prefix=" #$output)) pkg-config))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(native-inputs (list pkg-config))
(inputs (list libtraceevent)) (inputs (list libtraceevent))
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/") (home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/")
(synopsis "Linux kernel trace file system library") (synopsis "Linux kernel trace file system library")
+10 -8
View File
@@ -591,7 +591,7 @@ Android, and ChromeOS.")
(define-public libnice (define-public libnice
(package (package
(name "libnice") (name "libnice")
(version "0.1.22") (version "0.1.23")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@@ -601,7 +601,7 @@ Android, and ChromeOS.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ik45q1qlr04llr2ssm6zb73840dmn31q303k3qrcpgj0jp578hg")))) "0zqnqhcm1rx5axbzd448yi6j4bq4kykiqb4wihs2p8h1k49nkyjh"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@@ -614,23 +614,25 @@ Android, and ChromeOS.")
(add-after 'unpack 'disable-failing-tests (add-after 'unpack 'disable-failing-tests
(lambda _ (lambda _
(substitute* "tests/meson.build" (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: ;; test-set-port-range.c:66:main: assertion failed:
;; (nice_agent_gather_candidates (agent, stream1)) ;; (nice_agent_gather_candidates (agent, stream1))
(("'test-set-port-range'" all) (("'test-set-port-range'" all)
(string-append "# " all)) (string-append "# " all))
;; The following test is disabled as it fails in a ;; The following test is disabled as it fails in a
;; nondeterministic fashion (see: ;; nondeterministic fashion (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/151). ;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/151>).
(("'test-bsd'" all) (("'test-bsd'" all)
(string-append "# " all)) (string-append "# " all))
;; The test-new-trickle fails with GLib 2.83.0 (see: ;; This test uses getaddrinfo, which cannot resolve in the
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/198). ;; build environment.
(("'test-new-trickle'" all) ((".*'test-slow-resolving',.*") ""))
(string-append "# " all)))
(substitute* "stun/tests/meson.build" (substitute* "stun/tests/meson.build"
;; test-bind.c:234: bad_responses: Assertion `len >= 20' ;; test-bind.c:234: bad_responses: Assertion `len >= 20'
;; failed (see: ;; failed (see:
;; https://gitlab.freedesktop.org/libnice/libnice/-/issues/150). ;; <https://gitlab.freedesktop.org/libnice/libnice/-/issues/150>).
(("'bind', ") (("'bind', ")
"")))) ""))))
(add-after 'install 'move-docs (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 diff --git a/src/fcstat.c b/src/fcstat.c
index 9b54e2b4..76d7780e 100644 index 9b54e2b4..76d7780e 100644
--- a/src/fcstat.c --- a/src/fcstat.c
@@ -10,6 +7,6 @@ index 9b54e2b4..76d7780e 100644
FcIsFsMtimeBroken (const FcChar8 *dir) FcIsFsMtimeBroken (const FcChar8 *dir)
{ {
+ return FcTrue; + 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 (define-public pulseaudio
(package (package
(name "pulseaudio") (name "pulseaudio")
(version "16.1") (version "17.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@@ -181,7 +181,7 @@ rates.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1r2aa0g7al9jhrrbrnih6i3bfznd73kkbafrbzwpjyflj7735vwf")) "1dc7xdfbn5rknwsvv5m2ijfwnqrap208liwyhiykjghsczb98dq5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Disable console-kit support by default since it's deprecated ;; 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 (arguments
(list (list
#:test-flags #:test-flags
#~(list "-k" "not TestCommandLineParser" #~(list
#$@(if (target-aarch64?) "-k" "not TestCommandLineParser"
;; TimeoutError: timed out ;; These contains flaky tests.
'((string-append "--deselect=pyftpdlib/test/test_functional.py" "--deselect=pyftpdlib/test/test_functional.py"
"::TestTimeouts::test_idle_data_timeout2")) "--deselect=pyftpdlib/test/test_functional_ssl.py")))
'()))))
(native-inputs (native-inputs
(list python-psutil (list python-psutil
python-pytest python-pytest
@@ -21073,7 +21072,8 @@ into 22 character URL-safe base64 slug representation.")
(sha256 (sha256
(base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1")))) (base32 "0zwjry4ylqncqvxrywp0km96jng4f288dgz8kz5vymk7nr2z21m1"))))
(build-system pyproject-build-system) (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 (native-inputs
(list python-poetry-core (list python-poetry-core
python-pytest python-pytest
+13 -4
View File
@@ -1093,11 +1093,16 @@ tst_qt_cmake_create.cpp"
;; See https://bugreports.qt.io/browse/QTBUG-113371 ;; See https://bugreports.qt.io/browse/QTBUG-113371
;; Adding glibc-utf8-locales to native-inpus is no help. ;; Adding glibc-utf8-locales to native-inpus is no help.
;; TODO: when core-updates is merged, check again.
"tst_selftests" "tst_selftests"
;; The 'tst_qsqlthread' test sometimes fails. ;; The qsqldatabase test is flaky (see:
"tst_qsqlthread" ;; <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 ;; The 'tst_qthread' test is also flaky, despite the
;; patch applied that promised to fix it. ;; patch applied that promised to fix it.
@@ -1196,7 +1201,11 @@ tst_qt_cmake_create.cpp"
;; This test may fail non-deterministically as reported ;; This test may fail non-deterministically as reported
;; in Guix bug#73233 and upstream at ;; in Guix bug#73233 and upstream at
;; https://bugreports.qt.io/browse/QTBUG-119321. ;; https://bugreports.qt.io/browse/QTBUG-119321.
"tst_qsharedmemory") "tst_qsharedmemory"
;; This test fails deterministically on a non-privileged
;; daemon.
"tst_qstandardpaths")
#$@(cond #$@(cond
((target-ppc64le?) ((target-ppc64le?)
#~((list #~((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 (define-public rust-glycin-3
(package (package
(name "rust-glycin") (name "rust-glycin")
(version "3.0.7") (version "3.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.gnome.org/GNOME/glycin.git") (url "https://gitlab.gnome.org/GNOME/glycin.git")
;; Rust library version is different from the tagged version. ;; Rust library version is different from the tagged version.
(commit "2.0.7"))) (commit "2.1.1")))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp")) "1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch")))) (patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
+46 -50
View File
@@ -50,7 +50,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 David Wilson <david@daviwil.com> ;;; 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 © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
@@ -3573,38 +3573,21 @@ soon as it starts.")
(define-public libbluray (define-public libbluray
(package (package
(name "libbluray") (name "libbluray")
(version "1.3.4") (version "1.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/" (uri (string-append "https://download.videolan.org/videolan/"
name "/" version "/" name "/" version "/"
name "-" version ".tar.bz2")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0aszpsz3pc7p7z6yahlib4na585m6pqbg2d9dkpyipgml1lgv3s7")))) "0jglp44wsjpp5k3mrxskfj9b488ksn7cj2dhxfjdqa3z150drdbn"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:configure-flags #~(list "--disable-bdjava-jar" "--disable-static")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'move-packages-to-libs (add-after 'unpack 'fix-dlopen-paths
;; 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
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(define (lib/no.so library) (define (lib/no.so library)
(let ((found (search-input-file inputs library))) (let ((found (search-input-file inputs library)))
@@ -3612,11 +3595,29 @@ soon as it starts.")
(string-length ".so"))))) (string-length ".so")))))
(substitute* "src/libbluray/disc/aacs.c" (substitute* "src/libbluray/disc/aacs.c"
(("\"libaacs\"") (("\"libaacs\"")
(string-append "\"" (lib/no.so "lib/libaacs.so") "\"")) (string-append "\"" (lib/no.so "lib/libaacs.so") "\"")))
(substitute* "src/libbluray/disc/bdplus.c"
(("\"libbdplus\"") (("\"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)) (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") (home-page "https://www.videolan.org/developers/libbluray.html")
(synopsis "Blu-Ray Disc playback library") (synopsis "Blu-Ray Disc playback library")
(description (description
@@ -3627,22 +3628,18 @@ players, like VLC or MPlayer.")
(define-public libdvdread (define-public libdvdread
(package (package
(name "libdvdread") (name "libdvdread")
(version "6.1.3") (version "7.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/" (uri (string-append "https://download.videolan.org/videolan/"
"libdvdread/" version "/" "libdvdread/" version "/"
"libdvdread-" version ".tar.bz2")) "libdvdread-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0sakl4c8y2kkp09km0b5353w66pvfc72y8wi1vjwn252jx4ladff")))) "01ylalrr9lw6x7fz7z030243kln1hfd1pbh3m9ikjp610nih8gif"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (native-inputs (list pkg-config))
`(#:configure-flags '("--with-libdvdcss=yes"))) (propagated-inputs (list libdvdcss))
(native-inputs
(list pkg-config))
(propagated-inputs
(list libdvdcss))
(home-page "http://dvdnav.mplayerhq.hu/") (home-page "http://dvdnav.mplayerhq.hu/")
(synopsis "Library for reading video DVDs") (synopsis "Library for reading video DVDs")
(description (description
@@ -3706,16 +3703,16 @@ MPEG-2 stream containing VOB packets.")
(define-public libdvdnav (define-public libdvdnav
(package (package
(name "libdvdnav") (name "libdvdnav")
(version "6.1.1") (version "7.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.videolan.org/videolan/" (uri (string-append "https://download.videolan.org/videolan/"
"libdvdnav/" version "/" "libdvdnav/" version "/"
"libdvdnav-" version ".tar.bz2")) "libdvdnav-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0j4ds6c4xl34dijkfpw805vj7s0vzg095kw0fvzj7ls7b53sg4f1")))) "07i2gdj4nfah4lwlc6hl14xjbyh6b12bc1lipxs3q4vdsdd8z8d2"))))
(build-system gnu-build-system) (build-system meson-build-system)
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc (propagated-inputs (list libdvdread)) ;in 'Requires.private' of dvdnav.pc
(home-page "http://dvdnav.mplayerhq.hu/") (home-page "http://dvdnav.mplayerhq.hu/")
@@ -3736,16 +3733,16 @@ encapsulated.")
(define-public libdvdcss (define-public libdvdcss
(package (package
(name "libdvdcss") (name "libdvdcss")
(version "1.4.3") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.videolan.org/pub/" (uri (string-append "https://download.videolan.org/pub/"
name "/" version "/" name "/" version "/"
name "-" version ".tar.bz2")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0y800y33spblb20s1lsjbaiybknmwwmmiczmjqx5s760blpwjg13")))) "16f3lnwcldy0ssq2yah97qsb0b8scsvhsivfbhpgizmys7j6752j"))))
(build-system gnu-build-system) (build-system meson-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html") (home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices") (synopsis "Library for accessing DVDs as block devices")
(description (description
@@ -5194,19 +5191,18 @@ specifications.")
(define-public libaacs (define-public libaacs
(package (package
(name "libaacs") (name "libaacs")
(version "0.11.0") (version "0.11.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/" (uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
version "/libaacs-" version ".tar.bz2")) version "/libaacs-" version ".tar.bz2"))
(sha256 (sha256
(base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d")))) (base32 "0f8ax9dp49mrm1484bl2df659b34xyrjmngzmvvpg2n9wkms12m8"))))
(inputs (inputs (list libgcrypt))
(list libgcrypt)) (native-inputs (list bison flex))
(native-inputs
(list bison flex))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--disable-static")))
(home-page "https://www.videolan.org/developers/libaacs.html") (home-page "https://www.videolan.org/developers/libaacs.html")
(synopsis "Library for decrypting certain Blu-Ray discs") (synopsis "Library for decrypting certain Blu-Ray discs")
(description "libaacs is a library which implements the Advanced Access (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 '#$(elogind-configuration-system-shutdown-hook-files
config)))))) 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) (define (pam-extension-procedure config)
"Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM "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 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) (name 'elogind)
(extensions (extensions
(list (service-extension dbus-root-service-type (list (service-extension dbus-root-service-type
elogind-dbus-service) (compose list elogind-configuration-elogind))
(service-extension udev-service-type (service-extension udev-service-type
(compose list elogind-configuration-elogind)) (compose list elogind-configuration-elogind))
(service-extension polkit-service-type (service-extension polkit-service-type
+4 -2
View File
@@ -26,7 +26,8 @@
#:use-module (guix monads) #:use-module (guix monads)
#:use-module (guix search-paths) #:use-module (guix search-paths)
#:use-module ((guix build glib-or-gtk-build-system) #: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)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix packages) #:use-module (guix packages)
@@ -35,7 +36,8 @@
glib-or-gtk-build glib-or-gtk-build
glib-or-gtk-cross-build glib-or-gtk-cross-build
glib-or-gtk-build-system) 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: ;; Commentary:
;; ;;
+6 -2
View File
@@ -30,6 +30,7 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:export (%standard-phases #:export (%standard-phases
%gdk-pixbuf-loaders-cache-file %gdk-pixbuf-loaders-cache-file
%gdk-pixbuf-loaders-directory
generate-gdk-pixbuf-loaders-cache generate-gdk-pixbuf-loaders-cache
glib-or-gtk-build)) glib-or-gtk-build))
@@ -207,6 +208,8 @@ if needed."
;; `generate-gdk-pixbuf-loaders-cache' build phase defined below. ;; `generate-gdk-pixbuf-loaders-cache' build phase defined below.
(define %gdk-pixbuf-loaders-cache-file (define %gdk-pixbuf-loaders-cache-file
"lib/gdk-pixbuf-2.0/2.10.0/loaders.cache") "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) (define (generate-gdk-pixbuf-loaders-cache directories outputs)
"Generate the loaders.cache file used by gdk-pixbuf to locate the available "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 variable. The cache file is installed under OUTPUTS. Return the first cache
file name if one was created else #f." file name if one was created else #f."
(let* ((loaders (append-map (let* ((loaders (append-map
(cut find-files <> "^libpixbufloader-.*\\.so$") (lambda (dir)
(delete-duplicates directories))) (find-files (in-vicinity dir %gdk-pixbuf-loaders-directory) "^.*.so$"))
directories))
(outputs* (map (cut string-append <> "/" (outputs* (map (cut string-append <> "/"
%gdk-pixbuf-loaders-cache-file) %gdk-pixbuf-loaders-cache-file)
outputs)) outputs))