Compare commits

...

201 commits

Author SHA1 Message Date
Maxim Cournoyer
fcc8c1d3ea
tests/pack: Fix rpm tests.
The rpm-for-tests would no longer build, due to the parent package having
migrated to CMake. Use the --dbpath argument instead of a variant test
package.

* tests/pack.scm (rpm-for-tests): Delete variable.
(rpm archive can be installed/uninstalled): Invoke rpm, not rpm-for-tests, but
with the --dbpath location specified.

Change-Id: I1b578db3ef8f1309c32c6ef92615814ca49fd22c
2025-09-30 16:02:27 +09:00
Maxim Cournoyer
87ebd01a05
gnu: rpm: Restore localstatedir to /var.
Commit 51e1f76 migrated the build system to CMake, and in the process, the
localstatedir value became $prefix/var (inside the package prefix), which
is not useful as this place should be writable for proper operation.

* gnu/packages/package-management.scm (rpm) [#:phases]
{install-macros-file}: New phase.

Change-Id: I1d069243d3b1aff3b0cf0ae79ad5823f8c2a4aeb
2025-09-30 15:44:15 +09:00
Maxim Cournoyer
4c6b2da2ed
tests/builders: Avoid races in unpack tests.
* tests/builders.scm
<gnu-build-system unpack phase, single file>: Add sync call.

Change-Id: Iac992e0899fe3b9c9e727bd42860ec564e1dc9a2
2025-09-30 14:43:06 +09:00
Maxim Cournoyer
ba4bc10dd4
gnu: friction: Build with ffmpeg-6.
* gnu/packages/graphics.scm (friction) [inputs]: Replace ffmpeg with
ffmpeg-6.

Change-Id: I8991631795145c305e81ab79d6ee308624e23695
2025-09-30 14:26:20 +09:00
Maxim Cournoyer
7f67eab68f
gnu: php: Disable the bug65148 and bug46347 flaky tests.
* gnu/packages/php.scm (php): Update to 8.3.26.
[#:phases] {prepare-tests}: Disable the bug65148 and bug46347 tests.

Change-Id: I366e408372c218842b4f6949f459e0b1924e204c
2025-09-30 12:08:07 +09:00
Maxim Cournoyer
0850534d75
gnu: php: Add autoconf to native inputs.
* gnu/packages/php.scm (php) [native-inputs]: Add autoconf.

Change-Id: I4e2185b04338b45ed89ef8a23232ff6524af4a00
2025-09-30 11:23:42 +09:00
Maxim Cournoyer
e0346b3ce1
gnu: gnome-planner: Some follow-ups.
* gnu/packages/gnome.scm (gnome-planner) [#:configure-flags]: Add comment.
[inputs]: Sort.

Change-Id: I233a44a143342aca63a9e8d4091ef5da81582da0
2025-09-30 11:11:42 +09:00
Hugo Buddelmeijer
20fba311d1
gnu: gnome-planner: Update to 0.14.92.
* gnu/packages/gnome.scm (gnome-planner): Update to 0.14.92.
[build-system]: Switch to meson-build-system.
[inputs]: Remove libgnomeui, libglade, gnome-vfs, and libgnomecanvas.
[native-inputs]: Remove intltool and pkg-config; add glib, desktop-file-utils,
and gettext-minimal.
[arguments] <#:glib-or-gtk?>: Set to #t.
<:configure-flags>: Remove --disable-python. Fix RUNPATH.
<:phases>: Add skip-gtk-update-icon-cache phase.
[home-page]: Change to https://gitlab.gnome.org/World/planner.

Change-Id: I64fb296c882f15bee64721dc6e2fbe204cd646f1
2025-09-30 11:02:35 +09:00
Hugo Buddelmeijer
4ad38dcb1d
gnu: Remove scrollkeeper dependencies.
* gnu/packages/mate.scm (mate-applets)[native-inputs]: Remove scrollkeeper.
* gnu/packages/mate.scm (mate-utils)[native-inputs]: Remove scrollkeeper.
* gnu/packages/mate.scm (pluma)[inputs]: Remove scrollkeeper.

Change-Id: I1d37a6d77508cd4154c51930ee030bd60064e58b
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 10:59:20 +09:00
Maxim Cournoyer
dbaed143e5
Revert "gnu: msamr: Update to (git-version 1.1.4 revision commit)."
This reverts commit f4dabf11a4.
2025-09-30 10:56:11 +09:00
Maxim Cournoyer
afe9a61fd4
gnu: php: Update to 8.3.26.
* gnu/packages/php.scm (php): Update to 8.3.26.
[#:phases] {prepare-tests}: Disable gh16659 test.

Change-Id: I2e3f5244e2471e7bab559db620c3658326ddcb93
2025-09-30 10:52:44 +09:00
Maxim Cournoyer
6018973ea6
gnu: php: Run tests in parallel.
* gnu/packages/php.scm (php) [arguments]
{prepare-tests}: Set TEST_PHP_ARGS environment variable.

Change-Id: Ideed9528c3474ff8c2f0abd760b64f12a7e3ec08
2025-09-30 10:19:25 +09:00
Maxim Cournoyer
32898c0056
gnu: php: Improve style.
* gnu/packages/php.scm (php) [arguments]: Use gexps.
[native-inputs, inputs]: Drop labels.

Change-Id: I6244b131bfeb3583bd77ca28dd0f8ab93ff8dade
2025-09-30 09:30:46 +09:00
André Batista
f26de13bfb
gnu: ungoogled-chromium: Fix build with libxml2@2.14.
* gnu/packages/chromium.scm (%debian-patches): Remove
'trixie/libxml-parseerr.patch' which is not needed and breaks build with newer
libxml2.

Chnage-Id: I7dfe8f4eaa353f1df0b19b9f515474e269f8a4e5
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:59 +09:00
André Batista
ad87d0009a
gnu: kodi: Build with ffmpeg@6.
* gnu/packages/kodi.scm (kodi)[inputs]: Replace ffmpeg by ffmpeg-6.  Otherwise
the build system tries to download this version and fails.

Change-Id: I4d08797d55cd6585ee365c24af020c8320b41639
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:59 +09:00
John Kehayias
d650736764
gnu: emacs-next-minimal: Fix test.
This patch represents a commit which should already be in emacs-next; to be
investigated.

* gnu/packages/emacs.scm (emacs-next-minimal)[source]: Add patch.

Change-Id: I884c9082cf53478411f01ccb5deab0e5c239fba1
2025-09-30 09:29:59 +09:00
André Batista
6907428e34
gnu: vlc: Build with ffmpeg@6.
* gnu/packages/video.scm (vlc)[inputs]: Replace ffmpeg with ffmpeg-6.

Change-Id: I49ae469dcff11a35122794f10f6b602f264344d6
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-30 09:29:59 +09:00
Ada Stevenson
f21e9833c1
gnu: qtwebengine: Fix build.
* gnu/packages/qt.scm (qtwebengine)[inputs]: Replace ffmpeg by ffmpeg-6.

Fixes: guix/guix#3111
Change-Id: I81a2674aef24eedc030f255fe173f8fbf4baeb1f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-30 09:29:59 +09:00
Ada Stevenson
ac3ea7a797
gnu: python-html5-parser: Fix build.
* gnu/packages/python-web.scm (python-html5-parser):
[arguments]<#:phases>{set-configure-flags}: New phase to set
`-Wno-error=implicit-function-declaration` flag.

Change-Id: I21f8f785c55c8cedf6669c221290e40e83447351
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-30 09:29:59 +09:00
Maxim Cournoyer
7e918353b8
gnu: gnucash: Update to 5.13.
* gnu/packages/gnucash.scm (gnucash): Update to 5.13.
(gnucash-docs): Likewise.

Change-Id: I61afb60ca33d0874dfa8f6e5286a10e8eb5cc3f5
2025-09-30 09:29:59 +09:00
Maxim Cournoyer
9f317cef3e
gnu: retroarch-minimal: Fix build.
* gnu/packages/emulators.scm (retroarch-minimal)
[inputs]: Replace ffmpeg with ffmpeg-6.

Change-Id: Ifc876d329f2c057fd0d46d50d858cabd74cba988
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
66c97d0fc7
gnu: gnucash-docs: Remove extraneous scrollkeeper input.
* gnu/packages/gnucash.scm (gnucash-docs)
[native-inputs]: Delete scrollkeeper.

Change-Id: I813bae9d5320d1530e5c7477af38b02e1768eb7a
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
901728d29f
gnu: perl-xml-libxml: Skip test suite for now.
The test suite is broken with the recent libxml2 update.

* gnu/packages/xml.scm (perl-xml-libxml) [inputs]: Replace libxml2 with
libxml2-2.11.
[#:tests?]: Set to #f.

Change-Id: I9a39f02897388cc5f493e9f54df0af26ac7d1903
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
04147edf9f
gnu: linphone-desktop: Update to 5.2.6.
* gnu/packages/linphone.scm (linphone-desktop): Update to 5.2.6.

Change-Id: I1d58fa5134aab1f4d00b56d9e3648b180a39a194
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
96800a6c98
gnu: liblinphone: Update to 5.3.112.
* gnu/packages/linphone.scm (liblinphone): Update to 5.3.112.
[inputs]: Replace libxml2 with libxml2-2.11.

Change-Id: Ib2b477152d2e189c350365f3aedeab1029b7a57d
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
9427cbc447
gnu: openldap-for-linphone: Update to 2.6.4-0.8511a0f.
* gnu/packages/openldap.scm (openldap-for-linphone): Update to 2.6.4-0.8511a0f.

Change-Id: I8f5cccf1e3fa346a5b9c4426ba372ec8127f6edd
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
60443a6e31
scripts: Honor --target-version in every situation.
* guix/scripts/refresh.scm (options->update-specs): Always honor
--target-version.
* doc/guix.texi (Invoking guix refresh): Add an example showing how this can
be useful.

Change-Id: I55f98c88f4b583f65dd85a6d3573f9bc87a1dead
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
1010f3fa87
gnu: mbedtls-for-hiawatha: Use package/inherit.
This is a variant, and should get the same graft treatment as the parent
package.

* gnu/packages/tls.scm (mbedtls-for-hiawatha): Use package/inherit.

Change-Id: I570db81d5a6d703ade47b160fbdf0eb5d655b0fc
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
92d3ef26eb
gnu: Remove mbedtls-apache.
* gnu/packages/tls.scm (mbedtls-apache): Delete variable.

Change-Id: I606a45f29e6212f259159a9d2f2d2edc9a42b7b5
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
5805105574
gnu: mbedtls: Update to 3.5.2.
* gnu/packages/tls.scm (mbedtls): Update to 3.5.2.
[source]: Switch to url-fetch (otherwise there are git submodules to pull).

Change-Id: I8e7402fd24049defb922a4ceae64d099abbf5bfb
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
f4dabf11a4
gnu: msamr: Update to (git-version 1.1.4 revision commit).
* gnu/packages/linphone.scm (msamr): Update to (git-version 1.1.4 revision commit).

Change-Id: Ic01159fd54ac45a3441eb0ae1a39540fc02f5a02
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
2ec75172d9
gnu: mswebrtc: Update to 5.4.0.
* gnu/packages/linphone.scm (mswebrtc): Update to 5.4.0.

Change-Id: I46796f76ede89f093d9410cfa08d3e033b997e9f
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
c79204cd4f
gnu: lime: Update to 5.3.112.
* gnu/packages/linphone.scm (lime): Update to 5.3.112.

Change-Id: I38c5beed5a53d0da0f9c351bc9554569a2af2af3
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
8b643d0659
gnu: mediastreamer2: Update to 5.3.112.
* gnu/packages/linphone.scm (mediastreamer2): Update to 5.3.112.

Change-Id: I1afe825c0e3b529944a5301052032f6e996681b4
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
d0577668c3
gnu: belle-sip: Update to 5.3.112.
* gnu/packages/linphone.scm (belle-sip): Update to 5.3.112.

Change-Id: I929189b4b3b1294c063654d3698baa35988df268
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
dbd44f5181
gnu: bzrtp: Update to 5.3.112.
* gnu/packages/linphone.scm (bzrtp): Update to 5.3.112.

Change-Id: I5fbf6b3152db4a5dad9bfa9e0c0076387d1d5fa7
2025-09-30 09:29:58 +09:00
Maxim Cournoyer
d5917210c6
gnu: ortp: Update to 5.3.112.
* gnu/packages/linphone.scm (ortp): Update to 5.3.112.

Change-Id: I9a2b9208b6da20b1e5592d6520a4a31e3335d9b2
2025-09-30 09:29:57 +09:00
Maxim Cournoyer
564f6e32f4
gnu: bcmatroska2: Update to 5.3.101.
* gnu/packages/linphone.scm (bcmatroska2): Update to 5.3.101.

Change-Id: I53ceeb4d5bde0e92ad2c88b37f22820cc7d97f86
2025-09-30 09:29:57 +09:00
Maxim Cournoyer
30902ae7ff
gnu: belcard: Update to 5.3.112.
* gnu/packages/linphone.scm (belcard): Update to 5.3.112.
[#:phases] {patch-vcard-grammar-location}: Adjust.

Change-Id: Ibcad5c710abf10dc2a3bd32220dcd79630a0a052
2025-09-30 09:29:57 +09:00
Maxim Cournoyer
8e22300e30
gnu: belr: Update to 5.3.112.
* gnu/packages/linphone.scm (belr): Update to 5.3.112.

Change-Id: Ia105fd24f2a4f46b1ccec9fcaf212468af1c0e01
2025-09-30 09:29:57 +09:00
Maxim Cournoyer
3b90bf9938
gnu: bctoolbox: Update to 5.3.112 and disable mbedtls support.
* gnu/packages/linphone.scm (bctoolbox): Update to 5.3.112.

Change-Id: I87eceb689aeea03236ed64de7aa7f5594c57e1f0
2025-09-30 09:29:57 +09:00
Maxim Cournoyer
d3fd000f91
gnu: bcunit: Update to 5.3.101.
* gnu/packages/linphone.scm (bcunit): Update to 5.3.101.

Change-Id: I3cdba8945367d18625c0c607df6265e440abf76d
2025-09-30 09:29:57 +09:00
John Kehayias
ad40bec3e3
gnu: python-openpyxl: Fix tests.
* gnu/packages/python-xyz.scm (python-openpyxl)[native-inputs]: Replace
python-lxml with python-lxml-4.9.

Change-Id: I59374faaf1dea054ac3f109fcdca53fe7aaa96a9
2025-09-30 09:29:57 +09:00
John Kehayias
ca5a56c4a2
gnu: ffmpeg-5: Fix build.
* gnu/packages/video.scm (ffmpeg-5)[arguments]: Add modules.
<#:configure-flags>: Remove "--enable-libplacebo".
[inputs]: Remove libplacebo.
(ffmpeg-4)[inputs]: Inherit from ffmpeg-5.
[arguments]: Remove modules.
<#:configure-flags>: Reduce as libplacebo flag is now removed via ffmpeg-5.

Change-Id: Ia13b297cb224abf8212e02a934f0f8fb04bce48e
2025-09-30 09:29:57 +09:00
Ian Eure
2de488a8ab
gnu: librewolf: Use ffmpeg-6.
Fixes guix/guix#3038.

* gnu/packages/librewolf.scm (librewolf): Replace ffmpeg with ffmpeg-6.

Change-Id: I8aef1b8102e6aff9f9dc4513c7169507efdec16b
2025-09-30 09:29:57 +09:00
Rutherther
159997c5cb
gnu: wlroots: Update to 0.19.1.
* gnu/packages/wm.scm (wlroots): Update to 0.19.1.
(wlroots-0.19): Alias to wlroots.

Change-Id: Ie222ebfc52d36ff8d4ec7580074a8476ae5f5a78
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
40bad2b66e
gnu: scenefx: Use wlroots-0.18.
* gnu/packages/wm.scm (scenefx)[inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I6d2ec1bc2b9c1a088fc913c6d66b918d41d542bc
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
eb69992d3c
gnu: sway: Use wlroots-0.18.
* gnu/packages/wm.scm (sway)[inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I3f59098af9f128269733f99a80daff2b6f7484a7
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
1db3164e8a
gnu: zig-wlroots: Use wlroots-0.18.
* gnu/packages/zig-xyz.scm (zig-wlroots)[propagated-inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I8aa52dcee7e03225819ca34aca3d3fd0bea3769d
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
9a919c607d
gnu: wideriver: Update to 1.3.1.
* gnu/packages/wm.scm (wideriver): Update to 1.3.1.
[inputs]: Remove wlroots.

Change-Id: I5642972d1d7afd270e5717fe624418332db291ea
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
1aa1b16aa8
gnu: labwc: Update to 0.9.1.
* gnu/packages/wm.scm (labwc): Update to 0.9.1.
[inputs]: Remove wlroots; add wlroots-0.19.

Change-Id: I481ece0d790c7c96db1490a04e6d299d029244bc
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
6cd8cb0d5d
gnu: swayfx: Use wlroots-0.18.
* gnu/packages/wm.scm (swayfx)[inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I921ea79301faf175036744b511aed35fc90d9f0a
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
956674b040
gnu: dwl: Use wlroots-0.18.
* gnu/packages/wm.scm (dwl)[inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I5555e43722d788d5f9ede5ce3143b54a9dfa4e63
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:57 +09:00
Rutherther
35aefa0579
gnu: fnott: Remove wlroots input.
* gnu/packages/wm.scm (fnott)[inputs]: Remove wlroots.

Change-Id: Id1ea1d5c30539965dfe980cdb899db81e45a00c1
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:56 +09:00
Rutherther
765f2d1100
gnu: cage: Use wlroots-0.18.
* gnu/packages/wm.scm (cage)[inputs]: Remove wlroots; add wlroots-0.18.

Change-Id: I8f84f4e5b5e940e8144e04a432bdbb2f97d507ce
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:56 +09:00
Rutherther
a73ccc230e
gnu: mpvpaper: Remove wlroots input.
mpvpaper doesn't use it, the output is the same with and without
it.

* gnu/packages/video.scm (mpvpaper)[inputs]: Remove wlroots.

Change-Id: I4a740aa3da82f1460380b161ff1dbfc8e5fb0979
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:56 +09:00
Rutherther
6fbc74b8b6
gnu: Add wlroots-0.19.
* gnu/packages/wm.scm (wlroots-0.19): New variable.

Change-Id: Iabd13690e9cafdcf876f4f3d18530fb3d75ae21f
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:56 +09:00
Rutherther
a6691468ef
gnu: Add wlroots-0.18.
* gnu/packages/wm.scm (wlroots-0.18): New variable.

Change-Id: I01eda336601fc26a03bb76c407caf95dd4b97a55
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
8404fb8777
gnu: gnudatalanguage: Update to 1.1.1.
* gnu/packages/data-language.scm (gnudatalanguage): Update to 1.1.1.

Change-Id: I2ffc591bd10f33e120639623ceb87ca96b6a3eae
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
6de3eef18c
gnu: freerdp-3: Use current ffmpeg.
* gnu/packages/rdesktop.scm (freerdp-3)
[inputs]: Replace ffmpeg-4 with current ffmpeg (8).

Change-Id: If9687f3e7f753628d6071e9b7e8baa82ffa3d673
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
4b47837cf4
gnu: gupnp-av: Update to 0.14.4.
* gnu/packages/gnome.scm (gupnp-av): Update to 0.14.4.

Change-Id: I13cce944540f84f36d888e2266fb70728efecf2e
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
85d06eda27
gnu: python-ufo2ft: Update to 2.33.4.
* gnu/packages/fontutils.scm (python-ufo2ft): Update to 2.33.4.
[arguments]: New field, to skip a few tests.

Change-Id: Iee6630e3ca9f4d6c69dd3a9aae80fef1d90aa7da
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
a8bc6c5e12
gnu: python-cu2qu: Update to 1.6.7.post2.
* gnu/packages/fontutils.scm (python-cu2qu): Update to 1.6.7.post2.

Change-Id: I1dd2a69912ac8c64dfd349695ee0713e51aefd33
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
ab6f561324
gnu: python-afdko: Update to 4.0.2.
* gnu/packages/fontutils.scm (python-afdko): Update to 4.0.2.

Change-Id: I4c05f1100d80cbbd2b542cbdc537d7ab8373847a
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
284f0e91f9
gnu: python-cffsubr: Update to 0.3.0.
* gnu/packages/fontutils.scm (python-cffsubr): Update to 0.3.0.

Change-Id: I452751aa6f2eea2cb4332f6d162b06d10d7c411e
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
a3a2f96069
gnu: python-afdko-3.6.1: Skip extra tests.
* gnu/packages/fontutils.scm (python-afdko-3.6.1)
[#:phases] {check}: Ignore proofpdf_test tests, newly failing due to libxml2
update.

Change-Id: Ia951573cfc54b25462bc38a3d29ee45275a3e91d
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
349f305b55
gnu: python-lxml-4.9: Disable test suite.
* gnu/packages/xml.scm (python-lxml-4.9) [#:tests?]: Set to #f.
[#:phases] {check}: Delete.

Change-Id: I1e984f27598ed7dfd694712bb609b4d6a2ab242c
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
037e3bd8d8
gnu: python-ufolib2: Update to 0.18.1.
* gnu/packages/fontutils.scm (python-ufolib2): Update to 0.18.1.

Change-Id: I598c2589f515cd4b0eef733b84491b64d77258ab
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
0414fd6e6d
gnu: python-defcon-bootstrap: Update to 0.12.2.
* gnu/packages/fontutils.scm (python-defcon-bootstrap): Update to 0.12.2.
Make hidden.
(python-defcon): Un-hide.

Change-Id: I107b1d40bd94c98bc14e81a052d28a8508eb2959
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
3459c11411
gnu: python-fontparts-bootstrap: Update to 0.13.3.
* gnu/packages/fontutils.scm (python-fontparts-bootstrap): Update to 0.13.3.
[source]: Adjust URI.
[native-inputs]: Remove unzip.

Change-Id: I81096277898f8b337bdb54fc23d3b8ac433b6426
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
07339a7420
gnu: python-booleanoperations: Update to 0.9.0.
* gnu/packages/graphics.scm (python-booleanoperations): Update to 0.9.0.
[#:modules, #:test-flags]: New arguments.
[native-inputs]: Delete unzip.

Change-Id: If4c4f36545f90b8d76d1a6a8c214aeaaa0841a58
2025-09-30 09:29:56 +09:00
Maxim Cournoyer
d7d573920a
gnu: python-unicodedata2: Update to 16.0.0.
* gnu/packages/python-xyz.scm (python-unicodedata2): Update to 16.0.0.

Change-Id: Ia3edef9c5ada75b2c85727be3b55db4ab2bc7b44
2025-09-30 09:29:55 +09:00
Maxim Cournoyer
a67a4b58be
gnu: harfbuzz: Update to 11.4.4.
* gnu/packages/gtk.scm (harfbuzz): Update to 11.4.4.

Change-Id: I0716fcaee731e062a250b5c9d4a04a433f2310b0
2025-09-30 09:29:55 +09:00
Maxim Cournoyer
bb04d25364
gnu: python-fonttools-minimal: Update to 4.59.2.
* gnu/packages/python-xyz.scm (python-fonttools-minimal): Update to 4.59.2.
[native-inputs]: Delete field.
(python-fonttools) [#:phases] {check}: Adjust.

Change-Id: Iaa4569e734956ff65dcd0bd6d8ed712858ee493c
2025-09-30 09:29:55 +09:00
John Kehayias
7e10845142
gnu: r-xml2: Update to 1.4.0.
* gnu/packages/cran.scm (r-xml2): Update to 1.4.0.

Change-Id: I4ec43f8e2b660086c16bd3c4479d071ee0fbec9d
2025-09-30 09:29:55 +09:00
Rutherther
e346624d6c
gnu: mpv: Patch removed constants from ffmpeg 8.0.
MPV 0.40.0 didn't remove deprecated constants. Those
constants were removed in ffmpeg 8.0. Mpv is not planning
on releasing a patch release any time soon.

* gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/video.scm (mpv)<source>[patches]: Apply it.

Change-Id: Id48bf513e6c80b59ae2bb167e7e98e41d5efad6f
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:55 +09:00
Maxim Cournoyer
e5079eb3b1
gnu: libmusicbrainz: Update to 5.1.0-0.4efbed3.
* gnu/packages/music.scm (libmusicbrainz): Update to 5.1.0-0.4efbed3.
[#:phases]: Delete trailing #t.

Change-Id: Ia256588bac3d618e90960783a0fec94f0bdabf67
2025-09-30 09:29:55 +09:00
John Kehayias
624af63158
gnu: python-beautifulsoup4: Update to 4.13.5.
* gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.13.5.

Change-Id: Ie1786b0b16b4332ea6295a3ecea83540dbab82cc
2025-09-30 09:29:55 +09:00
Sergey Trofimov
fbdb22556e
gnu: sane: Update to 1.4.0.
* gnu/packages/scanner.scm (sane): Update to 1.4.0.

Change-Id: I6c0d98de464c38d5c326a7f8346ca03a2be6a34c
2025-09-30 09:29:55 +09:00
Sergey Trofimov
8ff8de3b41
gnu: sane-airscan: Update to 0.99.36.
* gnu/packages/scanner.scm (sane-airscan): Update to 0.99.36.

Change-Id: I1e5227d2ff2e4578531bcb7051ad9d7f94d3b323
2025-09-30 09:29:55 +09:00
Sergey Trofimov
939e17f1cc
gnu: Replace usages of sane-backends with sane.
Replacement done using:
find gnu/packages -name '*.scm' -print0 | xargs -0 sed -ri \
  -e 's/"sane-backends" ,sane-backends/"sane" ,sane/' \
  -e 's/(list[^"]+sane)-backends/\1/' \
  -e 's/^( +sane)-backends/\1/'

* gnu/packages/hardware.scm (hw-probe)[inputs]:
* gnu/packages/wine.scm (wine)[inputs]:
* gnu/packages/python-xyz.scm (python-sane)[inputs]:
* gnu/packages/ocr.scm (gimagereader)[inputs]:
* gnu/packages/libreoffice.scm (libreoffice)[inputs]:
* gnu/packages/kde.scm (ksanecore)[inputs]:
* gnu/packages/gnome.scm (simple-scan, ocrfeeder, colord)[inputs]:
* gnu/packages/scanner.scm (scanbd, xsane, sane-airscan)[inputs]:
Replace sane-backends with sane.

Change-Id: If995e846ed4f53a740119b362e07c36c90a621cb
2025-09-30 09:29:55 +09:00
Sergey Trofimov
01179dadaf
gnu: scanbd: Format inputs.
* gnu/packages/scanner.scm (scanbd)[inputs]: Use new format.

Change-Id: I82d4d013b93cf445056bfe3a0c78addef367b0db
2025-09-30 09:29:55 +09:00
Sergey Trofimov
9e2db08b3e
gnu: sane-backends: Remove hplip dependency.
* gnu/packages/scanner.scm (sane-backends)[inputs]: Omit hplip.
[arguments]: Remove hplip phases.
* gnu/services/desktop.scm (lift-sane-configuration): Warn user that
hplip needs to be explicitly enabled in sane-configuration.

Change-Id: I05ffc3a2d04c5ee3da2739b68085557ff791814f
2025-09-30 09:29:55 +09:00
Sergey Trofimov
a14b8a1a4d
gnu: hplip: Make SANE backend truly pluggable.
* gnu/packages/cups.scm (hplip)[#:phases]
<move-sane-config-to-dll.d>: Fix dynamic loading.

Change-Id: I5ae3edabf8ccb87d547990f641fe42d2260e9080
2025-09-30 09:29:55 +09:00
Sergey Trofimov
f3271223c8
services: sane: Support pluggable backends.
* gnu/services/desktop.scm (sane-configuration): New record.
(sane-service-type): Add native search paths to environment.

Change-Id: Ia7b66b62cf027200dd94533f32c1e4bc0ed373d3
2025-09-30 09:29:55 +09:00
Sergey Trofimov
1b8fd37841
gnu: sane-backends-minimal: Rename to sane.
sane-backends-minimal contains helper programs and library files, but
none of the backends. Renaming the package to avoid confusion.

* gnu/packages/scanner.scm (sane-backends-minimal): Rename to...
(sane): ... this.
(utsushi, hplip, hplip-minimal)[inputs]: Replace sane-backends-minimal
with sane.

Change-Id: If987248f0ad8ac7041454a164d905c1c069242b7
2025-09-30 09:29:54 +09:00
Sergey Trofimov
ebc8f12d65
gnu: sane-backends-minimal: Respect backend search paths.
SANE's dynamic loading mechanism looks for configs in SANE_CONFIG_DIR,
and the libraries are expected to be either in LD_LIBRARY_PATH or in the
LIBDIR, which is set during the build to $PREFIX/lib/sane. A small patch
is necessary to make SANE respect backend search paths set by Guix.

* gnu/local.mk: Register sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch
* gnu/packages/scanner.scm (sane-backends-minimal): Patch dynamic
loading mechanism to look for libraries in SANE_BACKEND_LIB_PATH.

Change-Id: I132a709d171331d249acfe2fd1242dae43867ae8
2025-09-30 09:29:54 +09:00
John Kehayias
c7cb794db8
gnu: python-fonttools: Fix build.
* gnu/packages/python-xyz.scm (python-fonttools)[propagated-inputs]: Change
python-lxml-4.9 to python-lxml.

Change-Id: I5fb32f3cd02dd7d9d537a7464bf0bcc5f0088f93
2025-09-30 09:29:54 +09:00
Ada Stevenson
5164edd486
gnu: gegl: Fix build (re-enable dependency fallbacks).
* gnu/packages/gimp.scm (gegl)[arguments]<#:configure-flags>: Add
"--wrap-mode=nodownload".

Change-Id: I25440fde9a7bd20692fda7fbc83818263535df4c
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:54 +09:00
John Kehayias
bf73939ccb
gnu: emacs-minimal: Fix test.
The included patch is already done upstream, just after the 30.2 release.

* gnu/packages/emacs.scm (emacs-minimal)[source]: Add patch.
* gnu/packages/patches/emacs-zoom-image-test-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I0134ec90a03f8757b4247b5aea0853752b67daef
2025-09-30 09:29:54 +09:00
John Kehayias
320d61df30
gnu: libosinfo: Fix build with newer libxml2.
* gnu/packages/virtualization.scm (libosinfo)[source]: Add patch.
* gnu/packages/patches/libosinfo-libxml2-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I31377cf36b92562d9a87e6434cf30a01f5d3dcb2
2025-09-30 09:29:54 +09:00
John Kehayias
b540288537
gnu: tracker: Fix build (re-enable dependency fallbacks).
* gnu/packages/gnome.scm (tracker)[arguments]<#:configure-flags>: Add
"--wrap-mode=nodownload".

Change-Id: I84a7cfb5cd301cde395e82863283e23bb364ac70
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
09c70489d5
gnu: python-gst: Update to 1.26.3.
* gnu/packages/gstreamer.scm (python-gst): Update to 1.26.3.
[propagated-inputs]: Add gst-plugins-bad and gst-rtsp-server.

(cherry picked from commit 71c8e360f6)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
85d7be026e
gnu: Add gst-rtsp-server.
* gnu/packages/gstreamer.scm (gst-rtsp-server): New variable.

(cherry picked from commit 2605aa6323)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
bd0df4fc26
gnu: gst-editing-services: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-editing-services): Update to 1.26.3.

(cherry picked from commit 64c4c8d384)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
8b38c804c9
gnu: gst-libav: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-libav): Update to 1.26.3.

(cherry picked from commit 2c9e1edfe4)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
d2287b6682
gnu: gst-plugins-ugly: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-plugins-ugly): Update to 1.26.3.

(cherry picked from commit 2ecf2f0892)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
2689fcfe6a
gnu: gst-plugins-bad: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-plugins-bad): Update to 1.26.3.
[adjust-tests]: Also disable “elements_vkcolorconvert” and “elements_vkupload”.

(cherry picked from commit 82e2d85db5)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
e8f8d6573a
gnu: gst-plugins-good: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-plugins-good): Update to 1.26.3.

(cherry picked from commit e154bdc69b)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
061d64c1d1
gnu: gst-plugins-base: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gst-plugins-base): Update to 1.26.3.

(cherry picked from commit 8c82fb2fa3)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
72e2e841d3
gnu: gstreamer: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.26.3.

(cherry picked from commit 27ae993a06)
2025-09-30 09:29:54 +09:00
Liliana Marie Prikler
7e5111f5a1
gnu: gstreamer-docs: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gstreamer-docs): Update to 1.26.3.

(cherry picked from commit 413d5f948b)
2025-09-30 09:29:53 +09:00
John Kehayias
57abab7f07
gnu: libzmf: Fix build with newer doxygen.
* gnu/packages/libreoffice.scm (libzmf)[source]: Add patch.
* gnu/packages/patches/libzmf-doxygen-1.14.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Iced77d86eb5ed92d379cc9668182299dd865a5d4
2025-09-30 09:29:53 +09:00
John Kehayias
138a65bacd
gnu: raptor2: Fix build.
* gnu/packages/rdf.scm (raptor2)[source]: Add patch.
* gnu/packages/patches/raptor2-libxml2.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I690a6a9120692f81f68e20e3b0fdc96f04fbfb32
2025-09-30 09:29:53 +09:00
John Kehayias
da652f8e33
gnu: liblangtag: Update to 0.6.7.
* gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.7.

Change-Id: I53a382d3c5784240a941c85f3efc29612655b4df
2025-09-30 09:29:53 +09:00
John Kehayias
6ce1c5e01f
gnu: gtk+: Fix build on i686-linux.
Looks like the (graft) update to gtk+ to 3.24.49 never built on i686-linux due
to a failing test.  It is unclear why, but since we use an old librsvg on this
platform compared to x86_64, that is a major difference in the build/tests.

* gnu/packages/gtk.scm (gtk+)[arguments]<#:phases>: Skip the linear-gradient
on i686-linux.

Change-Id: I61e2fccaeaa92889c5519ad7845483f0e6a6715f
2025-09-30 09:29:53 +09:00
John Kehayias
e71d27bab0
gnu: librsvg-2.40: Fix build.
* gnu/packages/gnome.scm (librsvg-2.40)[inputs]: Replace libxml2 with libxml2-2.11.
* gnu/packages/xml.scm (libxml2-2.11): New variable.
(libxml2): Remove outdated comment.

Change-Id: I7080f39aab81ca104836b64dd1f7c10d14157e81
2025-09-30 09:29:53 +09:00
John Kehayias
0fcf57aafc
gnu: mariadb: Update to 10.11.14.
* gnu/packages/databases.scm (mariadb): Update to 10.11.14.

Change-Id: Iea635acff6b89f9be23f0ce4ba255ef322eb8643
2025-09-30 09:29:53 +09:00
John Kehayias
bb785fd355
gnu: gtk-doc: Fix test.
* gnu/packages/gtk.scm (gtk-doc)[source]: Add patch.
* gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: Ie1cc25bbef294755534db00380b880719c9ee9ff
2025-09-30 09:29:53 +09:00
John Kehayias
818c772527
gnu: inkscape/pinned: Fix build.
* gnu/packages/inkscape.scm (inkscape/pinned)[source]: Add patch.
* gnu/packages/patches/inkscape-libxml2.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I90394818c66093e8989a32905ddc69dad117f8c7
2025-09-30 09:29:53 +09:00
Liliana Marie Prikler
858adf2166
mesa: Re-enable dependency fallbacks.
* gnu/packages/gl.scm (mesa)[#:configure-flags]: Add “--wrap-mode=nodownload”.

(cherry picked from commit f0b058a541)
2025-09-30 09:29:53 +09:00
John Kehayias
051275db55
gnu: mesa: Update to 25.2.3.
* gnu/packages/gl.scm (mesa): Update to 25.2.3.

Change-Id: I28cee586fc49ba5aad9fa362260357e96d76977f
2025-09-30 09:29:53 +09:00
Sharlatan Hellseher
941d0d585f
gnu: meson: Update to 1.9.0.
* gnu/packages/build-tools.scm (meson): Update to 1.9.0.
[build-system]: Use pyproject.
[native-inputs]: Add python-setuptools.
[#:phases]: Adjust 'wrap phase for pyproject-build-system.
(meson-1.8): Remove variable.
* gnu/packages/gl.scm (mesa)[arguments]: Remove #:meson.

Co-authored-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Co-authored-by: Dariqq <dariqq@posteo.net>
Change-Id: I31932f24d1a54b8c79987296daaeb5a5285a8344
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Co-authored-by: John Kehayias <john@guixotic.coop>
(cherry picked from commit 3bcc621b2f)
2025-09-30 09:29:53 +09:00
Maxim Cournoyer
51c5e59ef8
build-system/meson: Make build verbose.
It's useful to see the link directives and other options passed to the
compiler when debugging build issues.

* guix/build/meson-build-system.scm (build): Invoke ninja with its --verbose
option.

Change-Id: Iab11eeb29351a1d6a954576e3a916e2d536058d9
(cherry picked from commit d9b9670b05)
2025-09-30 09:29:53 +09:00
Dariqq
fb091cf948
build-system: meson: Set default wrap-mode to nofallback.
Fixes guix/guix#1162.

This solves two issues: Not having to wait for the network timeout (same as the
nodownload) option and also disabling meson to fall back to predownloaded
subprojects.

If desired, this behaviour can be overridden by adding --wrap-mode=MODE to #:configure-flags.

* guix/build/meson-build-system.scm (configure): Add --wrap-mode=nofallback.

Change-Id: Ibf1d6ac60a4c47cd71574a96ceb8773e6d8cf60b
(cherry picked from commit fe8dded27f)
2025-09-30 09:29:53 +09:00
Sergey Trofimov
8d6b2bdada
gnu: cups: Don't enforce root ownership on supplementary files.
Printers managed by CUPS might require supplementary files to function,
such as color profiles or filters. CUPS checks permissions on such files
to prevent the execution of unsafe code. One of the conditions-that the
files are owned by root-must be short-circuited on Guix, because this
condition cannot be met on a system with an unprivileged daemon (where
store files are owned by `guix-daemon`).

* gnu/packages/patches/cups-relax-root-ownership-check.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/cups.scm (cups)[source]: Include it.

Change-Id: I77f67f996d057a34bd018ab97cda54577060b0c3
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-09-30 09:29:53 +09:00
John Kehayias
f001557a61
gnu: libxkbcommon: Update to 1.11.0.
* gnu/packages/xdisorg.scm (libxkbcommon): Update to 1.11.0.
[source]: Use git-fetch instead of url-fetch.
[native-inputs]: Add xorg-server-for-tests and xkbcomp.  Reformat.
[arguments]<#:configure-flags>: Add flag to enable docs.
(libxkbcommon-1.5, libxkbcommon-1.8): Remove variables.
* gnu/packages/terminals.scm (foot)[inputs]: Use libxkbcommon instead of
libxkbcommon-1.8.

Change-Id: I0e4ce4cab04c059916ea7dddd31d2780c7b49b26
2025-09-30 09:29:53 +09:00
John Kehayias
b1aeae1e3b
gnu: cups: Update to 2.4.14 [security-fixes].
Fixes CVE-2025-58060 and CVE-2025-58364.

* gnu/packages/cups.scm(cups): Update to 2.4.14.
[source]: Drop unneeded patch.
* gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch: Remove
it.
* gnu/local.mk (dist_patch_DATA): Deregister it.

Change-Id: I719e568716c8739aca16c6ebc29f50c7d2ac83bc
2025-09-30 09:29:53 +09:00
John Kehayias
06d7fe7cdb
gnu: doxygen: Update to 1.14.0.
* gnu/packages/documentation.scm (doxygen): Update to 1.14.0.
[arguments]<#:phases>: Rename disable-bibtex-test to disable-some-tests and
disable a failing test (reported upstream).

Change-Id: I2402138cb20916601adbc88ba9a769520d673f7f
2025-09-30 09:29:52 +09:00
John Kehayias
ffab66960b
gnu: python-lxml: Update to 6.0.1.
* gnu/packages/xml.scm (python-lxml): Update to 6.0.1.

Change-Id: Iab60f97a74c804e17fd2f2adf326d8a098c06ef0
2025-09-30 09:29:52 +09:00
John Kehayias
7b695827c1
gnu: automake: Skip some tests.
These tests fail for unknown reasons locally (even on master, without the
changes from this mesa-updates branch) though presumably pass on some machines
since there are substitutes available.  It appears to be non-deterministic.

See discussion at <https://codeberg.org/guix/guix/issues/1257>.

* gnu/packages/autotools.scm (automake)[arguments]<#:phases>: Skip some
tests.

Change-Id: I87099386483efdbb62e42251298f0995f3967179
2025-09-30 09:29:52 +09:00
John Kehayias
91d711474c
gnu: libxslt: Update to 1.1.43 [security-fixes].
The following CVEs were fixed:

- CVE-2025-24855: Fix use-after-free of XPath context node
- CVE-2024-55549: Fix UAF related to excluded namespaces

Additionally, a patch from Debian for generated IDs and reproduciblity no
longer applies cleanly and is likely problematic or (partially?) unneeded.
See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902051> for the latest.

* gnu/packages/xml.scm (libxslt): Update to 1.1.43.
(source): Remove patch.
* gnu/packages/patches/libxslt-generated-ids.patch: Delete it.
* gnu/local.mk (dist_patch_DATA): Unregister it.

Change-Id: Ia10d906bab090792d28524beda6aca79a5a21684
2025-09-30 09:29:52 +09:00
John Kehayias
b0254d3d3b
gnu: coreutils: Skip a test.
This test fails on btrfs more generally, not only on hurd.

* gnu/packages/base.scm (coreutils)[arguments]<#:phases>: Skip the
reflink-auto test unconditionally.

Change-Id: I27c4750f848a6b4c3c251614d95aefe41efe5d81
2025-09-30 09:29:52 +09:00
John Kehayias
7df42168f6
gnu: libx11: Update to 1.8.12.
* gnu/packages/xorg.scm (libx11): Update to 1.8.12.

Change-Id: I42986033bde1534e09a0f027c3599ed4142ff9c0
2025-09-30 09:29:52 +09:00
John Kehayias
502e5d335c
gnu: libxml2: Update to 2.14.6; deprecate python-libxml2.
Python bindings for libxml2 are now built as part of libxml2; remove all
python-libxml2 inputs for libxml2 (nearly all already had libxml2) and
deprecate the package.  This was done manually using

git grep python-libxml2 gnu/packages

to find affected packages and then check all their input fields.

With the update to libxml2, we can remove all the libxml2-next* variants.
This change was automated with:

git grep -rl libxml2-next | xargs sed -i 's/\(libxml2-next\|libxml2-next-for-grafting\)/libxml2/g'

* gnu/packages/xml.scm (libxml2): Update to 2.14.6.
[arguments]<#:phases>: Add configure-python phase (from python-libxml2).
[native-inputs]: Add pkg-config and python-minimal.
(libxml2-next, libxml2-next/fixed, libxml2-next-for-grafting): Remove.
(python-libxml2): Deprecate in favor of libxml2.

Change-Id: I2976f2fde086e9bc345d661edbdc125abbb7a753
2025-09-30 09:29:52 +09:00
John Kehayias
3f6ac45d1e
gnu: rest: Ungraft.
* gnu/packages/gnome.scm (rest)[replacement]: Remove.
[propagated-inputs]: Replace libxml2 with libxml2-next-for-grafting.
(rest/fixed): Remove.

Change-Id: Ib203ef0697419558c0be0ba2e844293aa20a6061
2025-09-30 09:29:52 +09:00
John Kehayias
fd051bf47b
gnu: gtk+: Ungraft.
* gnu/packages/gtk.scm (gtk+): Update to 3.24.43.
[replacement]: Remove.
[source]: Use git-fetch.
[arguments]<#:phases>: Add some test to disable-failing-tests phase.
(gtk+/fixed): Remove.

Change-Id: Ia34ac538f36424748e0a813cfc4e0dad2d643d0b
2025-09-30 09:29:52 +09:00
John Kehayias
5ce65db069
gnu: wget: Ungraft.
* gnu/packages/wget.scm (wget): Update to 1.25.0.
[replacement]: Remove.
(wget/fixed): Remove.

Change-Id: Ib3798d67bc293295a0480e2db36de98e1ce7edea
2025-09-30 09:29:52 +09:00
John Kehayias
b7364f4009
gnu: pixman: Update to 0.46.4.
Upstream no longer uses autotools so we build with meon-build-system now.  The
configure flag to not build a static output is no longer supported and even
though it was used previously, there was still a static library built.
Finally, the gnuplot configure flag is also removed, per
<https://issues.guix.gnu.org/69962>.

* gnu/packages/xdisorg.scm (pixman): Update to 0.46.4.
[build-system]: Switch to meson-build-system.
[arguments]<#:configure-flags>: Rewrite with gexp and for meson.  Remove
"--disable-static" as it is not a supported flag.  Remove "--enable-gnuplot"
flag.
[inputs, native-inputs]: Remove.
[home-page]: Use https URL.

Change-Id: I6bc17761ce96de9ef17bb8b420b8570d1ea11e07
2025-09-30 09:29:52 +09:00
Maxim Cournoyer
72ef4a0259
gnu: ffmpeg: Update to 8.0.
* gnu/packages/video.scm (ffmpeg-7): Replace with...
(ffmpeg): ... this updated version.
(ffmpeg): Adjust to use ffmpeg.
(ffmpeg-jami): Stay on ffmpeg-6.
* gnu/packages/tor-browsers.scm (make-torbrowser): Likewise.
* gnu/packages/python-xyz.scm (python-av): Likewise.
* gnu/packages/qt.scm (qtmultimedia): Likewise.

Change-Id: I2d7b1861a647f583da93fe230fd0734742671d4d
2025-09-30 09:29:52 +09:00
Maxim Cournoyer
10d15e4714
gnu: mesa: Update to 25.2.2.
* gnu/packages/gl.scm (mesa): Update to 25.2.2.

Change-Id: Iad91783d151000f6a7e43ce5d59f4b9b38aedc45
2025-09-30 09:29:52 +09:00
Cayetano Santos
20aa8a583e
gnu: spirv-llvm-translator: Update to 18.1.10.
* gnu/packages/vulkan.scm (spirv-llvm-translator): Update to 18.1.10.
[native-inputs]: Add libffi, pkg-config.

Change-Id: Id7251c3594ae56533b0930f9ecd54d8db88b5ab6
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:52 +09:00
Cayetano Santos
8f453fe775
gnu: vulkan-memory-allocator: Update to 3.3.0.
* gnu/packages/vulkan.scm (vulkan-memory-allocator)[arguments]: Use
G-Expressions.

Change-Id: I17030138801cb6d1b17cb849275dc0a0269daf4d
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:52 +09:00
Cayetano Santos
6b7a5e6779
gnu: vkd3d: Improve style.
* gnu/packages/vulkan.scm (vkd3d)[arguments]: Use G-Expressions.
[native-inputs]: Modernize.

Change-Id: I29d558f777f3bd56e55e8e5872ca7fa291081b0d
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
5fbf19bb93
gnu: vulkan: Update to 1.4.321.0.
* gnu/packages/vulkan.scm (spirv-headers, spirv-tools, spirv-cross,
glslang, vulkan-headers, vulkan-loader, vulkan-tools,
vulkan-validationlayers, vulkan-utility-libraries): Update to 1.4.321.0.

Change-Id: Ia19d8cdec3c3a904326d869a58c6348d4f5c5215
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
d712eab046
gnu: shaderc: Improve style.
* gnu/packages/vulkan.scm (shaderc)[arguments]: Use G-Expressions.

Change-Id: Ifa7b303c173a5093fa7733fa67e09eab1b39d8bd
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
b5838bd0a9
gnu: vulkan-tools: Improve style.
* gnu/packages/vulkan.scm (vulkan-tools): Fix max column.

Change-Id: Ibae23e8eaed1fa6c3f0ea593b4c64330e4037a94
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
c72cd11b63
gnu: vulkan-validationlayers: Improve style.
* gnu/packages/vulkan.scm (vulkan-validationlayers): Fix max column.

Change-Id: I3a79acbc7c4a36105e27a6dfaba028094a5d5232
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
e196e689e0
gnu: vulkan-loader: Improve style.
* gnu/packages/vulkan.scm (vulkan-loader): Fix max column.

Change-Id: I613ef9c8b87200168af3ab4c0379b0c8b2d09c58
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
c341440812
gnu: glslang: Improve style.
* gnu/packages/vulkan.scm (glslang)[arguments]: Use Gexp.
[native-inputs]: Remove python; add python-minimal.

Change-Id: I7b4f236b984b85d12f76f9d8de2b627e005bd232
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
131ec8961f
gnu: spirv-cross: Improve style.
* gnu/packages/vulkan.scm (spirv-cross)[arguments]: Use Gexp.
[native-inputs]: Remove python; add python-minimal.

Change-Id: Ia010d51736d099e4a0f983b79e2053bff6a63637
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
Cayetano Santos
81e27add4e
gnu: spirv-tools: Improve style.
* gnu/packages/vulkan.scm (spirv-tools):[arguments]: Use Gexp.
[native-inputs]: Remove python; add python-minimal.

Change-Id: I91c66e8b196a00f9beb327e440f39d2675964f99
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:51 +09:00
John Kehayias
b6fe97abdc
gnu: mesa: Update to 25.2.1.
* gnu/packages/gl.scm (mesa): Update to 25.2.1.

Change-Id: I4ee0255e6208b282ccca139c56e051a08170e026
2025-09-30 09:29:51 +09:00
John Kehayias
b234aaf844
gnu: ffmpeg@4: Fix build.
* gnu/packages/video.scm (ffmpeg-4)[arguments]: Add modules.
<#:configure-flags>: Remove flags --enable-libplacebo and --enable-libshaderc.

Change-Id: Ib3b69703f74601b1b632dd7f673c0235f1fb6c79
2025-09-30 09:29:51 +09:00
John Kehayias
ab915f981a
gnu: ffmpeg@6: Fix build with gcc-14 on i686-linux.
Without turning off this error, the build fails on some Vulkan related code.

* gnu/packages/video.scm (ffmpeg)[arguments]<#:phases>: In
relax-gcc-14-strictness phase, add -Wno-error=int-conversion to CFLAGS.

Change-Id: I3b0d0f5cbc80aae7b4b164b9a17bd0d8804c9fdd
2025-09-30 09:29:51 +09:00
John Kehayias
ea7095f117
gnu: shaderc: Disable tests.
The check phase started failing (after core-updates merge maybe?) as there are
no tests since building them was previously disabled already.

* gnu/packages/vulkan.scm (shaderc)[arguments]: Disable tests.

Change-Id: Ibfa53bd30e90a3b4fd6b5bbed403b8a9aa615e9c
2025-09-30 09:29:51 +09:00
John Kehayias
391b246fe0
gnu: libinput: Update to 1.29.0.
* gnu/packages/freedesktop.scm (libinput): Update to 1.29.0.

Change-Id: Ib54bd0d7202707852694f875c44c84b90589feac
2025-09-30 09:29:51 +09:00
John Kehayias
8a7069e07f
gnu: mesa: Update to 25.2.0.
Note: this is not the first "stable" release, but making this available for
testing as some configuration we used have been dropped upstream.

* gnu/packages/gl.scm (mesa): Update to 25.2.0.
[arguments]<#:meson>: Use meson-1.8.
<#:configure-flags>: Remove osmesa and gallium-xa flags (no longer available).
* gnu/packages/rust-crates.scm (mesa-cargo-inputs): Add rustc-hash.

Change-Id: I36d59582b5d827f78040a248a54fd11e2f982393
2025-09-30 09:29:51 +09:00
John Kehayias
39b329ab76
gnu: Add meson-1.8.
* gnu/packages/build-tools.scm (meson-1.8): New variable.

Change-Id: I9895780b41f659d73750519825e7340a1f2911f9
2025-09-30 09:29:51 +09:00
Murilo
ff4c7c2bd6
gnu: Remove libinput-minimal-next.
* gnu/packages/freedesktop.scm (libinput-minimal-next): Delete variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-09-30 09:29:50 +09:00
Murilo
d7e6264de6
gnu: hyprland: Build with libinput-minimal.
* gnu/packages/wm.scm (hyprland)[inputs]: Change libinput-minimal-next
to libinput-minimal.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-09-30 09:29:50 +09:00
Murilo
d14946c9ee
gnu: libinput: Update to 1.28.1.
* gnu/packages/freedesktop.scm (libinput): Update to 1.28.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-09-30 09:29:50 +09:00
John Kehayias
c88a696df2
gnu: mesa: Update to 25.1.6.
* gnu/packages/gl.scm (mesa): Update to 25.1.6.

Change-Id: I42e6d33411aea3876d84477212f5e21fadcf2605
2025-09-30 09:29:50 +09:00
Philipp Berger
cd62c6ceb8
gnu: mesa: Re-enable X11 protocol support for the DRI2 extension.
Starting with Mesa 24.3, X11 protocol support for the DRI2 extension is
no longer enabled by default.  The developers are phasing it out in
favor of DRI3, and have moved it into an optional 'legacy-x11' feature.
Re-enable it to retain hardware acceleration on older systems that do
not support DRI3.

* gnu/packages/gl.el (mesa)[arguments]<#:configure-flags>: Add
'-Dlegacy-x11=dri2'.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
62d86ff0fe
gnu: wayland: Update to 1.24.0.
* gnu/packages/freedesktop.scm (wayland): Update to 1.24.0.
[arguments] <#:parallel-tests?>: Delete.
* gnu/packages/vulkan.scm (vulkan-tools) [source]: Apply patch.
* gnu/packages/patches/vulkan-tools-wayland-1.24.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I321ec682423cc12f320e56156305992349b4b6c6
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
af32c4258a
gnu: libplacebo: Update to 7.351.0.
* gnu/packages/video.scm (libplacebo): Update to 7.351.0.

Change-Id: I96b5c43f9269e3ce61390118269dadfcca0f3103
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
ea5950593f
gnu: mesa: Update to 25.1.5.
* gnu/packages/gl.scm (mesa): Update to 25.1.5.

Change-Id: Ic05db30a9c4d8ee8c165eb8455c245aa2e2afd85
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
a59b8973b6
gnu: vulkan-validationlayers: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (vulkan-validationlayers): Update to 1.4.313.0.

Change-Id: I122d61f1e931ec6624cbf96ed64f585ad92f4789
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
fabce974a1
gnu: vulkan-tools: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (vulkan-tools): Update to 1.4.313.0.

Change-Id: Ic96b91a364836a312a1d5f5d58fd2978ac50522a
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
0b3685a8b1
gnu: vulkan-loader: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.4.313.0.

Change-Id: I5a969aab936ae40a7694dcc0d92e158d8375290a
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
9412895e48
gnu: vulkan-headers: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (vulkan-headers): Update to 1.4.313.0.

Change-Id: Ibed13fb472f5511a8e73625df19058e05b87d78a
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
b7fdaae5d2
gnu: shaderc: Update to 2025.3.
* gnu/packages/vulkan.scm (shaderc): Update to 2025.3.

Change-Id: If5ac7736ba1f32ddd24aaba45e179768aa37558f
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
8563cfe893
gnu: vulkan-utility-libraries: Update to 1.4.313.
* gnu/packages/vulkan.scm (vulkan-utility-libraries): Update to 1.4.313.

Change-Id: Ie7cbeb3393fb3d33859bf3983385961e072025ec
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
bc5b7bcc51
gnu: spirv-cross: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (spirv-cross): Update to 1.4.313.0.

Change-Id: Idee2fa8bd45d2510990bb0d6ab1f9352094693ef
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
54c545e82e
gnu: glslang: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (glslang): Update to 1.4.313.0.

Change-Id: Ie3a4168dc4d62846b68b9a1f417edebf7224134f
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
cf2d74d048
gnu: spirv-tools: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (spirv-tools): Update to 1.4.313.0.

Change-Id: Id436a37723e3fbc75525877f66bbf092b19db8db
2025-09-30 09:29:50 +09:00
Maxim Cournoyer
064d3068dc
gnu: spirv-headers: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (spirv-headers): Update to 1.4.313.0.

Change-Id: Id20c09fad12aad12ca3dd045af0369f63a5ef49d
2025-09-30 09:29:49 +09:00
Maxim Cournoyer
96a580c5d1
gnu: wayland-protocols: Update to 1.45.
* gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.45.

Change-Id: I6855e59a86dec111b45c0e87d6e3fabe62880aa9
2025-09-30 09:29:49 +09:00
Jesse Gibbons
fac230d68e
gnu: ffmpeg-7: Add support for libgme.
* gnu/packages/video.scm (ffmpeg-7) [inputs]: Add libgme.
[configure-flags]: Add "--enable-libgme".

Change-Id: I7af4c2cc3af78a808f3d9b8f8e485d666692701a
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:49 +09:00
Maxim Cournoyer
8fa67d6c0e
gnu: ffmpeg-7: Enable libplacebo support.
* gnu/packages/video.scm (ffmpeg-7) [inputs]: Add libplacebo.
[configure-flags]: Add --enable-libplacebo.

Change-Id: Ib46d46505417b63d44d28369662617e8ebbf9098
2025-09-30 09:29:49 +09:00
45mg
cb5d39c646
gnu: ffmpeg-7: Update to 7.1.1.
* gnu/packages/video.scm (ffmpeg-7): Update to 7.1.1.
[phases] {configure}: Don't expect a space in shebang lines; the spaces
were removed in FFmpeg commit 67e2f8b6bf5a44fa8083f90096de6131601879b4.
[native-inputs]: Replace yasm with nasm.

Change-Id: If774bae60713009d7267332959388002bc47daed
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-09-30 09:29:49 +09:00
Maxim Cournoyer
7a6d0160f9
gnu: ffmpeg-7: Enable vulkan support.
* gnu/packages/video.scm (ffmpeg-7) [native-inputs]: Add vulkan-headers.
[inputs]: Add shaderc, spirv-tools and vulkan-loader.
[configure-flags]: Add --enable-libshaderc and --enable-vulkan.

Change-Id: I469b013f6fc4d85a86004615948d3a03c9c3efde
2025-09-30 09:29:24 +09:00
Maxim Cournoyer
b8951c7122
gnu: ffmpeg: Update to 6.1.2.
* gnu/packages/video.scm (ffmpeg): Update to 6.1.2.

Change-Id: I32ee4ff66f3e8dcf87dbfb373252859bdb1c86d6
2025-09-30 09:28:03 +09:00
pinoaffe
5ae8ea40b6
gnu: emacs-mpdel: Update to 2.1.1.
*  (emacs-mpdel): Update to 2.1.1.

Change-Id: If9174f93fbf2ed9501ef39246d1637c00839fcc4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-09-29 20:02:26 +02:00
pinoaffe
a2c24c2cfe
gnu: emacs-libmpdel: Update to 2.1.0.
* gnu/packages/emacs-xyz.scm (emacs-libmpdel): Update to 2.1.0.

Change-Id: I8d9939faa625bd7c03e9a74152e1eb00918bc854
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-09-29 20:02:26 +02:00
Cayetano Santos
582be17cd0
gnu: makel: Update to 1.0.0.
* gnu/packages/emacs-build.scm (makel): Update to 1.0.0.
[arguments]: Use G-Expressions.
<#:tests?>: Activate.

Change-Id: I8ccfae0e4501d8a8c43af186e70d6cf010f700e6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-09-29 20:02:25 +02:00
Sughosha
a49269fd42
gnu: crow-translate: Update to 4.0.2.
* gnu/packages/kde-office.scm (crow-translate): Update to 4.0.2.
[source]: Update uri; add snippet.
[arguments]: Update comment.
<#:qtbase>: Use qtbase.
<#:configure-flags>: Add "-DCMAKE_CXX_FLAGS".
<#:phases>: Add 'unbundle-singleapplication phase.
[inputs]: Reorder; remove qtx11extras; replace qtbase-5 with qtbase, qtsvg-5
with qtsvg, qtmultimedia-5 with qtmultimedia and kwayland-5 with kwayland; add
breeze-icons, espeak-ng, qhotkey, qtscxml, qtspeech and single-application.
[native-inputs]: Replace qttools-5 with qttools.

Change-Id: I5b6f10c617d9fc7462c64710a5e303d99af26bbd
2025-09-29 22:11:12 +08:00
Sughosha
2afc99e027
gnu: Add qhotkey.
* gnu/packages/qt.scm (qhotkey): New variable.

Change-Id: Iea8794291af9828041862aa3f5e8c5dff7f9f8b3
2025-09-29 22:11:12 +08:00
Sughosha
dfadde6a45
gnu: crow-translate: Move to kde-office.scm.
* gnu/packages/kde-office.scm (crow-translate): Delete variable.
* gnu/packages/kde-office.scm (crow-translate): New variable.

Change-Id: I06fb1cebe44fb94cd78ec49c01f71dcf004400ad
2025-09-29 22:11:11 +08:00
Sughosha
92c6501a55
gnu: tellico: Update to 4.1.3.
* gnu/packages/kde-multimedia.scm (tellico): Update to 4.1.3.

Change-Id: I1bd2a2675ffa24765b74c6877bf21825fbc4de04
2025-09-29 22:11:11 +08:00
Sughosha
677d7bc5a9
gnu: ghostwriter: Update to 25.08.1.
* gnu/packages/kde-multimedia.scm (ghostwriter): Update to 25.08.1.

Change-Id: Icb7317a48ecf61832ef2f1132bf175a8e40bb5ab
2025-09-29 22:11:11 +08:00
pinoaffe
562802c23c
gnu: Add digikam.
* gnu/packages/image-viewers.scm (digikam): New variable.

Change-Id: I7d013e5c2b0cd9fc05d994449a8d3fd4db6b8393
2025-09-29 21:40:56 +08:00
pinoaffe
87da209e57
gnu: Add exiv2-static.
* gnu/packages/image.scm (exiv2-static): New variable.

Change-Id: Ie2d6abad666028fca761910be098d3fd165cbe50
2025-09-29 21:40:37 +08:00
Trevor Arjeski
b4b4be47cb
services: tor: Add nss-certs.
When using a tor-transport-plugin, namely a webtunnel with lyrebird, it is
necessary to have access to ssl certs to establish a connection to the bridge
over https.

* gnu/services/networking.scm (tor-shepherd-service): add nss-certs
file-sytem-mapping

Change-Id: Ifb7488d406cc6300eb6ac95e7dc0dfef0ff571db
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-09-29 15:28:08 +02:00
Junker
c7b7089963
gnu: Add faber.
* gnu/packages/task-runners.scm (faber): New variable.

Change-Id: Ic6dbfa00b99cd979130d5142a3165a1ab4d7a03d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-29 15:28:08 +02:00
Sören Tempel
04120f69dd
gnu: Add lhs2tex.
* gnu/packages/haskell-apps.scm (lhs2tex): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-29 15:28:08 +02:00
Jake Forster
7eeab5ffa7
gnu: simpleitk: Fix 'pip install'.
* gnu/packages/image-processing.scm: Import (gnu packages nss).
(simpleitk) [native-inputs]: Add nss-certs-for-test.

Change-Id: If8c1e75b8813f44384fe0c4a5396fce46441d077
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-29 15:12:20 +02:00
Arun Isaac
16aaabdf53
gnu: phockup: Respect tests?.
* gnu/packages/image.scm (phockup)[arguments]: Respect tests? in the check
phase.
2025-09-29 13:51:48 +01:00
Arun Isaac
2fe2935180
gnu: phockup: Update to 1.13.0.
* gnu/packages/image.scm (phockup): Update to 1.13.0.
2025-09-29 13:51:48 +01:00
Arun Isaac
a6839f9355
gnu: phockup: Depend on python-pytest-socket for tests.
* gnu/packages/image.scm (phockup)[native-inputs]: Add python-pytest-socket.
2025-09-29 13:51:41 +01:00
Noé Lopez
8886042f8a
gnu: gnunet: Update to 0.25.1.
* gnu/packages/gnunet.scm (gnunet): Update to 0.25.1.

Change-Id: I006947f6e1f58f204dc7241aa44f4536790cf9d0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-29 14:47:01 +02:00
Remco van 't Veer
ca60f03d84
gnu: assimp: Fix aarch64 build.
Some tests fail on aarch64 upstream.  See also:
https://github.com/assimp/assimp/issues/6246

* gnu/packages/graphics.scm (assimp) [arguments] <#:phases>: Disable
tests failing on target aarch64.

Change-Id: I193fb97b285bab9b7e092b9ad21b7e301177e1f4
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-29 14:48:51 +03:00
David Arroyo
fd888ddf63
gnu: linux-initrd: Fix f2fs module dependencies
The linux kernel has renamed the crc32_generic module to
crc32_cryptoapi. This fixes the f2fs-root-os system test.

* gnu/system/linux-initrd.scm (file-system-type-modules): update module
  name

Change-Id: I73a135e453434e726ea9d3ff99ab1a83b4810a10
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-29 12:56:30 +03:00
Andreas Enge
a0321563eb
gnu: php: Update to 8.3.13.
* gnu/packages/php.scm (php): Update to 8.3.13.

Change-Id: Ie803bffa03019f9a31c8cfa84d016d98be9baee6
2025-09-29 11:41:29 +02:00
宋文武
adc443c39e
gnu: easyrpg-player: Update to 0.8.1.1.
* gnu/packages/easyrpg.scm (easyrpg-player): Update to 0.8.1.1.
[inputs]: Remove sdl2-mixer.
[license]: Update comment.

Change-Id: I507f49e6e3d5558d50cec8927d3cd81abd7c84ff
2025-09-29 17:13:13 +08:00
宋文武
04d4b01979
gnu: liblcf: Update to 0.8.1.
* gnu/packages/easyrpg.scm (liblcf): Update to 0.8.1.
[propagated-inputs]: Add libinih.
[license]: Update comment.

Change-Id: Id137c466d8e49e10981837211cf0bd51dbab32ce
2025-09-29 17:13:06 +08:00
Alissa Istleyeva
98b02667e3
gnu: libvirt: Update to 11.5.0.
Fixes: guix/guix#2563.

* gnu/packages/virtualization.scm (libvirt): Update to 11.5.0.
(python-libvirt): Update to 11.5.0.
* gnu/packages/patches/libvirt-add-install-prefix.patch: Pull changes
from NixOS.

Change-Id: I13b619028cb2292c46f78669170265ef29e54b6b
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-29 11:49:23 +03:00
Andreas Enge
323babaa18
gnu: Remove ffmpeg-for-friction.
* gnu/packages/video.scm (ffmpeg-for-friction): Delete variable.

Change-Id: Ibab9be11e1b2e079b23114cded903c7920f41db9
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-29 10:27:42 +02:00
Andreas Enge
b2a0acdb97
gnu: friction: Build with newer ffmpeg.
* gnu/packages/graphics.scm (friction)[inputs]: Remove ffmpeg-for-friction;
add ffmpeg.

Change-Id: Ia925749b4dd8052f472a221e2038e756d13c1d8a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-29 10:27:42 +02:00
André Batista
02264cf4cb
gnu: dwm: Fix desktop file.
* gnu/packages/suckless.scm (dwm)[arguments]<#:phases>:
Remove '%U' arg from Exec field in dwm.desktop file.

Closes: #2630
Change-Id: Ia1d8a1813ac1c1ff493308185f2ebf5abfb54354
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 16:19:37 +08:00
Simen Endsjø
84b416ece3
gnu: xinit: Update to 1.4.4.
* gnu/packages/patches/xinit-startx-mcookie-path.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
* gnu/packages/xorg.scm (xinit): Update to 1.4.4
[source]: Remove patch.

Closes: #2772
Fixes: #2763
Change-Id: I1adc645ea9e9f1d897dc1f461aa58ad00bd7f6f9
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 16:11:42 +08:00
95 changed files with 2588 additions and 2460 deletions

View file

@ -15237,6 +15237,14 @@ gnu/packages/qt.scm:2070:13: qtquickcontrols2 would be upgraded from 5.15.8 to 5
@dots{} @dots{}
@end example @end example
@example
$ guix refresh -s module:kde-plasma --target-version=6.3.6
[@dots{}] plasma-systemmonitor would be upgraded from 6.3.4 to 6.3.6
[@dots{}] plasma-workspace-wallpapers would be upgraded from 6.3.4 to 6.3.6
[@dots{}] plasma-browser-integration would be upgraded from 6.3.4 to 6.3.6
@dots{}
@end example
@cindex partial target version, guix refresh @cindex partial target version, guix refresh
The @option{--target-version} option accepts partial version prefixes, The @option{--target-version} option accepts partial version prefixes,
which can be useful to update to the latest major or major-minor which can be useful to update to the latest major or major-minor
@ -26957,23 +26965,46 @@ site} for more information.
@defvar sane-service-type @defvar sane-service-type
This service provides access to scanners @i{via} This service provides access to scanners @i{via}
@uref{http://www.sane-project.org, SANE} by installing the necessary @uref{http://www.sane-project.org, SANE} by installing the necessary
udev rules. It is included in @code{%desktop-services} (@pxref{Desktop udev rules and pluggable backends. It is included in
Services}) and relies by default on @code{sane-backends-minimal} package @code{%desktop-services} (@pxref{Desktop Services}) and relies by
(see below) for hardware support. default on @code{sane-backends} package (see below) for hardware
support.
@end defvar @end defvar
@defvar sane-backends-minimal @deftp {Data Type} sane-configuration
The default package which the @code{sane-service-type} installs. It Data type representing the configuration for SANE.
supports many recent scanners.
@end defvar
@defvar sane-backends @table @asis
This package includes support for all scanners that
@code{sane-backends-minimal} supports, plus older Hewlett-Packard @item @code{sane} (default: @code{sane})
scanners supported by @code{hplip} package. In order to use this on Package containing SANE library.
a system which relies on @code{%desktop-services}, you may use
@code{modify-services} (@pxref{Service Reference, @item @code{backends} (default: @code{(sane-backends)})
@code{modify-services}}) as illustrated below: List of packages with pluggable SANE backends:
@itemize @bullet
@item
@code{sane-backends}: The default backend collection which supports many recent scanners,
@item
@code{sane-airscan}: A backend that enables network scanners supporting eSCL (Apple) or WSD,
(Microsoft) protocols
@item
@code{hplip}: A backend containing drivers for older Hewlett-Packard scanners,
@item
@code{utsushi}: A backend containing drivers for older Epson devices.
@end itemize
@end table
@end deftp
In order to use additional backends on a system which relies on
@code{%desktop-services}, you may use @code{modify-services}
(@pxref{Service Reference, @code{modify-services}}) as illustrated
below:
@lisp @lisp
(use-modules (gnu)) (use-modules (gnu))
@ -26987,13 +27018,14 @@ a system which relies on @code{%desktop-services}, you may use
(define %my-desktop-services (define %my-desktop-services
;; List of desktop services that supports a broader range of scanners. ;; List of desktop services that supports a broader range of scanners.
(modify-services %desktop-services (modify-services %desktop-services
(sane-service-type _ => sane-backends))) (sane-service-type _ =>
(sane-configuration
(backends (list sane-backends sane-airscan))))))
(operating-system (operating-system
@dots{} @dots{}
(services %my-desktop-services)) (services %my-desktop-services))
@end lisp @end lisp
@end defvar
@deffn {Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] @deffn {Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]
Return a configuration allowing an application to access GeoClue Return a configuration allowing an application to access GeoClue

View file

@ -1136,7 +1136,7 @@ dist_patch_DATA = \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \ %D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \ %D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-minimal-Address-PPD-injection-issues.patch \ %D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \ %D%/packages/patches/cura-engine-gcc-14.patch \
%D%/packages/patches/curl-CVE-2024-8096.patch \ %D%/packages/patches/curl-CVE-2024-8096.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \ %D%/packages/patches/curl-use-ssl-cert-env.patch \
@ -1228,6 +1228,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-telega-path-placeholder.patch \ %D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \ %D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/emacs-zoom-image-test-fix.patch \
%D%/packages/patches/enblend-enfuse-reproducible.patch \ %D%/packages/patches/enblend-enfuse-reproducible.patch \
%D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
@ -1553,6 +1554,7 @@ dist_patch_DATA = \
%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/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/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 \
@ -1603,6 +1605,7 @@ dist_patch_DATA = \
%D%/packages/patches/idris-test-ffi008.patch \ %D%/packages/patches/idris-test-ffi008.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inferno-fix-crash.patch \ %D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/inkscape-libxml2.patch \
%D%/packages/patches/instead-use-games-path.patch \ %D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/inetutils-hurd64.patch \ %D%/packages/patches/inetutils-hurd64.patch \
@ -1674,6 +1677,7 @@ dist_patch_DATA = \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \ %D%/packages/patches/librewolf-use-system-wide-dir.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \ %D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libvirt-respect-modules-path.patch \ %D%/packages/patches/libvirt-respect-modules-path.patch \
%D%/packages/patches/libzmf-doxygen-1.14.patch \
%D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/lightdm-arguments-ordering.patch \ %D%/packages/patches/lightdm-arguments-ordering.patch \
%D%/packages/patches/lightdm-vnc-ipv6.patch \ %D%/packages/patches/lightdm-vnc-ipv6.patch \
@ -1746,6 +1750,7 @@ dist_patch_DATA = \
%D%/packages/patches/libofa-ftbfs-1.diff \ %D%/packages/patches/libofa-ftbfs-1.diff \
%D%/packages/patches/libofa-curl.diff \ %D%/packages/patches/libofa-curl.diff \
%D%/packages/patches/libofa-ftbfs-2.diff \ %D%/packages/patches/libofa-ftbfs-2.diff \
%D%/packages/patches/libosinfo-libxml2-fix.patch \
%D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \ %D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \
@ -1786,7 +1791,6 @@ dist_patch_DATA = \
%D%/packages/patches/libxcb-path-max.patch \ %D%/packages/patches/libxcb-path-max.patch \
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \ %D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
%D%/packages/patches/libwpd-gcc-compat.patch \ %D%/packages/patches/libwpd-gcc-compat.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \ %D%/packages/patches/libxt-guix-search-paths.patch \
%D%/packages/patches/lierolibre-check-unaligned-access.patch \ %D%/packages/patches/lierolibre-check-unaligned-access.patch \
%D%/packages/patches/lierolibre-is-free-software.patch \ %D%/packages/patches/lierolibre-is-free-software.patch \
@ -1867,6 +1871,7 @@ dist_patch_DATA = \
%D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \ %D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \ %D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
%D%/packages/patches/modglue-fix-build.patch \ %D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \ %D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \
@ -2226,6 +2231,7 @@ dist_patch_DATA = \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \ %D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \ %D%/packages/patches/racket-chez-scheme-bin-sh.patch \
%D%/packages/patches/racket-launcher-config-dir.patch \ %D%/packages/patches/racket-launcher-config-dir.patch \
%D%/packages/patches/raptor2-libxml2.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/re2c-Use-maximum-alignment.patch \ %D%/packages/patches/re2c-Use-maximum-alignment.patch \
%D%/packages/patches/reduce-unbundle-libffi.patch \ %D%/packages/patches/reduce-unbundle-libffi.patch \
@ -2261,6 +2267,7 @@ dist_patch_DATA = \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \ %D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \ %D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \ %D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \ %D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
@ -2433,6 +2440,7 @@ dist_patch_DATA = \
%D%/packages/patches/vtk-7-gcc-11-compat.patch \ %D%/packages/patches/vtk-7-gcc-11-compat.patch \
%D%/packages/patches/vtk-7-hdf5-compat.patch \ %D%/packages/patches/vtk-7-hdf5-compat.patch \
%D%/packages/patches/vtk-7-python-compat.patch \ %D%/packages/patches/vtk-7-python-compat.patch \
%D%/packages/patches/vulkan-tools-wayland-1.24.patch \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/warzone2100-unbundle-libs.patch \ %D%/packages/patches/warzone2100-unbundle-libs.patch \
%D%/packages/patches/wcstools-extend-makefiles.patch \ %D%/packages/patches/wcstools-extend-makefiles.patch \
@ -2460,7 +2468,6 @@ dist_patch_DATA = \
%D%/packages/patches/xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch \ %D%/packages/patches/xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \ %D%/packages/patches/xgboost-use-system-dmlc-core.patch \
%D%/packages/patches/xinit-startx-mcookie-path.patch \
%D%/packages/patches/xiphos-glib.patch \ %D%/packages/patches/xiphos-glib.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \ %D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \ %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \

View file

@ -57,7 +57,7 @@
"1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn")))) "1zzdp5bwnszza5q6cjw66hkicay8b49n5pda7cbcgfg4hbbzv2rn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
(list libxml2-next)) (list libxml2))
(native-inputs (native-inputs
(list readline pkg-config)) (list readline pkg-config))
(home-page "https://augeas.net") (home-page "https://augeas.net")

View file

@ -13,6 +13,7 @@
;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -460,7 +461,13 @@ Makefile, simplifying the entire process for the developer.")
'("t/tags-lisp-space.sh" '("t/tags-lisp-space.sh"
;; This test fails, probably a timestamp thing: ;; This test fails, probably a timestamp thing:
;; make: Nothing to be done for 'all'. ;; make: Nothing to be done for 'all'.
"t/remake-aclocal-version-mismatch.sh") "t/remake-aclocal-version-mismatch.sh"
;; Non-deterministic test failures:
"t/aclocal-autoconf-version-check.sh"
"t/backcompat2.sh"
"t/backcompat3.sh"
"t/nodef.sh"
"t/nodef2.sh")
(("^#!.*" all) (("^#!.*" all)
(string-append all "exit 77;\n"))))) (string-append all "exit 77;\n")))))
#$@(if (%current-target-system) #$@(if (%current-target-system)

View file

@ -526,8 +526,6 @@ used to apply commands with arbitrarily long arguments.")
"tests/split/fail.sh" "tests/split/fail.sh"
;; These tests error ;; These tests error
"tests/dd/nocache.sh" "tests/dd/nocache.sh"
;; These tests can intermitently fail on btrfs
"tests/cp/reflink-auto.sh"
;; These tests fail ;; These tests fail
"tests/cp/sparse.sh" "tests/cp/sparse.sh"
"tests/cp/special-f.sh" "tests/cp/special-f.sh"
@ -573,6 +571,10 @@ used to apply commands with arbitrarily long arguments.")
(("(^| )main *\\(.*" all) (("(^| )main *\\(.*" all)
(string-append all "{\n exit (77);//")))) (string-append all "{\n exit (77);//"))))
'()) '())
;; These tests can fail on btrfs.
(substitute* "tests/cp/reflink-auto.sh"
(("^#!.*" all)
(string-append all "exit 77;\n")))
(substitute* "Makefile.in" (substitute* "Makefile.in"
;; fails on filesystems where inotify cannot be used, ;; fails on filesystems where inotify cannot be used,
;; more info in #47935 ;; more info in #47935

View file

@ -23604,7 +23604,7 @@ The output is in SAM format.")
#$(this-package-input "libxml2") #$(this-package-input "libxml2")
"/include/libxml2")))) "/include/libxml2"))))
(propagated-inputs (propagated-inputs
(list libxml2-next)) (list libxml2))
(native-inputs (native-inputs
(list check swig)) (list check swig))
(home-page "https://sbml.org/Software/libSBML") (home-page "https://sbml.org/Software/libSBML")

View file

@ -19,6 +19,7 @@
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org> ;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com> ;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -308,7 +309,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson (define-public meson
(package (package
(name "meson") (name "meson")
(version "1.5.2") (version "1.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/" (uri (string-append "https://github.com/mesonbuild/meson/"
@ -316,8 +317,8 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"02wi62k9w7716xxdgrrx68q89vaq3ncnbpw5ms0g27npn2df0mgr")))) "13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f ;disabled to avoid extra dependencies (list #:tests? #f ;disabled to avoid extra dependencies
#:phases #:phases
@ -327,12 +328,14 @@ files and generates build instructions for the Ninja build system.")
(replace 'wrap (replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* (search-input-file outputs "bin/meson") (substitute* (search-input-file outputs "bin/meson")
(("# EASY-INSTALL-ENTRY-SCRIPT") (("import sys" all)
(format #f "\ (string-append
import sys all "\n"
sys.path.insert(0, '~a') "sys.path.insert(0, '"
# EASY-INSTALL-ENTRY-SCRIPT" (site-packages inputs outputs))))))))) (site-packages inputs outputs)
(inputs (list python ninja/pinned)) "')"))))))))
(native-inputs (list python-setuptools))
(inputs (list python ninja))
(home-page "https://mesonbuild.com/") (home-page "https://mesonbuild.com/")
(synopsis "Build system designed to be fast and user-friendly") (synopsis "Build system designed to be fast and user-friendly")
(description (description

View file

@ -411,7 +411,6 @@
"system/openjpeg.patch" "system/openjpeg.patch"
;; adler2 is not part of our rust toolchain, check on next version. ;; adler2 is not part of our rust toolchain, check on next version.
"trixie/adler1.patch" "trixie/adler1.patch"
"trixie/libxml-parseerr.patch"
;; Remove after rust is past ;; Remove after rust is past
;; <https://github.com/rust-lang/rust/pull/141061>. ;; <https://github.com/rust-lang/rust/pull/141061>.
"trixie/rust-no-alloc-shim.patch"))) "trixie/rust-no-alloc-shim.patch")))

View file

@ -38082,14 +38082,14 @@ offers access to an XPath \"interpreter\".")
(define-public r-xml2 (define-public r-xml2
(package (package
(name "r-xml2") (name "r-xml2")
(version "1.3.8") (version "1.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "xml2" version)) (uri (cran-uri "xml2" version))
(sha256 (sha256
(base32 (base32
"01qhmlr5rhsn25ddb8cm3vl9vyqk5c5cgpc6c0krs9wccd1j4pbj")))) "0qnw4id8bknm3anvd9dlpg344s18dnxzm8lhbyqkcpgqfya84bhc"))))
(properties (properties
;; Avoid dependency cycle. ;; Avoid dependency cycle.
'((updater-ignored-native-inputs . ("r-httr")))) '((updater-ignored-native-inputs . ("r-httr"))))

View file

@ -12,6 +12,7 @@
;;; Copyright © 2025 Lukas Gradl <lgradl@posteo.net> ;;; Copyright © 2025 Lukas Gradl <lgradl@posteo.net>
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -321,7 +322,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal (define-public cups-minimal
(package (package
(name "cups-minimal") (name "cups-minimal")
(version "2.4.9") (version "2.4.14")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -331,8 +332,8 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
;; Avoid NAME confusion: these are the complete CUPS sources. ;; Avoid NAME confusion: these are the complete CUPS sources.
(file-name (git-file-name "cups" version)) (file-name (git-file-name "cups" version))
(sha256 (sha256
(base32 "08wjd1flyaslhnwvxl39403qi3g675rk532ysiyk6cda4r8ks1g1")) (base32 "1dk5salizxy1qm19gw93ffdd34hsn1cd4s57nwl7nfhwwirkiri2"))
(patches (search-patches "cups-minimal-Address-PPD-injection-issues.patch")))) (patches (search-patches "cups-relax-root-ownership-check.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
@ -703,6 +704,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(string-append "rulessystemdir = " out "/lib/systemd/system")) (string-append "rulessystemdir = " out "/lib/systemd/system"))
(("/etc/sane.d") (("/etc/sane.d")
(string-append out "/etc/sane.d")))))) (string-append out "/etc/sane.d"))))))
(add-after 'install 'move-sane-config-to-dll.d
(lambda _
;; move dll.conf to dll.d - the directory intended for 3rd-party
;; backend configurations.
(let ((dll.d (string-append #$output "/etc/sane.d/dll.d"))
(dll.conf (string-append #$output "/etc/sane.d/dll.conf")))
(mkdir-p dll.d)
(rename-file dll.conf (string-append dll.d "/hpaio")))))
(add-after 'install 'install-models-dat (add-after 'install 'install-models-dat
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(install-file "data/models/models.dat" (install-file "data/models/models.dat"
@ -751,7 +760,7 @@ should only be used as part of the Guix cups-pk-helper service.")
python-pygobject python-pygobject
python-pyqt python-pyqt
python-wrapper python-wrapper
sane-backends-minimal sane
net-snmp net-snmp
openssl openssl
avahi avahi
@ -789,7 +798,7 @@ should only be used as part of the Guix cups-pk-helper service.")
dbus dbus
libjpeg-turbo libjpeg-turbo
libusb libusb
sane-backends-minimal sane
zlib)) zlib))
(synopsis "GUI-less version of hplip"))) (synopsis "GUI-less version of hplip")))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,7 +20,7 @@
(define-module (gnu packages data-language) (define-module (gnu packages data-language)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix git-download) #:use-module (guix download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
@ -42,16 +43,17 @@
(define-public gnudatalanguage (define-public gnudatalanguage
(package (package
(name "gnudatalanguage") (name "gnudatalanguage")
(version "1.0.1") (version "1.1.1")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append
(url "https://github.com/gnudatalanguage/gdl") "https://github.com/gnudatalanguage/gdl/releases/download/v"
(commit (string-append "v" version)))) version "/gdl-v" version ".tar.gz"))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1bb3nin3qrzx2dwdk08vffp4bblrcpv6vv1ybaj499qhqcpqpc12")))) (base32
"0qln7851dpfy78yyx5k01ch2yrik3k1a1a2727rvpqf5rnmx6kkl"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
(list pkg-config python python-numpy)) (list pkg-config python python-numpy))
@ -75,6 +77,7 @@
netcdf netcdf
plplot plplot
proj proj
qhull
readline readline
shapelib shapelib
udunits udunits

View file

@ -1173,7 +1173,7 @@ Language.")
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.11.10") (version "10.11.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB" (uri (string-append "https://downloads.mariadb.com/MariaDB"
@ -1181,7 +1181,7 @@ Language.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"08phlqcwcwl753zi2jv702q7b3h25d489289mflnm8c31djp8smh")) "0bq5gn5yl3c6jnsamam4nb42y10c43ag764f7mkf7m5i9yqiqmwa"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -187,7 +187,7 @@ markup) can be customized and extended by the user.")
(define-public doxygen (define-public doxygen
(package (package
(name "doxygen") (name "doxygen")
(version "1.9.8") (version "1.14.0")
(home-page "https://www.doxygen.nl/") (home-page "https://www.doxygen.nl/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -198,7 +198,7 @@ markup) can be customized and extended by the user.")
".src.tar.gz"))) ".src.tar.gz")))
(sha256 (sha256
(base32 (base32
"0qjgw7bnx668hpi4r8m366vsq118s9365zf8z4x5yjrqx0ld5qq5")))) "0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
(list bison (list bison
@ -219,12 +219,15 @@ markup) can be customized and extended by the user.")
#~'()) #~'())
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-bibtex-test (add-after 'unpack 'disable-some-tests
(lambda _ (lambda _
(for-each delete-file-recursively
;; Disable test that requires bibtex to avoid a ;; Disable test that requires bibtex to avoid a
;; circular dependency. ;; circular dependency.
(for-each delete-file-recursively '("testing/012" "testing/012_cite.dox"
'("testing/012" "testing/012_cite.dox")))) ;; Reported upstream, see
;; <https://github.com/doxygen/doxygen/issues/11772>.
"testing/009" "testing/009_bug.cpp"))))
(add-before 'configure 'patch-sh (add-before 'configure 'patch-sh
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((/bin/sh (search-input-file inputs "/bin/sh"))) (let ((/bin/sh (search-input-file inputs "/bin/sh")))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018, 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
@ -30,6 +30,7 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
@ -42,7 +43,7 @@
(define-public liblcf (define-public liblcf
(package (package
(name "liblcf") (name "liblcf")
(version "0.8") (version "0.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -50,34 +51,26 @@
"/liblcf-" version ".tar.gz")) "/liblcf-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0kskflh2izc8q5p5x0rfxw8xa3591xfkmqf74rj72ff34xri4nj1")))) "1b68yhs14b4ql1wfbm0jzklyqyi3b2wm3pm9zhx0ij2a98c8cnli"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(propagated-inputs (propagated-inputs
;; Required by 'liblcf.pc'. ;; Required by 'liblcf.pc'.
(list expat icu4c)) (list expat icu4c libinih))
(home-page "https://easyrpg.org/") (home-page "https://easyrpg.org/")
(synopsis "Library to handle RPG Maker 2000 and 2003 game data") (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
(description (description
"@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data. "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
It can read and write LCF and XML files.") It can read and write LCF and XML files.")
;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0): ;; It includes a copy of span-lite (boost-1.0):
;; src/boost/preprocessor/config.hpp ;; src/lcf/third_party/span.h
;; src/boost/preprocessor/cat.hpp
;; src/boost/preprocessor/stringize.hpp
;; and a copy of inih (bsd-3):
;; src/ini.h
;; src/ini.cpp
;; src/inireader.h
;; src/inireader.cpp
;; TODO: Unbundle them.
(license license:expat))) (license license:expat)))
(define-public easyrpg-player (define-public easyrpg-player
(package (package
(name "easyrpg-player") (name "easyrpg-player")
(version "0.8") (version "0.8.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -85,7 +78,7 @@ It can read and write LCF and XML files.")
"/easyrpg-player-" version ".tar.gz")) "/easyrpg-player-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1brx2iix9d5i2lyjjcs03pq1xgl1gyh0yas8avazahgd9sn47696")))) "0aa60568cvhxf93065wn2r6js7xh81vhsl2nw3bhs5g3l1smq28z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
@ -107,7 +100,6 @@ It can read and write LCF and XML files.")
mpg123 mpg123
opusfile opusfile
pixman pixman
sdl2-mixer
sdl2 sdl2
speexdsp speexdsp
wildmidi wildmidi
@ -121,7 +113,6 @@ data.")
;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3): ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
;; src/midisynth.h ;; src/midisynth.h
;; src/midisynth.cpp ;; src/midisynth.cpp
;; and PicoJSON JSON parser/serializer (bsd-2): ;; and WAV audio loader and writer (public-domain):
;; src/picojson.h ;; src/external/dr_wav.h
;; TODO: Unbundle them.
(license license:gpl3+))) (license license:gpl3+)))

View file

@ -243,7 +243,7 @@ object or archive file), @command{eu-strip} (for discarding symbols),
(list pkg-config texinfo python-sphinx python)) (list pkg-config texinfo python-sphinx python))
(propagated-inputs (propagated-inputs
(list elfutils ;libabigail.la says -lelf (list elfutils ;libabigail.la says -lelf
libxml2-next)) ;in Requires.private of libabigail.pc libxml2)) ;in Requires.private of libabigail.pc
(synopsis "Analyze application binary interfaces (ABIs)") (synopsis "Analyze application binary interfaces (ABIs)")
(description (description
"@dfn{ABIGAIL} stands for the Application Binary Interface Generic "@dfn{ABIGAIL} stands for the Application Binary Interface Generic

View file

@ -524,33 +524,29 @@ Lisp.")
(license license:expat))) (license license:expat)))
(define-public makel (define-public makel
(let ((commit "2c831098c28a1f581b016532fa1f6e1c596b8ed1")
(revision "0"))
(package (package
(name "makel") (name "makel")
(version (git-version "0.8.0" revision commit)) (version "1.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/DamienCassou/makel") (url "https://github.com/DamienCassou/makel")
(commit commit))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0lmfl27rqh1530j8g4z2k6y6mc25n54bjkqriqdkw3703kliyvry")))) (base32 "143bdy4c81jbmp5sk1arnlmpc4dsw85n601x9rii2dgyn186l8si"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list (list
;; Some tests are currently broken, see
;; https://github.com/DamienCassou/makel/issues/6
#:tests? #f
#:modules #:modules
'((guix build copy-build-system) #~((guix build copy-build-system)
(guix build utils) (guix build utils)
(srfi srfi-1) (srfi srfi-1)
(srfi srfi-26) (srfi srfi-26)
(ice-9 ftw)) (ice-9 ftw))
#:install-plan ''(("makel.mk" "include/") #:install-plan
#~'(("makel.mk" "include/")
("README.org" "share/docs/")) ("README.org" "share/docs/"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
@ -575,13 +571,15 @@ Lisp.")
(with-directory-excursion "test" (with-directory-excursion "test"
(invoke "bash" "run-tests.sh")) (invoke "bash" "run-tests.sh"))
(format #f "Test suite not run.~%"))))))) (format #f "Test suite not run.~%")))))))
(native-inputs (list bash-minimal emacs-minimal)) (native-inputs
(inputs (list emacs-buttercup emacs-package-lint)) (list bash-minimal emacs-minimal))
(inputs
(list emacs-buttercup emacs-package-lint))
(home-page "https://github.com/DamienCassou/makel") (home-page "https://github.com/DamienCassou/makel")
(synopsis "Makefile to help checking Emacs packages") (synopsis "Makefile to help checking Emacs packages")
(description "This package provides a makefile to help checking Emacs (description
packages.") "This package provides a Makefile to help checking Emacs packages.")
(license license:gpl3+)))) (license license:gpl3+)))
;; This is an alternative version patches for internal Guix tests. ;; This is an alternative version patches for internal Guix tests.
;; The user-facing version is in emacs-xyz.scm ;; The user-facing version is in emacs-xyz.scm

View file

@ -34442,7 +34442,7 @@ from Emacs.")
(define-public emacs-libmpdel (define-public emacs-libmpdel
(package (package
(name "emacs-libmpdel") (name "emacs-libmpdel")
(version "2.0.0") (version "2.1.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -34451,10 +34451,20 @@ from Emacs.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03bavca89cf7dsjmg7hb48qnvca41ndiij33iw5yjjhbq1zyj8r4")))) "1indy1y31g68i3a4j6nbx3idybn5b11bjvlx9vkibraf622s2bls"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments
(list
;; XXX: "check" includes "lint-package-lint", which raises errors.
#:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'inject-makel
(lambda* (#:key inputs #:allow-other-keys)
(symlink (search-input-file inputs "/include/makel.mk")
"makel.mk"))))))
(native-inputs (native-inputs
(list emacs-ert-runner)) (list emacs-ert-runner makel))
(home-page "https://github.com/mpdel/libmpdel") (home-page "https://github.com/mpdel/libmpdel")
(synopsis "Emacs library to communicate with Music Player Daemon (MPD)") (synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
(description (description
@ -34466,7 +34476,7 @@ music.")
(define-public emacs-mpdel (define-public emacs-mpdel
(package (package
(name "emacs-mpdel") (name "emacs-mpdel")
(version "2.1.0") (version "2.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -34476,19 +34486,19 @@ music.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00ajjb9iawva3g7i1y6bz4d4ny3cv5rby6vgkwiy2xkprzxi8900")))) "1i7ymg0ls984vjmzjz0sbg280i47c6j79vr725x94xdpj6ci35qr"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
;; XXX: check includes lint-package-lint, which raises errors. ;; XXX: "check" includes "lint-package-lint", which raises errors.
#:test-command #~(list "make" "test" "lint-checkdoc") #:test-command #~(list "make" "test")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'inject-makel (add-after 'unpack 'inject-makel
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(symlink (search-input-file inputs "/include/makel.mk") (symlink (search-input-file inputs "/include/makel.mk")
"makel.mk")))))) "makel.mk"))))))
(inputs (list makel)) (native-inputs (list makel))
(propagated-inputs (propagated-inputs
(list emacs-libmpdel emacs-navigel)) (list emacs-libmpdel emacs-navigel))
(home-page "https://gitea.petton.fr/mpdel/mpdel") (home-page "https://gitea.petton.fr/mpdel/mpdel")

View file

@ -27,6 +27,7 @@
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com> ;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -158,7 +159,8 @@
"emacs-native-comp-driver-options.patch" "emacs-native-comp-driver-options.patch"
"emacs-native-comp-fix-filenames.patch" "emacs-native-comp-fix-filenames.patch"
"emacs-native-comp-pin-packages.patch" "emacs-native-comp-pin-packages.patch"
"emacs-pgtk-super-key-fix.patch")) "emacs-pgtk-super-key-fix.patch"
"emacs-zoom-image-test-fix.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "lisp" '(with-directory-excursion "lisp"
@ -688,7 +690,10 @@ editor (with wide ints)" )
"emacs-native-comp-driver-options.patch" "emacs-native-comp-driver-options.patch"
"emacs-next-native-comp-fix-filenames.patch" "emacs-next-native-comp-fix-filenames.patch"
"emacs-native-comp-pin-packages.patch" "emacs-native-comp-pin-packages.patch"
"emacs-pgtk-super-key-fix.patch"))))))) "emacs-pgtk-super-key-fix.patch"
;; XXX This commit should already be on 31.0 but
;; without this emacs-next will fail a test.
"emacs-zoom-image-test-fix.patch")))))))
(define* (emacs->emacs-next emacs #:optional name (define* (emacs->emacs-next emacs #:optional name
#:key (version (package-version emacs-next-minimal)) #:key (version (package-version emacs-next-minimal))

View file

@ -2950,7 +2950,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(list alsa-lib (list alsa-lib
dbus dbus
eudev eudev
ffmpeg ffmpeg-6
flac flac
fontconfig fontconfig
freetype freetype

View file

@ -1566,8 +1566,7 @@ use on a given system.")
parallel parallel
perl perl
pkg-config pkg-config
python-wrapper python-wrapper))
python-libxml2))
(inputs (inputs
(list pcre2)) (list pcre2))
(home-page "https://www.gnu.org/software/libredwg/") (home-page "https://www.gnu.org/software/libredwg/")

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-2024 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021-2025 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>
@ -181,13 +181,13 @@ them as it goes.")
(define-public python-afdko (define-public python-afdko
(package (package
(name "python-afdko") (name "python-afdko")
(version "3.9.5") (version "4.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "afdko" version)) (uri (pypi-uri "afdko" version))
(sha256 (sha256
(base32 "02c1rjx7ggbd1m9vqgsc2r28yiw66cjgvs5cq1a2fz0lkadbvrnb")) (base32 "0c6ribidsmcd9rihy32gknfrr3iw8dy2jlmq6lk05pc33s3ix8z1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(begin
@ -415,6 +415,7 @@ but also provides many useful font conversion and analysis facilities.
"--ignore=tests/makeotfexe_test.py" "--ignore=tests/makeotfexe_test.py"
"--ignore=tests/otc2otf_test.py" "--ignore=tests/otc2otf_test.py"
"--ignore=tests/otf2ttf_test.py" "--ignore=tests/otf2ttf_test.py"
"--ignore=tests/proofpdf_test.py"
"--ignore=tests/ttxn_test.py"))))))) "--ignore=tests/ttxn_test.py")))))))
(native-inputs (native-inputs
(list pkg-config (list pkg-config
@ -470,7 +471,7 @@ other operations on paths.")
(define-public python-cffsubr (define-public python-cffsubr
(package (package
(name "python-cffsubr") (name "python-cffsubr")
(version "0.2.9.post1") (version "0.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -478,7 +479,7 @@ other operations on paths.")
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(delete-file-recursively "external")) ;unbundle ADFKO (snippet '(delete-file-recursively "external")) ;unbundle ADFKO
(sha256 (sha256
(base32 "0p7wyagkmwf4agr6ysgswrpmpifx5rz8dnjbcs2gmj29rwnl2cbb")))) (base32 "1yrfjn3mdi48pg78yzlmskdz9i4nf2wg7h8ivnn9yrw1vc5iaibp"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -560,13 +561,13 @@ for fontTools.")
(define-public python-cu2qu (define-public python-cu2qu
(package (package
(name "python-cu2qu") (name "python-cu2qu")
(version "1.6.7.post1") (version "1.6.7.post2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "cu2qu" version ".zip")) (uri (pypi-uri "cu2qu" version ".zip"))
(sha256 (sha256
(base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c")))) (base32 "022qpzbpi6j56wqz48rnqs6dvksipw13fi4g10k941fnkgcn5x8x"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
;; XXX: Try to remove it when updating python-fonttools. ;; XXX: Try to remove it when updating python-fonttools.
@ -592,14 +593,24 @@ converts any cubic curves to quadratic. The most useful function is probably
(define-public python-ufo2ft (define-public python-ufo2ft
(package (package
(name "python-ufo2ft") (name "python-ufo2ft")
(version "2.31.0") (version "2.33.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ufo2ft" version)) (uri (pypi-uri "ufo2ft" version))
(sha256 (sha256
(base32 "1rg2997af8blvswlwif0kpz2vxrlh555gzqslz6yv9y7i7v8lphl")))) (base32 "0xnnwlj3rl0p7q19l6wdrfkzzq1f2l5vyl2qs7kl4vvfalgpzakv"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments
(list #:test-flags
#~(list "-k"
;; XXX: These tests all fail with "TTX output is different
;; from expected". Potentially fixed in 3.x release.
(string-append "not test_compileVariableTTF "
"and not test_compileVariableCFF2 "
"and not test_drop_glyph_names_variable "
"and not test_buildTables_FeatureLibError "
"and not test_kern_zyyy_zinh"))))
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-setuptools-scm python-setuptools-scm
@ -708,13 +719,13 @@ implementing the pen protocol for manipulating glyphs.")
(hidden-package (hidden-package
(package (package
(name "python-fontparts-bootstrap") (name "python-fontparts-bootstrap")
(version "0.11.0") (version "0.13.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "fontParts" version ".zip")) (uri (pypi-uri "fontparts" version ".tar.gz"))
(sha256 (sha256
(base32 "0j4h8hszky639gmfy1avmw670y80ya49kca8yc635h5ihl0c3v8x")))) (base32 "0ddyfa975hskaip6l4hn7n2jh50y5s0pw911phyx2fsws54pw5s7"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:test-backend #~'custom (list #:test-backend #~'custom
@ -726,8 +737,7 @@ implementing the pen protocol for manipulating glyphs.")
python-fonttools-minimal)) python-fonttools-minimal))
(native-inputs (native-inputs
(list python-setuptools (list python-setuptools
python-setuptools-scm python-setuptools-scm))
unzip))
(home-page "https://github.com/robotools/fontParts") (home-page "https://github.com/robotools/fontParts")
(synopsis "Library for interacting with font parts") (synopsis "Library for interacting with font parts")
(description "FontParts is an @acronym{API, Application Programming (description "FontParts is an @acronym{API, Application Programming
@ -1925,13 +1935,13 @@ with @samp{nameIDs}.")
(define-public python-ufolib2 (define-public python-ufolib2
(package (package
(name "python-ufolib2") (name "python-ufolib2")
(version "0.13.1") (version "0.18.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ufoLib2" version)) (uri (pypi-uri "ufolib2" version))
(sha256 (sha256
(base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j")))) (base32 "1971ibdsgji8x0jzlk1hc6dv2r5wnfyylz7f6wjkymqw6v6fzq3x"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-pytest (list python-pytest
@ -1954,9 +1964,10 @@ API-compatible with defcon.")
;;; A variant used to break a cycle between python-fontpens and ;;; A variant used to break a cycle between python-fontpens and
;;; python-fontparts. ;;; python-fontparts.
(define-public python-defcon-bootstrap (define-public python-defcon-bootstrap
(hidden-package
(package (package
(name "python-defcon-bootstrap") (name "python-defcon-bootstrap")
(version "0.11.0") (version "0.12.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1965,7 +1976,7 @@ API-compatible with defcon.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "06w5kd5ac63m6m8x8j4xwdl7ncbpjl7pdpfpy9i6c8nhbd8sbjfm")))) (base32 "1zx4xas6qcpp54d1vcfy5wjv17aazkpfmb7hkjy99g47xsi6crrh"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -1978,8 +1989,7 @@ API-compatible with defcon.")
(native-inputs (native-inputs
(list python-pytest (list python-pytest
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm))
unzip))
(home-page "https://github.com/robotools/defcon") (home-page "https://github.com/robotools/defcon")
(synopsis "Flexible objects for representing UFO data") (synopsis "Flexible objects for representing UFO data")
(description (description
@ -1990,15 +2000,17 @@ they are not meant to be end-all, be-all objects. Rather, they are meant to
provide base functionality so that you can focus on your applications provide base functionality so that you can focus on your applications
behavior, not object observing or maintaining cached data. Defcon implements behavior, not object observing or maintaining cached data. Defcon implements
UFO3 as described by the UFO font format.") UFO3 as described by the UFO font format.")
(license license:expat))) (license license:expat))))
(define-public python-defcon (define-public python-defcon
(hidden-package
(package/inherit python-defcon-bootstrap (package/inherit python-defcon-bootstrap
(name "python-defcon") (name "python-defcon")
(propagated-inputs (propagated-inputs
(modify-inputs (package-propagated-inputs python-defcon-bootstrap) (modify-inputs (package-propagated-inputs python-defcon-bootstrap)
(replace "python-fontpens-bootstrap" python-fontpens)))))) (replace "python-fontpens-bootstrap" python-fontpens)))
(properties
(alist-delete 'hidden?
(package-properties python-fontparts-bootstrap)))))
(define-public nototools (define-public nototools
(package (package

View file

@ -586,7 +586,7 @@ freedesktop.org project.")
;; Updating this will rebuild over 700 packages through libinput-minimal. ;; Updating this will rebuild over 700 packages through libinput-minimal.
(package (package
(name "libinput") (name "libinput")
(version "1.26.2") (version "1.29.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -595,7 +595,7 @@ freedesktop.org project.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1zwwq7a0a6yznc6jxhp6gb50yw5vpfkvgbrabrpc5pwldpckfbrg")))) "1kgr18p7n9bvim9bx24jbr5nwp6icla3bgzfskr04f68mirmx561"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags '("-Ddocumentation=false") `(#:configure-flags '("-Ddocumentation=false")
@ -642,21 +642,6 @@ other applications that need to directly deal with input devices.")
"-Ddebug-gui=false" ;requires gtk+@3 "-Ddebug-gui=false" ;requires gtk+@3
,flags)))))) ,flags))))))
;; TODO: Remove this package when libinput-minimal >= 1.28
(define-public libinput-minimal-next
(package/inherit libinput-minimal
(name "libinput-minimal")
(version "1.28.903")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/libinput/libinput.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0i5yljdff4fjchpa8ifscbcssnmiim58ai1zy3v41vim2illprv5"))))))
(define-public libei (define-public libei
(package (package
(name "libei") (name "libei")
@ -1363,7 +1348,7 @@ in and for C++.")
(define-public wayland (define-public wayland
(package (package
(name "wayland") (name "wayland")
(version "1.23.1") (version "1.24.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/" name (uri (string-append "https://gitlab.freedesktop.org/" name
@ -1371,12 +1356,11 @@ in and for C++.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6")))) "0dh5bldg24ajxz7xmylwm01nmj572x1vb0ya9qrppmhsl23j92c2"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
(list #:parallel-tests? #f (list #:phases
#:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'install 'move-doc (add-after 'install 'move-doc
(lambda _ (lambda _
@ -1414,7 +1398,7 @@ fullscreen) or other display servers.")
(define-public wayland-protocols (define-public wayland-protocols
(package (package
(name "wayland-protocols") (name "wayland-protocols")
(version "1.44") (version "1.45")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1423,7 +1407,7 @@ fullscreen) or other display servers.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1gjhfiah8hkhqlfan2pr8jvf9h8rjkyz79kkxddi8js2q7dy4bbq")))) "1d2fv41vq75pvgkd3ykjypnp8zv0afv71p36cd91h19lbmwaia8h"))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
(list wayland)) (list wayland))
@ -2250,7 +2234,7 @@ between protocols to provide a unified interface for applications.")
(inputs (list sqlite)) (inputs (list sqlite))
(propagated-inputs (propagated-inputs
;; telepathy-logger-0.2.pc refers to all these. ;; telepathy-logger-0.2.pc refers to all these.
(list libxml2-next telepathy-glib)) (list libxml2 telepathy-glib))
(synopsis "Telepathy logger library") (synopsis "Telepathy logger library")
(home-page "https://telepathy.freedesktop.org/") (home-page "https://telepathy.freedesktop.org/")
(description (description

View file

@ -244,7 +244,10 @@ provided, as well as a framework to add new color models and data types.")
(base32 "0v2wa2a3vnz1g4z5h9s8ili5h5kzk95hxlcp0zlxkwgbf5img1sq")))) (base32 "0v2wa2a3vnz1g4z5h9s8ili5h5kzk95hxlcp0zlxkwgbf5img1sq"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:phases `(#:configure-flags
;; TODO: properly unbundle.
'("--wrap-mode=nodownload")
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'extend-test-time-outs (add-after 'unpack 'extend-test-time-outs
(lambda _ (lambda _

View file

@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "25.1.3") (version "25.2.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.")
"mesa-" version ".tar.xz"))) "mesa-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0zxsvly6xjinaicgcf81ycljjjzy3mj0hqwf01b6sdgxnnnnrjzz")))) "1y5lj9zy2hfvx9ji1rvsjapmzap7mpp5i3pf2yfcpmpica2v5mpj"))))
(build-system meson-build-system) (build-system meson-build-system)
(propagated-inputs (propagated-inputs
;; The following are in the Requires.private field of gl.pc. ;; The following are in the Requires.private field of gl.pc.
@ -357,7 +357,6 @@ also known as DXTn or DXTC) for Mesa.")
glslang glslang
libclc libclc
pkg-config pkg-config
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
python-mako python-mako
python-ply python-ply
python-pyyaml python-pyyaml
@ -406,13 +405,12 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
"-Dglx=dri" ;Thread Local Storage, improves performance "-Dglx=dri" ;Thread Local Storage, improves performance
;; "-Dopencl=true" ;; "-Dopencl=true"
;; "-Domx=true" ;; "-Domx=true"
"-Dosmesa=true"
"-Dgallium-xa=enabled"
;; features required by wayland ;; features required by wayland
"-Dgles2=enabled" "-Dgles2=enabled"
"-Dgbm=enabled" "-Dgbm=enabled"
"-Dshared-glapi=enabled" "-Dshared-glapi=enabled"
"--wrap-mode=nodownload" ; XXX: disable
#$@(cond #$@(cond
((target-x86-32?) ((target-x86-32?)
@ -439,6 +437,9 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
;; Also enable the tests. ;; Also enable the tests.
"-Dbuild-tests=true" "-Dbuild-tests=true"
;; Re-enable X11 protocol support for the DRI2 extension.
"-Dlegacy-x11=dri2"
"-Dllvm=enabled") ; default is x86/x86_64 only "-Dllvm=enabled") ; default is x86/x86_64 only
;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The ;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The

View file

@ -770,7 +770,7 @@ The intltool collection can be used to do these things:
"1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb")))) "1jl7gsr7aclb9nvqazr039m86y7f7ivfhl2pixcrbfqjkb97r6kb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list bash-minimal libxml2 python-libxml2 python)) (list bash-minimal libxml2 python))
(arguments (arguments
(list (list
#:phases #:phases
@ -858,7 +858,7 @@ by GDBus included in Glib.")
pkg-config pkg-config
vala)) vala))
(inputs (list check python python-pygobject)) (inputs (list check python python-pygobject))
(propagated-inputs (list glib libxml2-next sqlite)) (propagated-inputs (list glib libxml2 sqlite))
(arguments (arguments
(list #:tests? #f ;one test fails. (list #:tests? #f ;one test fails.
#:imported-modules `((guix build python-build-system) #:imported-modules `((guix build python-build-system)

View file

@ -180,7 +180,6 @@
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
#:use-module (gnu packages ocr) #:use-module (gnu packages ocr)
#:use-module (gnu packages openldap) #:use-module (gnu packages openldap)
@ -443,7 +442,7 @@ services.")
"/share/gtk-doc/html")))) "/share/gtk-doc/html"))))
(native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable (native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable
pkg-config)) pkg-config))
(propagated-inputs (list glib libsoup-minimal-2 libxml2-next-for-grafting)) (propagated-inputs (list glib libsoup-minimal-2 libxml2))
(synopsis "Glib library for feeds") (synopsis "Glib library for feeds")
(description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom, (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
and other formats.") and other formats.")
@ -1223,7 +1222,7 @@ Library reference documentation.")
;; These inputs are required by the pkg-config file. ;; These inputs are required by the pkg-config file.
(list glib (list glib
libsoup libsoup
libxml2-next-for-grafting)) libxml2))
(synopsis "WebDav server implementation using libsoup") (synopsis "WebDav server implementation using libsoup")
(description "PhoDav was initially developed as a file-sharing mechanism for Spice, (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
but it is generic enough to be reused in other projects, but it is generic enough to be reused in other projects,
@ -1433,7 +1432,7 @@ a debugging tool, @command{gssdp-device-sniffer}.")
gsettings-desktop-schemas ;for org.gnome.system.proxy. gsettings-desktop-schemas ;for org.gnome.system.proxy.
gssdp gssdp
libsoup libsoup
libxml2-next-for-grafting)) libxml2))
(synopsis "PnP API for GNOME") (synopsis "PnP API for GNOME")
(description "This package provides GUPnP, an object-oriented framework (description "This package provides GUPnP, an object-oriented framework
for creating UPnP devices and control points, written in C using for creating UPnP devices and control points, written in C using
@ -1476,7 +1475,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
(define-public gupnp-av (define-public gupnp-av
(package (package
(name "gupnp-av") (name "gupnp-av")
(version "0.14.1") (version "0.14.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 "/"
@ -1484,7 +1483,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0kry7arwmvs8b4175wia3l0s02ap1shq68f29g2xjrhc9g6f175p")))) "1izq71qphyac02ynypwk0skxqzhfr0zrl7dap3sxrdaw4yrp9n91"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list gettext-minimal (list gettext-minimal
@ -2018,7 +2017,7 @@ and system administrators.")
(inputs (inputs
(list graphene (list graphene
gtk+ gtk+
libxml2-next-for-grafting libxml2
libxslt libxslt
poppler poppler
python-minimal python-minimal
@ -2068,7 +2067,7 @@ formats like PNG, SVG, PDF and EPS.")
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("liboauth" ,liboauth) ("liboauth" ,liboauth)
("libsoup" ,libsoup-minimal-2) ("libsoup" ,libsoup-minimal-2)
("libxml2" ,libxml2-next-for-grafting))) ("libxml2" ,libxml2)))
(home-page "https://wiki.gnome.org/Projects/libgdata") (home-page "https://wiki.gnome.org/Projects/libgdata")
(synopsis "Library for accessing online service APIs") (synopsis "Library for accessing online service APIs")
(description (description
@ -3600,7 +3599,7 @@ XML/CSS rendering engine.")
zlib)) zlib))
(propagated-inputs (propagated-inputs
(list glib (list glib
libxml2-next-for-grafting)) libxml2))
(synopsis "G Structured File Library") (synopsis "G Structured File Library")
(description "Libgsf aims to provide an efficient extensible I/O abstraction (description "Libgsf aims to provide an efficient extensible I/O abstraction
for dealing with different structured file formats.") for dealing with different structured file formats.")
@ -3802,7 +3801,7 @@ diagrams.")
`(,glib "bin") ; glib-mkenums, etc. `(,glib "bin") ; glib-mkenums, etc.
gobject-introspection)) ; g-ir-compiler, etc. gobject-introspection)) ; g-ir-compiler, etc.
(inputs (inputs
(list pango libcroco libxml2)) (list pango libcroco libxml2-2.11))
(propagated-inputs (propagated-inputs
;; librsvg-2.0.pc refers to all of that. ;; librsvg-2.0.pc refers to all of that.
(list cairo gdk-pixbuf glib)) (list cairo gdk-pixbuf glib))
@ -4215,7 +4214,7 @@ ported to GTK+.")
(inputs (inputs
(list python)) ;; needed for the optional libglade-convert program (list python)) ;; needed for the optional libglade-convert program
(propagated-inputs (propagated-inputs
(list gtk+-2 libxml2-next-for-grafting)) ; required by libglade-2.0.pc (list gtk+-2 libxml2)) ; required by libglade-2.0.pc
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(home-page "https://developer.gnome.org/libglade") (home-page "https://developer.gnome.org/libglade")
@ -4254,7 +4253,7 @@ widgets built in the loading process.")
;; Therefore we must do it. ;; Therefore we must do it.
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))))))))) (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
;; Mentioned as Required by the .pc file ;; Mentioned as Required by the .pc file
(propagated-inputs (list libxml2-next-for-grafting)) (propagated-inputs (list libxml2))
(inputs (inputs
(list popt pangox-compat libgnome libgnomecanvas libglade)) (list popt pangox-compat libgnome libgnomecanvas libglade))
(native-inputs (native-inputs
@ -4911,7 +4910,7 @@ GLib and GObject, and integrates JSON with GLib data types.")
("libtool" ,libtool))) ("libtool" ,libtool)))
(propagated-inputs (propagated-inputs
;; Required by libxklavier.pc. ;; Required by libxklavier.pc.
(list glib libxml2-next-for-grafting)) (list glib libxml2))
(inputs (inputs
(list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config)) (list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config))
(home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/") (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
@ -5021,7 +5020,6 @@ files.")
(define-public rest (define-public rest
(package (package
(replacement rest/fixed)
(name "rest") (name "rest")
(version "0.8.1") (version "0.8.1")
(source (origin (source (origin
@ -5050,13 +5048,6 @@ claim to be \"RESTful\". It includes convenience wrappers for libsoup and
libxml to ease remote use of the RESTful API.") libxml to ease remote use of the RESTful API.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public rest/fixed
(package
(inherit rest)
(propagated-inputs
(modify-inputs (package-propagated-inputs rest)
(replace "libxml2" libxml2-next-for-grafting)))))
(define-public rest-next (define-public rest-next
(package (package
(inherit rest) (inherit rest)
@ -5210,7 +5201,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
libpsl libpsl
nghttp2 ;for pkg-config nghttp2 ;for pkg-config
`(,nghttp2 "lib") `(,nghttp2 "lib")
libxml2-next-for-grafting libxml2
sqlite sqlite
zlib)) zlib))
(inputs (inputs
@ -5799,7 +5790,7 @@ output devices.")
docbook-xsl docbook-xsl
gtk-doc/stable gtk-doc/stable
libxslt libxslt
sane-backends sane
vala))))) ;for VAPI, needed by simple-scan vala))))) ;for VAPI, needed by simple-scan
(define-public geoclue (define-public geoclue
@ -6018,7 +6009,7 @@ service via the system message bus.")
(list gtk+ (list gtk+
gdk-pixbuf gdk-pixbuf
json-glib json-glib
libxml2-next-for-grafting libxml2
libsoup libsoup
geocode-glib)) geocode-glib))
(inputs (inputs
@ -6137,7 +6128,7 @@ settings, themes, mouse settings, and startup of other daemons.")
(list intltool (list intltool
`(,glib "bin") gobject-introspection pkg-config)) `(,glib "bin") gobject-introspection pkg-config))
(propagated-inputs (propagated-inputs
(list glib gmime libarchive libgcrypt libxml2-next-for-grafting)) (list glib gmime libarchive libgcrypt libxml2))
(inputs (inputs
(list libsoup)) (list libsoup))
(home-page "https://projects.gnome.org/totem") (home-page "https://projects.gnome.org/totem")
@ -7238,7 +7229,7 @@ USB transfers with your high-level application or system daemon.")
gdk-pixbuf gdk-pixbuf
gusb gusb
libadwaita libadwaita
sane-backends)) sane))
(home-page "https://gitlab.gnome.org/GNOME/simple-scan") (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
(synopsis "Document and image scanner") (synopsis "Document and image scanner")
(description (description
@ -8122,7 +8113,7 @@ to display dialog boxes from the commandline and shell scripts.")
libxext libxext
libxfixes libxfixes
libxkbcommon libxkbcommon
libxml2-next-for-grafting libxml2
libxrandr libxrandr
mesa mesa
pango pango
@ -8948,7 +8939,7 @@ the available networks and allows users to easily switch between them.")
(base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820")))) (base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
(list libxml2-next-for-grafting)) ;required by .pc file (list libxml2)) ;required by .pc file
(native-inputs (native-inputs
(list autoconf (list autoconf
automake automake
@ -9726,7 +9717,8 @@ easy, safe, and automatic.")
#$output "/lib:" #$output "/lib:"
#$output "/lib/tracker-3.0") #$output "/lib/tracker-3.0")
"-Ddocs=false" "-Ddocs=false"
"-Dsystemd_user_services=false") "-Dsystemd_user_services=false"
"--wrap-mode=nodownload") ; XXX: to be disabled
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths (add-after 'unpack 'patch-paths
@ -11631,7 +11623,7 @@ text views, and buttons to choose the language.")
(define-public gnome-planner (define-public gnome-planner
(package (package
(name "gnome-planner") (name "gnome-planner")
(version "0.14.6") (version "0.14.92")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/planner/" (uri (string-append "mirror://gnome/sources/planner/"
@ -11639,30 +11631,34 @@ text views, and buttons to choose the language.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k")))) "0cyqs1ly6cp96pjw0yjk1r0dshp0c3869wgknxpp97dnbppsg8px"))))
(build-system glib-or-gtk-build-system) (build-system meson-build-system)
(arguments (arguments
;; Disable the Python bindings because the Planner program functions (list
;; without them, and (as of 2017-06-13) we have not packaged all of #:glib-or-gtk? #t
;; packages that are necessary for building the Python bindings. #:configure-flags
`(#:configure-flags ;; Otherwise, the RUNPATH will lack the final 'planner' path component
(list "--disable-python" ;; (see: <https://gitlab.gnome.org/World/planner/-/issues/274>).
,@(if (string=? "aarch64-linux" (%current-system)) #~(list (string-append "-Dc_link_args=-Wl,-rpath="
'("--build=aarch64-unknown-linux-gnu") #$output "/lib/planner"))
'())))) #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "meson_post_install.sh"
(("gtk-update-icon-cache") (which "true"))))))))
(inputs (inputs
(list libgnomecanvas (list gconf
libgnomeui glib
libglade
gnome-vfs
gconf
libxml2
libxslt
gtk+ gtk+
glib)) libxml2
libxslt))
(native-inputs (native-inputs
(list intltool scrollkeeper pkg-config)) (list `(,glib "bin") ;for glib-genmarshal, etc.
(home-page "https://wiki.gnome.org/Apps/Planner") desktop-file-utils ;for update-desktop-database
gettext-minimal
pkg-config))
(home-page "https://gitlab.gnome.org/World/planner")
(synopsis "Project management software for the GNOME desktop") (synopsis "Project management software for the GNOME desktop")
(description (description
"GNOME Planner is a project management tool based on the Work Breakdown "GNOME Planner is a project management tool based on the Work Breakdown
@ -13885,7 +13881,7 @@ developed with the aim of being used with the Librem 5 phone.")
sqlite sqlite
vala)) vala))
(propagated-inputs (propagated-inputs
(list libxml2-next-for-grafting)) ; required by libgda-5.0.pc (list libxml2)) ; required by libgda-5.0.pc
(home-page "https://gitlab.gnome.org/GNOME/libgda") (home-page "https://gitlab.gnome.org/GNOME/libgda")
(synopsis "Uniform data access") (synopsis "Uniform data access")
(description (description
@ -14000,7 +13996,7 @@ world.")
("python-pyenchant" ,python-pyenchant) ("python-pyenchant" ,python-pyenchant)
("python-reportlab" ,python-reportlab) ("python-reportlab" ,python-reportlab)
("python-sane" ,python-sane) ("python-sane" ,python-sane)
("sane-backends" ,sane-backends) ("sane" ,sane)
("tesseract-ocr" ,tesseract-ocr))) ("tesseract-ocr" ,tesseract-ocr)))
(home-page "https://wiki.gnome.org/Apps/OCRFeeder") (home-page "https://wiki.gnome.org/Apps/OCRFeeder")
(synopsis "Complete OCR Suite") (synopsis "Complete OCR Suite")

View file

@ -66,14 +66,14 @@
;; directory. ;; directory.
(package (package
(name "gnucash") (name "gnucash")
(version "5.10") (version "5.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
version "/gnucash-" version ".tar.bz2")) version "/gnucash-" version ".tar.bz2"))
(sha256 (sha256
(base32 "14xd0w2afbyk0dzsw9f528722i3p1vhs78vr09r8cnzfk0v9z7bq")))) (base32 "1xdfci26av2jhyg40p5g9bwn7vz5xck2clgjsciz48mp6b1yqbh8"))))
(outputs '("out" "doc" "debug" "python")) (outputs '("out" "doc" "debug" "python"))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -234,7 +234,7 @@ installed as well as Yelp, the Gnome help browser.")
"mirror://sourceforge/gnucash/gnucash%20%28stable%29/" "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
version "/gnucash-docs-" version revision ".tar.gz")) version "/gnucash-docs-" version revision ".tar.gz"))
(sha256 (sha256
(base32 "0hx8gd5xbypbgw1hfnjiyxhkjxpid1qpmvihwlpb803lx9v8jkk0")))) (base32 "0lv3gh47crjyjfv84xrfgz833hv9hhcyi4qkkpj097qn0l0dg5k7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
;; These are native-inputs because they are only required for building the ;; These are native-inputs because they are only required for building the
;; documentation. ;; documentation.
@ -244,8 +244,7 @@ installed as well as Yelp, the Gnome help browser.")
(list docbook-xml (list docbook-xml
docbook-xsl docbook-xsl
libxml2 libxml2
libxslt libxslt))
scrollkeeper))
(arguments (arguments
`(#:tests? #f)) ;no test target `(#:tests? #f)) ;no test target
(home-page "https://www.gnucash.org/") (home-page "https://www.gnucash.org/")

View file

@ -193,7 +193,7 @@ authentication and support for SSL3 and TLS.")
(define-public gnunet (define-public gnunet
(package (package
(name "gnunet") (name "gnunet")
(version "0.25.0") (version "0.25.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -201,7 +201,7 @@ authentication and support for SSL3 and TLS.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zrn5j12c2vfp3vfx3kirknsvzb4r832hbgh5a2lcnb0x0p6dsid")))) "0p4gcv67rh9832vgi5k31pgpq6hmv6198dfmbyfizyaprlb6qcr1"))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
(list bluez (list bluez

View file

@ -21,7 +21,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020-2024 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021 Andy Tai <atai@atai.org>
@ -462,7 +462,7 @@ objects!")
qt))))))))) qt)))))))))
(inputs (inputs
(list expat (list expat
ffmpeg-for-friction ;version 4.2 is recommended; does not work with version 7+. ffmpeg-6
fontconfig fontconfig
freetype freetype
gperftools-for-friction gperftools-for-friction
@ -826,7 +826,20 @@ and export to various formats including the format used by Magicavoxel.")
(substitute* "test/CMakeLists.txt" (substitute* "test/CMakeLists.txt"
;; Leave the test binary where ctest will look for it. ;; Leave the test binary where ctest will look for it.
(("TARGET_USE_COMMON_OUTPUT_DIRECTORY\\(unit\\)") (("TARGET_USE_COMMON_OUTPUT_DIRECTORY\\(unit\\)")
""))))))) ""))
;; Some tests fail on aarch64:
;; <https://github.com/assimp/assimp/issues/6246>.
(when #$(target-aarch64?)
(substitute* "test/unit/AssimpAPITest_aiMatrix3x3.cpp"
(("aiMatrix3FromToTest")
"DISABLED_aiMatrix3FromToTest"))
(substitute* "test/unit/AssimpAPITest_aiMatrix4x4.cpp"
(("aiMatrix4FromToTest")
"DISABLED_aiMatrix4FromToTest"))
(substitute* "test/unit/AssimpAPITest_aiQuaternion.cpp"
(("aiQuaternionFromNormalizedQuaternionTest")
"DISABLED_aiQuaternionFromNormalizedQuaternionTest"))))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list zlib)) (list zlib))
@ -1233,6 +1246,22 @@ basic geometries.")
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
;; There are
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 format))
;; Some tests fail due to small differences in the expected result (see:
;; <https://github.com/typemytype/booleanOperations/issues/69>).
#:test-flags #~(list "-k"
(format #f "not ~{~a~^ and not ~}"
'("test_QTail_reversed_difference"
"test_QTail_reversed_intersection"
"test_QTail_reversed_union"
"test_QTail_reversed_xor"
"test_Q_difference"
"test_Q_intersection"
"test_Q_union"
"test_Q_xor")))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'set-version (add-after 'unpack 'set-version
@ -1244,8 +1273,7 @@ basic geometries.")
python-fontpens-bootstrap python-fontpens-bootstrap
python-pytest python-pytest
python-setuptools python-setuptools
python-setuptools-scm python-setuptools-scm))
unzip))
(home-page "https://github.com/typemytype/booleanOperations") (home-page "https://github.com/typemytype/booleanOperations")
(synopsis "Boolean operations on paths") (synopsis "Boolean operations on paths")
(description (description

View file

@ -374,7 +374,7 @@ arrays of data.")
(define-public gstreamer-docs (define-public gstreamer-docs
(package (package
(name "gstreamer-docs") (name "gstreamer-docs")
(version "1.24.9") (version "1.26.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -382,7 +382,7 @@ arrays of data.")
"/gstreamer-docs-" version ".tar.xz")) "/gstreamer-docs-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0vb4d35rglvjlj2y9r0nlgankflqw0ql6gwsf4612505sa01mz7s")))) "11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -434,7 +434,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer (define-public gstreamer
(package (package
(name "gstreamer") (name "gstreamer")
(version "1.24.9") (version "1.26.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -443,7 +443,7 @@ the GStreamer multimedia framework.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"03r6rwmih3nqxrfw9nkhpbwpwp1yf7qw3m2phl6a027mxrmppx7b")))) "1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:disallowed-references (list python) (list #:disallowed-references (list python)
@ -515,7 +515,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base (define-public gst-plugins-base
(package (package
(name "gst-plugins-base") (name "gst-plugins-base")
(version "1.24.9") (version "1.26.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -523,7 +523,7 @@ This package provides the core library and elements.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1jspg24zlpmg4bxa298v6l8hcaqw27411dj2v16y0g3xj13bkcsv")))) "0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
(build-system meson-build-system) (build-system meson-build-system)
(propagated-inputs (propagated-inputs
(list glib ;required by gstreamer-sdp-1.0.pc (list glib ;required by gstreamer-sdp-1.0.pc
@ -623,7 +623,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good (define-public gst-plugins-good
(package (package
(name "gst-plugins-good") (name "gst-plugins-good")
(version "1.24.9") (version "1.26.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -632,7 +632,7 @@ for the GStreamer multimedia library.")
"https://gstreamer.freedesktop.org/src/" name "/" "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "17vr55pgh2paqi82l5jn841873c2w0lal7kgz2i3qzikzw5yazc9")))) (base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@ -743,14 +743,14 @@ model to base your own plug-in on, here it is.")
(define-public gst-plugins-bad (define-public gst-plugins-bad
(package (package
(name "gst-plugins-bad") (name "gst-plugins-bad")
(version "1.24.9") (version "1.26.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" (uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1aswb97v1ird3rmfcsa32bvp4kgp8r987f83pd1knx8amylzgz1n")) "0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -814,7 +814,13 @@ model to base your own plug-in on, here it is.")
((".*elements/dtls\\.c.*") "") ((".*elements/dtls\\.c.*") "")
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921 ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
((".*elements/mxfdemux\\.c.*") "")) ((".*elements/mxfdemux\\.c.*") "")
;; Unable to create pipeline 'bin.
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
;; no element "vulkanupload"
((".*elements/vkcolorconvert\\.c.*") "")
((".*elements/vkupload\\.c.*") ""))
(substitute* "tests/check/elements/zxing.c" (substitute* "tests/check/elements/zxing.c"
;; zxing 1.2.0 seemingly changed the type representation of ;; zxing 1.2.0 seemingly changed the type representation of
;; the EAN_13 structure; disable it. ;; the EAN_13 structure; disable it.
@ -953,7 +959,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly (define-public gst-plugins-ugly
(package (package
(name "gst-plugins-ugly") (name "gst-plugins-ugly")
(version "1.24.9") (version "1.26.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -961,7 +967,7 @@ par compared to the rest.")
(string-append "https://gstreamer.freedesktop.org/src/" (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "1dn33ivfc0rnn545y40303h5z9bm5ca9f8j2czmhbk9q1w8k0ssb")))) (base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
(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
@ -1010,7 +1016,7 @@ think twice about shipping them.")
(define-public gst-libav (define-public gst-libav
(package (package
(name "gst-libav") (name "gst-libav")
(version "1.24.9") (version "1.26.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1019,7 +1025,7 @@ think twice about shipping them.")
"https://gstreamer.freedesktop.org/src/" name "/" "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 "0v253lbic7abc9vpb690f80arql10193ljqkzgs03vh8wnd2ws1j")))) (base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (list perl pkg-config python-wrapper ruby)) (native-inputs (list perl pkg-config python-wrapper ruby))
(inputs (list ffmpeg)) (inputs (list ffmpeg))
@ -1033,7 +1039,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
(define-public gst-editing-services (define-public gst-editing-services
(package (package
(name "gst-editing-services") (name "gst-editing-services")
(version "1.24.9") (version "1.26.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1041,7 +1047,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
"gst-editing-services-" version ".tar.xz")) "gst-editing-services-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04khlbw3wy5zr2s246252zrd4hnzv2x36l5avz0lxif6pr9nwl07")))) "1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@ -1100,10 +1106,45 @@ given, also pass them to the build system instead of the ones used by PKG."
\"bad\" plugin set, essentially containing libraries and the gst-transcoder \"bad\" plugin set, essentially containing libraries and the gst-transcoder
binary, but none of the actual plugins."))) binary, but none of the actual plugins.")))
(define-public gst-rtsp-server
(package
(name "gst-rtsp-server")
(version "1.26.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
(build-system meson-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(define failing
(list "client" "media" "mediafactory" "rtspserver"
"sessionmedia" "stream" "onvif" "rtspclientsink"))
(substitute* "tests/check/meson.build"
(("'gst/(.*)',?" all test)
(if (member test failing) "" all))))))))
(propagated-inputs
(list gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad))
(native-inputs (list gobject-introspection
`(,glib "bin")
pkg-config
python-wrapper))
(home-page "https://gstreamer.freedesktop.org/")
(synopsis "Library for building RTSP servers with GStreamer")
(description "This package provides a GStreamer extension to handle
RTSP connections and messages.")
(license license:lgpl2.0+)))
(define-public python-gst (define-public python-gst
(package (package
(name "python-gst") (name "python-gst")
(version "1.24.9") (version "1.26.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1111,7 +1152,7 @@ binary, but none of the actual plugins.")))
"gst-python-" version ".tar.xz")) "gst-python-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0bplhfnvsi3l9fmfb346n2dvzi1jrxqpp4kcwiwsrjrlgic1vrl0")))) "04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@ -1127,7 +1168,10 @@ binary, but none of the actual plugins.")))
(native-inputs (native-inputs
(list pkg-config python)) (list pkg-config python))
(propagated-inputs (propagated-inputs
(list gst-plugins-base python-pygobject)) (list gst-plugins-base
gst-plugins-bad ; for gst-analytics
gst-rtsp-server
python-pygobject))
(home-page "https://gstreamer.freedesktop.org/") (home-page "https://gstreamer.freedesktop.org/")
(synopsis "GStreamer GObject Introspection overrides for Python") (synopsis "GStreamer GObject Introspection overrides for Python")
(description (description

View file

@ -36,7 +36,7 @@
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; ;;;
@ -285,7 +285,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(define-public harfbuzz (define-public harfbuzz
(package (package
(name "harfbuzz") (name "harfbuzz")
(version "8.3.0") (version "11.4.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/harfbuzz/harfbuzz" (uri (string-append "https://github.com/harfbuzz/harfbuzz"
@ -293,7 +293,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h")))) "1iaqiwh3b6mwv1ar2mm29fpfygsb1x79wv7mm6ppyn7a8rqz2lqh"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" (outputs '("out"
"bin")) ;160K, only hb-view depend on cairo "bin")) ;160K, only hb-view depend on cairo
@ -613,7 +613,7 @@ diagrams.")
fribidi fribidi
glib glib
gtk gtk
libxml2-next libxml2
pango pango
pcre2)) pcre2))
(home-page "https://wiki.gnome.org/Projects/GtkSourceView") (home-page "https://wiki.gnome.org/Projects/GtkSourceView")
@ -1009,18 +1009,18 @@ application suites.")
(package (package
(inherit gtk+-2) (inherit gtk+-2)
(name "gtk+") (name "gtk+")
(version "3.24.43") (version "3.24.49")
(replacement gtk+/fixed) (source (origin
(source (method git-fetch)
(origin (uri (git-reference
(method url-fetch) (url "https://gitlab.gnome.org/GNOME/gtk")
(uri (string-append "mirror://gnome/sources/" name "/" (commit version)))
(version-major+minor version) "/" (file-name (git-file-name name version))
name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1izky8dxaxp4bg5nii4n58dgpkw79mvmvbkldf04n0qmhmjg013y")) "0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" (patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
;; 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.
@ -1101,7 +1101,18 @@ application suites.")
;; unknown reasons. ;; unknown reasons.
(substitute* "testsuite/gtk/meson.build" (substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "") ((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") "")))) ((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file (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))
@ -1128,41 +1139,6 @@ application suites.")
(variable "GUIX_GTK3_PATH") (variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0"))))))) (files '("lib/gtk-3.0")))))))
(define-public gtk+/fixed
(package
(inherit gtk+)
(name "gtk+")
(version "3.24.49")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/gtk")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments gtk+)
((#:phases phases)
#~(modify-phases #$phases
(replace 'disable-failing-tests
(lambda _
;; These tests fail only in the containerized environment, for
;; unknown reasons.
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))))))))))
(define-public gtk (define-public gtk
(package (package
(name "gtk") (name "gtk")
@ -2370,7 +2346,8 @@ information.")
(base32 (base32
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj")) "0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
(patches (patches
(search-patches "gtk-doc-respect-xml-catalog.patch")))) (search-patches "gtk-doc-respect-xml-catalog.patch"
"gtk-doc-mkhtml-test-fix.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list

View file

@ -476,7 +476,7 @@ sharing.")
procps procps
psmisc ;for pstree psmisc ;for pstree
rpm rpm
sane-backends sane
smartmontools smartmontools
sysstat sysstat
upower upower

View file

@ -623,6 +623,29 @@ with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
and mIRC chat codes.") and mIRC chat codes.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public lhs2tex
(package
(name "lhs2tex")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (hackage-uri "lhs2tex" version))
(sha256
(base32 "0cf66z6mgadgqd1xs5b6gw8l9rkwgbfsc5czwdiapn7ichi26qyj"))))
(build-system haskell-build-system)
(properties '((upstream-name . "lhs2tex")))
(inputs (list ghc-regex-compat))
(home-page "https://github.com/kosmikus/lhs2tex")
(synopsis "Preprocessor for typesetting Haskell sources with LaTeX")
(description
"This tool is primarily intended for people who want to write articles or
books using LaTeX that contain some Haskell code. It works on literate Haskell
documents where the non-Haskell parts form essentially a valid LaTeX document,
then processes the Haskell code in the document and replaces it with formatted
LaTeX output.")
(license license:gpl2+)))
(define-public kmonad (define-public kmonad
;; Project is active, but no new releases exist. Pick current master ;; Project is active, but no new releases exist. Pick current master
;; HEAD as of 2024-08-18. ;; HEAD as of 2024-08-18.

View file

@ -92,6 +92,7 @@
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages nss)
#:use-module (gnu packages opencl) #:use-module (gnu packages opencl)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -815,7 +816,7 @@ the OpenCV-Python library.")
libpng libpng
(librsvg-for-system) (librsvg-for-system)
libtiff libtiff
libxml2-next libxml2
libwebp libwebp
matio matio
openexr openexr
@ -1865,6 +1866,7 @@ and Scan Tailor Enhanced versions as well as including many more bug fixes.")
(native-inputs (native-inputs
(list googletest (list googletest
lua lua
nss-certs-for-test ;for 'pip install'
python-numpy ;for tests python-numpy ;for tests
python-pip python-pip
python-setuptools python-setuptools

View file

@ -32,6 +32,7 @@
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it> ;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it>
;;; Copyright © 2025 Joaquín Aguirrezabalaga <kinote@kinote.org> ;;; Copyright © 2025 Joaquín Aguirrezabalaga <kinote@kinote.org>
;;; Copyright © 2025 pinoaffe <pinoaffe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -69,6 +70,7 @@
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
@ -77,6 +79,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages djvu) #:use-module (gnu packages djvu)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
@ -90,9 +93,13 @@
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing) #:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-pim)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -110,6 +117,8 @@
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages ruby)
#:use-module (gnu packages scanner)
#:use-module (gnu packages suckless) #:use-module (gnu packages suckless)
#:use-module (gnu packages stb) #:use-module (gnu packages stb)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
@ -1150,6 +1159,128 @@ synchronization of multiple instances.")
"xzgv is a fast image viewer that provides extensive keyboard support.") "xzgv is a fast image viewer that provides extensive keyboard support.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public digikam
(package
(name "digikam")
(version "8.7.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/digikam/"
version "/digiKam-" version ".tar.xz"))
(sha256
(base32 "0bx0kpzgq47pj3msrnd7gxr8n2qbak0cjird6bw4r4s31b15xqvr"))))
(build-system qt-build-system)
(home-page "https://www.digikam.org/download/git/")
(arguments (list
#:tests? #f
#:build-type "Release"
#:configure-flags #~(list "-DENABLE_MEDIAPLAYER=ON" ; for video playback
"-DENABLE_QWEBENGINE=ON" ; for web content
"-DENABLE_KFILEMETADATASUPPORT=ON"
"-DENABLE_AKONADICONTACTSUPPORT=ON"
"-DBUILD_WITH_QT6=ON"
"-DENABLE_APPSTYLES=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-test-data
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "digikam-test-data")
"test-data")))
(add-after 'install 'wrap-binary
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/digikam")
`("PATH" ":" prefix
(,(dirname
(search-input-file inputs "/bin/exiftool"))))))))))
(native-search-paths
(list (search-path-specification
(variable "DK_PLUGIN_PATH")
(separator ";")
(files '("lib/qt6/plugins/digikam")))))
(inputs (list
akonadi-contacts
bash-minimal
boost
ecm
eigen
exiv2-static ; digikam only wants to statically link against exiv2
ffmpeg
glib
ijg-libjpeg
imagemagick
jasper
kcalendarcore
kconfig
kcoreaddons
kfilemetadata
ki18n
kiconthemes
kio
knotifications
knotifyconfig
kservice
kwindowsystem
kxmlgui
lcms
lensfun
libgphoto2
libheif
libjpeg-turbo
libjxl
libksane
libpng
libtiff
libxml2
libxslt
marble-qt
mesa
opencv
perl-image-exiftool
python-wrapper
qtimageformats
qtmultimedia
qtnetworkauth
qtscxml
qtsvg
qtwebengine
ruby
sane-backends
solid
sonnet
threadweaver
x265))
(native-inputs (list
(origin
(method git-fetch)
(uri (git-reference
(url "https://invent.kde.org/graphics/digikam-test-data/")
(commit "83efefdfc7fffa35e5e260d3b5a4aec01ebbdb40")))
(file-name "digikam-test-data")
(sha256
(base32
"0mf7rzwhy5yyj47xh4vs0i841m8885yy9qganli04d8skikl0s6z")))
appstream
bison
doxygen
extra-cmake-modules
flex
graphviz ; for inheritance graphs in documentation
perl
pkg-config))
(synopsis "Photo management, organizing and editing suite")
(description "digiKam is an advanced open-source digital photo management
application. It provides a comprehensive set of tools for importing,
managing, editing, and sharing photos and RAW files.
You can use digiKam's import capabilities to easily transfer photos, RAW
files, and videos directly from your camera and external storage devices (SD
cards, USB disks, etc.). The application allows you to configure import
settings and rules that process and organize imported items on-the-fly.")
(license (list license:bsd-3 ; cmake scripts
license:cc0 ; test data
license:gpl2+)))) ; code
(define-public hydrus-network (define-public hydrus-network
(package (package
(name "hydrus-network") (name "hydrus-network")

View file

@ -11,7 +11,7 @@
;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2020, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2020, 2021, 2022, 2025 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017,2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017,2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
@ -95,6 +95,7 @@
#:use-module (gnu packages popt) #:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages ragel) #:use-module (gnu packages ragel)
@ -1677,6 +1678,15 @@ and XMP metadata of images in various formats.")
;; <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>. ;; <https://launchpad.net/ubuntu/precise/+source/exiv2/+copyright>.
(license license:gpl2+))) (license license:gpl2+)))
(define-public exiv2-static
(package
(inherit exiv2)
(arguments
(substitute-keyword-arguments (package-arguments exiv2)
((#:phases phases)
#~(modify-phases #$phases
(delete 'delete-static-libraries)))))))
(define-public devil (define-public devil
(package (package
(name "devil") (name "devil")
@ -2940,7 +2950,7 @@ Wacom-style graphics tablets.")
(define-public phockup (define-public phockup
(package (package
(name "phockup") (name "phockup")
(version "1.9.2") (version "1.13.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2949,7 +2959,7 @@ Wacom-style graphics tablets.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0j4mnsy12bhsmd80vgqknv004xbqd165y8gpalw87gp8i8xv172r")))) (base32 "1kwz2qy8mx0j25g3gyda08qaz5rgwm6vycsrqhgkd5cqqz76bbmc"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
`(#:install-plan '(("src" "share/phockup/") `(#:install-plan '(("src" "share/phockup/")
@ -2963,13 +2973,14 @@ Wacom-style graphics tablets.")
(("'exiftool") (("'exiftool")
(string-append "'" (search-input-file inputs "bin/exiftool")))))) (string-append "'" (search-input-file inputs "bin/exiftool"))))))
(add-before 'install 'check (add-before 'install 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Test without PATH to make sure exiftool is properly found. ;; Test without PATH to make sure exiftool is properly found.
(let ((path (getenv "PATH")) (let ((path (getenv "PATH"))
(pytest (which "pytest"))) (pytest (which "pytest")))
(setenv "PATH" "") (setenv "PATH" "")
(invoke pytest) (invoke pytest)
(setenv "PATH" path)))) (setenv "PATH" path)))))
(add-after 'install 'install-bin (add-after 'install 'install-bin
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -2986,7 +2997,7 @@ Wacom-style graphics tablets.")
(inputs (inputs
(list bash-minimal perl-image-exiftool python python-tqdm)) (list bash-minimal perl-image-exiftool python python-tqdm))
(native-inputs (native-inputs
(list python-pytest python-pytest-mock)) (list python-pytest python-pytest-mock python-pytest-socket))
(home-page "https://github.com/ivandokov/phockup") (home-page "https://github.com/ivandokov/phockup")
(synopsis "Organize photos and videos in folders") (synopsis "Organize photos and videos in folders")
(description "Phockup is a media sorting tool that uses creation date and (description "Phockup is a media sorting tool that uses creation date and

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com> ;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -78,6 +79,7 @@
(base32 "0sq81smxwypgnp7r3wgza8w25dsz9qa8ga79sc85xzj3qi6q9lfv")) (base32 "0sq81smxwypgnp7r3wgza8w25dsz9qa8ga79sc85xzj3qi6q9lfv"))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 format))) (ice-9 format)))
(patches (search-patches "inkscape-libxml2.patch"))
(snippet (snippet
'(begin '(begin
(let-syntax (let-syntax

View file

@ -42,11 +42,13 @@
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages wm) #:use-module (gnu packages wm)
@ -152,16 +154,102 @@ Advanced plugins:
@end itemize") @end itemize")
(license (list license:lgpl2.0+ license:gpl2+)))) (license (list license:lgpl2.0+ license:gpl2+))))
(define-public crow-translate
(package
(name "crow-translate")
(version "4.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/crow-translate/" version
"/crow-translate-" version ".tar.gz"))
(sha256
(base32 "0lrpxdgicbg0wj2cf0lif99pz5kiqck53qkm5385vymzn1w8wjz2"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled breeze-icons, espeak-ng and qhotkey.
(for-each delete-file-recursively
'("data/icons/3rdparty/breeze-icons"
"src/3rdparty/espeak-ng"
"src/3rdparty/qhotkey"))
;; Use system libraries instead.
(substitute* "CMakeLists.txt"
((".*icon-theme\\.qrc.*$") "")
(("WITH_PIPER_TTS") "WITH_BUNDLED_ESPEAK_NG")
(("(.*WITH_BUNDLED_ESPEAK_NG.* )ON" all start)
(string-append start "OFF"))
(("Enable Piper neural TTS provider.*\"")
"Build bundled espeak-ng (requires onnxruntime)\"")
(("Piper TTS support disabled.*\"")
"Piper TTS support enabled with system espeak-ng\"")
(("add_subdirectory.*qhotkey.*")
(string-append "\nfind_package(PkgConfig)\n"
"pkg_check_modules(eSpeak_NG REQUIRED espeak-ng)"
"\nfind_package(QHotkey REQUIRED)\n"))
(("QHotkey::QHotkey") "qhotkey")
(("( *)Qt6::TextToSpeech" all indent)
(string-append all "\n" indent "espeak-ng")))
;; Link Qt6::Widgets.
(substitute* "CMakeLists.txt"
(("Qt6::TextToSpeech" all) (string-append all "\n Qt6::Widgets")))
;; Include QGuiApplication in main.cpp.
(substitute* "src/main.cpp"
(("#include <QtCore>" all)
(string-append all "\n#include <QtGui/QGuiApplication>")))))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
#:tests? #f ; no tests
#:configure-flags
#~(list (string-append "-DCMAKE_CXX_FLAGS=-isystem "
#$(this-package-input "qtbase")
"/include/qt6/QtWidgets"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-singleapplication
(lambda _
(delete-file-recursively "src/3rdparty/singleapplication")
(substitute* "CMakeLists.txt"
(("add_subdirectory.*singleapplication.*$") "")
(("SingleApplication::SingleApplication")
(string-append #$(this-package-input
"single-application")
"/lib/libSingleApplication.a"))))))))
(inputs
(list breeze-icons
espeak-ng
kwayland
qhotkey
qtbase
qtsvg
qtmultimedia
qtscxml
qtspeech
single-application
tesseract-ocr))
(native-inputs
(list pkg-config
extra-cmake-modules
qttools))
(home-page "https://invent.kde.org/office/crow-translate")
(synopsis "Application for translating text")
(description
"Crow Translate is an application written in C++/Qt for translating
and speaking text which relies on Mozhi to interface with various
translation engines.")
(license license:gpl3+)))
(define-public ghostwriter (define-public ghostwriter
(package (package
(name "ghostwriter") (name "ghostwriter")
(version "25.04.0") (version "25.08.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version (uri (string-append "mirror://kde/stable/release-service/" version
"/src/ghostwriter-" version ".tar.xz")) "/src/ghostwriter-" version ".tar.xz"))
(sha256 (sha256
(base32 "0vx6zd6js4anz2cmvljbp0dyq1gj58j28a1vx0fa7m01m8kxbsl6")))) (base32 "0hlc039pkrn0l3k4vzvlvwnbzv46vnkacpaasn2lj5rfs3spxcmj"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list #:qtbase qtbase (list #:qtbase qtbase
@ -193,7 +281,7 @@ cmark processors if they are installed.")
(define-public tellico (define-public tellico
(package (package
(name "tellico") (name "tellico")
(version "4.1.1") (version "4.1.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -201,7 +289,7 @@ cmark processors if they are installed.")
(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 "0jx512rgrbc8n8p2gnk543l3k53gf30a0zjixp8ly2z70w6qp2br")) (base32 "0930jh6b9cl3jvhmfv00l6566vsnpwkf6shz5w0hn67j0vpvhk7s"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Fix including QtPrintSupport. ;; Fix including QtPrintSupport.

View file

@ -93,7 +93,6 @@
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages ocr)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -142,38 +141,6 @@
This package contains GUI widgets for baloo.") This package contains GUI widgets for baloo.")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public crow-translate
(package
(name "crow-translate")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/crow-translate/" version
"/crow-translate-v" version ".tar.gz"))
(sha256
(base32 "18f7i5sxrvqp6h7zj77sdxyy9rlbw0rv3w7akf1j14072ala9bwc"))))
(build-system qt-build-system)
(arguments '(#:tests? #f)) ; there are no tests.
(inputs
(list qtbase-5
qtx11extras
qtsvg-5
qtmultimedia-5
tesseract-ocr
kwayland-5))
(native-inputs
(list pkg-config
extra-cmake-modules
qttools-5))
(home-page "https://invent.kde.org/office/crow-translate")
(synopsis "Application for translating text")
(description
"Crow Translate is an application written in C++/Qt for translating
and speaking text which relies on Mozhi to interface with various
translation engines.")
(license license:gpl3+)))
(define-public futuresql (define-public futuresql
(package (package
(name "futuresql") (name "futuresql")
@ -1417,7 +1384,7 @@ transport data and for performing public transport journey queries.")
(list extra-cmake-modules)) (list extra-cmake-modules))
(inputs (inputs
(list ki18n (list ki18n
sane-backends)) sane))
(home-page "https://invent.kde.org/libraries/ksanecore") (home-page "https://invent.kde.org/libraries/ksanecore")
(synopsis "Library providing logic to interface scanners") (synopsis "Library providing logic to interface scanners")
(description (description

View file

@ -434,7 +434,7 @@ secondary errors.")
dcadec dcadec
dbus dbus
eudev eudev
ffmpeg ffmpeg-6
flac flac
flatbuffers flatbuffers
fmt fmt

View file

@ -286,7 +286,7 @@ into other word processors.")
(native-inputs (native-inputs
(list cppunit gperf pkg-config)) (list cppunit gperf pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg (propagated-inputs ; in Requires or Requires.private field of .pkg
(list icu4c liblangtag librevenge libxml2-next)) (list icu4c liblangtag librevenge libxml2))
(inputs (inputs
(list boost)) (list boost))
(arguments (arguments
@ -372,7 +372,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(native-inputs (native-inputs
(list autoconf automake libtool cppunit pkg-config)) (list autoconf automake libtool cppunit pkg-config))
(propagated-inputs ;in Requires field of .pkg (propagated-inputs ;in Requires field of .pkg
(list curl libxml2-next)) (list curl libxml2))
(inputs (inputs
(list boost cyrus-sasl openssl)) (list boost cyrus-sasl openssl))
(arguments (arguments
@ -413,7 +413,7 @@ as Alfresco or Nuxeo.")
(native-inputs (native-inputs
(list doxygen gperf perl pkg-config)) (list doxygen gperf perl pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg (propagated-inputs ; in Requires or Requires.private field of .pkg
(list librevenge libxml2-next)) (list librevenge libxml2))
(inputs (inputs
(list boost)) (list boost))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw") (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
@ -467,7 +467,7 @@ CorelDRAW documents of all versions.")
(native-inputs (native-inputs
(list cppunit doxygen gperf pkg-config)) (list cppunit doxygen gperf pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg (propagated-inputs ; in Requires or Requires.private field of .pkg
(list liblangtag librevenge libxml2-next zlib)) (list liblangtag librevenge libxml2 zlib))
(inputs (inputs
(list boost glm mdds)) (list boost glm mdds))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek") (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libetonyek")
@ -479,14 +479,14 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
(define-public liblangtag (define-public liblangtag
(package (package
(name "liblangtag") (name "liblangtag")
(version "0.6.4") (version "0.6.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/" (uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
"liblangtag-" version ".tar.bz2")) "liblangtag-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0r55r30ih8dgq1hwbpl834igilj7bpxcnmlrlkd3vryk2wn0c0ap")))) (base32 "03h33sjqsrmmkyj2kxs7c6226hd4s5n22bz62b4hag1zmvabrmjy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list libtool pkg-config)) (list libtool pkg-config))
@ -772,15 +772,28 @@ Works word processor file format.")
(uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-" (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197")))) "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))
(patches (search-patches "libzmf-doxygen-1.14.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list
;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'. ;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
'(#:configure-flags '("--disable-werror"))) #:configure-flags #~'("--disable-werror")
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
;; Override the bootstrap phase as a makefile has been patched.
(invoke "autoreconf" "-vif"))))))
(inputs (inputs
(list boost icu4c libpng librevenge zlib)) (list boost icu4c libpng librevenge zlib))
(native-inputs (native-inputs
(list cppunit doxygen pkg-config)) (list autoconf
automake
libtool
cppunit
doxygen
pkg-config))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf") (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
(synopsis "Parses file format of Zoner Callisto/Draw documents") (synopsis "Parses file format of Zoner Callisto/Draw documents")
(description "Libzmf is a library that parses the file format of Zoner (description "Libzmf is a library that parses the file format of Zoner
@ -1177,7 +1190,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
python-lxml python-lxml
qrcodegen-cpp qrcodegen-cpp
redland redland
sane-backends sane
unixodbc unixodbc
unzip unzip
vigra vigra

View file

@ -626,7 +626,7 @@
cups cups
dbus-glib dbus-glib
freetype freetype
ffmpeg ffmpeg-6
gdk-pixbuf gdk-pixbuf
glib glib
gtk+ gtk+

View file

@ -65,7 +65,7 @@
(define-public bcunit (define-public bcunit
(package (package
(name "bcunit") (name "bcunit")
(version "5.3.57") (version "5.3.101")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -74,7 +74,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "02aqc8052vidc8ylkwiv2rqddl58fccrjz561j8zfqlwm2irnsg3")))) (base32 "0rpkc9bjlf370p5fsrbp9b481zakdndmfxyg5vwza0a9z19f81vb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -125,7 +125,7 @@ writing, administering, and running unit tests in C.")
(define-public bctoolbox (define-public bctoolbox
(package (package
(name "bctoolbox") (name "bctoolbox")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -134,12 +134,14 @@ writing, administering, and running unit tests in C.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "178axy7gmmi6fzjbz7aaawcx0qg50i4hnn7ab6w642b02vxfr386")))) (base32 "1bmn3q318wfwnpv017sa1qgffb4bm8lfhm9xaa345fpp5ws2h4an"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
(list (list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON" #:configure-flags
#~(list
"-DBUILD_SHARED_LIBS=ON"
;; Do not use -Werror, because due to skipping ;; Do not use -Werror, because due to skipping
;; a test there are unused procedures. ;; a test there are unused procedures.
"-DENABLE_STRICT=OFF") "-DENABLE_STRICT=OFF")
@ -188,7 +190,7 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(define-public belr (define-public belr
(package (package
(name "belr") (name "belr")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -197,7 +199,7 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jqv2rfclzwsglwgvx7ypy0yhwbjxrsbik6xipf48770qmdz3bj9")))) (base32 "00gmdh8nchn4frxzli62w8slqpizln9bd1czrmpj8laiqdy1ihvk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "debug" "tester")) (outputs '("out" "debug" "tester"))
(arguments (arguments
@ -237,7 +239,7 @@ IETF.")
(define-public belcard (define-public belcard
(package (package
(name "belcard") (name "belcard")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -246,7 +248,7 @@ IETF.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1d69s7v3yd276nasfxnsjp3q820pcchdpdpw4y7ak7sf6gr6mrrh")))) (base32 "190l1f7f2dhm887xw34gcawa9c4cmcndikfd8qc1xpn16fals4kd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "debug" "tester")) (outputs '("out" "debug" "tester"))
(arguments (arguments
@ -256,12 +258,10 @@ IETF.")
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-vcard-grammar-location (add-after 'unpack 'patch-vcard-grammar-location
(lambda _ (lambda _
(let ((vcard-grammar
(string-append #$output
"/share/belr/grammars/vcard_grammar")))
(substitute* "include/belcard/vcard_grammar.hpp" (substitute* "include/belcard/vcard_grammar.hpp"
(("define VCARD_GRAMMAR \"vcard_grammar\"") (("define VCARD3?_GRAMMAR \"" all)
(format #f "define VCARD_GRAMMAR ~s" vcard-grammar)))))) (string-append all (string-append
#$output "/share/belr/grammars/"))))))
(add-after 'install 'install-tester (add-after 'install 'install-tester
(lambda _ (lambda _
(let ((test-name (string-append #$name "-tester"))) (let ((test-name (string-append #$name "-tester")))
@ -290,7 +290,7 @@ format.")
(define-public bcmatroska2 (define-public bcmatroska2
(package (package
(name "bcmatroska2") (name "bcmatroska2")
(version "5.3.57") (version "5.3.101")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -299,7 +299,7 @@ format.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1fdlvsca34armxasj2g4vxjzm9iiqfl7832qqlggh04yw21cfa5c")))) (base32 "0m1qf0jiz58r6vyy9gzc563hrcxvmmq5m1if2cq0qbxmanvqbgns"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -395,7 +395,7 @@ such as conferencing.")
(define-public ortp (define-public ortp
(package (package
(name "ortp") (name "ortp")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -404,7 +404,7 @@ such as conferencing.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1bl3ig1xbxprcdid9i8bnl433x4crxqnj30x5lxiy9ka79b8s8r6")))) (base32 "0vgzn9ll7i6x1rprknzmam5npnm2sbhnkr3fvz6ilanckznqvzar"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "tester" (outputs '("out" "tester"
"doc")) ;1.5 MiB of HTML doc "doc")) ;1.5 MiB of HTML doc
@ -450,7 +450,7 @@ implements the RFC 3550 standard.")
(define-public bzrtp (define-public bzrtp
(package (package
(name "bzrtp") (name "bzrtp")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -459,7 +459,7 @@ implements the RFC 3550 standard.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1q8w5blf2cjmzyv4bdd7zg4lv3pfjq6w6cfm6d75az4xqzg023kp")))) (base32 "1bi82isc8r3h6pwiwqfxd089dfzx1ijfl4nhp75yqwr6dvqhrz68"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -480,7 +480,7 @@ including both ARM and x86.")
(define-public belle-sip (define-public belle-sip
(package (package
(name "belle-sip") (name "belle-sip")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -489,7 +489,7 @@ including both ARM and x86.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jmvf1s54ppc0qfi2wl6whk7s3lghpzzp6597nblncjsr2i6ha6c")))) (base32 "198pa42abby9hyznckl7h1pmh31nhia6nd6sjfqs61zsrzf8flxn"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "tester")) (outputs '("out" "tester"))
(arguments (arguments
@ -570,7 +570,7 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(define-public mediastreamer2 (define-public mediastreamer2
(package (package
(name "mediastreamer2") (name "mediastreamer2")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -579,7 +579,7 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1zv13icfdpaq7fa325mnqf340vbvif9791hb9h22qpc0f2wcwvjb")))) (base32 "1z46vpcg4n2i28vv09p6g69wa6bh6pbwzkmygy5653rn55vhd9ng"))))
(outputs '("out" "doc" "tester")) (outputs '("out" "doc" "tester"))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -684,7 +684,7 @@ including media capture, encoding and decoding, and rendering.")
(define-public lime (define-public lime
(package (package
(name "lime") (name "lime")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -693,7 +693,7 @@ including media capture, encoding and decoding, and rendering.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jd549f4cky5rcvq3d2zn8d383jahdi71nhkzblnr6mqqbn6b7sa")))) (base32 "00m96pznkawdmzhz25igyiiy3nx6ql5r5k14kcc3h8fqkg917vjf"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -734,7 +734,7 @@ device.")
(define-public liblinphone (define-public liblinphone
(package (package
(name "liblinphone") (name "liblinphone")
(version "5.3.57") (version "5.3.112")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -743,7 +743,7 @@ device.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1f3hcbdkd8nqvjm5avylz226a8in360yiafcsxpa69wvh1a03i4h")) (base32 "0a8v3mbv05xgnljls7y5xb7bcxvy8dl6k10jg421nihd5vab1jl3"))
(patches (search-patches "liblinphone-jsoncpp.patch")))) (patches (search-patches "liblinphone-jsoncpp.patch"))))
(outputs '("out" "tester")) (outputs '("out" "tester"))
(build-system cmake-build-system) (build-system cmake-build-system)
@ -799,7 +799,7 @@ device.")
(list belle-sip (list belle-sip
jsoncpp jsoncpp
mediastreamer2 mediastreamer2
libxml2 libxml2-2.11
lime lime
ortp ortp
sqlite)) sqlite))
@ -987,7 +987,7 @@ codec. It is based on the Skype's SILK implementation.")
;; latest one available. ;; latest one available.
(package (package
(name "mswebrtc") (name "mswebrtc")
(version "1.1.2") (version "5.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -996,7 +996,7 @@ codec. It is based on the Skype's SILK implementation.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "10j124vd9zm03s1vzb74n3zjrf6x1nfvji7vryih4dq2xlgrqxx6")) (base32 "0dgkqxwqp05n14wwg805zfycy1rryrmpp25p8gfzdsxgljk29phn"))
(patches (search-patches "mswebrtc-b64-refactor.patch" (patches (search-patches "mswebrtc-b64-refactor.patch"
"mswebrtc-cmake.patch")))) "mswebrtc-cmake.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)

View file

@ -303,7 +303,7 @@ desktop and the mate-about program.")
(propagated-inputs (propagated-inputs
;; both of these are requires.private in mateweather.pc ;; both of these are requires.private in mateweather.pc
(list libsoup-minimal-2 (list libsoup-minimal-2
libxml2-next)) libxml2))
(home-page "https://mate-desktop.org/") (home-page "https://mate-desktop.org/")
(synopsis "MATE library for weather information from the Internet") (synopsis "MATE library for weather information from the Internet")
(description (description
@ -538,7 +538,6 @@ assorted menu related utility programs.")
intltool intltool
libxslt libxslt
yelp-tools yelp-tools
scrollkeeper
gettext-minimal gettext-minimal
docbook-xml docbook-xml
gobject-introspection)) gobject-introspection))
@ -1412,7 +1411,6 @@ can be used as backgrounds in the MATE Desktop environment.")
libice libice
libsm libsm
pkg-config pkg-config
scrollkeeper
xorgproto xorgproto
yelp-tools)) yelp-tools))
(inputs (inputs
@ -1591,7 +1589,6 @@ can be used as backgrounds in the MATE Desktop environment.")
packagekit packagekit
pango pango
python python
scrollkeeper
startup-notification)) startup-notification))
(home-page "https://mate-desktop.org/") (home-page "https://mate-desktop.org/")
(synopsis "Text Editor for MATE") (synopsis "Text Editor for MATE")

View file

@ -300,7 +300,7 @@ XMPP-based sessions.")
gtk-doc/stable gtk-doc/stable
pkg-config)) pkg-config))
(inputs (list libxcrypt ncurses)) (inputs (list libxcrypt ncurses))
(propagated-inputs (list glib libxml2-next)) (propagated-inputs (list glib libxml2))
(synopsis "GLib Ncurses Toolkit") (synopsis "GLib Ncurses Toolkit")
(description "GNT is an ncurses toolkit for creating text-mode graphical (description "GNT is an ncurses toolkit for creating text-mode graphical
user interfaces in a fast and easy way. It is based on GLib and ncurses.") user interfaces in a fast and easy way. It is based on GLib and ncurses.")

View file

@ -6091,18 +6091,23 @@ Recording Code} (ISRC) can be extracted.}")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public libmusicbrainz (define-public libmusicbrainz
;; The latest release is more than a decade old, doesn't build with the
;; latest libxml2 release.
(let ((commit "4efbed3afae11ef68281816088d7cf3d0f704dfe")
(revision "0"))
(package (package
(name "libmusicbrainz") (name "libmusicbrainz")
(version "5.1.0") (version (git-version "5.1.0" revision commit))
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/metabrainz/libmusicbrainz/releases/download/release-" (url "https://github.com/metabrainz/libmusicbrainz")
version "/libmusicbrainz-" version ".tar.gz")) (commit commit)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7")))) "1h1q0gg3xzhw115ifr5ja9gbd2k6ggkpm2f4sdqp313wp3lj86g9"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -6115,8 +6120,7 @@ Recording Code} (ISRC) can be extracted.}")
(lambda _ (lambda _
;; requires network connections ;; requires network connections
;; (invoke "tests/mbtest") ;; (invoke "tests/mbtest")
(invoke "tests/ctest") (invoke "tests/ctest"))))))
#t)))))
(inputs (list neon libxml2)) (inputs (list neon libxml2))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(home-page "https://musicbrainz.org/doc/libmusicbrainz") (home-page "https://musicbrainz.org/doc/libmusicbrainz")
@ -6124,7 +6128,7 @@ Recording Code} (ISRC) can be extracted.}")
(description "The MusicBrainz Client Library (libmusicbrainz), also known as (description "The MusicBrainz Client Library (libmusicbrainz), also known as
mb_client, is a development library geared towards developers who wish to add mb_client, is a development library geared towards developers who wish to add
MusicBrainz lookup capabilities to their applications.") MusicBrainz lookup capabilities to their applications.")
(license license:lgpl2.1+))) (license license:lgpl2.1+))))
(define-public perl-musicbrainz-discid (define-public perl-musicbrainz-discid
(package (package

View file

@ -213,7 +213,7 @@ default. To add support for more languages, the
leptonica leptonica
podofo podofo
poppler-qt5 poppler-qt5
sane-backends sane
qtbase-5 qtbase-5
qtspell qtspell
quazip-5 quazip-5

View file

@ -7,7 +7,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Brian Cully <bjc@spork.org> ;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
@ -119,20 +119,23 @@
;; This is an incompatible fork of openldap that adds types needed for ;; This is an incompatible fork of openldap that adds types needed for
;; liblinphone. ;; liblinphone.
(define-public openldap-for-linphone (define-public openldap-for-linphone
(let ((commit "8511a0f54d270ff529d83b4a8ba113819b18b856")
(revision "0"))
(hidden-package (hidden-package
(package (package
(inherit openldap) (inherit openldap)
(name "openldap") (name "openldap")
(version "2.6.4") (version (git-version "2.6.4" revision commit))
(source (origin (source
(origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.linphone.org/BC/public/external/openldap/") (url "https://gitlab.linphone.org/BC/public/external/openldap/")
(commit "8a885896a3fb88098d970ab96316c0b7f18367b8"))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yd3cnngr5z3nymnml8fynspxgdzap7y7glp601nbkdj67wyg0k8")))) "06qf8lcalvgzr3w1m697xrj12ikav5im00wjmxa62qdmsg5rvji1"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments openldap) (substitute-keyword-arguments (package-arguments openldap)
((#:configure-flags flags) ((#:configure-flags flags)
@ -140,7 +143,7 @@
(list #$(string-append "CFLAGS=-g -O2" (list #$(string-append "CFLAGS=-g -O2"
" -Wno-error=implicit-int" " -Wno-error=implicit-int"
" -Wno-error=int-conversion")) " -Wno-error=int-conversion"))
#$flags))))))) #$flags))))))))
(define-public nss-pam-ldapd (define-public nss-pam-ldapd
(package (package

View file

@ -18,7 +18,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021, 2022, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 jgart <jgart@dismail.de> ;;; Copyright © 2023 jgart <jgart@dismail.de>
@ -1043,7 +1043,7 @@ features of Stow with some extensions.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
#:tests? #f ; TEST need fhs envirnment. #:tests? #f ;tests require FHS environment
#:configure-flags #:configure-flags
#~(list #~(list
;; TODO: Add rpm-sequoia ;; TODO: Add rpm-sequoia
@ -1073,7 +1073,16 @@ features of Stow with some extensions.")
site))) site)))
(substitute* "plugins/CMakeLists.txt" (substitute* "plugins/CMakeLists.txt"
(("\\$[{]dbus-1_DATADIR[}]") (("\\$[{]dbus-1_DATADIR[}]")
(string-append #$output "/share")))))))) (string-append #$output "/share")))))
(add-after 'install 'install-macros-file
(lambda _
(define macros (string-append #$output "/etc/rpm/macros"))
(mkdir-p (dirname macros))
(call-with-output-file macros
(lambda (p)
(format p "\
%_var /var
%_localstatedir /var~%"))))))))
(native-inputs (native-inputs
(list pkg-config (list pkg-config
python python

View file

@ -1,529 +0,0 @@
From 373924d728b61cf6dec9c8a1a1edeb4b9f342529 Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Fri, 27 Sep 2024 17:03:10 +0200
Subject: [PATCH] gnu: cups-minimal: Address PPD injection issues.
This patch combines 5 upstream commits:
9939a70b750edd9d05270060cc5cf62ca98cfbe5
04bb2af4521b56c1699a2c2431c56c05a7102e69
e0630cd18f76340d302000f2bf6516e99602b844
1e6ca5913eceee906038bc04cc7ccfbe2923bdfd
2abe1ba8a66864aa82cd9836b37e57103b8e1a3b
---
cups/ppd-cache.c | 235 +++++++++++++++++++++++++++++++++--------------
scheduler/ipp.c | 9 +-
2 files changed, 174 insertions(+), 70 deletions(-)
diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c
index e750fccd4..d2533b731 100644
--- a/cups/ppd-cache.c
+++ b/cups/ppd-cache.c
@@ -32,6 +32,7 @@
static int cups_connect(http_t **http, const char *url, char *resource, size_t ressize);
static int cups_get_url(http_t **http, const char *url, char *name, size_t namesize);
static const char *ppd_inputslot_for_keyword(_ppd_cache_t *pc, const char *keyword);
+static void ppd_put_string(cups_file_t *fp, cups_lang_t *lang, cups_array_t *strings, const char *ppd_option, const char *ppd_choice, const char *pwg_msgid);
static void pwg_add_finishing(cups_array_t *finishings, ipp_finishings_t template, const char *name, const char *value);
static void pwg_add_message(cups_array_t *a, const char *msg, const char *str);
static int pwg_compare_finishings(_pwg_finishings_t *a, _pwg_finishings_t *b);
@@ -3197,9 +3198,10 @@ _ppdCreateFromIPP2(
ipp_t *media_col, /* Media collection */
*media_size; /* Media size collection */
char make[256], /* Make and model */
- *model, /* Model name */
+ *mptr, /* Pointer into make and model */
ppdname[PPD_MAX_NAME];
/* PPD keyword */
+ const char *model; /* Model name */
int i, j, /* Looping vars */
count, /* Number of values */
bottom, /* Largest bottom margin */
@@ -3221,8 +3223,7 @@ _ppdCreateFromIPP2(
int have_qdraft = 0,/* Have draft quality? */
have_qhigh = 0; /* Have high quality? */
char msgid[256]; /* Message identifier (attr.value) */
- const char *keyword, /* Keyword value */
- *msgstr; /* Localized string */
+ const char *keyword; /* Keyword value */
cups_array_t *strings = NULL;/* Printer strings file */
struct lconv *loc = localeconv();
/* Locale data */
@@ -3260,34 +3261,104 @@ _ppdCreateFromIPP2(
}
/*
- * Standard stuff for PPD file...
+ * Get a sanitized make and model...
*/
- cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
- cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
- cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
- cupsFilePuts(fp, "*LanguageVersion: English\n");
- cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
- cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
- cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
- cupsFilePuts(fp, "*FileSystem: False\n");
- cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
+ if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL && ippValidateAttribute(attr))
+ {
+ /*
+ * Sanitize the model name to only contain PPD-safe characters.
+ */
- if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL)
strlcpy(make, ippGetString(attr, 0, NULL), sizeof(make));
+
+ for (mptr = make; *mptr; mptr ++)
+ {
+ if (*mptr < ' ' || *mptr >= 127 || *mptr == '\"')
+ {
+ /*
+ * Truncate the make and model on the first bad character...
+ */
+
+ *mptr = '\0';
+ break;
+ }
+ }
+
+ while (mptr > make)
+ {
+ /*
+ * Strip trailing whitespace...
+ */
+
+ mptr --;
+ if (*mptr == ' ')
+ *mptr = '\0';
+ }
+
+ if (!make[0])
+ {
+ /*
+ * Use a default make and model if nothing remains...
+ */
+
+ strlcpy(make, "Unknown", sizeof(make));
+ }
+ }
else
- strlcpy(make, "Unknown Printer", sizeof(make));
+ {
+ /*
+ * Use a default make and model...
+ */
+
+ strlcpy(make, "Unknown", sizeof(make));
+ }
if (!_cups_strncasecmp(make, "Hewlett Packard ", 16) || !_cups_strncasecmp(make, "Hewlett-Packard ", 16))
{
+ /*
+ * Normalize HP printer make and model...
+ */
+
model = make + 16;
strlcpy(make, "HP", sizeof(make));
+
+ if (!_cups_strncasecmp(model, "HP ", 3))
+ model += 3;
+ }
+ else if ((mptr = strchr(make, ' ')) != NULL)
+ {
+ /*
+ * Separate "MAKE MODEL"...
+ */
+
+ while (*mptr && *mptr == ' ')
+ *mptr++ = '\0';
+
+ model = mptr;
}
- else if ((model = strchr(make, ' ')) != NULL)
- *model++ = '\0';
else
- model = make;
+ {
+ /*
+ * No separate model name...
+ */
+ model = "Printer";
+ }
+
+ /*
+ * Standard stuff for PPD file...
+ */
+
+ cupsFilePuts(fp, "*PPD-Adobe: \"4.3\"\n");
+ cupsFilePuts(fp, "*FormatVersion: \"4.3\"\n");
+ cupsFilePrintf(fp, "*FileVersion: \"%d.%d\"\n", CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR);
+ cupsFilePuts(fp, "*LanguageVersion: English\n");
+ cupsFilePuts(fp, "*LanguageEncoding: ISOLatin1\n");
+ cupsFilePuts(fp, "*PSVersion: \"(3010.000) 0\"\n");
+ cupsFilePuts(fp, "*LanguageLevel: \"3\"\n");
+ cupsFilePuts(fp, "*FileSystem: False\n");
+ cupsFilePuts(fp, "*PCFileName: \"ippeve.ppd\"\n");
cupsFilePrintf(fp, "*Manufacturer: \"%s\"\n", make);
cupsFilePrintf(fp, "*ModelName: \"%s\"\n", model);
cupsFilePrintf(fp, "*Product: \"(%s)\"\n", model);
@@ -3317,13 +3388,13 @@ _ppdCreateFromIPP2(
}
cupsFilePuts(fp, "\"\n");
- if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
cupsFilePrintf(fp, "*APSupplies: \"%s\"\n", ippGetString(attr, 0, NULL));
- if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
cupsFilePrintf(fp, "*cupsChargeInfoURI: \"%s\"\n", ippGetString(attr, 0, NULL));
- if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
{
http_t *http = NULL; /* Connection to printer */
char stringsfile[1024]; /* Temporary strings file */
@@ -3367,7 +3438,7 @@ _ppdCreateFromIPP2(
response = cupsDoRequest(http, request, resource);
- if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL)
+ if ((attr = ippFindAttribute(response, "printer-strings-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
cupsFilePrintf(fp, "*cupsStringsURI %s: \"%s\"\n", keyword, ippGetString(attr, 0, NULL));
ippDelete(response);
@@ -3389,10 +3460,10 @@ _ppdCreateFromIPP2(
if (ippGetBoolean(ippFindAttribute(supported, "job-accounting-user-id-supported", IPP_TAG_BOOLEAN), 0))
cupsFilePuts(fp, "*cupsJobAccountingUserId: True\n");
- if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr))
cupsFilePrintf(fp, "*cupsPrivacyURI: \"%s\"\n", ippGetString(attr, 0, NULL));
- if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
{
char prefix = '\"'; // Prefix for string
@@ -3410,7 +3481,7 @@ _ppdCreateFromIPP2(
cupsFilePuts(fp, "\"\n");
}
- if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL)
+ if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr))
{
char prefix = '\"'; // Prefix for string
@@ -3973,18 +4044,16 @@ _ppdCreateFromIPP2(
cupsFilePrintf(fp, "*DefaultInputSlot: %s\n", ppdname);
for (j = 0; j < (int)(sizeof(sources) / sizeof(sources[0])); j ++)
+ {
if (!strcmp(sources[j], keyword))
{
snprintf(msgid, sizeof(msgid), "media-source.%s", keyword);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
-
cupsFilePrintf(fp, "*InputSlot %s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, j);
- cupsFilePrintf(fp, "*%s.InputSlot %s/%s: \"\"\n", lang->language, ppdname, msgstr);
+ ppd_put_string(fp, lang, strings, "InputSlot", ppdname, msgid);
break;
}
+ }
}
cupsFilePuts(fp, "*CloseUI: *InputSlot\n");
}
@@ -4010,12 +4079,9 @@ _ppdCreateFromIPP2(
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
snprintf(msgid, sizeof(msgid), "media-type.%s", keyword);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
cupsFilePrintf(fp, "*MediaType %s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, ppdname);
- cupsFilePrintf(fp, "*%s.MediaType %s/%s: \"\"\n", lang->language, ppdname, msgstr);
+ ppd_put_string(fp, lang, strings, "MediaType", ppdname, msgid);
}
cupsFilePuts(fp, "*CloseUI: *MediaType\n");
}
@@ -4476,12 +4542,9 @@ _ppdCreateFromIPP2(
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
snprintf(msgid, sizeof(msgid), "output-bin.%s", keyword);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
cupsFilePrintf(fp, "*OutputBin %s: \"\"\n", ppdname);
- cupsFilePrintf(fp, "*%s.OutputBin %s/%s: \"\"\n", lang->language, ppdname, msgstr);
+ ppd_put_string(fp, lang, strings, "OutputBin", ppdname, msgid);
if ((tray_ptr = ippGetOctetString(trays, i, &tray_len)) != NULL)
{
@@ -4600,9 +4663,6 @@ _ppdCreateFromIPP2(
cupsArrayAdd(names, (char *)keyword);
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
@@ -4617,7 +4677,7 @@ _ppdCreateFromIPP2(
continue;
cupsFilePrintf(fp, "*StapleLocation %s: \"\"\n", ppd_keyword);
- cupsFilePrintf(fp, "*%s.StapleLocation %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
+ ppd_put_string(fp, lang, strings, "StapleLocation", ppd_keyword, msgid);
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*StapleLocation %s\"\n", value, keyword, ppd_keyword);
}
@@ -4680,9 +4740,6 @@ _ppdCreateFromIPP2(
cupsArrayAdd(names, (char *)keyword);
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
@@ -4697,7 +4754,7 @@ _ppdCreateFromIPP2(
continue;
cupsFilePrintf(fp, "*FoldType %s: \"\"\n", ppd_keyword);
- cupsFilePrintf(fp, "*%s.FoldType %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
+ ppd_put_string(fp, lang, strings, "FoldType", ppd_keyword, msgid);
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*FoldType %s\"\n", value, keyword, ppd_keyword);
}
@@ -4768,9 +4825,6 @@ _ppdCreateFromIPP2(
cupsArrayAdd(names, (char *)keyword);
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
if (value >= IPP_FINISHINGS_NONE && value <= IPP_FINISHINGS_LAMINATE)
ppd_keyword = base_keywords[value - IPP_FINISHINGS_NONE];
@@ -4785,7 +4839,7 @@ _ppdCreateFromIPP2(
continue;
cupsFilePrintf(fp, "*PunchMedia %s: \"\"\n", ppd_keyword);
- cupsFilePrintf(fp, "*%s.PunchMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
+ ppd_put_string(fp, lang, strings, "PunchMedia", ppd_keyword, msgid);
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*PunchMedia %s\"\n", value, keyword, ppd_keyword);
}
@@ -4856,9 +4910,6 @@ _ppdCreateFromIPP2(
cupsArrayAdd(names, (char *)keyword);
snprintf(msgid, sizeof(msgid), "finishings.%d", value);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
if (value == IPP_FINISHINGS_TRIM)
ppd_keyword = "Auto";
@@ -4866,7 +4917,7 @@ _ppdCreateFromIPP2(
ppd_keyword = trim_keywords[value - IPP_FINISHINGS_TRIM_AFTER_PAGES];
cupsFilePrintf(fp, "*CutMedia %s: \"\"\n", ppd_keyword);
- cupsFilePrintf(fp, "*%s.CutMedia %s/%s: \"\"\n", lang->language, ppd_keyword, msgstr);
+ ppd_put_string(fp, lang, strings, "CutMedia", ppd_keyword, msgid);
cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*CutMedia %s\"\n", value, keyword, ppd_keyword);
}
@@ -4905,12 +4956,11 @@ _ppdCreateFromIPP2(
cupsArrayAdd(templates, (void *)keyword);
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
+
snprintf(msgid, sizeof(msgid), "finishing-template.%s", keyword);
- if ((msgstr = _cupsLangString(lang, msgid)) == msgid || !strcmp(msgid, msgstr))
- if ((msgstr = _cupsMessageLookup(strings, msgid)) == msgid)
- msgstr = keyword;
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", keyword);
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", ppdname);
for (finishing_attr = ippFirstAttribute(finishing_col); finishing_attr; finishing_attr = ippNextAttribute(finishing_col))
{
if (ippGetValueTag(finishing_attr) == IPP_TAG_BEGIN_COLLECTION)
@@ -4923,7 +4973,7 @@ _ppdCreateFromIPP2(
}
}
cupsFilePuts(fp, "\"\n");
- cupsFilePrintf(fp, "*%s.cupsFinishingTemplate %s/%s: \"\"\n", lang->language, keyword, msgstr);
+ ppd_put_string(fp, lang, strings, "cupsFinishingTemplate", ppdname, msgid);
cupsFilePuts(fp, "*End\n");
}
@@ -4959,9 +5009,8 @@ _ppdCreateFromIPP2(
{
ipp_t *preset = ippGetCollection(attr, i);
/* Preset collection */
- const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL),
+ const char *preset_name = ippGetString(ippFindAttribute(preset, "preset-name", IPP_TAG_ZERO), 0, NULL);
/* Preset name */
- *localized_name; /* Localized preset name */
ipp_attribute_t *member; /* Member attribute in preset */
const char *member_name; /* Member attribute name */
char member_value[256]; /* Member attribute value */
@@ -4969,7 +5018,8 @@ _ppdCreateFromIPP2(
if (!preset || !preset_name)
continue;
- cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", preset_name);
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
+ cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", ppdname);
for (member = ippFirstAttribute(preset); member; member = ippNextAttribute(preset))
{
member_name = ippGetName(member);
@@ -5010,7 +5060,10 @@ _ppdCreateFromIPP2(
fin_col = ippGetCollection(member, i);
if ((keyword = ippGetString(ippFindAttribute(fin_col, "finishing-template", IPP_TAG_ZERO), 0, NULL)) != NULL)
- cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", keyword);
+ {
+ pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
+ cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", ppdname);
+ }
}
}
else if (!strcmp(member_name, "media"))
@@ -5037,13 +5090,13 @@ _ppdCreateFromIPP2(
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-source", IPP_TAG_ZERO), 0, NULL)) != NULL)
{
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
- cupsFilePrintf(fp, "*InputSlot %s\n", keyword);
+ cupsFilePrintf(fp, "*InputSlot %s\n", ppdname);
}
if ((keyword = ippGetString(ippFindAttribute(media_col, "media-type", IPP_TAG_ZERO), 0, NULL)) != NULL)
{
pwg_ppdize_name(keyword, ppdname, sizeof(ppdname));
- cupsFilePrintf(fp, "*MediaType %s\n", keyword);
+ cupsFilePrintf(fp, "*MediaType %s\n", ppdname);
}
}
else if (!strcmp(member_name, "print-quality"))
@@ -5088,8 +5141,9 @@ _ppdCreateFromIPP2(
cupsFilePuts(fp, "\"\n*End\n");
- if ((localized_name = _cupsMessageLookup(strings, preset_name)) != preset_name)
- cupsFilePrintf(fp, "*%s.APPrinterPreset %s/%s: \"\"\n", lang->language, preset_name, localized_name);
+ snprintf(msgid, sizeof(msgid), "preset-name.%s", preset_name);
+ pwg_ppdize_name(preset_name, ppdname, sizeof(ppdname));
+ ppd_put_string(fp, lang, strings, "APPrinterPreset", ppdname, msgid);
}
}
@@ -5360,6 +5414,43 @@ cups_get_url(http_t **http, /* IO - Current HTTP connection */
}
+/*
+ * 'ppd_put_strings()' - Write localization attributes to a PPD file.
+ */
+
+static void
+ppd_put_string(cups_file_t *fp, /* I - PPD file */
+ cups_lang_t *lang, /* I - Language */
+ cups_array_t *strings, /* I - Strings */
+ const char *ppd_option,/* I - PPD option */
+ const char *ppd_choice,/* I - PPD choice */
+ const char *pwg_msgid) /* I - PWG message ID */
+{
+ const char *text; /* Localized text */
+
+
+ if ((text = _cupsLangString(lang, pwg_msgid)) == pwg_msgid || !strcmp(pwg_msgid, text))
+ {
+ if ((text = _cupsMessageLookup(strings, pwg_msgid)) == pwg_msgid)
+ return;
+ }
+
+ // Add the first line of localized text...
+ cupsFilePrintf(fp, "*%s.%s %s/", lang->language, ppd_option, ppd_choice);
+ while (*text && *text != '\n')
+ {
+ // Escape ":" and "<"...
+ if (*text == ':' || *text == '<')
+ cupsFilePrintf(fp, "<%02X>", *text);
+ else
+ cupsFilePutChar(fp, *text);
+
+ text ++;
+ }
+ cupsFilePuts(fp, ": \"\"\n");
+}
+
+
/*
* 'pwg_add_finishing()' - Add a finishings value.
*/
@@ -5473,7 +5564,7 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
*end; /* End of name buffer */
- if (!ipp)
+ if (!ipp || !_cups_isalnum(*ipp))
{
*name = '\0';
return;
@@ -5488,8 +5579,14 @@ pwg_ppdize_name(const char *ipp, /* I - IPP keyword */
ipp ++;
*ptr++ = (char)toupper(*ipp++ & 255);
}
- else
+ else if (*ipp == '_' || *ipp == '.' || *ipp == '-' || _cups_isalnum(*ipp))
+ {
*ptr++ = *ipp++;
+ }
+ else
+ {
+ ipp ++;
+ }
}
*ptr = '\0';
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index 37623c54e..14b1fe1e0 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -1,7 +1,7 @@
/*
* IPP routines for the CUPS scheduler.
*
- * Copyright © 2020-2023 by OpenPrinting
+ * Copyright © 2020-2024 by OpenPrinting
* Copyright © 2007-2021 by Apple Inc.
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
*
@@ -5417,6 +5417,13 @@ create_local_bg_thread(
}
}
+ // Validate response from printer...
+ if (!ippValidateAttributes(response))
+ {
+ send_ipp_status(con, IPP_STATUS_ERROR_DEVICE, _("Printer returned invalid data: %s"), cupsLastErrorString());
+ goto finish_response;
+ }
+
// TODO: Grab printer icon file...
httpClose(http);
--
2.46.0

View file

@ -0,0 +1,34 @@
From 943e44dafa192b54fadcbb24f5f87d62a22c9f84 Mon Sep 17 00:00:00 2001
From: Sergey Trofimov <sarg@sarg.org.ru>
Date: Wed, 17 Sep 2025 12:09:34 +0200
Subject: [PATCH] Exempt files in /gnu/store from root ownership check.
---
cups/file.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/cups/file.c b/cups/file.c
index 95054f3c8..9822619d4 100644
--- a/cups/file.c
+++ b/cups/file.c
@@ -159,7 +159,8 @@ _cupsFileCheck(
* 4. Must not be writable by others
*/
- if (fileinfo.st_uid || /* 1. Must be owned by root */
+ int in_gnu_store = !strncmp(filename, "/gnu/store/", 11);
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
@@ -198,7 +199,7 @@ _cupsFileCheck(
goto finishup;
}
- if (fileinfo.st_uid || /* 1. Must be owned by root */
+ if ((fileinfo.st_uid && !in_gnu_store) || /* 1. Must be owned by root or be in /gnu/store */
(fileinfo.st_mode & S_IWGRP) || /* 2. Must not be writable by group */
(fileinfo.st_mode & S_ISUID) || /* 3. Must not be setuid */
(fileinfo.st_mode & S_IWOTH)) /* 4. Must not be writable by others */
--
2.51.0

View file

@ -0,0 +1,25 @@
From 462a541db904405ede8446c48ba0c71ad41c544d Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Thu, 17 Jul 2025 19:34:50 +0300
Subject: [PATCH] ; * test/lisp/net/shr-tests.el (shr-test/zoom-image): Fix
<img> (bug#79041).
---
test/lisp/net/shr-tests.el | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lisp/net/shr-tests.el b/test/lisp/net/shr-tests.el
index 363cd144e8f3..a931d07a1631 100644
--- a/test/lisp/net/shr-tests.el
+++ b/test/lisp/net/shr-tests.el
@@ -145,8 +145,8 @@ settings, then once more for each (OPTION . VALUE) pair.")
(dolist (alt '(nil "" "nothing to see here"))
(with-temp-buffer
(ert-info ((format "image with alt=%S" alt))
- (let ((attrs (if alt (format " alt=\"%s\"" alt) "")))
- (insert (format "<img src=\"%s\" %s" image-url attrs)))
+ (let ((attrs (if alt (format " alt=\"%s\">" alt) ">")))
+ (insert (format "<img src=\"%s\"%s" image-url attrs)))
(cl-letf* (;; Pretend we're a graphical display.
((symbol-function 'display-graphic-p) #'always)
((symbol-function 'url-queue-retrieve)

View file

@ -0,0 +1,33 @@
From 951743698610eaaa0cc9030f7d7d02437419ac24 Mon Sep 17 00:00:00 2001
From: Neil Hanlon <neil@shrug.pw>
Date: Fri, 9 Feb 2024 15:32:38 -0500
Subject: [PATCH] Add gobject example source code to path for mkhtml test
Fixes #150
I'm not really sure why this is required, but I suspect it has to do
with changes in how GCC handles path traversal due to recent (ish)
security issues, as the code here is evaluated to
`../xml/../../examples/gobject.c` which probably looks unhealthy to
automatically include.
Signed-off-by: Neil Hanlon <neil@shrug.pw>
---
tests/gobject/docs/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/gobject/docs/meson.build b/tests/gobject/docs/meson.build
index a1dd66ca..236a1cc0 100644
--- a/tests/gobject/docs/meson.build
+++ b/tests/gobject/docs/meson.build
@@ -119,6 +119,7 @@ test(
'--path=@0@'.format(':'.join([
gobject_test_docs_dir,
srcdir,
+ join_paths(srcdir, 'tests/gobject/examples'),
])
),
],
--
GitLab

View file

@ -0,0 +1,33 @@
From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Fri, 17 Nov 2023 22:30:42 +0100
Subject: [PATCH] include missing header file
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes build error:
```
/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor Inkscape::URI::URI(const gchar*, const char*):
/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: xmlFree was not declared in this scope; did you mean xmlFreeURI?
86 | xmlFree(full);
```
---
src/object/uri.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/object/uri.h b/src/object/uri.h
index 381adec58cf..d5b211fe2b2 100644
--- a/src/object/uri.h
+++ b/src/object/uri.h
@@ -13,6 +13,7 @@
#define INKSCAPE_URI_H
#include <libxml/uri.h>
+#include <libxml/xmlmemory.h>
#include <memory>
#include <string>
--
GitLab

View file

@ -0,0 +1,83 @@
From 0adf38535637ec668e658d43f04f60f11f51574f Mon Sep 17 00:00:00 2001
From: Roman Bogorodskiy <bogorodskiy@gmail.com>
Date: Thu, 10 Apr 2025 13:54:02 +0200
Subject: [PATCH] loader: don't use libxml2 deprecated APIs
Address the following items:
- Deprecated direct access to buf's content
- Mismatching error function signature
- Deprecated direct access to ctxt's lastError
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
---
osinfo/osinfo_loader.c | 42 +++++++++++++++++++++++-------------------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
index 0a9004af..b3fd4535 100644
--- a/osinfo/osinfo_loader.c
+++ b/osinfo/osinfo_loader.c
@@ -354,7 +354,7 @@ osinfo_loader_doc(const char *xpath,
xmlXPathFreeObject(obj);
OSINFO_LOADER_SET_ERROR(err, "Cannot format stylesheet");
}
- ret = g_strdup((char *)buf->content);
+ ret = g_strdup((char *)xmlBufferContent(buf));
xmlBufferFree(buf);
xmlXPathFreeObject(obj);
@@ -1902,28 +1902,32 @@ static void osinfo_loader_root(OsinfoLoader *loader,
}
static void
-catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
+catchXMLError(void *ctx, const char *msg, ...)
{
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
+ const xmlError *xmlErr = NULL;
+ g_autofree gchar *xmlmsg = NULL;
- if (ctxt && ctxt->_private) {
- GError **err = ctxt->_private;
- if (!error_is_set(err)) {
- gchar *xmlmsg;
- if (ctxt->lastError.file) {
- xmlmsg = g_strdup_printf("%s:%d: %s",
- ctxt->lastError.file,
- ctxt->lastError.line,
- ctxt->lastError.message);
- } else {
- xmlmsg = g_strdup_printf("at line %d: %s",
- ctxt->lastError.line,
- ctxt->lastError.message);
- }
- OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
- g_free(xmlmsg);
- }
+ if (!ctxt || !ctxt->_private)
+ return;
+
+ if (error_is_set(ctxt->_private))
+ return;
+
+ if (!(xmlErr = xmlCtxtGetLastError(ctx)))
+ return;
+
+ if (xmlErr->file) {
+ xmlmsg = g_strdup_printf("%s:%d: %s",
+ xmlErr->file,
+ xmlErr->line,
+ xmlErr->message);
+ } else {
+ xmlmsg = g_strdup_printf("at line %d: %s",
+ xmlErr->line,
+ xmlErr->message);
}
+ OSINFO_LOADER_SET_ERROR(ctxt->_private, xmlmsg);
}
static void osinfo_loader_process_xml(OsinfoLoader *loader,
--
GitLab

View file

@ -1,6 +1,6 @@
Patch from NixOS: Patch from NixOS:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/li/libvirt/0001-meson-patch-in-an-install-prefix-for-building-on-nix.patch
From 58c07f1d59ef683faf8b747e40bd75401306acf4 Mon Sep 17 00:00:00 2001 From 58c07f1d59ef683faf8b747e40bd75401306acf4 Mon Sep 17 00:00:00 2001
From: Euan Kemp <euank@euank.com> From: Euan Kemp <euank@euank.com>
@ -406,10 +406,10 @@ index 3b859ea7b4..ccddb3e805 100644
] ]
endif endif
diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
index b9257c816d..98701755d8 100644 index 09d9fac02c..ee0c74ceec 100644
--- a/src/security/apparmor/meson.build --- a/src/security/apparmor/meson.build
+++ b/src/security/apparmor/meson.build +++ b/src/security/apparmor/meson.build
@@ -57,7 +57,7 @@ foreach name : apparmor_gen_profiles @@ -20,16 +20,16 @@ foreach name : apparmor_gen_profiles
output: name, output: name,
configuration: apparmor_gen_profiles_conf, configuration: apparmor_gen_profiles_conf,
install: true, install: true,
@ -418,31 +418,17 @@ index b9257c816d..98701755d8 100644
) )
endforeach endforeach
@@ -68,13 +68,13 @@ foreach name : apparmor_gen_abstractions install_data(
command: apparmor_gen_cmd, [ 'libvirt-qemu', 'libvirt-lxc' ],
capture: true,
install: true,
- install_dir: apparmor_dir / 'abstractions', - install_dir: apparmor_dir / 'abstractions',
+ install_dir: install_prefix + apparmor_dir / 'abstractions', + install_dir: install_prefix + apparmor_dir / 'abstractions',
) )
endforeach
install_data( install_data(
[ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ], [ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
- install_dir: apparmor_dir / 'libvirt', - install_dir: apparmor_dir / 'libvirt',
+ install_dir: install_prefix + apparmor_dir / 'libvirt', + install_dir: install_prefix + apparmor_dir / 'libvirt',
) )
if not conf.has('WITH_APPARMOR_3')
@@ -83,7 +83,7 @@ if not conf.has('WITH_APPARMOR_3')
# files in order to limit the amount of filesystem clutter.
install_data(
'usr.lib.libvirt.virt-aa-helper.local',
- install_dir: apparmor_dir / 'local',
+ install_dir: install_prefix + apparmor_dir / 'local',
rename: 'usr.lib.libvirt.virt-aa-helper',
)
endif
diff --git a/src/storage/meson.build b/src/storage/meson.build diff --git a/src/storage/meson.build b/src/storage/meson.build
index 404d6a6941..fb4e67a0a8 100644 index 404d6a6941..fb4e67a0a8 100644
--- a/src/storage/meson.build --- a/src/storage/meson.build
@ -461,18 +447,25 @@ index 404d6a6941..fb4e67a0a8 100644
endif endif
diff --git a/tools/meson.build b/tools/meson.build diff --git a/tools/meson.build b/tools/meson.build
index 1bb84be0be..e04a4e986d 100644 index a099148d3c..d0d6510f17 100644
--- a/tools/meson.build --- a/tools/meson.build
+++ b/tools/meson.build +++ b/tools/meson.build
@@ -121,7 +121,7 @@ if conf.has('WITH_LOGIN_SHELL') @@ -123,12 +123,12 @@ if conf.has('WITH_LOGIN_SHELL')
install_rpath: libvirt_rpath, install_rpath: libvirt_rpath,
) )
- install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt') - install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt')
+ install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt') + install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt')
# Install the sysuser config for the setgid binary
install_data(
'libvirt-login-shell.sysusers.conf',
- install_dir: sysusersdir,
+ install_dir: install_prefix + sysusersdir,
rename: [ 'libvirt-login-shell.conf' ],
)
endif endif
if host_machine.system() == 'windows'
diff --git a/tools/ssh-proxy/meson.build b/tools/ssh-proxy/meson.build diff --git a/tools/ssh-proxy/meson.build b/tools/ssh-proxy/meson.build
index e9f312fa25..95d5d8fe0b 100644 index e9f312fa25..95d5d8fe0b 100644
--- a/tools/ssh-proxy/meson.build --- a/tools/ssh-proxy/meson.build

View file

@ -1,173 +0,0 @@
This makes generated IDs deterministic.
Written by Daniel Veillard.
This should be fixed in next release (2.29).
See https://bugzilla.gnome.org/show_bug.cgi?id=751621.
diff --git a/libxslt/functions.c b/libxslt/functions.c
index 6448bde..5b00a6d 100644
--- a/libxslt/functions.c
+++ b/libxslt/functions.c
@@ -651,6 +651,63 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
}
/**
+ * xsltCleanupIds:
+ * @ctxt: the transformation context
+ * @root: the root of the resulting document
+ *
+ * This clean up ids which may have been saved in Element contents
+ * by xsltGenerateIdFunction() to provide stable IDs on elements.
+ *
+ * Returns the number of items cleaned or -1 in case of error
+ */
+int
+xsltCleanupIds(xsltTransformContextPtr ctxt, xmlNodePtr root) {
+ xmlNodePtr cur;
+ int count = 0;
+
+ if ((ctxt == NULL) || (root == NULL))
+ return(-1);
+ if (root->type != XML_ELEMENT_NODE)
+ return(-1);
+
+ cur = root;
+ while (cur != NULL) {
+ if (cur->type == XML_ELEMENT_NODE) {
+ if (cur->content != NULL) {
+ cur->content = NULL;
+ count++;
+ }
+ if (cur->children != NULL) {
+ cur = cur->children;
+ continue;
+ }
+ }
+ if (cur->next != NULL) {
+ cur = cur->next;
+ continue;
+ }
+ do {
+ cur = cur->parent;
+ if (cur == NULL)
+ break;
+ if (cur == (xmlNodePtr) root) {
+ cur = NULL;
+ break;
+ }
+ if (cur->next != NULL) {
+ cur = cur->next;
+ break;
+ }
+ } while (cur != NULL);
+ }
+
+fprintf(stderr, "Attributed %d IDs for element, cleaned up %d\n",
+ ctxt->nextid, count);
+
+ return(count);
+}
+
+/**
* xsltGenerateIdFunction:
* @ctxt: the XPath Parser context
* @nargs: the number of arguments
@@ -701,7 +758,39 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
if (obj)
xmlXPathFreeObject(obj);
- val = (long)((char *)cur - (char *)&base_address);
+ /*
+ * Try to provide stable ID for generated document:
+ * - usually ID are computed to be placed on elements via attributes
+ * so using the element as the node for the ID
+ * - the cur->content should be a correct placeholder for this, we use
+ * it to hold element node numbers in xmlXPathOrderDocElems to
+ * speed up XPath too
+ * - xsltCleanupIds() clean them up before handing the XSLT output
+ * to the API client.
+ * - other nodes types use the node address method but that should
+ * not end up in resulting document ID
+ * - we can enable this by default without risk of performance issues
+ * only the one pass xsltCleanupIds() is added
+ */
+ if (cur->type == XML_ELEMENT_NODE) {
+ if (cur->content == NULL) {
+ xsltTransformContextPtr tctxt;
+
+ tctxt = xsltXPathGetTransformContext(ctxt);
+ if (tctxt == NULL) {
+ val = (long)((char *)cur - (char *)&base_address);
+ } else {
+ tctxt->nextid++;
+ val = tctxt->nextid;
+ cur->content = (void *) (val);
+ }
+ } else {
+ val = (long) cur->content;
+ }
+ } else {
+ val = (long)((char *)cur - (char *)&base_address);
+ }
+
if (val >= 0) {
sprintf((char *)str, "idp%ld", val);
} else {
diff --git a/libxslt/functions.h b/libxslt/functions.h
index e0e0bf9..4a1e163 100644
--- a/libxslt/functions.h
+++ b/libxslt/functions.h
@@ -64,6 +64,13 @@ XSLTPUBFUN void XSLTCALL
int nargs);
/*
+ * Cleanup for ID generation
+ */
+XSLTPUBFUN int XSLTCALL
+ xsltCleanupIds (xsltTransformContextPtr ctxt,
+ xmlNodePtr root);
+
+/*
* And the registration
*/
diff --git a/libxslt/transform.c b/libxslt/transform.c
index 24f9eb2..2bdf6bf 100644
--- a/libxslt/transform.c
+++ b/libxslt/transform.c
@@ -700,6 +700,7 @@ xsltNewTransformContext(xsltStylesheetPtr style, xmlDocPtr doc) {
cur->traceCode = (unsigned long*) &xsltDefaultTrace;
cur->xinclude = xsltGetXIncludeDefault();
cur->keyInitLevel = 0;
+ cur->nextid = 0;
return(cur);
@@ -6092,6 +6093,13 @@ xsltApplyStylesheetInternal(xsltStylesheetPtr style, xmlDocPtr doc,
if (root != NULL) {
const xmlChar *doctype = NULL;
+ /*
+ * cleanup ids which may have been saved in Elements content ptrs
+ */
+ if (ctxt->nextid != 0) {
+ xsltCleanupIds(ctxt, root);
+ }
+
if ((root->ns != NULL) && (root->ns->prefix != NULL))
doctype = xmlDictQLookup(ctxt->dict, root->ns->prefix, root->name);
if (doctype == NULL)
diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h
index 95e8fe6..8eedae4 100644
--- a/libxslt/xsltInternals.h
+++ b/libxslt/xsltInternals.h
@@ -1782,6 +1782,8 @@ struct _xsltTransformContext {
int maxTemplateVars;
unsigned long opLimit;
unsigned long opCount;
+
+ unsigned long nextid;/* for generating stable ids */
};
/**

View file

@ -0,0 +1,30 @@
From 48f94abff2fcc4943626a62c6180c60862288b08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Tue, 3 Jun 2025 11:57:29 +0200
Subject: [PATCH 245/248] Install all files generated by doxygen
Install the whole directory and do not pick only some file-types
Change-Id: I743253696f3e57dfe70c6509b7d620dc2bf39e76
---
docs/doxygen/Makefile.am | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/docs/doxygen/Makefile.am b/docs/doxygen/Makefile.am
index 4351042..40a02e8 100644
--- a/docs/doxygen/Makefile.am
+++ b/docs/doxygen/Makefile.am
@@ -6,9 +6,7 @@ if WITH_LIBZMF_DOCS
install-data-am:
mkdir -p $(DESTDIR)$(docdir)/html
- $(INSTALL_DATA) html/*.html $(DESTDIR)$(docdir)/html/
- $(INSTALL_DATA) html/*.png $(DESTDIR)$(docdir)/html/
- $(INSTALL_DATA) html/*.css $(DESTDIR)$(docdir)/html/
+ $(INSTALL_DATA) html/* $(DESTDIR)$(docdir)/html/
uninstall-am:
-rm -rf $(DESTDIR)$(docdir)/html
--
2.51.0

View file

@ -0,0 +1,40 @@
Patch obtained from https://github.com/mpv-player/mpv/commit/26b29fba02a2782f68e2906f837d21201fc6f1b9
See https://github.com/mpv-player/mpv/issues/16176 for discussion. Next version
of mpv will have this fixed, but upstream is not planning to release a patch
release.
From 26b29fba02a2782f68e2906f837d21201fc6f1b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
Date: Fri, 28 Mar 2025 19:12:01 +0100
Subject: [PATCH] demux_mkv: fix compilation after deprecated definitions
removal
See: https://github.com/FFmpeg/FFmpeg/commit/822432769868da325ba03774df1084aa78b9a5a0
---
demux/demux_mkv.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 135edcc23d82b..cc7ce3e98f4f6 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2200,16 +2200,16 @@ static int demux_mkv_open_sub(demuxer_t *demuxer, mkv_track_t *track)
// [0x30..0x37] are component tags utilized for
// non-mobile captioning service ("profile A").
if (component_tag >= 0x30 && component_tag <= 0x37)
- lav->profile = FF_PROFILE_ARIB_PROFILE_A;
+ lav->profile = AV_PROFILE_ARIB_PROFILE_A;
break;
case 0x0012:
// component tag 0x87 signifies a mobile/partial reception
// (1seg) captioning service ("profile C").
if (component_tag == 0x87)
- lav->profile = FF_PROFILE_ARIB_PROFILE_C;
+ lav->profile = AV_PROFILE_ARIB_PROFILE_C;
break;
}
- if (lav->profile == FF_PROFILE_UNKNOWN)
+ if (lav->profile == AV_PROFILE_UNKNOWN)
MP_WARN(demuxer, "ARIB caption profile %02x / %04x not supported.\n",
component_tag, data_component_id);
}

View file

@ -6,17 +6,17 @@ that 'itstool' stumbles upon when processing UTF-8 data:
Patch by Jan Matejek Patch by Jan Matejek
from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>. from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
--- libxml2-2.9.5.orig/python/libxml.c --- a/python/libxml.c
+++ libxml2-2.9.5/python/libxml.c +++ b/python/libxml.c
@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU @@ -1499,6 +1499,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
PyObject *message; PyObject *message;
PyObject *result; PyObject *result;
char str[1000]; char str[1000];
+ unsigned char *ptr = (unsigned char *)str; + unsigned char *ptr = (unsigned char *)str;
#ifdef DEBUG_ERROR if (libxml_xmlPythonErrorFuncHandler == NULL) {
printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); va_start(ap, msg);
@@ -1636,12 +1637,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU @@ -1510,12 +1511,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg,
str[999] = 0; str[999] = 0;
va_end(ap); va_end(ap);
@ -32,7 +32,7 @@ from <https://bugzilla.opensuse.org/show_bug.cgi?id=1065270>.
- message = libxml_charPtrConstWrap(str); - message = libxml_charPtrConstWrap(str);
+ message = libxml_charPtrConstWrap(ptr); + message = libxml_charPtrConstWrap(ptr);
PyTuple_SetItem(list, 1, message); PyTuple_SetItem(list, 1, message);
result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list); result = PyObject_CallObject(libxml_xmlPythonErrorFuncHandler, list);
+ /* Forget any errors caused in the error handler. */ + /* Forget any errors caused in the error handler. */
+ PyErr_Clear(); + PyErr_Clear();
Py_XDECREF(list); Py_XDECREF(list);

View file

@ -0,0 +1,30 @@
https://bugs.gentoo.org/906227
https://github.com/dajobe/raptor/issues/59
https://github.com/dajobe/raptor/pull/58
From 4dbc4c1da2a033c497d84a1291c46f416a9cac51 Mon Sep 17 00:00:00 2001
From: David Anes <david.anes@suse.com>
Date: Thu, 4 May 2023 11:54:02 +0200
Subject: [PATCH] Remove the access to entities 'checked' private symbol for
libxml2 2.11.0
Since version 2.11.0, some private symbols that were never intended
as public API/ABI have been removed from libxml2, therefore the field
'checked' is no longer present and raptor fails to build in this
scenario.
--- a/src/raptor_libxml.c
+++ b/src/raptor_libxml.c
@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name)
ret->owner = 1;
-#if LIBXML_VERSION >= 20627
+#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100
/* Checked field was released in 2.6.27 on 2006-10-25
* http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6
*
+ * and was later removed in version 2.11.0
*/
/* Mark this entity as having been checked - never do this again */

View file

@ -0,0 +1,25 @@
From 324ad2e5b5d4b08fb682fa05d5baaaf087d13f5c Mon Sep 17 00:00:00 2001
From: Sergey Trofimov <sarg@sarg.org.ru>
Date: Sat, 20 Sep 2025 18:26:44 +0200
Subject: [PATCH] Look for plugins in SANE_BACKEND_LIB_PATH.
---
backend/dll.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/backend/dll.c b/backend/dll.c
index bf34c4f6d..d52e81206 100644
--- a/backend/dll.c
+++ b/backend/dll.c
@@ -461,6 +461,8 @@ load (struct backend *be)
be->op[i] = op_unsupported;
path = getenv ("LD_LIBRARY_PATH");
+ if (!path)
+ path = getenv ("SANE_BACKEND_LIB_PATH"); /* for guix */
if (!path)
path = getenv ("SHLIB_PATH"); /* for HP-UX */
if (!path)
--
2.51.0

View file

@ -0,0 +1,100 @@
From f546743016f5301c063f2c50af0ea43dd2485ef4 Mon Sep 17 00:00:00 2001
From: Charles Giessen <charles@lunarg.com>
Date: Thu, 17 Jul 2025 09:56:40 -0500
Subject: [PATCH] build: Remove pkg-config provided library names
The library names of Xcb, Xlib, and Wayland do not need to be queried from pkg-config,
instead they can be hardcoded to use the fallback names.
The intent of querying the library names was to prevent issues where the hardcoded name
was not the platform-appropriate name. But because <library>_LINK_LIBRARIES can have
more than one library name, the logic to assign <library>_LINK_LIBRARIES into a compile
definition breaks horribly. While it is possible to handle this in CMake, the dlopen code would
also have to handle it which is much more error prone.
---
cube/CMakeLists.txt | 20 --------------------
cube/wayland_loader.h | 3 ---
cube/xcb_loader.h | 3 ---
cube/xlib_loader.h | 3 ---
4 files changed, 29 deletions(-)
diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
index 7e135e79b..dac6bfed9 100644
--- a/cube/CMakeLists.txt
+++ b/cube/CMakeLists.txt
@@ -307,16 +307,6 @@ if (ANDROID)
return()
endif()
-if (XCB_LINK_LIBRARIES)
- target_compile_definitions(vkcube PRIVATE "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
-endif()
-if (X11_LINK_LIBRARIES)
- target_compile_definitions(vkcube PRIVATE "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
-endif()
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
- target_compile_definitions(vkcube PRIVATE "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
-endif()
-
# ----------------------------------------------------------------------------
# vkcubepp
@@ -360,16 +350,6 @@ target_include_directories(vkcubepp PRIVATE .)
target_compile_definitions(vkcubepp PRIVATE ${ENABLED_CUBE_PLATFORMS})
target_link_libraries(vkcubepp ${CMAKE_DL_LIBS} Vulkan::Headers)
-if (XCB_LINK_LIBRARIES )
- target_compile_definitions(vkcubepp PUBLIC "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
-endif()
-if (X11_LINK_LIBRARIES)
- target_compile_definitions(vkcubepp PUBLIC "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
-endif()
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
- target_compile_definitions(vkcubepp PUBLIC "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
-endif()
-
if(APPLE)
install(
TARGETS vkcubepp
diff --git a/cube/wayland_loader.h b/cube/wayland_loader.h
index 2afab6e97..7d7d91412 100644
--- a/cube/wayland_loader.h
+++ b/cube/wayland_loader.h
@@ -80,9 +80,6 @@ static PFN_wl_display_disconnect cube_wl_display_disconnect = NULL;
static inline void *initialize_wayland() {
void *wayland_library = NULL;
-#if defined(WAYLAND_LIBRARY)
- wayland_library = dlopen(WAYLAND_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
if (NULL == wayland_library) {
wayland_library = dlopen("libwayland-client.so.0", RTLD_NOW | RTLD_LOCAL);
}
diff --git a/cube/xcb_loader.h b/cube/xcb_loader.h
index a94d5ab56..cecd25402 100644
--- a/cube/xcb_loader.h
+++ b/cube/xcb_loader.h
@@ -88,9 +88,6 @@ static PFN_xcb_screen_next cube_xcb_screen_next = NULL;
void *initialize_xcb() {
void *xcb_library = NULL;
-#if defined(XCB_LIBRARY)
- xcb_library = dlopen(XCB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
if (NULL == xcb_library) {
xcb_library = dlopen("libxcb.so.1", RTLD_NOW | RTLD_LOCAL);
}
diff --git a/cube/xlib_loader.h b/cube/xlib_loader.h
index c7874d0e7..881789f18 100644
--- a/cube/xlib_loader.h
+++ b/cube/xlib_loader.h
@@ -72,9 +72,6 @@ static PFN_XFlush cube_XFlush = NULL;
void* initialize_xlib() {
void* xlib_library = NULL;
-#if defined(XLIB_LIBRARY)
- xlib_library = dlopen(XLIB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
if (NULL == xlib_library) {
xlib_library = dlopen("libX11.so.6", RTLD_NOW | RTLD_LOCAL);
}

View file

@ -1,23 +0,0 @@
This patch fixes two bugs in upstream mcookie detection: 1) If mcookie is not
detected, we still need to set HAS_COOKIE_HANDLER and MK_COOKIE, and 2) the
value for MK_COOKIE must be a string in order to disallow further preprocessor
expansions.
In particular for 2, if we fail to surround the path in quotes, our path
contains the token "linux", which gcc further expands, creating an invalid
path.
--- a/configure.ac 2025-03-08 16:48:34.476791744 +0900
+++ b/configure.ac 2025-03-08 16:48:30.208791623 +0900
@@ -157,8 +157,10 @@
fi
fi
if test "x$MCOOKIE" != x ; then
- STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="$(MCOOKIE)"'
+ STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="'"'"'$(MCOOKIE)'"'"'"'
AC_MSG_NOTICE([startx will depend on "$MCOOKIE" to generate xauth cookies])
+else
+ STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE='
fi
AC_SUBST(STARTX_COOKIE_FLAGS)

View file

@ -4,7 +4,7 @@
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; ;;;
@ -27,6 +27,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages aspell) #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -55,6 +56,7 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)) #:use-module ((guix licenses) #:prefix license:))
@ -62,38 +64,38 @@
(define-public php (define-public php
(package (package
(name "php") (name "php")
(version "8.3.12") (version "8.3.26")
(home-page "https://www.php.net/") (home-page "https://www.php.net/")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page "distributions/" (uri (string-append home-page "distributions/" "php-" version ".tar.xz"))
"php-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "1lnbcc3b9k1j4c85a7sabvwp3iyl9xfg41qdc6a0qh1cl3pjwlig"))
"0cfi9g97lnmh3b3cn4a33dyzhgwyxicawkbz372whvz26f3f4x7p"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "ext" '(with-directory-excursion "ext"
(for-each delete-file-recursively (for-each delete-file-recursively
;; Some of the bundled libraries have no proper upstream. ;; Some of the bundled libraries have no proper upstream.
;; Ideally we'd extract these out as separate packages: ;; Ideally we'd extract these out as separate packages:
;;"mbstring/libmbfl" ;; "mbstring/libmbfl"
;;"date/lib" ;; "date/lib"
;;"bcmath/libbcmath" ;; "bcmath/libbcmath"
;;"fileinfo/libmagic" ; a patched version of libmagic ;; "fileinfo/libmagic" ; a patched version of libmagic
'("gd/libgd" '("gd/libgd" "pcre/pcre2lib"))))))
"pcre/pcre2lib"))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list
(let-syntax ((with (syntax-rules () #:configure-flags
#~(let-syntax ((with (syntax-rules ()
((_ option input) ((_ option input)
(string-append option "=" (string-append
option "="
(assoc-ref %build-inputs input)))))) (assoc-ref %build-inputs input))))))
(list (with "--with-bz2" "bzip2") (list (with "--with-bz2" "bzip2")
(with "--with-curl" "curl") (with "--with-curl" "curl")
(with "--with-gdbm" "gdbm") (with "--with-gdbm" "gdbm")
(with "--with-gettext" "libc") ; libintl.h (with "--with-gettext" "libc") ;libintl.h
(with "--with-gmp" "gmp") (with "--with-gmp" "gmp")
(with "--with-ldap" "openldap") (with "--with-ldap" "openldap")
(with "--with-ldap-sasl" "cyrus-sasl") (with "--with-ldap-sasl" "cyrus-sasl")
@ -106,7 +108,7 @@
(with "--with-readline" "readline") (with "--with-readline" "readline")
(with "--with-sodium" "libsodium") (with "--with-sodium" "libsodium")
(with "--with-sqlite3" "sqlite") (with "--with-sqlite3" "sqlite")
(with "--with-tidy" "tidy") (with "--with-tidy" "tidy-html")
(with "--with-xsl" "libxslt") (with "--with-xsl" "libxslt")
(with "--with-zlib-dir" "zlib") (with "--with-zlib-dir" "zlib")
;; We could add "--with-snmp", but it requires netsnmp that ;; We could add "--with-snmp", but it requires netsnmp that
@ -116,11 +118,11 @@
"--with-external-gd" "--with-external-gd"
"--with-iconv" "--with-iconv"
"--with-openssl" "--with-openssl"
"--with-mysqli" ; Required for, e.g. wordpress "--with-mysqli" ;Required for, e.g. wordpress
"--with-pdo-mysql" "--with-pdo-mysql"
"--with-zip" "--with-zip"
"--with-zlib" "--with-zlib"
"--enable-bcmath" ; Required for, e.g. Zabbix frontend "--enable-bcmath" ;Required for, e.g. Zabbix frontend
"--enable-calendar" "--enable-calendar"
"--enable-dba=shared" "--enable-dba=shared"
"--enable-exif" "--enable-exif"
@ -133,30 +135,35 @@
"--enable-mbstring" "--enable-mbstring"
"--enable-pcntl" "--enable-pcntl"
"--enable-sockets" "--enable-sockets"
"--enable-sysvsem" ; Required for, e.g. Nextcloud "--enable-sysvsem" ;Required for, e.g. Nextcloud
"--enable-embed" ; Required for embed SAPI "--enable-embed" ;Required for embed SAPI
"--enable-zts" "--enable-zts"
"--disable-zend-signals" "--disable-zend-signals"
"--enable-zend-max-execution-timers")) "--enable-zend-max-execution-timers"))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'do-not-record-build-flags (add-after 'unpack 'do-not-record-build-flags
(lambda _ (lambda _
;; Prevent configure flags from being stored and causing ;; Prevent configure flags from being stored and causing
;; unnecessary runtime dependencies. ;; unnecessary runtime dependencies.
(substitute* "scripts/php-config.in" (substitute* "scripts/php-config.in"
(("@CONFIGURE_OPTIONS@") "") (("@CONFIGURE_OPTIONS@")
(("@PHP_LDFLAGS@") "")) "")
(("@PHP_LDFLAGS@")
""))
;; This file has ISO-8859-1 encoding. ;; This file has ISO-8859-1 encoding.
(with-fluids ((%default-port-encoding "ISO-8859-1")) (with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "main/build-defs.h.in" (substitute* "main/build-defs.h.in"
(("@CONFIGURE_COMMAND@") "(omitted)"))))) (("@CONFIGURE_COMMAND@")
"(omitted)")))))
(add-before 'build 'patch-/bin/sh (add-before 'build 'patch-/bin/sh
(lambda _ (lambda _
(substitute* '("run-tests.php" "ext/standard/proc_open.c") (substitute* '("run-tests.php"
(("/bin/sh") (which "sh"))))) "ext/standard/proc_open.c")
(("/bin/sh")
(which "sh")))))
(add-before 'check 'prepare-tests (add-before 'check 'prepare-tests
(lambda _ (lambda* (#:key parallel-tests? #:allow-other-keys)
;; Some of these files have ISO-8859-1 encoding, whereas others ;; Some of these files have ISO-8859-1 encoding, whereas others
;; use ASCII, so we can't use a "catch-all" find-files here. ;; use ASCII, so we can't use a "catch-all" find-files here.
(with-fluids ((%default-port-encoding "ISO-8859-1")) (with-fluids ((%default-port-encoding "ISO-8859-1"))
@ -164,26 +171,32 @@
"ext/mbstring/tests/mb_send_mail04.phpt" "ext/mbstring/tests/mb_send_mail04.phpt"
"ext/mbstring/tests/mb_send_mail05.phpt" "ext/mbstring/tests/mb_send_mail05.phpt"
"ext/mbstring/tests/mb_send_mail06.phpt") "ext/mbstring/tests/mb_send_mail06.phpt")
(("/bin/cat") (which "cat")))) (("/bin/cat")
(which "cat"))))
(substitute* '("ext/mbstring/tests/mb_send_mail01.phpt" (substitute* '("ext/mbstring/tests/mb_send_mail01.phpt"
"ext/mbstring/tests/mb_send_mail03.phpt" "ext/mbstring/tests/mb_send_mail03.phpt"
"ext/mbstring/tests/bug52681.phpt" "ext/mbstring/tests/bug52681.phpt"
"ext/standard/tests/general_functions/bug34794.phpt" "ext/standard/tests/general_functions/bug34794.phpt"
"ext/standard/tests/general_functions/bug44667.phpt" "ext/standard/tests/general_functions/bug44667.phpt"
"ext/standard/tests/general_functions/proc_open.phpt") "ext/standard/tests/general_functions/proc_open.phpt")
(("/bin/cat") (which "cat"))) (("/bin/cat")
(which "cat")))
;; The encoding of this file is not recognized, so we simply drop it. ;; The encoding of this file is not recognized, so we simply drop it.
(delete-file "ext/mbstring/tests/mb_send_mail07.phpt") (delete-file "ext/mbstring/tests/mb_send_mail07.phpt")
(substitute* "ext/standard/tests/streams/bug60602.phpt" (substitute* "ext/standard/tests/streams/bug60602.phpt"
(("'ls'") (string-append "'" (which "ls") "'"))) (("'ls'")
(string-append "'"
(which "ls") "'")))
;; Drop tests known to fail on different architectures: ;; Drop tests known to fail on different architectures:
(for-each delete-file (for-each
,(cond delete-file
#$(cond
((target-arm32?) ((target-arm32?)
`(list "ext/calendar/tests/unixtojd_error1.phpt" '(list
"ext/calendar/tests/unixtojd_error1.phpt"
"ext/opcache/tests/preload_006.phpt" "ext/opcache/tests/preload_006.phpt"
"ext/opcache/tests/preload_011.phpt" "ext/opcache/tests/preload_011.phpt"
;; arm can be a lot slower, so a time-related test fails ;; arm can be a lot slower, so a time-related test fails
@ -201,13 +214,13 @@
"sapi/cli/tests/cli_process_title_unix.phpt" "sapi/cli/tests/cli_process_title_unix.phpt"
"Zend/tests/concat_003.phpt")) "Zend/tests/concat_003.phpt"))
((target-x86-32?) ((target-x86-32?)
`(list "ext/dba/tests/dba_gdbm.phpt")) '(list "ext/dba/tests/dba_gdbm.phpt"))
((target-ppc32?) ((target-ppc32?)
`(list "sapi/phpdbg/tests/watch_001.phpt" '(list "sapi/phpdbg/tests/watch_001.phpt"
"sapi/phpdbg/tests/watch_003.phpt" "sapi/phpdbg/tests/watch_003.phpt"
"sapi/phpdbg/tests/watch_004.phpt")) "sapi/phpdbg/tests/watch_004.phpt"))
((target-ppc64le?) ((target-ppc64le?)
`(list '(list
;; phpdbg watchpoints don't work. ;; phpdbg watchpoints don't work.
;; Bug tracked upstream at: ;; Bug tracked upstream at:
;; https://bugs.php.net/bug.php?id=81408 ;; https://bugs.php.net/bug.php?id=81408
@ -216,33 +229,24 @@
"sapi/phpdbg/tests/watch_004.phpt" "sapi/phpdbg/tests/watch_004.phpt"
"sapi/phpdbg/tests/watch_005.phpt" "sapi/phpdbg/tests/watch_005.phpt"
"sapi/phpdbg/tests/watch_006.phpt")) "sapi/phpdbg/tests/watch_006.phpt"))
(else `'()))) (else ''())))
;; Drop tests that are known to fail. ;; Drop tests that are known to fail.
(for-each delete-file (for-each
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group. delete-file
"ext/posix/tests/posix_getgrnam_basic.phpt" ; Requires /etc/group. '("ext/posix/tests/posix_getgrgid.phpt" ;Requires /etc/group.
"ext/sockets/tests/bug63000.phpt" ; Fails to detect OS. "ext/posix/tests/posix_getgrnam_basic.phpt" ;Requires /etc/group.
"ext/sockets/tests/bug63000.phpt" ;Fails to detect OS.
;; These need exotic locales. ;; These need exotic locales.
"ext/standard/tests/strings/setlocale_basic1.phpt" "ext/standard/tests/strings/setlocale_basic1.phpt"
"ext/standard/tests/strings/setlocale_basic2.phpt" "ext/standard/tests/strings/setlocale_basic2.phpt"
"ext/standard/tests/strings/setlocale_basic3.phpt" "ext/standard/tests/strings/setlocale_basic3.phpt"
"ext/standard/tests/strings/setlocale_variation1.phpt" "ext/standard/tests/strings/setlocale_variation1.phpt"
;; This bug should have been fixed in gd 2.2.2.
;; Is it a regression? ;; This test fails for unknown reason (see:
"ext/gd/tests/bug65148.phpt" ;; <https://github.com/php/php-src/issues/19996>).
;; This bug should have been fixed in the gd 2.2 "ext/gd/tests/gh16559.phpt"
;; series. Perhaps a regression introduced by gd
;; 2.3.0?
"ext/gd/tests/bug66590.phpt"
;; This bug should have been fixed in the php-5.5
;; series. Perhaps a regression introduced by gd
;; 2.3.0?
"ext/gd/tests/bug70102.phpt"
;; This bug should have been fixed in the php-5.6
;; series. Perhaps a regression introduced by gd
;; 2.3.0?
"ext/gd/tests/bug73869.phpt"
;; Some WebP related tests fail. ;; Some WebP related tests fail.
"ext/gd/tests/webp_basic.phpt" "ext/gd/tests/webp_basic.phpt"
"ext/gd/tests/imagecreatefromstring_webp.phpt" "ext/gd/tests/imagecreatefromstring_webp.phpt"
@ -284,6 +288,9 @@
"ext/gd/tests/bug48801.phpt" "ext/gd/tests/bug48801.phpt"
;; Different expected output from imagecolorallocate(). ;; Different expected output from imagecolorallocate().
"ext/gd/tests/bug53504.phpt" "ext/gd/tests/bug53504.phpt"
;; This test sometimes exit with Termsig=11 (see:
;; <https://github.com/php/php-src/issues/19996>).
"ext/gd/tests/bug65148.phpt"
;; Wrong image size after scaling an image. ;; Wrong image size after scaling an image.
"ext/gd/tests/bug73272.phpt" "ext/gd/tests/bug73272.phpt"
;; PCRE with/without JIT gives different result ;; PCRE with/without JIT gives different result
@ -291,6 +298,10 @@
"ext/pcre/tests/gh11956.phpt" "ext/pcre/tests/gh11956.phpt"
;; reported bug only seems to affect windows ;; reported bug only seems to affect windows
"ext/standard/tests/directory/bug74589_utf8.phpt" "ext/standard/tests/directory/bug74589_utf8.phpt"
;; This test is flaky, appears racy when the test suite runs
;; in parallel (see:
;; <https://github.com/php/php-src/issues/19998>).
"ext/standard/tests/file/bug46347.phpt"
;; this test seems to be unreliable/flaky ;; this test seems to be unreliable/flaky
"sapi/cli/tests/php_cli_server_pdeathsig.phpt" "sapi/cli/tests/php_cli_server_pdeathsig.phpt"
;; This test fails on most architectures. ;; This test fails on most architectures.
@ -310,54 +321,59 @@
(setenv "REPORT_EXIT_STATUS" "1") (setenv "REPORT_EXIT_STATUS" "1")
;; Skip tests requiring I/O facilities that are unavailable in the ;; Skip tests requiring I/O facilities that are unavailable in the
;; build environment ;; build environment
(setenv "SKIP_IO_CAPTURE_TESTS" "1")))) (setenv "SKIP_IO_CAPTURE_TESTS" "1")
;; Run tests in parallel.
(setenv "TEST_PHP_ARGS"
(format #f "-j~a" (if parallel-tests?
(parallel-job-count)
1))))))
#:test-target "test")) #:test-target "test"))
(inputs (inputs
`(("aspell" ,aspell) (list aspell
("bzip2" ,bzip2) bzip2
("curl" ,curl) curl
("cyrus-sasl" ,cyrus-sasl) cyrus-sasl
("freetype" ,freetype) fontconfig
("fontconfig" ,fontconfig) freetype
("libjpeg-turbo" ,libjpeg-turbo) gd
("libpng" ,libpng) gdbm
("gd" ,gd) gmp
("gdbm" ,gdbm) gnutls
("gmp" ,gmp) icu4c
("gnutls" ,gnutls) libgcrypt
("icu4c" ,icu4c) libjpeg-turbo
("libgcrypt" ,libgcrypt) libpng
("libpng" ,libpng) libpng
("libsodium" ,libsodium) libsodium
("libxml2" ,libxml2) libx11
("libxslt" ,libxslt) libxml2
("libx11" ,libx11) libxslt
("libzip" ,libzip) libzip
("oniguruma" ,oniguruma) oniguruma
("openldap" ,openldap) openldap
("openssl" ,openssl) openssl
("pcre" ,pcre2) pcre2
("postgresql" ,postgresql) postgresql
("readline" ,readline) readline
("sqlite" ,sqlite) sqlite
("tidy" ,tidy-html) tidy-html
("zlib" ,zlib))) zlib))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) (list autoconf ;to save the test report
("bison" ,bison) bison
("gettext" ,gettext-minimal) gettext-minimal
("procps" ,procps))) ; for tests pkg-config
procps)) ;for tests
(synopsis "PHP programming language") (synopsis "PHP programming language")
(description (description
"PHP (PHP Hypertext Processor) is a server-side (CGI) scripting "PHP (PHP Hypertext Processor) is a server-side (CGI) scripting
language designed primarily for web development but is also used as language designed primarily for web development but is also used as
a general-purpose programming language. PHP code may be embedded into a general-purpose programming language. PHP code may be embedded into
HTML code, or it can be used in combination with various web template HTML code, or it can be used in combination with various web template
systems, web content management systems and web frameworks." ) systems, web content management systems and web frameworks.")
(license (list (license (list (license:non-copyleft "file://LICENSE") ;The PHP license.
(license:non-copyleft "file://LICENSE") ; The PHP license. (license:non-copyleft "file://Zend/LICENSE") ;The Zend license.
(license:non-copyleft "file://Zend/LICENSE") ; The Zend license. license:lgpl2.1 ;ext/mbstring/libmbfl
license:lgpl2.1 ; ext/mbstring/libmbfl license:lgpl2.1+ ;ext/bcmath/libbcmath
license:lgpl2.1+ ; ext/bcmath/libbcmath license:bsd-2 ;ext/fileinfo/libmagic
license:bsd-2 ; ext/fileinfo/libmagic
license:expat)))) ; ext/date/lib license:expat)))) ; ext/date/lib

View file

@ -3530,6 +3530,14 @@ and written in Python.")
(base32 (base32
"195wgxls3df7djry9cz3p2k9644l6bfd66fczbaw55fsq0c48agr")))) "195wgxls3df7djry9cz3p2k9644l6bfd66fczbaw55fsq0c48agr"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-configure-flags
(lambda _
(setenv "CFLAGS"
"-Wno-error=implicit-function-declaration"))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs

View file

@ -6061,7 +6061,7 @@ server.")
(base32 "17z6rrvv3q1axy9r13c2hln2pazfn9n5bhkzrbjcjakgbfjl6mss")))) (base32 "17z6rrvv3q1axy9r13c2hln2pazfn9n5bhkzrbjcjakgbfjl6mss"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-lxml (list python-lxml-4.9
python-pillow python-pillow
python-pytest python-pytest
python-setuptools)) python-setuptools))
@ -13102,8 +13102,7 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
python-pytest python-pytest
python-setuptools python-setuptools
python-wheel)) python-wheel))
(inputs (inputs (list ffmpeg))
(list ffmpeg-7))
(home-page "https://github.com/PyAV-Org/PyAV") (home-page "https://github.com/PyAV-Org/PyAV")
(synopsis "Pythonic bindings for FFmpeg's libraries") (synopsis "Pythonic bindings for FFmpeg's libraries")
(description (description
@ -15602,14 +15601,14 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(define-public python-beautifulsoup4 (define-public python-beautifulsoup4
(package (package
(name "python-beautifulsoup4") (name "python-beautifulsoup4")
(version "4.13.4") (version "4.13.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "beautifulsoup4" version)) (uri (pypi-uri "beautifulsoup4" version))
(sha256 (sha256
(base32 (base32
"15bi8fl51aibdz33h3j1191n5l0c4r3k4hpjvbmyysmfrvhw9cyv")))) "159niwk99m9lbcxb9sl6jfqy9mb39bss4l1lwcypq3lkh89i6w2y"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-hatchling (list python-hatchling
@ -17559,16 +17558,14 @@ number of lines in the contained files easily.")
(hidden-package (hidden-package
(package (package
(name "python-fonttools-minimal") (name "python-fonttools-minimal")
(version "4.39.3") (version "4.59.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "fonttools" version ".zip")) (uri (pypi-uri "fonttools" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1msibi5cmi5znykkg66dq7xshl07lkqjxhrz5hcipqvlggsvjd4j")))) "08pgq9nrj3r81gzb6gbf5mcak0xyqrj26cw0rc5za4v1n14hfb77"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs
(list unzip))
(arguments '(#:tests? #f)) (arguments '(#:tests? #f))
(home-page "https://github.com/fonttools/fonttools") (home-page "https://github.com/fonttools/fonttools")
(synopsis "Tools to manipulate font files") (synopsis "Tools to manipulate font files")
@ -17595,14 +17592,17 @@ from an XML-based format.")
(when tests? (when tests?
(invoke "pytest" "-vv" (invoke "pytest" "-vv"
"-k" "-k"
;; XXX: These tests need .trm files that are ;; XXX: These tests need data files that are not
;; not shipped with the PyPI release. ;; shipped with the PyPI release.
(format #f "not ~a" (format #f "not ~a"
(string-join (string-join
'("test_read_fontdimens_mathsy" '("test_cli_vtp"
"test_group_order"
"test_read_fontdimens_mathsy"
"test_read_fontdimens_mathex" "test_read_fontdimens_mathex"
"test_read_fontdimens_vanilla" "test_read_fontdimens_vanilla"
"test_read_boundary_char" "test_read_boundary_char"
"test_reading_supplement_encoding"
"fontTools.tfmLib" "fontTools.tfmLib"
;; The MtiTest tests fail for unknown ;; The MtiTest tests fail for unknown
;; reasons (see: ;; reasons (see:
@ -17616,7 +17616,7 @@ from an XML-based format.")
(propagated-inputs (propagated-inputs
(list python-brotli (list python-brotli
python-fs python-fs
python-lxml-4.9 python-lxml
python-lz4 python-lz4
python-scipy python-scipy
python-unicodedata2 python-unicodedata2
@ -21028,13 +21028,13 @@ expression.")
(define-public python-unicodedata2 (define-public python-unicodedata2
(package (package
(name "python-unicodedata2") (name "python-unicodedata2")
(version "15.0.0") (version "16.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "unicodedata2" version)) (uri (pypi-uri "unicodedata2" version))
(sha256 (sha256
(base32 "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d")))) (base32 "1z3llixb4cd6cc6nmyps5vv2sss14n3x6dzcc65xg75mj9jqsj05"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/fonttools/unicodedata2") (home-page "https://github.com/fonttools/unicodedata2")
(synopsis "Python unicodedata backport") (synopsis "Python unicodedata backport")
@ -35541,7 +35541,7 @@ restores the original state after the string is printed.")
(native-inputs (native-inputs
(list python-pytest)) (list python-pytest))
(inputs (inputs
(list sane-backends)) (list sane))
(home-page "https://github.com/python-pillow/Sane") (home-page "https://github.com/python-pillow/Sane")
(synopsis "Python interface to the SANE scanner") (synopsis "Python interface to the SANE scanner")
(description "This package provides Python interface to the SANE scanner (description "This package provides Python interface to the SANE scanner

View file

@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
vulkan-headers)) vulkan-headers))
(inputs (inputs
(list alsa-lib (list alsa-lib
ffmpeg ffmpeg-6
glib glib
libxkbcommon libxkbcommon
libxrandr libxrandr
@ -4144,7 +4144,7 @@ linux/libcurl_wrapper.h"
curl curl
dbus dbus
eudev eudev
ffmpeg ffmpeg-6
fontconfig fontconfig
fxdiv fxdiv
harfbuzz harfbuzz
@ -5940,6 +5940,35 @@ simple editor for binary data, just like @code{QPlainTextEdit} is for text
data.") data.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public qhotkey
(package
(name "qhotkey")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Skycoder42/QHotkey")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0glzh4l532xk4v9mphsdf96v1557pyvg5al3ha0vr3244bfh9hcf"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no tests
#:configure-flags
#~(list "-DQT_DEFAULT_MAJOR_VERSION=6"
"-DBUILD_SHARED_LIBS=ON"
"-DQHOTKEY_EXAMPLES=ON")))
(inputs (list libx11 qtbase))
(home-page "https://github.com/Skycoder42/QHotkey")
(synopsis "Global shortcut key for Qt desktop applications")
(description
"This package provides @code{QHotKey} class that can be used to create
hotkeys/global shortcuts, aka shortcuts that work everywhere, independent of
the application state.")
(license license:bsd-3)))
(define-public qthttpserver (define-public qthttpserver
(package (package
(name "qthttpserver") (name "qthttpserver")

View file

@ -192,6 +192,7 @@ of parts of the Windows API.")
(search-patches "freerdp-3.16.0-rpath.patch")))) (search-patches "freerdp-3.16.0-rpath.patch"))))
(inputs (inputs
(modify-inputs (package-inputs freerdp) (modify-inputs (package-inputs freerdp)
(replace "ffmpeg" ffmpeg)
(prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf))) (prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
(arguments (arguments
(list #:build-type "Release" (list #:build-type "Release"
@ -252,8 +253,7 @@ of parts of the Windows API.")
linux-pam linux-pam
openssl openssl
pixman pixman
python python))
python-libxml2))
(native-inputs (native-inputs
(append (append
(list bison (list bison

View file

@ -77,7 +77,8 @@
"-" version ".tar.gz")) "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1026whyxpajwijlr4k5c0iliwn09mwxrg7gkvd5kb0n9ga6vg788")))) "1026whyxpajwijlr4k5c0iliwn09mwxrg7gkvd5kb0n9ga6vg788"))
(patches (search-patches "raptor2-libxml2.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list curl libxml2 libxslt zlib)) (list curl libxml2 libxslt zlib))

View file

@ -19903,6 +19903,7 @@
`(("paste" ,rust-paste-1.0.15) `(("paste" ,rust-paste-1.0.15)
("proc-macro2" ,rust-proc-macro2-1.0.94) ("proc-macro2" ,rust-proc-macro2-1.0.94)
("quote" ,rust-quote-1.0.40) ("quote" ,rust-quote-1.0.40)
("rustc-hash" ,rust-rustc-hash-2.1.1)
("syn" ,rust-syn-2.0.100) ("syn" ,rust-syn-2.0.100)
("unicode-ident" ,rust-unicode-ident-1.0.18))) ("unicode-ident" ,rust-unicode-ident-1.0.18)))

View file

@ -42,18 +42,20 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix deprecation)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module ((guix licenses) #:use-module ((guix licenses)
#:prefix license:) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)) #:use-module (guix utils))
(define-public sane-airscan (define-public sane-airscan
(package (package
(name "sane-airscan") (name "sane-airscan")
(version "0.99.27") (version "0.99.36")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -62,7 +64,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1syxsih1kdnz9slsg5a92bqnllagm4cybqk4n2y6mbkqn6h0zlnv")))) (base32 "1dh7rq1g120gqhkr7ac3p7yizm330dj3xqrrg08dff7ra1jx955y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:make-flags (list #:make-flags
@ -78,8 +80,9 @@
gnutls gnutls
libjpeg-turbo libjpeg-turbo
libpng libpng
libtiff
libxml2 libxml2
sane-backends)) sane))
(home-page "https://github.com/alexpevzner/sane-airscan") (home-page "https://github.com/alexpevzner/sane-airscan")
(synopsis "SANE backend for eSCL (AirScan) and WSD document scanners") (synopsis "SANE backend for eSCL (AirScan) and WSD document scanners")
(description ; no @acronym{eSCL} because the meaning isn't officially known (description ; no @acronym{eSCL} because the meaning isn't officially known
@ -103,10 +106,11 @@ both WSD and eSCL.")
(license (list license:gpl2+ ; the combined work (license (list license:gpl2+ ; the combined work
license:expat)))) ; http_parser.[ch] license:expat)))) ; http_parser.[ch]
(define-public sane-backends-minimal (define-deprecated/public-alias sane-backends-minimal sane)
(define-public sane
(package (package
(name "sane-backends-minimal") (name "sane")
(version "1.3.1") (version "1.4.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -114,7 +118,9 @@ both WSD and eSCL.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1fb6shx9bz0svcyasmyqs93rbbwq7kzg6l0h1zh3kjvcwhchyv72")) (base32 "09hcqrli127amdxjlj6xd9lvc0rhlhhm8vxrnldbd8c2mxss7dbv"))
(patches (search-patches
"sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Generated HTML files and udev rules normally embed a ;; Generated HTML files and udev rules normally embed a
@ -186,6 +192,11 @@ both WSD and eSCL.")
(string-append out (string-append out
"/lib/udev/rules.d/" "/lib/udev/rules.d/"
"60-libsane.rules"))))) "60-libsane.rules")))))
(add-after 'install 'remove-dll.conf
(lambda _
;; dll.conf lists enabled backends, so it should be removed as
;; there are none in this package
(delete-file (string-append %output "/etc/sane.d/dll.conf"))))
(add-after 'install 'make-reproducible (add-after 'install 'make-reproducible
;; XXX Work around an old bug <https://issues.guix.gnu.org/26247>. ;; XXX Work around an old bug <https://issues.guix.gnu.org/26247>.
;; Then work around "Throw to key `decoding-error' ..." by using sed. ;; Then work around "Throw to key `decoding-error' ..." by using sed.
@ -197,6 +208,14 @@ both WSD and eSCL.")
(invoke "sed" "-i" "/^PO-Revision-Date:/d" file)) (invoke "sed" "-i" "/^PO-Revision-Date:/d" file))
(list "en@boldquot/LC_MESSAGES/sane-backends.mo" (list "en@boldquot/LC_MESSAGES/sane-backends.mo"
"en@quot/LC_MESSAGES/sane-backends.mo"))))))))) "en@quot/LC_MESSAGES/sane-backends.mo")))))))))
(native-search-paths
(list
(search-path-specification
(variable "SANE_CONFIG_DIR")
(files '("etc/sane.d")))
(search-path-specification
(variable "SANE_BACKEND_LIB_PATH")
(files '("lib/sane")))))
(home-page "http://www.sane-project.org") (home-page "http://www.sane-project.org")
(synopsis (synopsis
"Raster image scanner library and drivers, without scanner support") "Raster image scanner library and drivers, without scanner support")
@ -206,20 +225,16 @@ hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
package contains the library, but no drivers.") package contains the library, but no drivers.")
(license license:gpl2+))) ; plus linking exception (license license:gpl2+))) ; plus linking exception
;; This variant links in the hpaio backend provided by hplip, which adds
;; support for HP scanners whose backends are not maintained by the SANE
;; project, and builds all of those backends.
(define-public sane-backends (define-public sane-backends
(package/inherit sane-backends-minimal (package/inherit sane
(name "sane-backends") (name "sane-backends")
(inputs (inputs
`(("hplip" ,(@ (gnu packages cups) hplip)) `(("libjpeg" ,libjpeg-turbo) ; for pixma/epsonds/other back ends
("libjpeg" ,libjpeg-turbo) ; for pixma/epsonds/other back ends
("libpng" ,libpng) ; support scanimage --format=png ("libpng" ,libpng) ; support scanimage --format=png
("libxml2" ,libxml2) ; for pixma back end ("libxml2" ,libxml2) ; for pixma back end
,@(package-inputs sane-backends-minimal))) ,@(package-inputs sane)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments sane-backends-minimal) (substitute-keyword-arguments (package-arguments sane)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(delete 'disable-backends) (delete 'disable-backends)
@ -229,22 +244,6 @@ package contains the library, but no drivers.")
;; <https://bugs.gnu.org/39449> ;; <https://bugs.gnu.org/39449>
(substitute* "testsuite/backend/genesys/Makefile.in" (substitute* "testsuite/backend/genesys/Makefile.in"
((" genesys_unit_tests\\$\\(EXEEXT\\)") "")) ((" genesys_unit_tests\\$\\(EXEEXT\\)") ""))
#t))
(add-after 'unpack 'add-backends
(lambda _
(substitute* "backend/dll.conf.in"
(("hp5590" all) (format #f "~a~%~a" all "hpaio")))
#t))
(add-after 'install 'install-hpaio
(lambda* (#:key inputs outputs #:allow-other-keys)
(define hplip (string-append (assoc-ref inputs "hplip")
"/lib/sane"))
(define out (string-append (assoc-ref outputs "out")
"/lib/sane"))
(for-each
(lambda (file)
(symlink file (string-append out "/" (basename file))))
(find-files hplip))
#t)))))) #t))))))
(synopsis (synopsis
"Raster image scanner library and drivers, with scanner support") "Raster image scanner library and drivers, with scanner support")
@ -288,7 +287,7 @@ package contains the library and drivers.")))
"/lib/udev/rules.d"))))))) "/lib/udev/rules.d")))))))
(inputs (list boost (inputs (list boost
eudev eudev
sane-backends-minimal sane
libusb libusb
libjpeg-turbo libjpeg-turbo
imagemagick imagemagick
@ -350,11 +349,7 @@ standard.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
`(("dbus" ,dbus) (list dbus libconfuse sane eudev zlib))
("libconfuse" ,libconfuse)
("sane-backends" ,sane-backends)
("udev" ,eudev)
("zlib" ,zlib)))
(home-page "https://scanbd.sourceforge.io") (home-page "https://scanbd.sourceforge.io")
(synopsis "Configurable scanner button monitor") (synopsis "Configurable scanner button monitor")
(description "Scanbd stands for scanner button daemon. It regularly polls (description "Scanbd stands for scanner button daemon. It regularly polls
@ -435,7 +430,7 @@ provided the driver also exposes the buttons.")
lcms lcms
libjpeg-turbo libjpeg-turbo
libtiff libtiff
sane-backends sane
xdg-utils)) ;to open the manual from the Help menu xdg-utils)) ;to open the manual from the Help menu
(home-page "https://gitlab.com/sane-project/frontend/xsane") (home-page "https://gitlab.com/sane-project/frontend/xsane")
(synopsis "Featureful graphical interface for document and image scanners") (synopsis "Featureful graphical interface for document and image scanners")

View file

@ -267,7 +267,7 @@ a custom raw video format with a simple container.")
(string-append apps "/dwm.desktop") (string-append apps "/dwm.desktop")
#:name "dwm" #:name "dwm"
#:generic-name #$synopsis #:generic-name #$synopsis
#:exec (string-append #$output "/bin/dwm %U") #:exec (string-append #$output "/bin/dwm")
#:comment #:comment
`(("en" ,#$synopsis) `(("en" ,#$synopsis)
(#f ,#$synopsis))))))))) (#f ,#$synopsis)))))))))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,6 +25,8 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages golang-xyz) #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages mail) #:use-module (gnu packages mail)
#:use-module (gnu packages scheme)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix download) #:use-module (guix download)
@ -33,6 +36,31 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils)) #:use-module (guix utils))
(define-public faber
(package
(name "faber")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Junker/faber")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17xjg92vwg7n06lx4xbsnd7wvsgqcw8h10ha5365rsfs49bd3cyf"))))
(inputs (list gauche))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("faber" "bin/"))))
(synopsis "Task runner with power of Scheme")
(description "Faber is a CLI task runner designed to leverage the power and
flexibility of Gauche Scheme.
Unlike other build systems that rely on custom formats, Faber uses Gauche
Scheme, allowing you to write build scripts using familiar Scheme syntax.")
(home-page "https://github.com/Junker/faber")
(license license:expat)))
(define-public run (define-public run
(package (package
(name "run") (name "run")

View file

@ -887,7 +887,7 @@ eye-candy, customizable, and reasonably lightweight.")
(list (search-path-specification (list (search-path-specification
(variable "TERMINFO_DIRS") (variable "TERMINFO_DIRS")
(files '("share/terminfo"))))) (files '("share/terminfo")))))
(inputs (list fcft libxkbcommon-1.8 wayland wayland-protocols)) (inputs (list fcft libxkbcommon wayland wayland-protocols))
(synopsis "Wayland-native terminal emulator") (synopsis "Wayland-native terminal emulator")
(description (description
"@command{foot} is a terminal emulator for systems using the Wayland "@command{foot} is a terminal emulator for systems using the Wayland

View file

@ -15,7 +15,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021, 2023, 2024 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020, 2021, 2023-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@ -971,6 +971,8 @@ correct OpenSSL include path. It is intended for use in your
number generator") number generator")
(license license:perl-license))) (license license:perl-license)))
;;; TODO: No longer maintained, migrate dependents to current mbedtls v3
;;; (which is the new LTS).
(define-public mbedtls-lts (define-public mbedtls-lts
(package (package
(name "mbedtls") (name "mbedtls")
@ -1011,25 +1013,21 @@ coding footprint.")
(package (package
(inherit mbedtls-lts) (inherit mbedtls-lts)
(name "mbedtls") (name "mbedtls")
(version "3.5.2") (version "3.6.4")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method url-fetch)
(url "https://github.com/ARMmbed/mbedtls") (uri (string-append "https://github.com/Mbed-TLS/mbedtls/releases"
(commit (string-append "mbedtls-" version)))) "/download/mbedtls-" version
(file-name (git-file-name name version)) "/mbedtls-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1wsjrx98h74q0q4zqwsghiqvjz4aqgvigpxb9f8xjw0w4sfsclcm")))))) "0441cwfh3z0xnik0wsafih599s4kzyc8pnrh7s6gjg2rdj5b2dgc"))))))
(define-public mbedtls-apache
(deprecated-package "mbedtls-apache" mbedtls-lts))
;; The Hiawatha Web server requires some specific features to be enabled. ;; The Hiawatha Web server requires some specific features to be enabled.
(define-public mbedtls-for-hiawatha (define-public mbedtls-for-hiawatha
(hidden-package (hidden-package
(package (package/inherit mbedtls
(inherit mbedtls)
(arguments (arguments
(substitute-keyword-arguments (package-arguments mbedtls) (substitute-keyword-arguments (package-arguments mbedtls)
((#:phases phases) ((#:phases phases)

View file

@ -240,7 +240,7 @@ Browser.")
libxcomposite libxcomposite
libxt libxt
libffi libffi
ffmpeg-7 ffmpeg
libvpx libvpx
icu4c icu4c
pixman pixman

View file

@ -75,6 +75,7 @@
;;; Copyright © 2025 VnPower <vnpower@loang.net> ;;; Copyright © 2025 VnPower <vnpower@loang.net>
;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1528,7 +1529,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libplacebo (define-public libplacebo
(package (package
(name "libplacebo") (name "libplacebo")
(version "7.349.0") (version "7.351.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1537,7 +1538,7 @@ libebml is a C++ library to read and write EBML files.")
(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 "1q12yf04z570a2l3vkig2iqm7bgqr90hdxmn78sk2injrsyx124q")))) (base32 "094mzr4cvvryxr7rpxqhvrs018r89m116cpkmmfy3d3sk8b09jki"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
@ -1645,17 +1646,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
operate properly.") operate properly.")
(license license:expat))) (license license:expat)))
(define-public ffmpeg-7 (define-public ffmpeg
(package (package
(name "ffmpeg") (name "ffmpeg")
(version "7.0.2") (version "8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-" (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"12dkv17mrsdqrm70c30azjw7qi1lfxca7xisw81x6flacddm2il6")))) "13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -1675,6 +1676,8 @@ operate properly.")
libcaca libcaca
libcdio-paranoia libcdio-paranoia
libdrm libdrm
libgme
libplacebo
libtheora libtheora
libva libva
libvdpau libvdpau
@ -1686,13 +1689,16 @@ operate properly.")
mesa mesa
openal openal
pulseaudio pulseaudio
shaderc
sdl2 sdl2
soxr soxr
speex speex
spirv-tools
srt srt
svt-av1 svt-av1
twolame twolame
vidstab vidstab
vulkan-loader
x265 x265
xvid xvid
zlib))) zlib)))
@ -1702,7 +1708,8 @@ operate properly.")
pkg-config pkg-config
texinfo texinfo
speex speex
yasm)) vulkan-headers
nasm))
(arguments (arguments
(list (list
#:test-target "fate" #:test-target "fate"
@ -1717,7 +1724,6 @@ operate properly.")
;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
;; --enable-libflite enable flite (voice synthesis) support via ;; --enable-libflite enable flite (voice synthesis) support via
;; libflite [no] ;; libflite [no]
;; --enable-libgme enable Game Music Emu via libgme [no]
;; --enable-libgsm enable GSM de/encoding via libgsm [no] ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
;; --enable-libiec61883 enable iec61883 via libiec61883 [no] ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
;; --enable-libilbc enable iLBC de/encoding via libilbc [no] ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
@ -1770,12 +1776,15 @@ operate properly.")
"--enable-libcdio" "--enable-libcdio"
"--enable-libdav1d" "--enable-libdav1d"
"--enable-libfreetype" "--enable-libfreetype"
"--enable-libgme"
"--enable-libmp3lame" "--enable-libmp3lame"
"--enable-libopus" "--enable-libopus"
"--enable-libplacebo"
"--enable-libpulse" "--enable-libpulse"
#$@(if (this-package-input "rav1e") #$@(if (this-package-input "rav1e")
'("--enable-librav1e") '("--enable-librav1e")
'()) '())
"--enable-libshaderc"
"--enable-libsoxr" "--enable-libsoxr"
"--enable-libspeex" "--enable-libspeex"
"--enable-libsrt" "--enable-libsrt"
@ -1793,6 +1802,7 @@ operate properly.")
"--enable-opengl" "--enable-opengl"
"--enable-libdrm" "--enable-libdrm"
"--enable-vaapi" "--enable-vaapi"
"--enable-vulkan"
"--enable-runtime-cpudetect" "--enable-runtime-cpudetect"
@ -1837,7 +1847,7 @@ operate properly.")
(lambda* (#:key outputs configure-flags #:allow-other-keys) (lambda* (#:key outputs configure-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "configure" (substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh")))) (("#! */bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash")) (setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash"))
(apply invoke (apply invoke
@ -1862,23 +1872,23 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.") audio/video codec library.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public ffmpeg (define-public ffmpeg-6
(package (package
(inherit ffmpeg-7) (inherit ffmpeg)
(version "6.1.1") (version "6.1.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-" (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146")) "0f2fr8ywchhlkdff88lr4d4vscqzsi1ndjh3r5jwbkayf94lcqiv"))
(patches (patches
(search-patches (search-patches
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch")))) "ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
(arguments (arguments
(if (target-x86-32?) (if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg-7) (substitute-keyword-arguments (package-arguments ffmpeg)
((#:phases phases) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(add-before 'configure 'relax-gcc-14-strictness (add-before 'configure 'relax-gcc-14-strictness
@ -1886,8 +1896,9 @@ audio/video codec library.")
(setenv (setenv
"CFLAGS" "CFLAGS"
(string-append "-g -O2" (string-append "-g -O2"
" -Wno-error=incompatible-pointer-types"))))))) " -Wno-error=incompatible-pointer-types"
(package-arguments ffmpeg-7))))) " -Wno-error=int-conversion")))))))
(package-arguments ffmpeg)))))
(define-public ffmpeg-5 (define-public ffmpeg-5
(package (package
@ -1901,16 +1912,22 @@ audio/video codec library.")
(base32 (base32
"1g8116rp4fgq82br8lclb2dmw3fvyh2zkzhnngm7z97pg1i0dypl")))) "1g8116rp4fgq82br8lclb2dmw3fvyh2zkzhnngm7z97pg1i0dypl"))))
(arguments (arguments
(if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg) (substitute-keyword-arguments (package-arguments ffmpeg)
((#:modules modules %default-gnu-modules)
`((srfi srfi-1) ,@modules))
((#:phases phases) ((#:phases phases)
(if (target-x86-32?)
#~(modify-phases #$phases #~(modify-phases #$phases
(replace 'bypass-openal-check (replace 'bypass-openal-check
(lambda _ (lambda _
(substitute* "configure" (substitute* "configure"
(("die \"ERROR: openal not found\"") (("die \"ERROR: openal not found\"")
"true"))))))) "true")))))
(package-arguments ffmpeg))))) phases))
((#:configure-flags flags ''())
#~(fold delete #$flags '("--enable-libplacebo")))))
(inputs (modify-inputs (package-inputs ffmpeg)
(delete "libplacebo")))))
(define-public ffmpeg-4 (define-public ffmpeg-4
(package (package
@ -1923,12 +1940,13 @@ audio/video codec library.")
(sha256 (sha256
(base32 (base32
"01xb2vj4n52fv2y56n5ifirgzlg16qbgfg98f6ifbbhm6l6lwlgr")))) "01xb2vj4n52fv2y56n5ifirgzlg16qbgfg98f6ifbbhm6l6lwlgr"))))
(inputs (modify-inputs (package-inputs ffmpeg) (inputs (modify-inputs (package-inputs ffmpeg-5)
(replace "sdl2" sdl2-2.0))) (replace "sdl2" sdl2-2.0)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments ffmpeg-5) (substitute-keyword-arguments (package-arguments ffmpeg-5)
((#:configure-flags flags ''()) ((#:configure-flags flags ''())
#~(cons "--enable-avresample" #$flags)))))) #~(cons "--enable-avresample"
(fold delete #$flags '("--enable-libshaderc"))))))))
(define-public ffmpeg-for-stepmania (define-public ffmpeg-for-stepmania
(hidden-package (hidden-package
@ -1968,34 +1986,9 @@ audio/video codec library.")
" -Wno-error=int-conversion "))))))))) " -Wno-error=int-conversion ")))))))))
(inputs '())))) (inputs '()))))
(define-public ffmpeg-for-friction
(package
(inherit ffmpeg-4)
(version "4.2.10")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"01jc8ygbazk37wbb7qj24zi9sbfrxrvzhyk527bbas19gxpdrk64"))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg-4)
((#:modules modules %default-gnu-modules)
`((srfi srfi-1) ,@modules))
((#:configure-flags flags ''())
#~(fold delete #$flags
'("--enable-avresample"
"--enable-libaom"
"--enable-libdav1d"
"--enable-librav1e"
"--enable-libsrt"
"--enable-libsvtav1")))))
(inputs (modify-inputs (package-inputs ffmpeg-4)
(delete "dav1d" "libaom" "rav1e" "srt")))))
;;; Custom ffmpeg package used by Jami, which incorporates custom patches. ;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
(define-public ffmpeg-jami (define-public ffmpeg-jami
(let ((ffmpeg ffmpeg-6))
(package (package
(inherit ffmpeg) (inherit ffmpeg)
(name "ffmpeg-jami") (name "ffmpeg-jami")
@ -2259,7 +2252,7 @@ audio/video codec library.")
"--enable-encoder=hevc_vaapi") "--enable-encoder=hevc_vaapi")
'()))))) '())))))
(inputs (modify-inputs (package-inputs ffmpeg) (inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire))))) (append pipewire))))))
(define-public ffmpegthumbnailer (define-public ffmpegthumbnailer
(package (package
@ -2449,7 +2442,7 @@ media, 2D/3D graphics and ECMAScript.")
dav1d dav1d
dbus dbus
eudev eudev
ffmpeg ffmpeg-6
flac flac
fontconfig fontconfig
freetype freetype
@ -2686,7 +2679,10 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(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 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7")))) (base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))
(patches
(search-patches
"mpv-0.40.0-fix-ffmpeg-8.0.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@ -2995,7 +2991,7 @@ To load this plugin, specify the following option when starting mpv:
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
(list mpv libdisplay-info wlroots)) (list mpv libdisplay-info))
(native-inputs (native-inputs
(list pkg-config cmake-minimal)) (list pkg-config cmake-minimal))
(home-page "https://github.com/GhostNaN/mpvpaper") (home-page "https://github.com/GhostNaN/mpvpaper")

View file

@ -1516,7 +1516,8 @@ using simplestreams index files as the publishing mechanism
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd")))) "1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd"))
(patches (search-patches "libosinfo-libxml2-fix.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
@ -1629,14 +1630,14 @@ It started as a side project of LXC but can be used by any run-time.")
(define-public libvirt (define-public libvirt
(package (package
(name "libvirt") (name "libvirt")
(version "11.0.0") (version "11.5.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-" (uri (string-append "https://libvirt.org/sources/libvirt-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "0vl0lgzw3x4fkghhw7nfxk8fxj3bbn9f17y0hg7miba283zpd881")) (base32 "08r4sxchhh639a8h346795971zz615j86v9z9vxf5q9q0pbbjqrb"))
(patches (search-patches "libvirt-add-install-prefix.patch" (patches (search-patches "libvirt-add-install-prefix.patch"
"libvirt-respect-modules-path.patch")))) "libvirt-respect-modules-path.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -1775,7 +1776,7 @@ to integrate other virtualization mechanisms if needed.")
`(,glib "bin") vala)) `(,glib "bin") vala))
(propagated-inputs (propagated-inputs
;; Required: by the installed .pc files. ;; Required: by the installed .pc files.
(list glib libvirt libxml2-next gobject-introspection)) (list glib libvirt libxml2 gobject-introspection))
(home-page "https://libvirt.org") (home-page "https://libvirt.org")
(synopsis "GLib wrapper around libvirt") (synopsis "GLib wrapper around libvirt")
(description "libvirt-glib wraps the libvirt library to provide a (description "libvirt-glib wraps the libvirt library to provide a
@ -1793,14 +1794,14 @@ three libraries:
(define-public python-libvirt (define-public python-libvirt
(package (package
(name "python-libvirt") (name "python-libvirt")
(version "11.0.0") (version "11.5.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://libvirt.org/sources/python/libvirt-python-" (uri (string-append "https://libvirt.org/sources/python/libvirt-python-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1y26104zgylz0v9d6xc0bm6m13is94shn9dlhjycaf347jjjbs6f")))) (base32 "08xcnzmahmb72rv9cw8dxwnjmrdgmm5j4bbxpwsnhll9qsgdiak9"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(inputs (inputs
(list libvirt)) (list libvirt))
@ -1901,8 +1902,8 @@ virtualization library.")
libosinfo libosinfo
libvirt libvirt
libvirt-glib libvirt-glib
libxml2
python-minimal python-minimal
python-libxml2
python-libvirt python-libvirt
python-pycairo python-pycairo
python-pygobject python-pygobject

View file

@ -771,7 +771,7 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer
"etc/vpnc/vpnc-script"))))) "etc/vpnc/vpnc-script")))))
(native-inputs (list gettext-minimal pkg-config)) (native-inputs (list gettext-minimal pkg-config))
(inputs (list lz4 vpnc-scripts)) (inputs (list lz4 vpnc-scripts))
(propagated-inputs (list libxml2-next gnutls zlib)) (propagated-inputs (list libxml2 gnutls zlib))
(synopsis "Client for Cisco VPN") (synopsis "Client for Cisco VPN")
(description (description
"OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is "OpenConnect is a client for Cisco's AnyConnect SSL VPN, which is

View file

@ -9,6 +9,8 @@
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org> ;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -44,6 +46,7 @@
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages libffi)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -53,7 +56,7 @@
(define-public spirv-headers (define-public spirv-headers
(package (package
(name "spirv-headers") (name "spirv-headers")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -62,7 +65,7 @@
(commit (string-append "vulkan-sdk-" version)))) (commit (string-append "vulkan-sdk-" version))))
(sha256 (sha256
(base32 (base32
"15l35w60sbw1i3a48057hvpvldf0lrlfmkz73bp456g2jn5vln23")) "11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -85,7 +88,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools (define-public spirv-tools
(package (package
(name "spirv-tools") (name "spirv-tools")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -93,11 +96,13 @@ and for the GLSL.std.450 extended instruction set.
(url "https://github.com/KhronosGroup/SPIRV-Tools") (url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "vulkan-sdk-" version)))) (commit (string-append "vulkan-sdk-" version))))
(sha256 (sha256
(base32 "1ykrsd3fl8sx9sq8pc551swacqnl0xwv3p0l1ppdpw2h2mvz8syr")) (base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" (list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
;; Some packages like mpv fail to link ;; Some packages like mpv fail to link
;; when the static libraries are built. ;; when the static libraries are built.
"-DSPIRV_TOOLS_BUILD_STATIC=OFF" "-DSPIRV_TOOLS_BUILD_STATIC=OFF"
@ -105,7 +110,7 @@ and for the GLSL.std.450 extended instruction set.
"-DSPIRV-Headers_SOURCE_DIR=" "-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers"))))) (assoc-ref %build-inputs "spirv-headers")))))
(inputs (list spirv-headers)) (inputs (list spirv-headers))
(native-inputs (list pkg-config python)) (native-inputs (list pkg-config python-minimal))
(home-page "https://github.com/KhronosGroup/SPIRV-Tools") (home-page "https://github.com/KhronosGroup/SPIRV-Tools")
(synopsis "API and commands for processing SPIR-V modules") (synopsis "API and commands for processing SPIR-V modules")
(description (description
@ -117,7 +122,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(define-public spirv-cross (define-public spirv-cross
(package (package
(name "spirv-cross") (name "spirv-cross")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -125,18 +130,19 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(url "https://github.com/KhronosGroup/SPIRV-Cross") (url "https://github.com/KhronosGroup/SPIRV-Cross")
(commit (string-append "vulkan-sdk-" version)))) (commit (string-append "vulkan-sdk-" version))))
(sha256 (sha256
(base32 "1sckwqz67mh48zypgr1r9x101mcq1dlkh8sxi341ynrxzjk8rm3j")) (base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(;; Disable tests for now due to upstream issue hit when running (list
;; Disable tests for now due to upstream issue hit when running
;; update-reference-shaders phase: ;; update-reference-shaders phase:
;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>. ;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
#:tests? #f #:tests? #f
#:configure-flags #:configure-flags
(list "-DSPIRV_CROSS_SHARED=YES") #~(list "-DSPIRV_CROSS_SHARED=YES")
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests-to-find-deps (add-after 'unpack 'fix-tests-to-find-deps
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
@ -152,7 +158,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(invoke "./update_test_shaders.sh")))))))) (invoke "./update_test_shaders.sh"))))))))
(inputs (inputs
(list glslang spirv-headers spirv-tools)) (list glslang spirv-headers spirv-tools))
(native-inputs (list python)) (native-inputs (list python-minimal))
(home-page "https://github.com/KhronosGroup/SPIRV-Cross") (home-page "https://github.com/KhronosGroup/SPIRV-Cross")
(synopsis "Parser for and converter of SPIR-V to other shader languages") (synopsis "Parser for and converter of SPIR-V to other shader languages")
(description (description
@ -164,7 +170,7 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(define-public spirv-llvm-translator (define-public spirv-llvm-translator
(package (package
(name "spirv-llvm-translator") (name "spirv-llvm-translator")
(version "18.1.0") (version "18.1.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -173,7 +179,7 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(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 "0yfz02mlnf4ffn67g2ms0w8f7jgdsn438w2dbxd5mvcf5dk2x27b")))) (base32 "11gmb1kw6j90hwcf6wxjz4pki653lyd8v8kphk7jq67gvw8dkiwy"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
;; The test suite is known to fail on several architectures: ;; The test suite is known to fail on several architectures:
@ -201,7 +207,14 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(apply (assoc-ref gnu:%standard-phases 'check) (apply (assoc-ref gnu:%standard-phases 'check)
#:test-target "test" args)))))) #:test-target "test" args))))))
(inputs (list llvm-18)) (inputs (list llvm-18))
(native-inputs (list clang-18 llvm-18 python-lit spirv-headers)) (native-inputs
(list
clang-18
libffi
llvm-18
pkg-config
python-lit
spirv-headers))
(home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator") (home-page "https://github.com/KhronosGroup/SPIRV-LLVM-Translator")
(synopsis "Bi-directional translation between SPIR-V and LLVM IR") (synopsis "Bi-directional translation between SPIR-V and LLVM IR")
(description (description
@ -212,7 +225,7 @@ translation between LLVM IR and SPIR-V.")
(define-public glslang (define-public glslang
(package (package
(name "glslang") (name "glslang")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -221,17 +234,20 @@ translation between LLVM IR and SPIR-V.")
(commit (string-append "vulkan-sdk-" version)))) (commit (string-append "vulkan-sdk-" version))))
(sha256 (sha256
(base32 (base32
"0kzzjh2dxzkznp75jk9sl4fjjgdy5s6xr8vha9av6cvi3jxm2i8y")) "1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" (list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON" "-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
,@(if (target-riscv64?) #$@(if (target-riscv64?)
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic") `("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
'())) '()))
#:phases (modify-phases %standard-phases #:phases
,@(if (target-ppc32?) #~(modify-phases %standard-phases
#$@(if (target-ppc32?)
`((add-after 'unpack 'skip-failing-test `((add-after 'unpack 'skip-failing-test
(lambda _ (lambda _
;; TODO: Figure out why this test fails. ;; TODO: Figure out why this test fails.
@ -250,7 +266,7 @@ translation between LLVM IR and SPIR-V.")
"--output-on-failure"))))))) "--output-on-failure")))))))
(inputs (list spirv-tools)) (inputs (list spirv-tools))
(native-inputs (native-inputs
(list pkg-config python)) (list pkg-config python-minimal))
(home-page "https://github.com/KhronosGroup/glslang") (home-page "https://github.com/KhronosGroup/glslang")
(synopsis "OpenGL and OpenGL ES shader front end and validator") (synopsis "OpenGL and OpenGL ES shader front end and validator")
(description (description
@ -317,7 +333,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-headers/no-loader (define-public vulkan-headers/no-loader
(package (package
(name "vulkan-headers") (name "vulkan-headers")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -327,7 +343,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ncj4gqb5zmkgmd205frrq8rxxdqlissqpj2fq3wxkdbdyx7pwid")))) "1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; No tests. `(#:tests? #f)) ; No tests.
@ -361,7 +377,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-loader (define-public vulkan-loader
(package (package
(name "vulkan-loader") (name "vulkan-loader")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -371,7 +387,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1y6wqc8adzg7ndmbr95nzhcxf93qsfndfdnsym5pkbjfx454151d")))) "0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -387,7 +403,8 @@ Enhanced Subpixel Morphological Anti-Aliasing
%build-inputs "include/vulkan")))) %build-inputs "include/vulkan"))))
#$@(if (%current-target-system) #$@(if (%current-target-system)
#~("-DBUILD_TESTS=OFF" "-DUSE_GAS=OFF" #~("-DBUILD_TESTS=OFF" "-DUSE_GAS=OFF"
(string-append "-DPKG_CONFIG_EXECUTABLE=" (string-append
"-DPKG_CONFIG_EXECUTABLE="
(search-input-file (search-input-file
%build-inputs %build-inputs
(string-append "bin/" #$(pkg-config-for-target))))) (string-append "bin/" #$(pkg-config-for-target)))))
@ -405,7 +422,8 @@ Enhanced Subpixel Morphological Anti-Aliasing
(add-after 'unpack 'use-system-googletest (add-after 'unpack 'use-system-googletest
(lambda _ (lambda _
(substitute* "tests/CMakeLists.txt" (substitute* "tests/CMakeLists.txt"
(((string-append "message\\(FATAL_ERROR \"Could not " (((string-append
"message\\(FATAL_ERROR \"Could not "
"find googletest directory. See BUILD.md\"\\)")) "find googletest directory. See BUILD.md\"\\)"))
"find_package(GTest REQUIRED)")) "find_package(GTest REQUIRED)"))
;; Use the namespaced variable. ;; Use the namespaced variable.
@ -440,32 +458,38 @@ and the ICD.")
license:bsd-3)))) license:bsd-3))))
(define-public vulkan-tools (define-public vulkan-tools
;; Required to fix an issue. See:
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
(revision "1"))
(package (package
(name "vulkan-tools") (name "vulkan-tools")
(version "1.4.309.0") (version (git-version "1.4.321.0" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools") (url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit (string-append "vulkan-sdk-" version)))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet #~(substitute* "tests/icd/mock_icd_tests.cpp" (snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; Disable driver info test since it relies on git branch info ;; Disable driver info test since it relies on git branch info
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)") (("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
"// ASSERT_EQ(std::string(driver_properties.driverInfo)"))) "// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
(sha256 (sha256
(base32 (base32
"0ywvvkra29y2cvw8i9laf4skn6cl7phrwshcc7z9dljb3il87cym")))) "1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols)) (list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs (native-inputs
(list googletest pkg-config python vulkan-volk vulkan-headers)) (list googletest pkg-config python vulkan-volk vulkan-headers))
(arguments (arguments
`(#:configure-flags (list "-DBUILD_TESTS=ON") (list
#:phases (modify-phases %standard-phases #:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(when tests? (when tests?
@ -477,13 +501,13 @@ and the ICD.")
"Vulkan-Tools provides tools and utilities that can assist development by "Vulkan-Tools provides tools and utilities that can assist development by
enabling developers to verify their applications correct use of the Vulkan enabling developers to verify their applications correct use of the Vulkan
API.") API.")
(license (list license:asl2.0)))) ;LICENSE.txt (license (list license:asl2.0))))) ;LICENSE.txt
(define-public shaderc (define-public shaderc
(package (package
(name "shaderc") (name "shaderc")
;; shaderc doesn't follow the versioning scheme of vulkan sdk ;; shaderc doesn't follow the versioning scheme of vulkan sdk
(version "2025.1") (version "2025.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -493,13 +517,15 @@ API.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hbsvyyy5fzgal83z8kx4a3x9d2fnd2fcs53l3s9n0pyybip3i5j")))) "0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(;; FIXME: Skip most of the tests, because enabling system gtest breaks (list
#:tests? #f ; We don't build the tests, see below.
;; FIXME: Skip most of the tests, because enabling system gtest breaks
;; the build: <https://github.com/google/shaderc/issues/470>. ;; the build: <https://github.com/google/shaderc/issues/470>.
#:configure-flags #:configure-flags
(list "-DSHADERC_SKIP_TESTS=ON" #~(list "-DSHADERC_SKIP_TESTS=ON"
;; The two flags are copied from: ;; The two flags are copied from:
;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json ;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json
"-DSHADERC_ENABLE_SHARED_CRT=ON" "-DSHADERC_ENABLE_SHARED_CRT=ON"
@ -507,19 +533,18 @@ API.")
"-DPYTHON_EXECUTABLE=python3" "-DPYTHON_EXECUTABLE=python3"
;; Note: despite the name, this just specifies the headers. ;; Note: despite the name, this just specifies the headers.
(string-append "-Dglslang_SOURCE_DIR=" (string-append "-Dglslang_SOURCE_DIR="
(assoc-ref %build-inputs "glslang") "/include/glslang")) #$(this-package-input "glslang")
"/include/glslang"))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'do-not-look-for-bundled-sources (add-after 'unpack 'do-not-look-for-bundled-sources
(lambda _ (lambda _
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
(("add_subdirectory\\(third_party\\)") (("add_subdirectory\\(third_party\\)")
"")) ""))
(substitute* "glslc/test/CMakeLists.txt" (substitute* "glslc/test/CMakeLists.txt"
(("\\$<TARGET_FILE:spirv-dis>") (("\\$<TARGET_FILE:spirv-dis>")
(which "spirv-dis"))) (which "spirv-dis")))
;; Do not attempt to use git to encode version information. ;; Do not attempt to use git to encode version information.
(substitute* "glslc/CMakeLists.txt" (substitute* "glslc/CMakeLists.txt"
(("add_dependencies\\(glslc_exe build-version\\)") (("add_dependencies\\(glslc_exe build-version\\)")
@ -527,10 +552,9 @@ API.")
(call-with-output-file "glslc/src/build-version.inc" (call-with-output-file "glslc/src/build-version.inc"
(lambda (port) (lambda (port)
(format port "\"~a\"\n\"~a\"\n\"~a\"~%" (format port "\"~a\"\n\"~a\"\n\"~a\"~%"
,version #$version
,(package-version spirv-tools) #$(package-version spirv-tools)
,(package-version glslang)))) #$(package-version glslang)))))))))
#t)))))
(inputs (inputs
(list glslang spirv-headers spirv-tools)) (list glslang spirv-headers spirv-tools))
(native-inputs (native-inputs
@ -558,22 +582,23 @@ shader compilation.")
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-spirv-tools") (list
#:phases (modify-phases %standard-phases #:configure-flags #~(list "--with-spirv-tools")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-for-new-vulkan (add-after 'unpack 'patch-for-new-vulkan
(lambda _ (lambda _
;; Mimic upstream commit 8e7bf8a5c3e0047 for ;; Mimic upstream commit 8e7bf8a5c3e0047 for
;; compatibility with newer vulkan-headers. ;; compatibility with newer vulkan-headers.
(substitute* "libs/vkd3d/vkd3d_private.h" (substitute* "libs/vkd3d/vkd3d_private.h"
(("VK_PIPELINE_BIND_POINT_RANGE_SIZE") (("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
"2u")) "2u")))))))
#t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) (list autoconf
("automake" ,automake) automake
("gettext" ,gettext-minimal) gettext-minimal
("libtool" ,libtool) libtool
("pkg-config" ,pkg-config))) pkg-config))
(inputs (inputs
(list libx11 (list libx11
libxcb libxcb
@ -593,7 +618,7 @@ shader compilation.")
(define-public vulkan-validationlayers (define-public vulkan-validationlayers
(package (package
(name "vulkan-validationlayers") (name "vulkan-validationlayers")
(version "1.4.309.0") (version "1.4.321.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -608,7 +633,7 @@ shader compilation.")
""))) "")))
(sha256 (sha256
(base32 (base32
"1dvgbgfxcp3ypy06j5m561j1gag0hk40zqd477cdv1kizv6i7nsk")))) "1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (list glslang (inputs (list glslang
libxrandr libxrandr
@ -619,20 +644,24 @@ shader compilation.")
vulkan-loader vulkan-loader
vulkan-utility-libraries vulkan-utility-libraries
wayland)) wayland))
(native-inputs (list googletest pkg-config python spirv-headers vulkan-headers)) (native-inputs
(list googletest pkg-config python spirv-headers vulkan-headers))
(arguments (arguments
(list #:tests? #f ; tests crash on some hardware (various upstream issues) (list #:tests? #f ; tests crash on some hardware (various upstream issues)
#:configure-flags #:configure-flags
#~(list "-DBUILD_TESTS=ON") #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases #:phases
#~(modify-phases %standard-phases
(add-after 'install 'set-layer-path-in-manifest (add-after 'install 'set-layer-path-in-manifest
(lambda _ (lambda _
(let ((manifest (string-append #$output (let ((manifest
(string-append #$output
"/share/vulkan/explicit_layer.d" "/share/vulkan/explicit_layer.d"
"/VkLayer_khronos_validation.json"))) "/VkLayer_khronos_validation.json")))
(substitute* manifest (substitute* manifest
(("\"libVkLayer_khronos_validation.so\"") (("\"libVkLayer_khronos_validation.so\"")
(string-append "\"" #$output (string-append
"\"" #$output
"/lib/libVkLayer_khronos_validation.so\"")))))) "/lib/libVkLayer_khronos_validation.so\""))))))
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
@ -649,9 +678,9 @@ shader compilation.")
(home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers") (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
(synopsis "Khronos official validation layers for Vulkan") (synopsis "Khronos official validation layers for Vulkan")
(description (description
"Vulkan-ValidationLayers provides the Khronos official validation layers that "Vulkan-ValidationLayers provides the Khronos official validation layers
can assist development by enabling developers to verify their applications correctly that can assist development by enabling developers to verify their
use the Vulkan API.") applications correctly use the Vulkan API.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public vulkan-volk (define-public vulkan-volk
@ -696,7 +725,7 @@ skipping loader dispatch overhead.")
(define-public vulkan-memory-allocator (define-public vulkan-memory-allocator
(package (package
(name "vulkan-memory-allocator") (name "vulkan-memory-allocator")
(version "3.2.1") (version "3.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -707,11 +736,9 @@ skipping loader dispatch overhead.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0y8ccx080bqrgv71ggixxpl57vc5znq55rnvl4v4srfkjxhz6yiy")))) "1qadyd9nir9ip176fsxvl91w60mnyvk07d5ihjlpqvl7rdbjmwac"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments (list #:tests? #f)) ;no tests
;; no test
`(#:tests? #f))
(inputs (list vulkan-loader vulkan-headers)) (inputs (list vulkan-loader vulkan-headers))
(synopsis "Vulkan memory allocation library") (synopsis "Vulkan memory allocation library")
(description (description
@ -725,7 +752,7 @@ storage.")
(define-public vulkan-utility-libraries (define-public vulkan-utility-libraries
(package (package
(name "vulkan-utility-libraries") (name "vulkan-utility-libraries")
(version "1.4.309.0") (version "1.4.321.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -733,7 +760,7 @@ storage.")
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries") (url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
(commit (string-append "vulkan-sdk-" version)))) (commit (string-append "vulkan-sdk-" version))))
(sha256 (sha256
(base32 "1ihk95gjszk9yn3r6xvda83qp7f463m86srj6cq43z01sk2naxkr")) (base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments

View file

@ -6,6 +6,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,17 +47,14 @@
(define-public wget (define-public wget
(package (package
(replacement wget/fixed)
(name "wget") (name "wget")
(version "1.21.4") (version "1.25.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/wget/wget-" (uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz"))
version ".tar.lz"))
(sha256 (sha256
(base32 (base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr"))))
"1nabhxx3rg28h2scba2mlawzjyx3dw07j2kjn76cpvahbyd630rn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list gnutls libidn2 libpsl)) (list gnutls libidn2 libpsl))
@ -76,17 +74,6 @@ wild cards, supports proxies and cookies, and it can convert absolute links
in downloaded documents to relative links.") in downloaded documents to relative links.")
(license license:gpl3+))) ; some files are under GPLv2+ (license license:gpl3+))) ; some files are under GPLv2+
(define-public wget/fixed
(package
(inherit wget)
(version "1.25.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz"))
(sha256
(base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr"))))))
(define-public wgetpaste (define-public wgetpaste
(package (package
(name "wgetpaste") (name "wgetpaste")

View file

@ -185,7 +185,7 @@ integrate Windows applications into your desktop.")
libgphoto2 libgphoto2
openldap openldap
samba samba
sane-backends sane
libpcap libpcap
libusb libusb
libice libice

View file

@ -245,7 +245,7 @@ the leaves of a full binary tree.")
(native-inputs (list pkg-config scdoc (native-inputs (list pkg-config scdoc
;; for wayland-scanner ;; for wayland-scanner
wayland)) wayland))
(inputs (list wayland wlroots libxkbcommon)) (inputs (list wayland wlroots-0.18 libxkbcommon))
(home-page "https://github.com/cage-kiosk/cage") (home-page "https://github.com/cage-kiosk/cage")
(synopsis "Wayland kiosk") (synopsis "Wayland kiosk")
(description "This package provides a Wayland @dfn{kiosk}, which runs a (description "This package provides a Wayland @dfn{kiosk}, which runs a
@ -430,7 +430,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
hyprland-qtutils hyprland-qtutils
hyprlang hyprlang
hyprutils hyprutils
libinput-minimal-next libinput-minimal
libxcursor libxcursor
libxkbcommon libxkbcommon
mesa mesa
@ -1612,7 +1612,7 @@ the XDG Autostart specification.")
tllist tllist
scdoc)) scdoc))
(inputs (inputs
(list wlroots wayland fcft dbus libpng)) (list wayland fcft dbus libpng))
(home-page "https://codeberg.org/dnkl/fnott") (home-page "https://codeberg.org/dnkl/fnott")
(synopsis "Keyboard driven and lightweight Wayland notification daemon") (synopsis "Keyboard driven and lightweight Wayland notification daemon")
(description "Fnott is a keyboard driven and lightweight notification daemon (description "Fnott is a keyboard driven and lightweight notification daemon
@ -2049,7 +2049,7 @@ started automatically on the first call via D-Bus.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
(list wlroots)) (list wlroots-0.18))
(home-page "https://codeberg.org/dwl/dwl") (home-page "https://codeberg.org/dwl/dwl")
(synopsis "Dynamic window manager for Wayland") (synopsis "Dynamic window manager for Wayland")
(description (description
@ -2244,7 +2244,7 @@ XDG-Output for wlclock to work.")
(define-public wlroots (define-public wlroots
(package (package
(name "wlroots") (name "wlroots")
(version "0.18.2") (version "0.19.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2253,7 +2253,7 @@ XDG-Output for wlclock to work.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw")))) (base32 "1w3nlrvy7625jh4f0l923f7irywzfdashcw5hbf8jq9kpjhpm323"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:phases (list #:phases
@ -2302,6 +2302,24 @@ Wayland compositor")
modules for building a Wayland compositor.") modules for building a Wayland compositor.")
(license license:expat))) ; MIT license (license license:expat))) ; MIT license
;; Allow packages refering to stable wlroots version, because
;; wlroots updates are backward incompatible.
(define-public wlroots-0.19 wlroots)
(define-public wlroots-0.18
(package
(inherit wlroots)
(version "0.18.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
(commit version)))
(file-name (git-file-name "wlroots" version))
(sha256
(base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw"))))))
(define-public wlroots-0.17 (define-public wlroots-0.17
(package (package
(inherit wlroots) (inherit wlroots)
@ -2450,7 +2468,7 @@ narrow the items to those matching the tokens in the input.")
pcre2 pcre2
swaybg swaybg
wayland wayland
wlroots)) wlroots-0.18))
(native-inputs (native-inputs
(cons* linux-pam mesa pkg-config scdoc wayland-protocols (cons* linux-pam mesa pkg-config scdoc wayland-protocols
(if (%current-target-system) (if (%current-target-system)
@ -2489,7 +2507,7 @@ narrow the items to those matching the tokens in the input.")
scenefx scenefx
swaybg swaybg
wayland wayland
wlroots)) wlroots-0.18))
(home-page "https://github.com/WillPower3309/swayfx") (home-page "https://github.com/WillPower3309/swayfx")
(synopsis "Sway Fork with extra options and effects") (synopsis "Sway Fork with extra options and effects")
(description (description
@ -3936,7 +3954,7 @@ read and write, and compatible with JSON.")
(define-public labwc (define-public labwc
(package (package
(name "labwc") (name "labwc")
(version "0.8.4") (version "0.9.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3945,7 +3963,7 @@ read and write, and compatible with JSON.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1wbza00y2xf2zn34q5c8g5k2dn2xjzbbqmsnjv6c90mh2bbk1q95")))) "0p475vjn9gg314spf89di6i1l2lr9xx59mz4hq4shvbh64hr48pi"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list pkg-config gettext-minimal scdoc)) (list pkg-config gettext-minimal scdoc))
@ -3958,7 +3976,7 @@ read and write, and compatible with JSON.")
libxcb libxcb
libxml2 libxml2
pango pango
wlroots)) wlroots-0.19))
(home-page "https://labwc.github.io") (home-page "https://labwc.github.io")
(synopsis "Window-stacking compositor for Wayland") (synopsis "Window-stacking compositor for Wayland")
(description (description
@ -4624,7 +4642,7 @@ battery efficient---polling is only done when absolutely necessary.")
(define-public wideriver (define-public wideriver
(package (package
(name "wideriver") (name "wideriver")
(version "1.2.0") (version "1.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4633,7 +4651,7 @@ battery efficient---polling is only done when absolutely necessary.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "16i0mzgxn32nrh5ajn0kb4xdwmsjg03amhasxhwyvspar5y4flhg")))) (base32 "1ljl1finfajinvrj073dbwk9vm352jwr6rm9vn5fkrqi296s1n8x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -4644,7 +4662,7 @@ battery efficient---polling is only done when absolutely necessary.")
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(native-inputs (list pkg-config cmocka)) (native-inputs (list pkg-config cmocka))
(inputs (list wayland wayland-protocols wlroots)) (inputs (list wayland wayland-protocols))
(home-page "https://github.com/alex-courtis/wideriver") (home-page "https://github.com/alex-courtis/wideriver")
(synopsis "A set of riverWM layouts") (synopsis "A set of riverWM layouts")
(description (description
@ -4695,7 +4713,7 @@ configure input, and customize Wayfire plugins.")
mesa mesa
libxkbcommon libxkbcommon
libdrm libdrm
wlroots)) wlroots-0.18))
(home-page "https://github.com/wlrfx/scenefx") (home-page "https://github.com/wlrfx/scenefx")
(synopsis "Drop-in replacement for the wlroots scene API") (synopsis "Drop-in replacement for the wlroots scene API")
(description (description

View file

@ -53,7 +53,7 @@
;;; Copyright © 2021 ikasero <ahmed@ikasero.com> ;;; Copyright © 2021 ikasero <ahmed@ikasero.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2025 jgart <jgart@dismail.de> ;;; Copyright © 2021, 2025 jgart <jgart@dismail.de>
;;; Copyright © 2022, 2024 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com> ;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com>
;;; Copyright © 2022, 2023 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2022, 2023 Wamm K. D. <jaft.r@outlook.com>
@ -633,14 +633,16 @@ avoiding password prompts when X11 forwarding has already been setup.")
(define-public libxkbcommon (define-public libxkbcommon
(package (package
(name "libxkbcommon") (name "libxkbcommon")
(version "1.6.0") (version "1.11.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-" (uri (git-reference
version ".tar.xz")) (url "https://github.com/xkbcommon/libxkbcommon")
(commit (string-append "xkbcommon-" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0awwz5pg9x5bj0d7dpg4a7bd4gl6k55mlpxwb12534fkrpn19p0f")))) "1swa6rf63c0wi0qq5r661g63yk2iwa9l66148078xkrwcf05sp91"))))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
@ -652,9 +654,16 @@ avoiding password prompts when X11 forwarding has already been setup.")
xkeyboard-config)) xkeyboard-config))
(native-inputs (native-inputs
(append (append
(list bison doxygen pkg-config python (list bison
doxygen
pkg-config
python
;; wayland-scanner is required at build time. ;; wayland-scanner is required at build time.
wayland) wayland
;; Xvfb for tests.
xorg-server-for-tests
;; xkbcomp for tests.
xkbcomp)
(if (%current-target-system) (if (%current-target-system)
(list pkg-config-for-build) (list pkg-config-for-build)
'()))) '())))
@ -666,7 +675,8 @@ avoiding password prompts when X11 forwarding has already been setup.")
%build-inputs "share/X11/xkb")) %build-inputs "share/X11/xkb"))
(string-append "-Dx-locale-root=" (string-append "-Dx-locale-root="
(search-input-directory (search-input-directory
%build-inputs "share/X11/locale"))) %build-inputs "share/X11/locale"))
"-Denable-docs=true")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'install 'move-doc (add-after 'install 'move-doc
@ -695,41 +705,6 @@ X11 (yet).")
"See 'COPYING' in the distribution.")) "See 'COPYING' in the distribution."))
(properties '((cpe-name . "xkbcommon"))))) (properties '((cpe-name . "xkbcommon")))))
(define-public libxkbcommon-1.5
(package
(inherit libxkbcommon)
(version "1.5.0")
(source (origin
(inherit (package-source libxkbcommon))
(method url-fetch)
(uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
version ".tar.xz"))
(sha256
(base32
"05z08rpa464x8myjxddhix7jp9jcmakd7xrybx4hz8dwpg2123sn"))))))
(define-public libxkbcommon-1.8
(package
(inherit libxkbcommon)
(version "1.8.1")
(source (origin
(inherit (package-source libxkbcommon))
(method git-fetch)
(uri (git-reference
(url "https://github.com/xkbcommon/libxkbcommon")
(commit (string-append "xkbcommon-" version))))
(file-name (git-file-name (package-name libxkbcommon) version))
(sha256
(base32
"0fz6mf99lyp7x6g6v33210hhpykbg32fjmckyvxfpd805cza0xrj"))))
(arguments
(substitute-keyword-arguments (package-arguments libxkbcommon)
((#:configure-flags flags #~(list))
#~(cons "-Denable-docs=true" #$flags))))
(native-inputs (modify-inputs (package-native-inputs libxkbcommon)
(append xorg-server ;; Xvfb for tests
xkbcomp))))) ;; xkbcomp for tests
(define-public libfakekey (define-public libfakekey
(package (package
(name "libfakekey") (name "libfakekey")
@ -902,31 +877,29 @@ typing tool (@code{wtype}, @code{xdotool}, etc.), or via standard output.")
(define-public pixman (define-public pixman
(package (package
(name "pixman") (name "pixman")
(version "0.42.2") (version "0.46.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.cairographics.org/releases/pixman-" (uri (string-append "https://www.cairographics.org/releases/pixman-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) (base32 "072rd8sd454rzybmxx90fdzvabzvx0pr57y745qfwnxxqgml976h"))
(patches (search-patches "pixman-CVE-2016-5296.patch")))) (patches (search-patches "pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags (list
(list "--disable-static" #:configure-flags
"--enable-timers" #~(list "-Dtimers=true"
"--enable-gnuplot" "-Dgnuplot=true"
,@(if (target-arm32?) #$@(if (target-arm32?)
`("--disable-arm-simd") '("-Darm-simd=false")
'())))) '()))))
(native-inputs (list pkg-config))
(inputs (list libpng zlib))
(synopsis "Low-level pixel manipulation library") (synopsis "Low-level pixel manipulation library")
(description "Pixman is a low-level software library for pixel (description "Pixman is a low-level software library for pixel
manipulation, providing features such as image compositing and trapezoid manipulation, providing features such as image compositing and trapezoid
rasterisation.") rasterisation.")
(home-page "http://www.pixman.org/") (home-page "https://www.pixman.org/")
(license license:expat))) (license license:expat)))
(define-public libdrm (define-public libdrm

View file

@ -37,6 +37,7 @@
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -188,11 +189,10 @@ binary extension of XML for the purpose of storing and manipulating data in a
hierarchical form with variable field lengths.") hierarchical form with variable field lengths.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
;; Note: Remember to check python-libxml2 when updating this package.
(define-public libxml2 (define-public libxml2
(package (package
(name "libxml2") (name "libxml2")
(version "2.9.14") (version "2.14.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libxml2/" (uri (string-append "mirror://gnome/sources/libxml2/"
@ -200,7 +200,8 @@ hierarchical form with variable field lengths.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0")))) "0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w"))
(patches (search-patches "python-libxml2-utf8.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "static" "doc")) (outputs '("out" "static" "doc"))
(arguments (arguments
@ -218,6 +219,13 @@ hierarchical form with variable field lengths.")
(string-append "/bin/" file)) ".")) (string-append "/bin/" file)) "."))
'("config.guess" "config.sub"))))) '("config.guess" "config.sub")))))
#~()) #~())
(add-before 'configure 'configure-python
(lambda _
(substitute* "python/setup.py.in"
;; The build system ignores C_INCLUDE_PATH & co, so
;; provide the absolute directory name.
(("/opt/include")
(string-append #$output "/include/libxml2")))))
(add-after 'install 'use-other-outputs (add-after 'install 'use-other-outputs
(lambda _ (lambda _
(let ((doc (string-append #$output:doc "/share/")) (let ((doc (string-append #$output:doc "/share/"))
@ -245,7 +253,7 @@ hierarchical form with variable field lengths.")
(native-inputs (append (if (target-loongarch64?) (native-inputs (append (if (target-loongarch64?)
(list config) (list config)
'()) '())
(list perl))) (list perl pkg-config python-minimal)))
(native-search-paths (native-search-paths
(list $SGML_CATALOG_FILES $XML_CATALOG_FILES)) (list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
(search-paths native-search-paths) (search-paths native-search-paths)
@ -254,57 +262,23 @@ hierarchical form with variable field lengths.")
project (but it is usable outside of the Gnome platform).") project (but it is usable outside of the Gnome platform).")
(license license:x11))) (license license:x11)))
(define-public libxml2-next ;; This is an old version (the most recent that works) of libxml2 solely for
;; building librsvg-2.40.
;; XXX: Remove once Rust (and thus newer librsvg) is supported on all
;; platforms.
(define-public libxml2-2.11
(hidden-package
(package (package
(inherit libxml2) (inherit libxml2)
(name "libxml2") (version "2.11.9")
(version "2.14.5")
(source (origin (source (origin
(method url-fetch) (inherit (package-source libxml2))
(uri (string-append "mirror://gnome/sources/libxml2/" (uri (string-append "mirror://gnome/sources/libxml2/"
(version-major+minor version)"/libxml2-" (version-major+minor version)"/libxml2-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03")))) "17w0a622466k2hi5nln276la6rzfr9xaip3lqj71hmyvxyhmf0bq")))))))
(native-inputs (modify-inputs (package-native-inputs libxml2)
(append pkg-config
python-minimal)))))
(define-public libxml2-next/fixed
(package
(inherit libxml2)
(properties '((hidden? . #t)))
(name "libxml2")
(version "2.14.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libxml2/"
(version-major+minor version)"/libxml2-"
version ".tar.xz"))
(sha256
(base32
"0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03"))))
(arguments
(substitute-keyword-arguments (package-arguments libxml2-next)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'symlink-hardcoded-lib-for-grafts
(lambda _
(let ((lib (string-append #$output "/lib/libxml2.so")))
;; XXX: When grafting, we need to reproduce the file paths to
;; the libraries too.
(symlink (string-append lib ".16")
(string-append lib ".2")))))))))
(native-inputs (modify-inputs (package-native-inputs libxml2)
(append pkg-config
python-minimal)))))
(define-public libxml2-next-for-grafting
(package
(inherit libxml2)
(replacement libxml2-next/fixed)
(properties '((hidden? . #t)))))
(define-public libxml2-xpath0 (define-public libxml2-xpath0
(package/inherit libxml2 (package/inherit libxml2
@ -320,34 +294,7 @@ provides an @code{--xpath0} option to @command{xmllint} that enables it
to output XPath results with a null delimiter."))) to output XPath results with a null delimiter.")))
(define-public python-libxml2 (define-public python-libxml2
(package/inherit libxml2 (deprecated-package "python-libxml2" libxml2))
(name "python-libxml2")
(source (origin
(inherit (package-source libxml2))
(patches
(append (search-patches "python-libxml2-utf8.patch")
(origin-patches (package-source libxml2))))))
(build-system pyproject-build-system)
(outputs '("out"))
(arguments
(list
;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'configure
(lambda* (#:key inputs #:allow-other-keys)
(chdir "python")
(let ((libxml2-headers (search-input-directory
inputs "include/libxml2")))
(substitute* "setup.py"
;; The build system ignores C_INCLUDE_PATH & co, so
;; provide the absolute directory name.
(("/opt/include")
(dirname libxml2-headers)))))))))
(native-inputs (list python-setuptools))
(inputs (list libxml2))
(synopsis "Python bindings for the libxml2 library")))
(define-public libxlsxwriter (define-public libxlsxwriter
(package (package
@ -394,7 +341,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
(define-public libxslt (define-public libxslt
(package (package
(name "libxslt") (name "libxslt")
(version "1.1.37") (version "1.1.43")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources" (uri (string-append "mirror://gnome/sources"
@ -402,8 +349,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
"/libxslt-" version ".tar.xz")) "/libxslt-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1d1s2bk0m6d7bzml9w90ycl0jlpcy4v07595cwaddk17h3f2fjrs")) "0fhqy01x99iia8306czakxza4spzyn88w4bin4sw5bx57hw6ngas"))))
(patches (search-patches "libxslt-generated-ids.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:phases (list #:phases
@ -712,10 +658,11 @@ with XML in Perl. libxml-perl software works in combination with
;; Remove patch with update to version 2.0210. ;; Remove patch with update to version 2.0210.
(patches (search-patches "perl-xml-libxml-fix-function-prototypes.patch")))) (patches (search-patches "perl-xml-libxml-fix-function-prototypes.patch"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments '(#:tests? #f)) ;FIXME: 2 test failures since updating libxml2
(propagated-inputs (propagated-inputs
(list perl-xml-namespacesupport perl-xml-sax)) (list perl-xml-namespacesupport perl-xml-sax))
(inputs (inputs
(list libxml2)) (list libxml2-2.11))
(home-page "https://metacpan.org/release/XML-LibXML") (home-page "https://metacpan.org/release/XML-LibXML")
(synopsis "Perl interface to libxml2") (synopsis "Perl interface to libxml2")
(description "This module implements a Perl interface to the libxml2 (description "This module implements a Perl interface to the libxml2
@ -1256,7 +1203,7 @@ XSL-T processor. It also performs any necessary post-processing.")
"1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq")))) "1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc (propagated-inputs ; according to xmlsec1.pc
(list libxml2-next libxslt)) (list libxml2 libxslt))
(inputs (inputs
(list gnutls libgcrypt libltdl)) (list gnutls libgcrypt libltdl))
(native-inputs (native-inputs
@ -1937,13 +1884,13 @@ because lxml.etree already has its own implementation of XPath 1.0.")
(define-public python-lxml (define-public python-lxml
(package (package
(name "python-lxml") (name "python-lxml")
(version "5.2.2") (version "6.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "lxml" version)) (uri (pypi-uri "lxml" version))
(sha256 (sha256
(base32 "11yvrzlswlh81z6lpmds2is2jd3wkigpwj6mcfcaggl0h64w8bdv")))) (base32 "14064h0pxdsx36nhyjzrw0v16ygz977qf6l0ydnh5p97pwp8hfib"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -1975,19 +1922,13 @@ libxml2 and libxslt.")
(sha256 (sha256
(base32 "03l86qr5xzvz0jcbk669sj8nbw1fjshmf0b7l83gl5cfnx81wm5i")))) (base32 "03l86qr5xzvz0jcbk669sj8nbw1fjshmf0b7l83gl5cfnx81wm5i"))))
(arguments (arguments
(list #:phases (list #:tests? #f ;some tests fail with newer libxml2
#:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'relax-gcc-14-strictness (add-after 'unpack 'relax-gcc-14-strictness
(lambda _ (lambda _
(setenv "CFLAGS" (setenv "CFLAGS"
"-Wno-error=incompatible-pointer-types"))) "-Wno-error=incompatible-pointer-types")))))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(substitute* "src/lxml/tests/test_elementtree.py"
;; AssertionError: Lists differ: [] != [('end', 'element')]
(("def test_simple_xml") "def _do_not_test_simple_xml"))
(invoke "make" "test"))))))))))
(define-deprecated python-lxml-4.7 python-lxml) (define-deprecated python-lxml-4.7 python-lxml)
(export python-lxml-4.7) (export python-lxml-4.7)

View file

@ -44,6 +44,7 @@
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 宋文武 <iyzsong@envs.net> ;;; Copyright © 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 2025 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2025 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -5759,7 +5760,7 @@ Wayland.")
(define-public libx11 (define-public libx11
(package (package
(name "libx11") (name "libx11")
(version "1.8.10") (version "1.8.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5767,7 +5768,7 @@ Wayland.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb")))) "16lspc3bw2pg3jal7zyq6mxmxmmaax0fz6lgh1n4skqjn2dny0ps"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ;8 MiB of man pages + XML "doc")) ;8 MiB of man pages + XML
@ -6202,16 +6203,13 @@ The XCB util-wm module provides the following libraries:
(define-public xinit (define-public xinit
(package (package
(name "xinit") (name "xinit")
(version "1.4.3") (version "1.4.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://xorg/individual/app/xinit-" (uri (string-append "mirror://xorg/individual/app/xinit-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "1ygymifhg500sx1ybk8x4d1zn4g4ywvlnyvqwcf9hzsc2rx7r920"))))
"0npx32mi035xkz26gp7raps5xsq4v7rgayy1q794h4d3lqhryh46"))
(patches
(search-patches "xinit-startx-mcookie-path.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (list libx11 util-linux xorgproto)) (inputs (list libx11 util-linux xorgproto))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))

View file

@ -445,7 +445,7 @@ interface.")
`(,@args #:install-source? #f)) `(,@args #:install-source? #f))
(chdir "..")))))) (chdir ".."))))))
(propagated-inputs (propagated-inputs
(list wlroots (list wlroots-0.18
zig-pixman zig-pixman
zig-wayland zig-wayland
zig-xkbcommon)) zig-xkbcommon))

View file

@ -80,8 +80,10 @@
#:use-module (gnu packages nfs) #:use-module (gnu packages nfs)
#:use-module (gnu packages enlightenment) #:use-module (gnu packages enlightenment)
#:use-module (guix deprecation) #:use-module (guix deprecation)
#:use-module (guix i18n)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (guix utils) #:use-module (guix utils)
@ -147,6 +149,11 @@
accountsservice-service ; deprecated accountsservice-service ; deprecated
cups-pk-helper-service-type cups-pk-helper-service-type
sane-configuration
sane-configuration?
sane-configuration-backends
sane-configuration-sane
sane-service-type sane-service-type
gnome-desktop-configuration gnome-desktop-configuration
@ -1681,6 +1688,38 @@ accountsservice web site} for more information."
;; The '60-libsane.rules' udev rules refers to the "scanner" group. ;; The '60-libsane.rules' udev rules refers to the "scanner" group.
(list (user-group (name "scanner") (system? #t)))) (list (user-group (name "scanner") (system? #t))))
(define (non-empty-list-of-packages? val)
(and (not (null? val)) (list-of-packages? val)))
(define-configuration/no-serialization sane-configuration
(sane
(package sane)
"The package that provides the SANE library.")
(backends
(non-empty-list-of-packages (list sane-backends))
"A list of packages containing SANE backends."))
(define (sane-search-paths config)
(match-record config <sane-configuration> (sane backends)
(let ((backend-union (directory-union "sane-backends" backends)))
(map (match-lambda
(($ <search-path-specification> variable (files))
(cons variable (file-append backend-union "/" files))))
(package-native-search-paths sane)))))
(define* (lift-sane-configuration config #:key warn?)
(if (sane-configuration? config)
config
(begin
(when warn?
(warning (G_ "'sane' service now expects a 'sane-configuration' record~%"))
(when (eq? config sane-backends)
(warning (G_ "'sane-backends' does not include 'hplip' backend anymore. Add it
explicitly when needed.~%"))))
(sane-configuration (backends (list config))))))
(define sane-service-type (define sane-service-type
(service-type (service-type
(name 'sane) (name 'sane)
@ -1688,9 +1727,15 @@ accountsservice web site} for more information."
"This service provides access to scanners @i{via} "This service provides access to scanners @i{via}
@uref{http://www.sane-project.org, SANE} by installing the necessary udev @uref{http://www.sane-project.org, SANE} by installing the necessary udev
rules.") rules.")
(default-value sane-backends-minimal) (default-value (sane-configuration))
(extensions (extensions
(list (service-extension udev-service-type list) (list (service-extension udev-service-type
(lambda (c)
(sane-configuration-backends
(lift-sane-configuration c #:warn? #t))))
(service-extension session-environment-service-type
(lambda (c)
(sane-search-paths (lift-sane-configuration c))))
(service-extension account-service-type (service-extension account-service-type
(const %sane-accounts)))))) (const %sane-accounts))))))
@ -2445,7 +2490,7 @@ applications needing access to be root.")
;; Add udev rules for MTP devices so that non-root users can access ;; Add udev rules for MTP devices so that non-root users can access
;; them. ;; them.
(simple-service 'mtp udev-service-type (list libmtp)) (simple-service 'mtp udev-service-type (list libmtp))
;; Add udev rules for scanners. ;; Add udev rules and default backends for scanners.
(service sane-service-type) (service sane-service-type)
;; Add polkit rules, so that non-root users in the wheel group can ;; Add polkit rules, so that non-root users in the wheel group can
;; perform administrative tasks (similar to "sudo"). ;; perform administrative tasks (similar to "sudo").

View file

@ -64,6 +64,7 @@
#:use-module (gnu packages usb-modeswitch) #:use-module (gnu packages usb-modeswitch)
#:use-module (gnu packages messaging) #:use-module (gnu packages messaging)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages ntp) #:use-module (gnu packages ntp)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages ipfs) #:use-module (gnu packages ipfs)
@ -1307,7 +1308,13 @@ HiddenServicePort ~a ~a~%"
(writable? #t)) (writable? #t))
(file-system-mapping (file-system-mapping
(source torrc) (source torrc)
(target source))) (target source))
;; Transport plugins like the lyrebird
;; webtunnel need X.509 certificates.
(file-system-mapping
(source (file-append nss-certs "/etc/ssl/certs"))
(target "/etc/ssl/certs")))
(map (lambda (plugin) (map (lambda (plugin)
(file-system-mapping (file-system-mapping
(source (tor-plugin-program plugin)) (source (tor-plugin-program plugin))

View file

@ -349,7 +349,7 @@ FILE-SYSTEMS."
("btrfs" => '("btrfs")) ("btrfs" => '("btrfs"))
("iso9660" => '("isofs")) ("iso9660" => '("isofs"))
("jfs" => '("jfs")) ("jfs" => '("jfs"))
("f2fs" => '("f2fs" "crc32_generic")) ("f2fs" => '("f2fs" "crc32_cryptoapi"))
("xfs" => '("xfs")) ("xfs" => '("xfs"))
(else '()))) (else '())))

View file

@ -64,6 +64,7 @@
includedir "/include")) includedir "/include"))
'()) '())
,(string-append "--buildtype=" build-type) ,(string-append "--buildtype=" build-type)
"--wrap-mode=nofallback"
,(string-append "-Dc_link_args=-Wl,-rpath=" ,(string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref outputs "out") "/lib") (assoc-ref outputs "out") "/lib")
,(string-append "-Dcpp_link_args=-Wl,-rpath=" ,(string-append "-Dcpp_link_args=-Wl,-rpath="
@ -75,10 +76,10 @@
(chdir build-dir) (chdir build-dir)
(apply invoke "meson" "setup" args))) (apply invoke "meson" "setup" args)))
(define* (build #:key parallel-build? (define* (build #:key parallel-build? #:allow-other-keys)
#:allow-other-keys)
"Build a given meson package." "Build a given meson package."
(invoke "ninja" "-j" (if parallel-build? (invoke "ninja" "--verbose"
"-j" (if parallel-build?
(number->string (parallel-job-count)) (number->string (parallel-job-count))
"1"))) "1")))

View file

@ -306,7 +306,10 @@ update would trigger a complete rebuild."
(list (resolve-interface mod))) (list (resolve-interface mod)))
(_ (all-modules (%package-module-path) (_ (all-modules (%package-module-path)
#:warn #:warn
warn-about-load-error))))) warn-about-load-error))))
(update-spec (if target-version
(cut update-spec <> target-version #t)
update-spec)))
(map update-spec (map update-spec
(fold-packages (lambda (package result) (fold-packages (lambda (package result)
(if (select? package) (if (select? package)

View file

@ -140,6 +140,7 @@
(lambda (dir) (lambda (dir)
(with-directory-excursion dir (with-directory-excursion dir
(unpack #:source file) (unpack #:source file)
(sync)
(call-with-input-file name get-string-all)))))))) (call-with-input-file name get-string-all))))))))
compressors) compressors)

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017-2021, 2023, 2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017-2021, 2023, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Noé Lopez <noelopez@free.fr> ;;; Copyright © 2024 Noé Lopez <noelopez@free.fr>
;;; ;;;
@ -61,17 +61,6 @@
(define %ar-bootstrap %bootstrap-binutils) (define %ar-bootstrap %bootstrap-binutils)
;;; This is a variant of the RPM package configured so that its database can
;;; be created on a writable location readily available inside the build
;;; container ("/tmp").
(define rpm-for-tests
(package
(inherit rpm)
(arguments (substitute-keyword-arguments (package-arguments rpm)
((#:configure-flags flags '())
#~(cons "--localstatedir=/tmp"
(delete "--localstatedir=/var" #$flags)))))))
(test-begin "pack") (test-begin "pack")
@ -517,14 +506,15 @@
(use-modules (guix build utils)) (use-modules (guix build utils))
(define fakeroot #+(file-append fakeroot "/bin/fakeroot")) (define fakeroot #+(file-append fakeroot "/bin/fakeroot"))
(define rpm #+(file-append rpm-for-tests "/bin/rpm")) (define rpm #+(file-append rpm "/bin/rpm"))
(mkdir-p "/tmp/lib/rpm") (define dbpath (string-append (getcwd) "/var/lib/rpm"))
(mkdir-p dbpath)
;; Install the RPM package. This causes RPM to validate the ;; Install the RPM package. This causes RPM to validate the
;; signatures, header as well as the file digests, which ;; signatures, header as well as the file digests, which
;; makes it a rather thorough test. ;; makes it a rather thorough test.
(mkdir "test-prefix") (mkdir "test-prefix")
(invoke fakeroot rpm "--install" (invoke fakeroot rpm "--dbpath" dbpath "--install"
(string-append "--prefix=" (getcwd) "/test-prefix") (string-append "--prefix=" (getcwd) "/test-prefix")
#$rpm-pack) #$rpm-pack)
@ -532,7 +522,8 @@
(invoke "./test-prefix/bin/guile" "--version") (invoke "./test-prefix/bin/guile" "--version")
;; Uninstall the RPM package. ;; Uninstall the RPM package.
(invoke fakeroot rpm "--erase" "guile-bootstrap") (invoke fakeroot rpm "--dbpath" dbpath
"--erase" "guile-bootstrap")
;; Required so the above is run. ;; Required so the above is run.
(mkdir #$output)))))) (mkdir #$output))))))