Compare commits

...

148 commits

Author SHA1 Message Date
Ada Stevenson
b77f28a0d7
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-23 22:19:15 -04:00
John Kehayias
944b2d4ad8
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-23 22:14:29 -04:00
John Kehayias
b30296428b
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-23 22:14:28 -04:00
John Kehayias
c1989dd411
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-23 22:14:27 -04:00
Liliana Marie Prikler
ef17314475
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-23 22:14:21 -04:00
Liliana Marie Prikler
96c443c12d
gnu: Add gst-rtsp-server.
* gnu/packages/gstreamer.scm (gst-rtsp-server): New variable.

(cherry picked from commit 2605aa6323)
2025-09-23 22:14:20 -04:00
Liliana Marie Prikler
13c9c9e2cd
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-23 22:14:19 -04:00
Liliana Marie Prikler
5695fdf20b
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-23 22:14:18 -04:00
Liliana Marie Prikler
0dd0ecac76
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-23 22:14:17 -04:00
Liliana Marie Prikler
f802bf2331
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-23 22:14:16 -04:00
Liliana Marie Prikler
ad5afca1a2
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-23 22:14:15 -04:00
Liliana Marie Prikler
187dddba80
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-23 22:14:14 -04:00
Liliana Marie Prikler
ab089c8e3a
gnu: gstreamer: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.26.3.

(cherry picked from commit 27ae993a06)
2025-09-23 22:14:13 -04:00
Liliana Marie Prikler
9986b7cd64
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-23 22:14:12 -04:00
John Kehayias
9a17b7ca60
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-23 22:14:11 -04:00
John Kehayias
464023ad9a
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-23 22:14:10 -04:00
John Kehayias
3dcf4d1d8e
gnu: liblangtag: Update to 0.6.7.
* gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.7.

Change-Id: I53a382d3c5784240a941c85f3efc29612655b4df
2025-09-23 22:14:09 -04:00
John Kehayias
fed32ecdf8
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-23 22:14:08 -04:00
John Kehayias
7edbb2937c
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-23 22:14:07 -04:00
John Kehayias
e8b19037a8
gnu: mariadb: Update to 10.11.14.
* gnu/packages/databases.scm (mariadb): Update to 10.11.14.

Change-Id: Iea635acff6b89f9be23f0ce4ba255ef322eb8643
2025-09-23 22:14:06 -04:00
John Kehayias
8391d893fb
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-23 22:14:04 -04:00
John Kehayias
1b41809cbf
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-23 22:14:03 -04:00
Liliana Marie Prikler
94abeb33d0
mesa: Re-enable dependency fallbacks.
* gnu/packages/gl.scm (mesa)[#:configure-flags]: Add “--wrap-mode=nodownload”.

(cherry picked from commit f0b058a541)
2025-09-23 22:14:02 -04:00
John Kehayias
11445763b4
gnu: mesa: Update to 25.2.3.
* gnu/packages/gl.scm (mesa): Update to 25.2.3.

Change-Id: I28cee586fc49ba5aad9fa362260357e96d76977f
2025-09-23 22:14:01 -04:00
Sharlatan Hellseher
9bb44fd30d
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-23 22:14:00 -04:00
Maxim Cournoyer
d1ea32886d
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-23 22:13:59 -04:00
Dariqq
c381ecf8f8
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-23 22:13:58 -04:00
Sergey Trofimov
2d5a5a6f7e
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-23 22:13:57 -04:00
John Kehayias
8c892aaaf8
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-23 22:13:56 -04:00
John Kehayias
656f4d512a
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-23 22:13:55 -04:00
John Kehayias
283f5e972b
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-23 22:13:54 -04:00
John Kehayias
b83ba77e7b
gnu: python-lxml: Update to 6.0.1.
* gnu/packages/xml.scm (python-lxml): Update to 6.0.1.

Change-Id: Iab60f97a74c804e17fd2f2adf326d8a098c06ef0
2025-09-23 22:13:53 -04:00
John Kehayias
5f225ac614
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-23 22:13:52 -04:00
John Kehayias
bee25d710f
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-23 22:13:51 -04:00
John Kehayias
4c983af432
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-23 22:13:50 -04:00
John Kehayias
10a30b2879
gnu: libx11: Update to 1.8.12.
* gnu/packages/xorg.scm (libx11): Update to 1.8.12.

Change-Id: I42986033bde1534e09a0f027c3599ed4142ff9c0
2025-09-23 22:13:49 -04:00
John Kehayias
c4fa062000
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-23 22:13:47 -04:00
John Kehayias
57b2442944
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-23 22:13:46 -04:00
John Kehayias
b66a09c539
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-23 22:13:45 -04:00
John Kehayias
571c10c85b
gnu: wget: Ungraft.
* gnu/packages/wget.scm (wget): Update to 1.25.0.
[replacement]: Remove.
(wget/fixed): Remove.

Change-Id: Ib3798d67bc293295a0480e2db36de98e1ce7edea
2025-09-23 22:13:45 -04:00
John Kehayias
ea1606543e
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-23 22:13:44 -04:00
Maxim Cournoyer
d98a0890aa
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-23 22:13:43 -04:00
Maxim Cournoyer
dd9626dece
gnu: mesa: Update to 25.2.2.
* gnu/packages/gl.scm (mesa): Update to 25.2.2.

Change-Id: Iad91783d151000f6a7e43ce5d59f4b9b38aedc45
2025-09-23 22:13:42 -04:00
Cayetano Santos
e6e3f69338
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-23 22:13:41 -04:00
Cayetano Santos
6285c37dad
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-23 22:13:40 -04:00
Cayetano Santos
4e3f8c0ed9
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-23 22:13:39 -04:00
Cayetano Santos
2d51b77ab8
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-23 22:13:38 -04:00
Cayetano Santos
b173178b45
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-23 22:13:37 -04:00
Cayetano Santos
28c058b165
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-23 22:13:36 -04:00
Cayetano Santos
e3eb2af7a8
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-23 22:13:35 -04:00
Cayetano Santos
2944b896b4
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-23 22:13:34 -04:00
Cayetano Santos
1b9c7e32ef
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-23 22:13:33 -04:00
Cayetano Santos
2c8dfc38fc
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-23 22:13:30 -04:00
Cayetano Santos
7ff28b97bd
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-23 22:13:29 -04:00
John Kehayias
2a421099d4
gnu: mesa: Update to 25.2.1.
* gnu/packages/gl.scm (mesa): Update to 25.2.1.

Change-Id: I4ee0255e6208b282ccca139c56e051a08170e026
2025-09-23 22:13:28 -04:00
John Kehayias
3bf0001fa8
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-23 22:13:27 -04:00
John Kehayias
3aa19045e2
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-23 22:13:26 -04:00
John Kehayias
333115f9bb
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-23 22:13:25 -04:00
John Kehayias
06203f7413
gnu: libinput: Update to 1.29.0.
* gnu/packages/freedesktop.scm (libinput): Update to 1.29.0.

Change-Id: Ib54bd0d7202707852694f875c44c84b90589feac
2025-09-23 22:13:24 -04:00
John Kehayias
05f9440f46
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-23 22:13:23 -04:00
John Kehayias
67cf1cc311
gnu: Add meson-1.8.
* gnu/packages/build-tools.scm (meson-1.8): New variable.

Change-Id: I9895780b41f659d73750519825e7340a1f2911f9
2025-09-23 22:13:22 -04:00
Murilo
113ac9ca84
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-23 22:13:21 -04:00
Murilo
73ca10dbc6
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-23 22:13:20 -04:00
Murilo
ea0515ddaa
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-23 22:13:19 -04:00
John Kehayias
970c2aeae5
gnu: mesa: Update to 25.1.6.
* gnu/packages/gl.scm (mesa): Update to 25.1.6.

Change-Id: I42e6d33411aea3876d84477212f5e21fadcf2605
2025-09-23 22:13:18 -04:00
Philipp Berger
e4861d4218
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-23 22:13:17 -04:00
Maxim Cournoyer
2d3cef3ee9
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-23 22:13:16 -04:00
Maxim Cournoyer
e4a61d98ba
gnu: libplacebo: Update to 7.351.0.
* gnu/packages/video.scm (libplacebo): Update to 7.351.0.

Change-Id: I96b5c43f9269e3ce61390118269dadfcca0f3103
2025-09-23 22:13:15 -04:00
Maxim Cournoyer
9b4411cc8f
gnu: mesa: Update to 25.1.5.
* gnu/packages/gl.scm (mesa): Update to 25.1.5.

Change-Id: Ic05db30a9c4d8ee8c165eb8455c245aa2e2afd85
2025-09-23 22:13:07 -04:00
Maxim Cournoyer
d23fd90115
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-23 22:13:06 -04:00
Maxim Cournoyer
fdabc99137
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-23 22:13:05 -04:00
Maxim Cournoyer
14279c9987
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-23 22:13:04 -04:00
Maxim Cournoyer
82f661c08c
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-23 22:13:03 -04:00
Maxim Cournoyer
bffa5fe56f
gnu: shaderc: Update to 2025.3.
* gnu/packages/vulkan.scm (shaderc): Update to 2025.3.

Change-Id: If5ac7736ba1f32ddd24aaba45e179768aa37558f
2025-09-23 22:13:02 -04:00
Maxim Cournoyer
9ed9adb3fc
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-23 22:13:01 -04:00
Maxim Cournoyer
bd3a4bebc8
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-23 22:13:00 -04:00
Maxim Cournoyer
b143868b81
gnu: glslang: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (glslang): Update to 1.4.313.0.

Change-Id: Ie3a4168dc4d62846b68b9a1f417edebf7224134f
2025-09-23 22:12:59 -04:00
Maxim Cournoyer
5558627ca6
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-23 22:12:58 -04:00
Maxim Cournoyer
1c2f5c7fef
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-23 22:12:57 -04:00
Maxim Cournoyer
6d29c0442e
gnu: wayland-protocols: Update to 1.45.
* gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.45.

Change-Id: I6855e59a86dec111b45c0e87d6e3fabe62880aa9
2025-09-23 22:12:56 -04:00
Jesse Gibbons
c90aff0961
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-23 22:12:55 -04:00
Maxim Cournoyer
4e424143a2
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-23 22:12:54 -04:00
45mg
d8e098fb50
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-23 22:12:53 -04:00
Maxim Cournoyer
dcf870b788
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-23 22:12:52 -04:00
Maxim Cournoyer
9b29b236ab
gnu: ffmpeg: Update to 6.1.2.
* gnu/packages/video.scm (ffmpeg): Update to 6.1.2.

Change-Id: I32ee4ff66f3e8dcf87dbfb373252859bdb1c86d6
2025-09-23 22:12:41 -04:00
Sharlatan Hellseher
896111cf23
gnu: python-asap3: Update to 3.13.9.
* gnu/packages/python-science.scm (python-asap3): Update to 3.13.9.
[arguments] <tests?>: Disable them for now.
[propagated-inputs]: Add python-numpy.
[native-inputs]: Remove python-wheel.

Change-Id: Ifc7bcbb7cd7a2001038a1ae65b59e1da0978a349
2025-09-23 22:03:59 +01:00
Sharlatan Hellseher
045079199a
gnu: python-suntime: Fix tests.
* gnu/packages/astronomy.scm (python-suntime)[source]: Switch to
git-fetch providing tests.
[arguments] <test-flags>: Provide the path to the test file.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: Ia00f4940d6e398996eaa67689ff1d804533d2729
2025-09-23 21:43:00 +01:00
Hugo Buddelmeijer
dc2ba91533
gnu: python-dbus-fast: Update to 2.44.3.
* gnu/packages/python-xyz.scm (python-dbus-fast): Update to 2.44.3.
[source]: Switch to git-fetch; PyPI does not have tests.
[arguments] <test-flags>: Disable tests needing python_codspeed or access dbus.
[native-inputs]: Remove python-wheel; add python-pytest, python-pytest-cov,
python-pytest-asyncio, and python-covdefaults.

Change-Id: I36b16866bd3a7a17b4468db411d60e702d526d69
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-23 21:38:40 +01:00
Sharlatan Hellseher
6892f49689
gnu: python-wxpython: Fix tests.
* gnu/packages/wxwidgets.scm (python-wxpython)[arguments]
<test-backend>: Use 'custom.
<test-flags>: Provide them.
[native-inputs]: Remove python-wheel.

Change-Id: I062b47773737b1aac38847c1b956991a14edbe0e
2025-09-23 21:10:21 +01:00
Sharlatan Hellseher
8bbf7324f3
gnu: python-circe: Disable tests.
* gnu/packages/bioinformatics.scm (python-circe)[arguments] <tests?>:
Tests hang during collection then timeout.
[native-inputs]: Remove python-wheel.

Change-Id: Ibd9adf352c733626627f73ecad01205bcc80a44c
2025-09-23 18:46:53 +01:00
Hugo Buddelmeijer
5b24f580a0
gnu: qpageview: Update to 1.0.1.
* gnu/packages/image-viewers.scm (qpageview): Update to 1.0.1.
[build-system]: Switch to pyproject-build-system.
[inputs]: Remove python-pyqt and qtbase-5; add python-pyqt-6 and qtbase.
[native-inputs]: Add python-hatchling.
[synopsis, description]: Replace Qt5 by Qt.

Change-Id: I7b316a38d2d90359725417f068e6ba84c7345091
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-23 17:10:49 +02:00
Sharlatan Hellseher
32f6942001
gnu: python-google-pasta: Fix tests.
* gnu/packages/python-xyz.scm (python-google-pasta)[native-inputs]:
Remove python-wheel; add python-pytest.

Change-Id: Ie0436d9735aabd02b9f58f17d64e6167cd5d744f
2025-09-23 16:04:22 +01:00
Sharlatan Hellseher
f2a5829a48
gnu: python-google-auth-httplib2: Update to 0.2.0.
* gnu/packages/python-web.scm (python-google-auth-httplib2): Update to 0.2.0.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-six.
[native-inputs]: Remove python-mock; add python-pyparsing and
python-setuptools.

Change-Id: I5f8a3951fcd68bc7633f0450ec706a871c5f4590
2025-09-23 16:01:34 +01:00
Sharlatan Hellseher
2078aeebe0
gnu: vapoursynth: Fix build.
* gnu/packages/video.scm (vapoursynth)[native-inputs]: Remove
python-cython; add python-cython-0.

Change-Id: Iaded25958277d0264f89a4966c9b070b5fae7945
2025-09-23 15:41:21 +01:00
Sharlatan Hellseher
98ff2fbb5b
gnu: urh: Fix bulid.
* gnu/packages/radio.scm (urh)[native-inputs]: Remove python-cython
and python-wheel; add python-cython-0 and python-setuptools.

Change-Id: Ib3420be4077c9f86843e3ba3feb05cb95e80d727
2025-09-23 15:34:26 +01:00
Sharlatan Hellseher
bb0eb543f7
gnu: python-taggd: Switch to pyproject, fix tests.
* gnu/packages/bioinformatics.scm (python-taggd)[build-system]: Switch
to pyproject-build-system.
[arguments] <test-flags>: Move skipping tests options here.
<phases>: Remove 'disable-broken-tests; add 'remove-local-taggd.
[propagated-inputs]: Remove python-setuptools.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I8cd3a72b2469dbb0d53c21f2fda30c0b004a6c8d
2025-09-23 15:27:03 +01:00
Sharlatan Hellseher
aaa761991e
gnu: python-setuptools-declarative-requirements: Update to 1.3.0.
* gnu/packages/python-xyz.scm (python-setuptools-declarative-requirements): Update to 1.3.0.
[arguments] <tests?>: Avoid running tests as they require old no packaged
projects.
[propagated-inputs]: Remove python-toml and python-wheel; add
python-setuptools.
[native-inputs]: Remove python-pytest.

Change-Id: I0c652f0de8e28d8a4b487b117433ac68b64d8efc
2025-09-23 14:39:11 +01:00
Sharlatan Hellseher
c6a4b84e15
gnu: python-setools: Improve package, fix build.
* gnu/packages/selinux.scm (python-setools): Use G-Expressions, fix
indentation, remove trailing #t from lambdas.
[native-inputs]: Remove python-cython; add python-cython-0.

Change-Id: Ib30043915a6895022b32cb818a74aea54d91b6d2
2025-09-23 14:33:20 +01:00
Sharlatan Hellseher
e098877692
gnu: python-scikit-survival: Update to 0.25.0-0.bc4a891.
* gnu/packages/python-science.scm (python-scikit-survival): Update to 0.25.0-0.bc4a891.
[propagated-inputs]: Remove python-importlib-resources.
[native-inputs]: Remove python-black, python-pypa-build,
python-coverage, python-cython-3, python-tomli, and python-tox; add
python-cython.

Change-Id: I49a2e79c8b445f6e7ddc4886641d471a5f06fb98
2025-09-23 14:19:53 +01:00
Sharlatan Hellseher
63de030696
gnu: tombo: Switch to pyproject.
* gnu/packages/bioinformatics.scm (tombo) [build-system]: Switch to
pyproject-build-system.
[native-inputs]: Remove python-cython and python-nose2; add python-cython-0 and
python-setuptools.

Change-Id: Ib647da2feba5f0614428c9b70d7b18532b0a9e1c
2025-09-23 13:47:58 +01:00
Sharlatan Hellseher
c8f792e089
gnu: python-rpy2: Delete sanity-check.
* gnu/packages/statistics.scm (python-rpy2) [arguments] <phases>: Delete
'sanity-check.
[propagated-inputs]: Remove python-six.
[native-inputs]: Remove python-coverage, python-ipython, python-numpy,
python-pandas, python-pytest-cov, and python-wheel.

Change-Id: Iac85261a8236d5b9746671a373da7fd6824c1a70
2025-09-23 13:47:09 +01:00
Sharlatan Hellseher
00dc86225b
gnu: python-pyopengl-accelerate: Update to 3.1.10.
* gnu/packages/python-graphics.scm (python-pyopengl-accelerate): Update to 3.1.10.

Change-Id: I92b6b3ed8b18a5e07c647d209d8aa00840b5f7e9
2025-09-23 13:23:22 +01:00
Sharlatan Hellseher
9ca78db0fe
gnu: python-hdbscan: Update to 0.8.40.
* gnu/packages/machine-learning.scm (python-hdbscan): Update to 0.8.40.
[arguments] <test-flags>: Ignore 3 test files.
<phases>: Add 'pre-check.
[native-inputs]: Remove python-nose, python-pandas, python-networkx, and
python-wheel; add python-numpy.

Change-Id: I38813d1cc16d4e90b5f0875dc93728bb42f4fa5d
2025-09-23 13:13:25 +01:00
Sharlatan Hellseher
58406f8bd0
gnu: python-kivy: Fix build.
* gnu/packages/python-graphics.scm (python-kivy)[native-inputs]:
Remove python-cython; add python-cython-0.

Change-Id: Ic37de9f525576a7a5dd8551c2db215f960c6dcf8
2025-09-23 12:44:49 +01:00
Sharlatan Hellseher
2051a06d5c
gnu: python-pygame-sdl2: Fix build.
* gnu/packages/game-development.scm (python-pygame-sdl2)
[native-inputs]: Remove python-cython; add python-cython-0.

Change-Id: I6b72a665daf0206c61a33fb30f4f775bf3977693
2025-09-23 12:38:15 +01:00
Sharlatan Hellseher
91e92a195d
gnu: python-pybbi: Update to 0.4.1.
* gnu/packages/bioinformatics.scm (python-pybbi): Update to 0.4.1. Use
G-Expressions.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-flags>: Skip tests requiring network access.
<phases>: Use default 'check; add 'remove-local-bbi.
[propagated-inputs]: Remove python-cython, python-pandas, and python-six.
[native-inputs]: Add python-cython, python-pandas, and python-setuptools.

Change-Id: I580999a2aa7ba3511752ba00f3c923a26ab2c426
2025-09-23 12:32:35 +01:00
Sharlatan Hellseher
aaf1f020eb
gnu: python-pillow-simd: Don't inherit from python-pillow.
* gnu/packages/python-xyz.scm (python-pillow-simd): Don't inherit from
python-pillow.
[arguments] <test-flags>: Skip one more test.
[inputs]: Add freetype, lcms, libimagequant, libjpeg-turbo, libraqm,
libtiff, libwebp, openjpeg, and zlib.
[native-inputs]: Add python-check-manifest, python-defusedxml,
python-markdown2, python-olefile, python-packaging, python-pytest,
python-pytest-timeout, python-setuptools, and python-trove-classifiers.

Change-Id: Ie2473266b4d1447ece70b4da12cc17a9e7fbcf4a
2025-09-23 12:21:41 +01:00
Sharlatan Hellseher
bd5b15b61c
gnu: python-pyaes: Disable tests.
* gnu/packages/python-crypto.scm (python-pyaes)[arguments] <tests?>:
Disable for now.
[native-inputs]: Remove python-wheel.

Change-Id: I6b1be9e4dab156ed36ddb2a57b080824f6388f11
2025-09-23 12:11:33 +01:00
Sharlatan Hellseher
c14e797273
gnu: python-js2py: Fix build.
* gnu/packages/python-web.scm (python-js2py) [propagated-inputs]: Remove
python-numpy; add python-six.
[native-inputs]: Remove python-pytest and python-wheel.

Change-Id: I5e18ac4c7eff8de3aa8858021d530b967c1a3529
2025-09-23 12:04:57 +01:00
Sharlatan Hellseher
e090629e6d
gnu: python-memory-allocator: Disable tests.
* gnu/packages/sagemath.scm (python-memory-allocator)[arguments]
<tests?>: No tests provided.
[native-inputs]: Remove python-wheel.

Change-Id: I9568b8847e808ef3f61add0d14d8c2a6aa6a07c1
2025-09-23 11:59:23 +01:00
Sharlatan Hellseher
4beefc0da7
gnu: python-lightning-utilities: Disable tests.
* gnu/packages/machine-learning.scm (python-lightning-utilities)[arguments]
<tests?>: Most tests are broken.
[native-inputs]: Remove python-wheel.

Change-Id: I73e90cadff07d662e43dfced6227f0023382b76c
2025-09-23 11:54:50 +01:00
Sharlatan Hellseher
891a9bd967
gnu: python-gpy: Fix tests.
* gnu/packages/machine-learning.scm (python-gpy)[arguments]
<test-flags>: Ignore 2 test files.

Change-Id: Ic529f0e913aaa7977503476f812c1d1293f5d2fc
2025-09-23 11:54:16 +01:00
Sharlatan Hellseher
b2aafa488e
gnu: python-yt-astro-analysis: Update to 1.1.4.
* gnu/packages/astronomy.scm (python-yt-astro-analysis): Update to 1.1.4.
[native-inputs]: Remove python-tomli, and python-wheel.

Change-Id: I877d19cb921b39970fb6125cad4a5055f4547c2f
2025-09-23 11:43:37 +01:00
Sharlatan Hellseher
8fa52bb06b
gnu: onionshare-cli: Don't check wheel in sanity check.
python-wheel is less likely required during runtime at all, adjust
relaxation and remove it from native inputs completely.

* gnu/packages/tor.scm (onionshare-cli)[phases]{relax-requirements}:
Remove check for wheel package
[native-inputs]: Remove python-wheel; add python-setuptools.

Change-Id: Ifa6af72d70af364f744e93f84820d00bff6fd267
2025-09-23 10:28:50 +01:00
Sharlatan Hellseher
c9a466428a
gnu: python-efl: Fix bulid.
* gnu/packages/enlightenment.scm (python-efl)[native-inputs]: Remove
python-cython; add python-cython-0.

Change-Id: I6899a268a0019774709e1e318ccf3966239e7098
2025-09-23 10:16:22 +01:00
Sharlatan Hellseher
413e1baeeb
gnu: python-yt: Skip some tests.
* gnu/packages/astronomy.scm (python-yt)[arguments]<test-flags>: Skip
one more test which fails on deprecation, ignore some documentation
tests.

Change-Id: I231adf3a785e8340523e4d2bf7291f8f13ffc116
2025-09-23 10:15:39 +01:00
Sharlatan Hellseher
9c86a5c9dd
gnu: python-txacme: Update to 0.9.3-0.ac18f92, fix build.
* gnu/packages/python-xyz.scm (python-txacme): Update to 0.9.3-0.ac18f92.
[source]: Switch to git-fetch and use the latest commit from trunk
branch.
[arguments] <test-backend>: Use 'custom.
<test-flags>: Provide option to run tests with twisted.
[native-inputs]: Remove python-fixtures, python-hypothesis, python-mock,
python-service-identity, python-testrepository, python-testscenarios,
and python-testtools; add python-setuptools.

Change-Id: Ifd7feb33bbca051e61f9eddf7b6e1a5026ec5568
2025-09-23 09:59:44 +01:00
Sharlatan Hellseher
ba549e727b
gnu: breezy: Fix build with gcc-14.
* gnu/packages/version-control.scm (breezy)[arguments] <phases>: Add
'relax-gcc-14-strictness.
[phases]{check}: Skip one more test.
[native-inputs]: Remove python-cython; add python-cython-0.

Change-Id: Ibdaf1851d49b01e1a7f7c168ca9962e92155cfe7
2025-09-23 09:11:40 +01:00
Sharlatan Hellseher
777bb5ad05
gnu: python-mando: Update to 0.8.2.
* gnu/packages/python-xyz.scm (python-mando): Update to 0.8.2. Improve
style.
[bulid-system]: Switch to pyproject-bulid-system.
[arguments]: Drop all.
[propagated-inputs]: Remove python-rst2ansi and python-six.
[native-inputs]: Add python-setuptools.

Change-Id: I2ef5ca1c19e209404491be4a4fd616080d6ca744
2025-09-23 08:37:22 +01:00
Sharlatan Hellseher
21c0edc37c
gnu: python-green: Fix tests.
* gnu/packages/python-check.scm (python-green): Rework custom phases.
[arguments] <test-flags>: Add portion of tests.
[phases]{check}: Run tests with installed "green" command.
[native-inputs]: Remove python-mypy, python-testtools, and python-wheel.

Change-Id: Ifaf4507825ecfdd924abaa391db1c876500735ca
2025-09-23 08:34:00 +01:00
Sharlatan Hellseher
82539653d7
gnu: python-engineio: Update to 4.12.2.
* gnu/packages/python-web.scm (python-engineio): Update to 4.12.2.
[propagated-inputs]: Remove python-tornado.
[native-inputs]: Remove python-wheel; add python-pytest-asyncio and python-tornado.

Change-Id: I29e6bbc8ebcd3734a76fab524bd6958c6360d355
2025-09-22 22:34:45 +01:00
Hugo Buddelmeijer
e5e7af6c49
gnu: python-colormath2: Fix tests.
* gnu/packages/python-xyz.scm (python-colormath2): Fix tests.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-pytest; add python-nose2.

Change-Id: I969d0271cc9d7cdb9a662e0a007f2c895a331ace
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 22:16:46 +01:00
Sharlatan Hellseher
bf50016eae
gnu: python-grpcio-tools: Disable tests.
* gnu/packages/rpc.scm (python-grpcio-tools)[argumetns] <tests?>: No
tests in PyPI archive.
[native-inputs]: Remove python-wheel.

Change-Id: I61dc4de8327dfdbeee4aca8a44b362b84ea271a7
2025-09-22 22:09:59 +01:00
Sharlatan Hellseher
46773999d9
gnu: python-cykhash: Disalbe tests.
* gnu/packages/python-xyz.scm (python-cykhash)[arguments] <tests?>: No
tests in PyPI, git does not provide 2.0.1 tag or any newer.
[native-inputs]: Remove python-wheel.

Change-Id: Id356556121023a1ad3077d190d0f153de903a91a
2025-09-22 22:09:10 +01:00
Sharlatan Hellseher
67b0aaaa74
gnu: python-google-auth: Update to 2.40.3.
* gnu/packages/python-web.scm (python-google-auth): Update to 2.40.3.
[propagated-inputs]: Remove python-cachetools; add python-cachetools-5.

Change-Id: Ie31e53b04df90fcdc6a730dbace042b5ca33b329
2025-09-22 21:50:54 +01:00
Sharlatan Hellseher
a03293ac50
gnu: Add python-cachetools-5.
* gnu/packages/python-xyz.scm (python-cachetools-5): New variable.

Change-Id: I88a91b87f89f1ae49e251fba316f1edaad77d121
2025-09-22 21:50:52 +01:00
Sharlatan Hellseher
a54fa374f9
gnu: alot: Update to 0.11, fix build.
* gnu/packages/mail.scm (alot): Update to 0.11. Improve package style.
[buld-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
<phases>: Remove 'fix-tests, disable-failing-tests; add
'relax-requirements.
[inputs]: Remove python-service-identity.
[native-inputs]: Remove python-mock; add python-setuptools.

Change-Id: I824e0f5c07739f2f69c037f56043824948638d13
2025-09-22 21:34:12 +01:00
Nicolas Graves
f0f35ff8a3
gnu: python-socks: Update to 2.7.2.
* gnu/packages/python-web.scm (python-socks): Update to 2.7.2.
[source]: Switch to git-fetch.
[native-inputs]: Add python-pytest-trio.  Remove python-wheel.

Change-Id: I0e75b01fb350d964997d5d3a6d8e8e6a1dcbcd67
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:21 +01:00
Nicolas Graves
5ce1e4c0fa
gnu: python-reretry: Fix tests.
* gnu/packages/python-xyz.scm (python-reretry)
[source]: Switch to git-fetch.
[native-inputs]: Add python-pytest, python-pytest-asyncio.  Remove
python-setuptools.

Change-Id: I559f5d00d8093fd468a308f3b8588a75c0f75161
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:21 +01:00
Nicolas Graves
ebbcd92f00
gnu: python-treelib: Remove python-six properly.
The package still used python-six.  Luckily a PR was ready for its
removal.

* gnu/packages/python-xyz.scm (python-treelib)[source]: Add patch.
* gnu/packages/patches/python-treelib-remove-python2-compat.patch: Add file.
* gnu/local.mk: Record patch.

Change-Id: I91a37770391cc72f158ade5b9619e80ab9a36bc7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:21 +01:00
Nicolas Graves
9b2381a5ce
gnu: python-qnorm: Update to 0.9.0.
* gnu/packages/python-xyz.scm (python-qnorm): Update to 0.9.0.
[arguments]: Remove them.
[propagated-inputs]: Add python-tables, python-pyarrow,
python-fastparquet.
[description]: Improve style.

Change-Id: I6862c4ddf60938034a39953ecfddde4b839705b2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:21 +01:00
Nicolas Graves
db05dfb1d5
gnu: python-notmuch2: Fix tests.
* gnu/packages/mail.scm (python-notmuch2)[native-inputs]: Add
python-pytest, python-pytest-cov, python-setuptools.

Change-Id: I5678b4565fb31a36484b89acaa66b67e0029b262
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:21 +01:00
Nicolas Graves
d6464a8c60
gnu: python-notmuch: Remove python-wheel native-input.
* gnu/packages/mail.scm (python-notmuch)[native-inputs]: Remove
python-wheel.

Change-Id: I9e2ee28200a2ded84700fcd7fea099f3a1b0574a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
838531e366
gnu: python-mf2py: Update to 2.0.1.
* gnu/packages/python-web.scm (python-mf2py): Update to 2.0.1.
[build-system]: Switch to pyproject-build-system.
[arguments]: Remove them.
[native-inputs]: Add python-poetry-core.
[description]: Improve style.

Change-Id: I43b67d96178314a2efe442ff6fd6ab34865daa5a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
4a01e89f9e
gnu: python-hiro: Fix tests.
* gnu/packages/python-check.scm (python-hiro):
[source]: Switch to git-fetch.
[native-inputs]: Add python-pytest, python-pytest-cov.  Remove
python-wheel.
[description]: Improve style.

Change-Id: I30447c5227e09b76708e2c075639c4e95a8f03ee
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
e4f8c118bc
gnu: python-limits: Update to 5.5.0 and setup tests.
* gnu/packages/python-xyz.scm (python-limits): Update to 5.5.0.
[source]: Switch to git-fetch.
[arguments]<#:tests?, test-flags, phases>: Setup tests.
[native-inputs]: Add python-flaky, python-pytest,
python-pytest-asyncio, python-pytest-benchmark, python-pytest-cov,
python-pytest-lazy-fixtures, python-pytest-xdist, python-setuptools.
[description]: Improve style.

Change-Id: I738eb037a2e90b7cd9492793e1061561ce5f3ffb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
564f406c58
gnu: Add python-valkey.
* gnu/packages/python-xyz.scm (python-valkey): New variable.

Change-Id: I901715e061fe1c86fdfd7873a4fdc738bde06646
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
a8d58a7056
gnu: Add python-etcd3.
* gnu/packages/python-xyz.scm (python-etcd3): New variable.

Change-Id: Ic41bfd08d26c549dcaab4043448fe93a506e7a95
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
b462f091d1
gnu: python-oslo-config: Update to 9.8.0.
* gnu/packages/openstack.scm (python-oslo-config): Update to 9.8.0.
[native-inputs]: Remove python-mypy, python-wheel.

Change-Id: I3ccfb4222383d6eb4af5aedc8207a58a2fc76a31
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
b5dc339bbe
gnu: python-requestsexceptions: Disable tests.
* gnu/packages/openstack.scm (python-requestsexceptions):
[source]: Switch to git-fetch.
[arguments]<#:tests?>: Disable them.
<#:phases>: Add phase 'set-version.
[native-inputs]: Add python-os-testr.  Remove python-wheel.
[synopsis, description]: Improve style.

Change-Id: I9ee0105c2cd7153ecef8dfc38a9ca255a97366ed
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
1a2e469de5
gnu: python-os-testr: Update to 3.0.0-0.0ba674d.
* gnu/packages/openstack.scm (python-os-testr): Update to 3.0.0-0.0ba674d.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Add phase 'set-version.
[native-inputs]: Remove python-wheel.
[home-page]: Use github link.

Change-Id: I403e6a973adc0512c6393bc16e56f3ac96b14211
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
b7232cf8c0
gnu: python-daiquiri: Update to 3.0.1.
* gnu/packages/python-xyz.scm (python-daiquiri): Update to 3.0.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add 'set-version phase.
[native-inputs]: Add python-setuptools.  Remove python-six.
[synopsis, description]: Improve style.

Change-Id: I7d1caed0f59f412a82998fea2c1916b4b67cde83
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:20 +01:00
Nicolas Graves
87eb0c24a7
gnu: python-grpcio: Disable tests.
* gnu/packages/rpc.scm (python-grpcio)
[source]<snippet>: Improve style, importing srfi-26 in <modules>.
[arguments]<#:tests?>: Disable them.
[native-inputs]: Replace python-cython by python-cython-0, remove
python-wheel.
[description]: Improve style.

Change-Id: Ifbf801ee9e54b90cefab17af3cf07f5a11992a46
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:19 +01:00
Nicolas Graves
bd1ba5a740
gnu: python-canopen: Update to 2.4.1.
* gnu/packages/python-xyz.scm (python-canopen): Update to 2.4.1.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel.  Add python-setuptools.

Change-Id: Ie1f49c6ce10d9fb6d3ba90a442c5b1d50f9dc554
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:19 +01:00
Nicolas Graves
409264cf1d
gnu: python-cantools: Update to 40.5.0.
* gnu/packages/python-xyz.scm (python-cantools): Update to 40.5.0.
[native-inputs]: Remove python-wheel.  Add python-freezegun.

Change-Id: I5bbf58d2681dbbe83b215501438908ce2ab2ee79
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:19 +01:00
Nicolas Graves
37ebdbe3dd
gnu: python-can: Update to 4.6.1.
* gnu/packages/python-xyz.scm (python-can): Update to 4.6.1.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Add phase 'set-version.
[native-inputs]: Remove python-codecov, python-coverage,
python-pytest-runner, python-wheel.  Add python-setuptools,
python-setuptools-scm.
[description]: Improve style.

Change-Id: I75d9fa49566d8cb47b34c04f5a7bf67112f2c8ea
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-22 20:41:19 +01:00
Sharlatan Hellseher
4514403f55
gnu: python-gatspy: Disable tests.
* gnu/packages/astronomy.scm (python-gatspy)[arguments] <tests?>: They
depend on Nose test runner.
<test-flags>: Drop them.
<phases>: Remove 'set-HOME.
[native-inputs]: Remove python-pytest and python-wheel.

Change-Id: I9c3d17a1ede19ccaa0b2107860cfd6f48c183e9a
2025-09-22 20:41:16 +01:00
Hugo Buddelmeijer
ea8a6e7bb2
gnu: python-assertpy: Fix tests.
* gnu/packages/python-check.scm (python-assertpy): Fix tests.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel, add python-pytest.

Change-Id: I878498f64bb6b1399c033ee6d33bbf7a1afd47ed
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-22 12:40:07 +02:00
73 changed files with 2112 additions and 2120 deletions

View file

@ -1137,7 +1137,7 @@ dist_patch_DATA = \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.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/curl-CVE-2024-8096.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
@ -1201,6 +1201,7 @@ dist_patch_DATA = \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
@ -1228,6 +1229,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.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/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
@ -1551,6 +1553,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.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-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@ -1601,6 +1604,7 @@ dist_patch_DATA = \
%D%/packages/patches/idris-test-ffi008.patch \
%D%/packages/patches/ilmbase-fix-tests.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/intltool-perl-compatibility.patch \
%D%/packages/patches/inetutils-hurd64.patch \
@ -1672,6 +1676,7 @@ dist_patch_DATA = \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
%D%/packages/patches/libvirt-add-install-prefix.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/lightdm-arguments-ordering.patch \
%D%/packages/patches/lightdm-vnc-ipv6.patch \
@ -1745,6 +1750,7 @@ dist_patch_DATA = \
%D%/packages/patches/libofa-ftbfs-1.diff \
%D%/packages/patches/libofa-curl.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/libksieve-Fix-missing-link-libraries.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
@ -1785,7 +1791,6 @@ dist_patch_DATA = \
%D%/packages/patches/libxcb-path-max.patch \
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.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/lierolibre-check-unaligned-access.patch \
%D%/packages/patches/lierolibre-is-free-software.patch \
@ -2221,6 +2226,7 @@ dist_patch_DATA = \
%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-launcher-config-dir.patch \
%D%/packages/patches/raptor2-libxml2.patch \
%D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/re2c-Use-maximum-alignment.patch \
%D%/packages/patches/reduce-unbundle-libffi.patch \
@ -2426,6 +2432,7 @@ dist_patch_DATA = \
%D%/packages/patches/vtk-7-gcc-11-compat.patch \
%D%/packages/patches/vtk-7-hdf5-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/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \

View file

@ -4233,21 +4233,11 @@ CFITSIO library. Among other things, it can
(sha256
(base32 "1gw2z6x8nikvnw2gkdl70gr81cwczd1pd7v8ry2kjn6k4kssrfav"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These tests require internet access
#~(list "-k" "not test_download_data.py")
#:phases
#~(modify-phases %standard-phases
;; Tests need this
(add-before 'check 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))
;;TODO: Tests depends on Nose, report upstream.
(arguments (list #:tests? #f))
(native-inputs
(list python-pytest
python-setuptools
python-setuptools-scm
python-wheel))
(list python-setuptools
python-setuptools-scm))
(propagated-inputs
(list python-astroml
python-numpy
@ -9044,14 +9034,19 @@ analyze spectrogram data.")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "suntime" version))
(method git-fetch) ; no tests data in the PyPI tarball
(uri (git-reference
(url "https://github.com/SatAgro/suntime")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kyd1r6zcs0jmh5gq74adrnb1h7dfr1mzjq4k4vbngfiga8gfd28"))))
(base32 "145jqwnl8frg49981xcli1l13h73m40gkbnpwa88lhva03j7y1k2"))))
(build-system pyproject-build-system)
(arguments
(list #:test-flags #~(list "tests.py")))
(native-inputs
(list python-setuptools
python-wheel))
(list python-pytest
python-setuptools))
(propagated-inputs
(list python-dateutil))
(home-page "https://github.com/SatAgro/suntime")
@ -9228,6 +9223,9 @@ using (multivariate) polynomials.")
#:build-backend "setuptools.build_meta"
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
;; Failed: 'yield' keyword is allowed in fixtures, but not in
;; tests (test_recipe)
"--ignore=doc/source/cookbook/tests/test_cookbook.py"
"-k" (string-join
;; Tests requiring networking.
(list "not test_load_sample_timeout"
@ -9237,7 +9235,10 @@ using (multivariate) polynomials.")
"test_registry_byte_size_dtype"
"test_registry_byte_size_sign"
;; AssertionError: Arrays are not equal
"test_field_cut_off_axis_octree")
"test_field_cut_off_axis_octree"
;; UserWarning: pkg_resources is deprecated as an
;; API
"test_glue_data_object")
" and not "))
#:phases
#~(modify-phases %standard-phases
@ -9313,13 +9314,13 @@ using (multivariate) polynomials.")
(define-public python-yt-astro-analysis
(package
(name "python-yt-astro-analysis")
(version "1.1.3")
(version "1.1.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yt_astro_analysis" version))
(sha256
(base32 "1fb3sdp6hq2c4c28pd33v9yj14x9l7qizf3y3qpl594qdq1ffmpi"))))
(base32 "0dy96084wvb7ccnnp22b6wacyjzn1n62i4mwq0q7nkp90bzx44a2"))))
(build-system pyproject-build-system)
(arguments
(list
@ -9334,9 +9335,7 @@ using (multivariate) polynomials.")
(native-inputs
(list python-cython
python-pytest
python-setuptools
python-tomli
python-wheel))
python-setuptools))
(propagated-inputs
(list python-h5py
python-numpy

View file

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

View file

@ -13,6 +13,7 @@
;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@ -460,7 +461,13 @@ Makefile, simplifying the entire process for the developer.")
'("t/tags-lisp-space.sh"
;; This test fails, probably a timestamp thing:
;; 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)
(string-append all "exit 77;\n")))))
#$@(if (%current-target-system)

View file

@ -526,8 +526,6 @@ used to apply commands with arbitrarily long arguments.")
"tests/split/fail.sh"
;; These tests error
"tests/dd/nocache.sh"
;; These tests can intermitently fail on btrfs
"tests/cp/reflink-auto.sh"
;; These tests fail
"tests/cp/sparse.sh"
"tests/cp/special-f.sh"
@ -573,6 +571,10 @@ used to apply commands with arbitrarily long arguments.")
(("(^| )main *\\(.*" all)
(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"
;; fails on filesystems where inotify cannot be used,
;; more info in #47935

View file

@ -4991,11 +4991,11 @@ long-read sequencing data.")
(list lapack openblas))
(native-inputs
(list python-cython
python-setuptools
python-pybiomart
python-wheel))
python-setuptools))
(arguments
(list
#:tests? #f ;XXX: tests hangs during collection
#:phases
'(modify-phases %standard-phases
;; Numba needs a writable dir to cache functions.
@ -12167,20 +12167,23 @@ interpretation.")
(snippet
'(for-each delete-file
(find-files "taggd" "\\.c$")))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; AssertionError: 0 is not true : Running Normal BAM test failed.
#~(list "-k" "not test_normal_bam_run")
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "tests/taggd_demultiplex_test.py"
(("def test_normal_bam_run")
"def _disabled_test_normal_bam_run")))))))
#~(modify-phases %standard-phases
(add-before 'check 'remove-local-taggd
(lambda _
;; This would otherwise interfere with finding the installed
;; taggd when running tests.
(delete-file-recursively "taggd"))))))
(propagated-inputs
(list python-numpy python-pysam python-setuptools))
(list python-numpy python-pysam))
(native-inputs
(list python-cython))
(list python-cython python-pytest python-setuptools))
(home-page "https://github.com/SpatialTranscriptomicsResearch/taggd")
(synopsis "Genetic barcode demultiplexing")
(description "This package provides TagGD barcode demultiplexing utilities
@ -23602,7 +23605,7 @@ The output is in SAM format.")
#$(this-package-input "libxml2")
"/include/libxml2"))))
(propagated-inputs
(list libxml2-next))
(list libxml2))
(native-inputs
(list check swig))
(home-page "https://sbml.org/Software/libSBML")
@ -24216,11 +24219,11 @@ sequence motif analysis.")
(sha256
(base32
"1023hadgcsgi53kz53ql45207hfizf9sw57z0qij3ay1bx68zbpm"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
'(#:tests? #false)) ;no tests
(native-inputs
(list python-cython python-nose2))
(list python-cython-0 python-setuptools))
;; The package mainly consists of a command-line tool, but also has a
;; Python-API. Thus these must be propagated.
(propagated-inputs
@ -24323,34 +24326,47 @@ data from @file{.hic} files. This package provides Python bindings.")
(define-public python-pybbi
(package
(name "python-pybbi")
(version "0.3.0")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pybbi" version))
(sha256
(base32
"1hvy2f28i2b41l1pq15vciqbj538n0lichp8yr6413jmgg06xdsk"))))
(build-system python-build-system)
(base32 "0p1s6y9f33wzmvxdhfg9b37sas2kghnmvkfnb317aiad1p6ks6ba"))))
(build-system pyproject-build-system)
(arguments
`(#:tests? #false ; tests require network access
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-cc
(lambda _ (setenv "CC" "gcc")))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(copy-recursively "tests" "/tmp/tests")
(with-directory-excursion "/tmp/tests"
(invoke "python" "-m" "pytest" "-v"))))))))
(list
#:test-flags
#~(list "-k" (string-join
;; Network is required to run these tests.
(list "not test_aws_403_redirect"
"test_chromsizes"
"test_fetch_remote"
"test_fetch_remote_https"
"test_sigs")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-cc
(lambda _ (setenv "CC" #$(cc-for-target))))
(add-before 'check 'remove-local-bbi
(lambda _
;; This would otherwise interfere with finding the installed bbi
;; when running tests.
(delete-file-recursively "bbi"))))))
(native-inputs
(list pkg-config python-pkgconfig python-pytest))
(list pkg-config
python-cython
python-pandas
python-pkgconfig
python-pytest
python-setuptools))
(inputs
(list libpng openssl zlib))
(list libpng
openssl
zlib))
(propagated-inputs
(list python-cython python-numpy python-pandas python-six))
(list python-numpy))
(home-page "https://github.com/nvictus/pybbi")
(synopsis "Python bindings to UCSC Big Binary file library")
(description

View file

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

View file

@ -12,6 +12,7 @@
;;; Copyright © 2025 Lukas Gradl <lgradl@posteo.net>
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;;
;;; 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
(package
(name "cups-minimal")
(version "2.4.9")
(version "2.4.14")
(source
(origin
(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.
(file-name (git-file-name "cups" version))
(sha256
(base32 "08wjd1flyaslhnwvxl39403qi3g675rk532ysiyk6cda4r8ks1g1"))
(patches (search-patches "cups-minimal-Address-PPD-injection-issues.patch"))))
(base32 "1dk5salizxy1qm19gw93ffdd34hsn1cd4s57nwl7nfhwwirkiri2"))
(patches (search-patches "cups-relax-root-ownership-check.patch"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View file

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

View file

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

View file

@ -243,7 +243,7 @@ object or archive file), @command{eu-strip} (for discarding symbols),
(list pkg-config texinfo python-sphinx python))
(propagated-inputs
(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)")
(description
"@dfn{ABIGAIL} stands for the Application Binary Interface Generic

View file

@ -158,7 +158,8 @@
"emacs-native-comp-driver-options.patch"
"emacs-native-comp-fix-filenames.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)))
(snippet
'(with-directory-excursion "lisp"

View file

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

View file

@ -433,7 +433,7 @@ embedded systems.")
(delete-file "tests/ecore/test_09_file_download.py")
(delete-file "tests/ecore/test_11_con.py"))))))
(native-inputs
(list pkg-config python-cython))
(list pkg-config python-cython-0))
(inputs
(list efl python-dbus python-packaging))
(home-page "https://www.enlightenment.org/")

View file

@ -676,7 +676,7 @@ freedesktop.org project.")
;; Updating this will rebuild over 700 packages through libinput-minimal.
(package
(name "libinput")
(version "1.26.2")
(version "1.29.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -685,7 +685,7 @@ freedesktop.org project.")
(file-name (git-file-name name version))
(sha256
(base32
"1zwwq7a0a6yznc6jxhp6gb50yw5vpfkvgbrabrpc5pwldpckfbrg"))))
"1kgr18p7n9bvim9bx24jbr5nwp6icla3bgzfskr04f68mirmx561"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")
@ -732,21 +732,6 @@ other applications that need to directly deal with input devices.")
"-Ddebug-gui=false" ;requires gtk+@3
,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
(package
(name "libei")
@ -1453,7 +1438,7 @@ in and for C++.")
(define-public wayland
(package
(name "wayland")
(version "1.23.1")
(version "1.24.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/" name
@ -1461,12 +1446,11 @@ in and for C++.")
name "-" version ".tar.xz"))
(sha256
(base32
"1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6"))))
"0dh5bldg24ajxz7xmylwm01nmj572x1vb0ya9qrppmhsl23j92c2"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
(list #:parallel-tests? #f
#:phases
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'move-doc
(lambda _
@ -1504,7 +1488,7 @@ fullscreen) or other display servers.")
(define-public wayland-protocols
(package
(name "wayland-protocols")
(version "1.44")
(version "1.45")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1513,7 +1497,7 @@ fullscreen) or other display servers.")
(file-name (git-file-name name version))
(sha256
(base32
"1gjhfiah8hkhqlfan2pr8jvf9h8rjkyz79kkxddi8js2q7dy4bbq"))))
"1d2fv41vq75pvgkd3ykjypnp8zv0afv71p36cd91h19lbmwaia8h"))))
(build-system meson-build-system)
(inputs
(list wayland))
@ -2340,7 +2324,7 @@ between protocols to provide a unified interface for applications.")
(inputs (list sqlite))
(propagated-inputs
;; telepathy-logger-0.2.pc refers to all these.
(list libxml2-next telepathy-glib))
(list libxml2 telepathy-glib))
(synopsis "Telepathy logger library")
(home-page "https://telepathy.freedesktop.org/")
(description

View file

@ -1620,7 +1620,7 @@ color switches, and many more, with multiple options to customize.")
(inputs
(list (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
(native-inputs
(list python-cython))
(list python-cython-0))
(home-page "https://www.renpy.org/")
(synopsis "Reimplementation of the Pygame API using SDL2")
(description "Pygame_SDL2 reimplements the Pygame API using SDL2,

View file

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

View file

@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
(version "25.1.3")
(version "25.2.3")
(source
(origin
(method url-fetch)
@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.")
"mesa-" version ".tar.xz")))
(sha256
(base32
"0zxsvly6xjinaicgcf81ycljjjzy3mj0hqwf01b6sdgxnnnnrjzz"))))
"1y5lj9zy2hfvx9ji1rvsjapmzap7mpp5i3pf2yfcpmpica2v5mpj"))))
(build-system meson-build-system)
(propagated-inputs
;; The following are in the Requires.private field of gl.pc.
@ -357,7 +357,6 @@ also known as DXTn or DXTC) for Mesa.")
glslang
libclc
pkg-config
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
python-mako
python-ply
python-pyyaml
@ -406,13 +405,12 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
"-Dglx=dri" ;Thread Local Storage, improves performance
;; "-Dopencl=true"
;; "-Domx=true"
"-Dosmesa=true"
"-Dgallium-xa=enabled"
;; features required by wayland
"-Dgles2=enabled"
"-Dgbm=enabled"
"-Dshared-glapi=enabled"
"--wrap-mode=nodownload" ; XXX: disable
#$@(cond
((target-x86-32?)
@ -439,6 +437,9 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
;; Also enable the tests.
"-Dbuild-tests=true"
;; Re-enable X11 protocol support for the DRI2 extension.
"-Dlegacy-x11=dri2"
"-Dllvm=enabled") ; default is x86/x86_64 only
;; 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"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal libxml2 python-libxml2 python))
(list bash-minimal libxml2 python))
(arguments
(list
#:phases
@ -858,7 +858,7 @@ by GDBus included in Glib.")
pkg-config
vala))
(inputs (list check python python-pygobject))
(propagated-inputs (list glib libxml2-next sqlite))
(propagated-inputs (list glib libxml2 sqlite))
(arguments
(list #:tests? #f ;one test fails.
#:imported-modules `((guix build python-build-system)

View file

@ -443,7 +443,7 @@ services.")
"/share/gtk-doc/html"))))
(native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable
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")
(description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
and other formats.")
@ -1223,7 +1223,7 @@ Library reference documentation.")
;; These inputs are required by the pkg-config file.
(list glib
libsoup
libxml2-next-for-grafting))
libxml2))
(synopsis "WebDav server implementation using libsoup")
(description "PhoDav was initially developed as a file-sharing mechanism for Spice,
but it is generic enough to be reused in other projects,
@ -1433,7 +1433,7 @@ a debugging tool, @command{gssdp-device-sniffer}.")
gsettings-desktop-schemas ;for org.gnome.system.proxy.
gssdp
libsoup
libxml2-next-for-grafting))
libxml2))
(synopsis "PnP API for GNOME")
(description "This package provides GUPnP, an object-oriented framework
for creating UPnP devices and control points, written in C using
@ -2018,7 +2018,7 @@ and system administrators.")
(inputs
(list graphene
gtk+
libxml2-next-for-grafting
libxml2
libxslt
poppler
python-minimal
@ -2068,7 +2068,7 @@ formats like PNG, SVG, PDF and EPS.")
("json-glib" ,json-glib)
("liboauth" ,liboauth)
("libsoup" ,libsoup-minimal-2)
("libxml2" ,libxml2-next-for-grafting)))
("libxml2" ,libxml2)))
(home-page "https://wiki.gnome.org/Projects/libgdata")
(synopsis "Library for accessing online service APIs")
(description
@ -3600,7 +3600,7 @@ XML/CSS rendering engine.")
zlib))
(propagated-inputs
(list glib
libxml2-next-for-grafting))
libxml2))
(synopsis "G Structured File Library")
(description "Libgsf aims to provide an efficient extensible I/O abstraction
for dealing with different structured file formats.")
@ -3802,7 +3802,7 @@ diagrams.")
`(,glib "bin") ; glib-mkenums, etc.
gobject-introspection)) ; g-ir-compiler, etc.
(inputs
(list pango libcroco libxml2))
(list pango libcroco libxml2-2.11))
(propagated-inputs
;; librsvg-2.0.pc refers to all of that.
(list cairo gdk-pixbuf glib))
@ -4215,7 +4215,7 @@ ported to GTK+.")
(inputs
(list python)) ;; needed for the optional libglade-convert program
(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
(list pkg-config))
(home-page "https://developer.gnome.org/libglade")
@ -4252,7 +4252,7 @@ widgets built in the loading process.")
;; Therefore we must do it.
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
;; Mentioned as Required by the .pc file
(propagated-inputs (list libxml2-next-for-grafting))
(propagated-inputs (list libxml2))
(inputs
(list popt pangox-compat libgnome libgnomecanvas libglade))
(native-inputs
@ -4909,7 +4909,7 @@ GLib and GObject, and integrates JSON with GLib data types.")
("libtool" ,libtool)))
(propagated-inputs
;; Required by libxklavier.pc.
(list glib libxml2-next-for-grafting))
(list glib libxml2))
(inputs
(list iso-codes/pinned libxi libxkbfile xkbcomp xkeyboard-config))
(home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
@ -5019,7 +5019,6 @@ files.")
(define-public rest
(package
(replacement rest/fixed)
(name "rest")
(version "0.8.1")
(source (origin
@ -5048,13 +5047,6 @@ claim to be \"RESTful\". It includes convenience wrappers for libsoup and
libxml to ease remote use of the RESTful API.")
(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
(package
(inherit rest)
@ -5208,7 +5200,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
libpsl
nghttp2 ;for pkg-config
`(,nghttp2 "lib")
libxml2-next-for-grafting
libxml2
sqlite
zlib))
(inputs
@ -6016,7 +6008,7 @@ service via the system message bus.")
(list gtk+
gdk-pixbuf
json-glib
libxml2-next-for-grafting
libxml2
libsoup
geocode-glib))
(inputs
@ -6135,7 +6127,7 @@ settings, themes, mouse settings, and startup of other daemons.")
(list intltool
`(,glib "bin") gobject-introspection pkg-config))
(propagated-inputs
(list glib gmime libarchive libgcrypt libxml2-next-for-grafting))
(list glib gmime libarchive libgcrypt libxml2))
(inputs
(list libsoup))
(home-page "https://projects.gnome.org/totem")
@ -8120,7 +8112,7 @@ to display dialog boxes from the commandline and shell scripts.")
libxext
libxfixes
libxkbcommon
libxml2-next-for-grafting
libxml2
libxrandr
mesa
pango
@ -8946,7 +8938,7 @@ the available networks and allows users to easily switch between them.")
(base32 "0gp8irc5ny9i6bw9fp21p8djgksi1s8l5flbn5blisgfpcb2w820"))))
(build-system gnu-build-system)
(propagated-inputs
(list libxml2-next-for-grafting)) ;required by .pc file
(list libxml2)) ;required by .pc file
(native-inputs
(list autoconf
automake
@ -9724,7 +9716,8 @@ easy, safe, and automatic.")
#$output "/lib:"
#$output "/lib/tracker-3.0")
"-Ddocs=false"
"-Dsystemd_user_services=false")
"-Dsystemd_user_services=false"
"--wrap-mode=nodownload") ; XXX: to be disabled
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@ -13883,7 +13876,7 @@ developed with the aim of being used with the Librem 5 phone.")
sqlite
vala))
(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")
(synopsis "Uniform data access")
(description

View file

@ -373,7 +373,7 @@ arrays of data.")
(define-public gstreamer-docs
(package
(name "gstreamer-docs")
(version "1.24.9")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -381,7 +381,7 @@ arrays of data.")
"/gstreamer-docs-" version ".tar.xz"))
(sha256
(base32
"0vb4d35rglvjlj2y9r0nlgankflqw0ql6gwsf4612505sa01mz7s"))))
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -433,7 +433,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -442,7 +442,7 @@ the GStreamer multimedia framework.")
version ".tar.xz"))
(sha256
(base32
"03r6rwmih3nqxrfw9nkhpbwpwp1yf7qw3m2phl6a027mxrmppx7b"))))
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
(build-system meson-build-system)
(arguments
(list #:disallowed-references (list python)
@ -514,7 +514,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -522,7 +522,7 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"1jspg24zlpmg4bxa298v6l8hcaqw27411dj2v16y0g3xj13bkcsv"))))
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
(build-system meson-build-system)
(propagated-inputs
(list glib ;required by gstreamer-sdp-1.0.pc
@ -622,7 +622,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -631,7 +631,7 @@ for the GStreamer multimedia library.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "17vr55pgh2paqi82l5jn841873c2w0lal7kgz2i3qzikzw5yazc9"))))
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
(build-system meson-build-system)
(arguments
(list
@ -742,14 +742,14 @@ model to base your own plug-in on, here it is.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.24.9")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"1aswb97v1ird3rmfcsa32bvp4kgp8r987f83pd1knx8amylzgz1n"))
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
(modules '((guix build utils)))
(snippet
'(begin
@ -813,7 +813,13 @@ model to base your own plug-in on, here it is.")
((".*elements/dtls\\.c.*") "")
;; 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"
;; zxing 1.2.0 seemingly changed the type representation of
;; the EAN_13 structure; disable it.
@ -952,7 +958,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -960,7 +966,7 @@ par compared to the rest.")
(string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32 "1dn33ivfc0rnn545y40303h5z9bm5ca9f8j2czmhbk9q1w8k0ssb"))))
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@ -1009,7 +1015,7 @@ think twice about shipping them.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -1018,7 +1024,7 @@ think twice about shipping them.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0v253lbic7abc9vpb690f80arql10193ljqkzgs03vh8wnd2ws1j"))))
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
(build-system meson-build-system)
(native-inputs (list perl pkg-config python-wrapper ruby))
(inputs (list ffmpeg))
@ -1032,7 +1038,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
(define-public gst-editing-services
(package
(name "gst-editing-services")
(version "1.24.9")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -1040,7 +1046,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
"gst-editing-services-" version ".tar.xz"))
(sha256
(base32
"04khlbw3wy5zr2s246252zrd4hnzv2x36l5avz0lxif6pr9nwl07"))))
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
(build-system meson-build-system)
(arguments
(list
@ -1099,10 +1105,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
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
(package
(name "python-gst")
(version "1.24.9")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -1110,7 +1151,7 @@ binary, but none of the actual plugins.")))
"gst-python-" version ".tar.xz"))
(sha256
(base32
"0bplhfnvsi3l9fmfb346n2dvzi1jrxqpp4kcwiwsrjrlgic1vrl0"))))
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
(build-system meson-build-system)
(arguments
(list
@ -1126,7 +1167,10 @@ binary, but none of the actual plugins.")))
(native-inputs
(list pkg-config python))
(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/")
(synopsis "GStreamer GObject Introspection overrides for Python")
(description

View file

@ -36,7 +36,7 @@
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; 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 Remco van 't Veer <remco@remworks.net>
;;;
@ -613,7 +613,7 @@ diagrams.")
fribidi
glib
gtk
libxml2-next
libxml2
pango
pcre2))
(home-page "https://wiki.gnome.org/Projects/GtkSourceView")
@ -1009,19 +1009,19 @@ application suites.")
(package
(inherit gtk+-2)
(name "gtk+")
(version "3.24.43")
(replacement gtk+/fixed)
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1izky8dxaxp4bg5nii4n58dgpkw79mvmvbkldf04n0qmhmjg013y"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(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"))))
;; There is no "doc" output, because adding gtk-doc here would introduce a
;; dependency cycle with itself.
(outputs '("out" "bin"))
@ -1097,11 +1097,22 @@ application suites.")
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; These tests fail only in the containerized environment, for
;; unknown reasons.
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))))
;; These tests fail only in the containerized environment, for
;; unknown reasons.
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
@ -1128,41 +1139,6 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(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
(package
(name "gtk")
@ -2370,7 +2346,8 @@ information.")
(base32
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
(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)
(arguments
(list

View file

@ -815,7 +815,7 @@ the OpenCV-Python library.")
libpng
(librsvg-for-system)
libtiff
libxml2-next
libxml2
libwebp
matio
openexr

View file

@ -783,7 +783,7 @@ For PDF support, install the @emph{mupdf} package.")
(define-public qpageview
(package
(name "qpageview")
(version "0.6.2")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -792,15 +792,16 @@ For PDF support, install the @emph{mupdf} package.")
(file-name (git-file-name name version))
(sha256
(base32
"0xdhiglzqxyp05blp66l52nbzbpn10hmdm2idhncz6pf7qw16lsw"))))
(build-system python-build-system)
"0h3b7qhmjk1bz7ws7jwa9012wh2yvmk45j21ciyzj28mcjx9ygz4"))))
(build-system pyproject-build-system)
(home-page "https://qpageview.org/")
(synopsis "Page based document viewer widget for Qt5/PyQt5")
(synopsis "Page based document viewer widget for Qt/PyQt")
(inputs
(list python-pyqt qtbase-5))
(list python-pyqt-6 qtbase))
(native-inputs (list python-hatchling))
(description
"@code{qpageview} provides a page based document viewer widget for Qt5
and PyQt5. It has a flexible architecture potentionally supporting many
"@code{qpageview} provides a page based document viewer widget for Qt
and PyQt. It has a flexible architecture potentionally supporting many
formats. Currently, it supports SVG documents, images, and, using the
Poppler-Qt5 binding, PDF documents.")
(license license:gpl3+)))

View file

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

View file

@ -286,7 +286,7 @@ into other word processors.")
(native-inputs
(list cppunit gperf pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg
(list icu4c liblangtag librevenge libxml2-next))
(list icu4c liblangtag librevenge libxml2))
(inputs
(list boost))
(arguments
@ -372,7 +372,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(native-inputs
(list autoconf automake libtool cppunit pkg-config))
(propagated-inputs ;in Requires field of .pkg
(list curl libxml2-next))
(list curl libxml2))
(inputs
(list boost cyrus-sasl openssl))
(arguments
@ -413,7 +413,7 @@ as Alfresco or Nuxeo.")
(native-inputs
(list doxygen gperf perl pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg
(list librevenge libxml2-next))
(list librevenge libxml2))
(inputs
(list boost))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libabw")
@ -467,7 +467,7 @@ CorelDRAW documents of all versions.")
(native-inputs
(list cppunit doxygen gperf pkg-config))
(propagated-inputs ; in Requires or Requires.private field of .pkg
(list liblangtag librevenge libxml2-next zlib))
(list liblangtag librevenge libxml2 zlib))
(inputs
(list boost glm mdds))
(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
(package
(name "liblangtag")
(version "0.6.4")
(version "0.6.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
"liblangtag-" version ".tar.bz2"))
(sha256
(base32 "0r55r30ih8dgq1hwbpl834igilj7bpxcnmlrlkd3vryk2wn0c0ap"))))
(base32 "03h33sjqsrmmkyj2kxs7c6226hd4s5n22bz62b4hag1zmvabrmjy"))))
(build-system gnu-build-system)
(native-inputs
(list libtool pkg-config))
@ -772,15 +772,28 @@ Works word processor file format.")
(uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
version ".tar.xz"))
(sha256 (base32
"08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))))
"08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))
(patches (search-patches "libzmf-doxygen-1.14.patch"))))
(build-system gnu-build-system)
(arguments
;; A harmless 'sign-compare' error pops up on i686 so disable '-Werror'.
'(#:configure-flags '("--disable-werror")))
(list
;; A harmless 'sign-compare' error pops up on i686 so 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
(list boost icu4c libpng librevenge zlib))
(native-inputs
(list cppunit doxygen pkg-config))
(list autoconf
automake
libtool
cppunit
doxygen
pkg-config))
(home-page "https://wiki.documentfoundation.org/DLP/Libraries/libzmf")
(synopsis "Parses file format of Zoner Callisto/Draw documents")
(description "Libzmf is a library that parses the file format of Zoner

View file

@ -402,6 +402,15 @@ classification.")
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; TODO: Review tests.
#~(list
;; Failed: 'yield' keyword is allowed in fixtures, but not in tests
;; (test_scale2_models)
"--ignore=GPy/testing/test_likelihood.py"
;; Failed: 'yield' keyword is allowed in fixtures, but not in
;; tests (test_figure)
"--ignore=GPy/testing/test_plotting.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'compatibility
@ -2204,32 +2213,39 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
(define-public python-hdbscan
(package
(name "python-hdbscan")
(version "0.8.33")
(version "0.8.40")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hdbscan" version))
(sha256
(base32 "03gr70ys1zrnp15pxzhichvrdj5bj88p6p5k0wj8vx251rgvryjp"))))
(base32 "05wask431fm78n1227dhvwsmlnys9d95vxjz0y8hbvmy2zzq7qy9"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; XXX: Test files which fail during test collection.
#~(list "--ignore=hdbscan/tests/test_branches.py"
"--ignore=hdbscan/tests/test_hdbscan.py"
"--ignore=hdbscan/tests/test_rsl.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(delete-file "hdbscan/tests/__init__.py")))
(add-before 'check 'build-extensions
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs (list python-joblib
python-numpy
python-scikit-learn
python-scipy))
(native-inputs (list python-cython
python-nose
python-pytest
python-pandas
python-networkx
python-setuptools
python-wheel))
(native-inputs
(list python-cython
python-numpy
python-pytest
python-setuptools))
(propagated-inputs
(list python-joblib
python-numpy
python-scikit-learn
python-scipy))
(home-page "https://github.com/scikit-learn-contrib/hdbscan")
(synopsis "High performance implementation of HDBSCAN clustering")
(description "HDBSCAN - Hierarchical Density-Based Spatial Clustering of
@ -4875,10 +4891,11 @@ AI services.")
(base32
"1xg9cngdz9dsxwcpcmzf28q306i15hw58h54allhb41q4wzziqip"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;XXX: broken tests
(native-inputs
(list python-coverage
python-setuptools
python-wheel))
python-setuptools))
(propagated-inputs
(list python-importlib-metadata
python-packaging

View file

@ -1415,54 +1415,43 @@ attachments, create new maildirs, and so on.")
(define-public alot
(package
(name "alot")
(version "0.10")
(source (origin
(method git-fetch)
;; package author intends on distributing via github rather
;; than pypi:
;; https://github.com/pazz/alot/issues/877#issuecomment-230173331
(uri (git-reference
(url "https://github.com/pazz/alot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0awf1phdy1wqm01cy9zmvqlw6c8pvkxm2f9ncjd0cmzxqnmq1dyn"))))
(build-system python-build-system)
(version "0.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pazz/alot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "19rn587n81gwx1f49bvm34m60708h5z47hcgiaqlpsznbv792xlr"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((gnupg (assoc-ref inputs "gnupg")))
(substitute* "tests/test_crypto.py"
(("gpg2") (string-append gnupg "/bin/gpg")))
#t)))
(add-before 'check 'disable-failing-tests
;; FIXME: Investigate why these tests are failing.
(lambda _
(substitute* "tests/test_helper.py"
(("def test_env_set") "def _test_env_set"))
(substitute* "tests/commands/test_global.py"
(("def test_no_spawn_no_stdin_attached")
"def _test_no_spawn_no_stdin_attached"))
;; FIXME: Investigate why this test hangs.
(substitute* "tests/db/test_manager.py"
(("def test_save_named_query")
"def _test_save_named_query"))
#t)))))
(list
;; TODO: Tests fail with error: alot.settings.errors.ConfigError:
;; failed to read notmuch config with command
;;
;; CI is complex, see: <.github/workflows/test.yml>.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
;; python-gpg is added and it's on the latest version.
(("gpg>1.10.0") "gpg")))))))
(native-inputs
(list procps python-mock))
(list procps
python-setuptools))
(inputs
(list gnupg
python-magic
python-configobj
python-twisted
python-service-identity
python-urwid
python-urwidtrees
python-gpg
python-notmuch2))
python-notmuch2
python-magic
python-twisted
python-urwid
python-urwidtrees))
(home-page "https://github.com/pazz/alot")
(synopsis "Command-line MUA using Notmuch")
(description
@ -1685,11 +1674,8 @@ useful for email address completion.")
(("libnotmuch\\.so\\.")
(format #f "~a/lib/libnotmuch.so."
#$(this-package-input "notmuch")))))))))
(native-inputs
(list python-setuptools
python-wheel))
(inputs
(list notmuch))
(native-inputs (list python-setuptools))
(inputs (list notmuch))
(home-page (package-home-page notmuch))
(synopsis "Python bindings of the Notmuch mail indexing library")
(description
@ -1702,7 +1688,6 @@ and search library.")
(inherit python-notmuch)
(name "python-notmuch2")
(version (package-version notmuch))
(propagated-inputs (list python-cffi))
(arguments
(list
#:phases
@ -1731,6 +1716,8 @@ and search library.")
"'/dev/null'")
(("version=VERSION,")
(string-append "version='" #$version "',"))))))))
(propagated-inputs (list python-cffi))
(native-inputs (list python-pytest python-pytest-cov python-setuptools))
(synopsis "Pythonic bindings for the notmuch mail database using CFFI")
(license license:gpl3+)))

View file

@ -303,7 +303,7 @@ desktop and the mate-about program.")
(propagated-inputs
;; both of these are requires.private in mateweather.pc
(list libsoup-minimal-2
libxml2-next))
libxml2))
(home-page "https://mate-desktop.org/")
(synopsis "MATE library for weather information from the Internet")
(description

View file

@ -300,7 +300,7 @@ XMPP-based sessions.")
gtk-doc/stable
pkg-config))
(inputs (list libxcrypt ncurses))
(propagated-inputs (list glib libxml2-next))
(propagated-inputs (list glib libxml2))
(synopsis "GLib Ncurses Toolkit")
(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.")

View file

@ -51,6 +51,7 @@
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (srfi srfi-1))
@ -259,43 +260,49 @@ is for some reason not possible and local caching of the fetched data.")
(list python-pbr-next python-setuptools python-wheel)))))
(define-public python-os-testr
(package
(name "python-os-testr")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "os-testr" version))
(sha256
(base32 "0vik5sjl0qhz6xqqg6gnaf5jva31m7xykyc0azb53jfq7y57ladv"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "test-requirements.txt"
(("(coverage|hacking).*")
"")))))))
(propagated-inputs
(list python-stestr))
(native-inputs
(list python-babel
python-ddt
python-oslotest
python-pbr
python-setuptools
python-testrepository
python-testscenarios
python-testtools
python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description
"Os-testr provides developers with a testr wrapper and an output filter
(let ((commit "0ba674d8c5d34890698e4e8ff9f71b24c389e109")
(revision "0"))
(package
(name "python-os-testr")
(version (git-version "3.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openstack/os-testr")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1fd8n5fsq35ikak8by4z45sya2m1pmxpc4440579rfk3jjsq4vgc"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "test-requirements.txt"
(("(coverage|hacking).*")
""))))
(add-after 'unpack 'set-version
(lambda _
(setenv "PBR_VERSION" "3.0.0"))))))
(propagated-inputs (list python-stestr))
(native-inputs
(list python-babel
python-ddt
python-oslotest
python-pbr
python-setuptools
python-testrepository
python-testscenarios
python-testtools))
(home-page "https://github.com/openstack/os-testr")
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
(description
"Os-testr provides developers with a testr wrapper and an output filter
for subunit.")
(license license:asl2.0)))
(license license:asl2.0))))
(define-public python-stevedore
(package
@ -553,13 +560,13 @@ for running external processes.")
(define-public python-oslo-config
(package
(name "python-oslo-config")
(version "8.7.1")
(version "9.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslo.config" version))
(uri (pypi-uri "oslo_config" version))
(sha256
(base32 "0q3v4yicqls9zsfxkmh5mrgz9dailaz3ir25p458gj6dg3bldhx0"))))
(base32 "1ah8knzcxkg28v9av19wp6bg91d1mfyxm2y56whngvmb0jah1a7f"))))
(build-system pyproject-build-system)
(arguments
(list
@ -586,7 +593,6 @@ for running external processes.")
(list python-coverage
python-docutils
python-fixtures
python-mypy
python-oslo-log-bootstrap
python-oslotest-bootstrap
python-pbr
@ -595,8 +601,7 @@ for running external processes.")
python-sphinx
python-stestr
python-testscenarios
python-testtools
python-wheel))
python-testtools))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo Configuration API")
(description
@ -1146,29 +1151,39 @@ Gerrit for review, or fetching existing ones.")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "requestsexceptions" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/openstack/requestsexceptions")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0r9hp9yzgj8r81q5gc6r8sgxldqc09xi6ax0b7a6dw0qfv3wp5dh"))))
(base32 "12c4bi2vm337sgbbl08i01v794glnk1fzgxdc11545dqdl57rslz"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX: There are some tests in tox.ini, but it leads nowhere.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "test-requirements.txt"
(("hacking.*")
"")))))))
(native-inputs (list python-pbr python-setuptools python-wheel))
(home-page "https://www.openstack.org/")
(synopsis "Import exceptions from potentially bundled packages in requests")
(description "The Python requests library bundles the urllib3 library,
however, some software distributions modify requests to remove the bundled
library. This makes some operations difficult, such as suppressing the
insecure platform warning messages that urllib emits. This package is a
simple library to find the correct path to exceptions in the requests library
regardless of whether they are bundled or not.")
""))))
(add-after 'unpack 'set-version
(lambda _
(setenv "PBR_VERSION" #$version))))))
(native-inputs (list python-os-testr python-pbr python-setuptools))
(home-page "https://github.com/openstack/requestsexceptions")
(synopsis
"Import exceptions from potentially bundled packages in requests")
(description
"The Python requests library bundles the urllib3 library, however, some
software distributions modify requests to remove the bundled library. This
makes some operations difficult, such as suppressing the insecure platform
warning messages that urllib emits. This package is a simple library to find
the correct path to exceptions in the requests library regardless of whether
they are bundled or not.")
(license license:asl2.0)))
(define-public python-openstacksdk

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,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

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

View file

@ -0,0 +1,129 @@
From: Alexandre Detiste <alexandre.detiste@gmail.com>, ngraves@ngraves.fr
diff --git a/pyproject.toml b/pyproject.toml
index 98b5603..7b192a8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,7 +35,6 @@ include = [
[tool.poetry.dependencies]
python = "^3.7"
-six = ">=1.13.0"
[tool.poetry.group.dev.dependencies]
# Testing dependencies - pytest for all Python versions
diff --git a/treelib/__init__.py b/treelib/__init__.py
index bed89cc..f164208 100644
--- a/treelib/__init__.py
+++ b/treelib/__init__.py
@@ -57,15 +57,6 @@ Common Use Cases:
- Abstract syntax trees
- Family trees and genealogy
-Compatibility Note:
- To ensure string compatibility between Python 2.x and 3.x, treelib follows
- Python 3.x string handling conventions. All strings are handled as unicode.
-
- For Python 2.x users with non-ASCII characters, enable unicode literals:
-
- .. code-block:: python
-
- from __future__ import unicode_literals
"""
from .node import Node # noqa: F401
diff --git a/treelib/node.py b/treelib/node.py
index cb79a01..64547f7 100644
--- a/treelib/node.py
+++ b/treelib/node.py
@@ -22,8 +22,6 @@ Note:
directly instantiated, as the Tree class manages the parent-child
relationships automatically.
"""
-from __future__ import unicode_literals
-
import copy
import sys
import uuid
@@ -40,7 +38,7 @@ else:
StrList = List[str] # Python 3.8 and earlier
-class Node(object):
+class Node:
"""
Elementary node object stored in Tree structures.
diff --git a/treelib/tree.py b/treelib/tree.py
index 39bbdb5..8042175 100644
--- a/treelib/tree.py
+++ b/treelib/tree.py
@@ -26,26 +26,13 @@ Key Features:
- Subtree operations and filtering
- Tree metrics and analysis tools
"""
-from __future__ import print_function, unicode_literals
-
-try:
- from builtins import str as text
-except ImportError:
- from __builtin__ import str as text # type: ignore
-
import codecs
import json
import sys
import uuid
from copy import deepcopy
from typing import Any, Callable, List, Optional, Union, cast
-
-from six import iteritems, python_2_unicode_compatible
-
-try:
- from StringIO import StringIO # type: ignore
-except ImportError:
- from io import StringIO
+from io import StringIO
from .exceptions import (
DuplicatedNodeIdError,
@@ -70,8 +57,7 @@ else:
__author__ = "chenxm"
-@python_2_unicode_compatible
-class Tree(object):
+class Tree():
"""
Hierarchical tree data structure.
@@ -220,7 +206,7 @@ class Tree(object):
if tree is not None:
self.root = tree.root
- for nid, node in iteritems(tree.nodes):
+ for nid, node in tree.nodes.items():
new_node = deepcopy(node) if deep else node
self._nodes[nid] = new_node
if tree.identifier != self._identifier:
@@ -1540,9 +1526,9 @@ class Tree(object):
set_joint = set(new_tree._nodes) & set(self._nodes) # joint keys
if set_joint:
- raise ValueError("Duplicated nodes %s exists." % list(map(text, set_joint)))
+ raise ValueError("Duplicated nodes %s exists." % list(map(str, set_joint)))
- for cid, node in iteritems(new_tree.nodes):
+ for cid, node in new_tree.nodes.items():
if deep:
node = deepcopy(new_tree[node])
self._nodes.update({cid: node})
@@ -1909,7 +1895,7 @@ class Tree(object):
:return: None
"""
cn = self[nid]
- for attr, val in iteritems(attrs):
+ for attr, val in attrs.items():
if attr == "identifier":
# Updating node id meets following contraints:
# * Update node identifier property

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,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

@ -185,12 +185,15 @@ most situations.")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "assertpy" version))
(method git-fetch) ;no tests in PyPI distribution
(uri (git-reference
(url "https://github.com/assertpy/assertpy")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0cs8xya465wvb9dw0kdl7cvkxwrslhbma66y44r1mmsajcll7imc"))))
(base32 "0hnfh45cmqyp7zasrllwf8gbq3mazqlhhk0sq1iqlh6fig0yfq2f"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/assertpy/assertpy")
(synopsis "Simple assertion library for unit testing")
(description
@ -829,18 +832,19 @@ Python.")
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "-vr" "green")
#:test-flags
#~(list "-tvvv"
"green.test.test_version"
"green.test.test_cmdline")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(apply invoke "python" "-m" "green" test-flags)))))))
(setenv "PATH" (string-append #$output "/bin:" (getenv "PATH")))
(apply invoke "green" test-flags)))))))
(native-inputs
(list python-mypy
python-setuptools
python-testtools
python-wheel))
(list python-setuptools))
(propagated-inputs
(list python-colorama
python-coverage
@ -876,18 +880,23 @@ Built-in integration with @url{http://nedbatchelder.com/code/coverage/, coverage
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hiro" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alisaifee/hiro")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0s2xz72i7kbm0l75vr04cqq2war74p3p376wm76999f93npkjcys"))))
(base32 "0j7z54nd72qfc065jgljqx53dhfkfz0922fk8qqczg7swmqf6cqv"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(home-page "https://hiro.readthedocs.io/")
(native-inputs
(list python-pytest python-pytest-cov python-setuptools))
(home-page "https://hiro.readthedocs.io")
(synopsis "Time manipulation utilities for testing in Python")
(description "Hiro provides context managers and utilities to either
freeze, accelerate or decelerate and jump between different points in time.
Functions exposed by the standard librarys @code{time}, @code{datetime} and
@code{date} modules are patched within the contexts exposed.")
(description
"Hiro provides context managers and utilities to either freeze,
accelerate or decelerate and jump between different points in time. Functions
exposed by the standard librarys @code{time}, @code{datetime} and @code{date}
modules are patched within the contexts exposed.")
(license license:expat)))
(define-public python-httmock

View file

@ -734,7 +734,9 @@ environments.")
(sha256
(base32 "13vdaff15k0jyfcss4b4xvfgm8xyv0nrbyw5n1qc7lrqbi0b3h82"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(arguments
(list #:tests? #f)) ;no tests in PyPI
(native-inputs (list python-setuptools))
(home-page "https://github.com/ricmoo/pyaes")
(synopsis "Implementation of AES in Python")
(description "This package contains a pure-Python implementation of the

View file

@ -252,7 +252,7 @@ GLFW} OpenGL application development library.")
(setenv "HOME" (getcwd)))))))
(native-inputs
(list pkg-config
python-cython
python-cython-0
;; Not packaged yet, for tests.
;; python-kivy-deps-glew
;; python-kivy-deps-glew-dev
@ -597,14 +597,14 @@ library.")
(package
(inherit python-pyopengl)
(name "python-pyopengl-accelerate")
(version "3.1.9")
(version "3.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyopengl_accelerate" version))
(sha256
(base32
"1ww6kbyj1hshxfi3gskkygv1w2f7klzj9jcyfpzihn4pfry7r5c5"))))
"0waskwvw9mp830bnnxcqd8bkh7a4qbnr0fcjnnw35xx6y21iqxc2"))))
(arguments
`(#:tests? #f
#:phases

View file

@ -389,16 +389,22 @@ supersedes the RTED algorithm for computing the tree edit distance.")
(define-public python-asap3
(package
(name "python-asap3")
(version "3.13.7")
(version "3.13.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asap3" version))
(sha256
(base32 "0z6m9ybiy4fdnzlkfkvyxich18iwlwlgj1jd99fylyfwf8l160am"))))
(base32 "0r4sx93v2ck4m9ykzj9zaar2l9wk4nrb3d3rlik1nqimk6pnnbm2"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-ase))
(native-inputs (list python-setuptools python-wheel which))
(arguments
(list #:tests? #f)) ;TODO: collecting ... ERROR: Wrong command line.
(native-inputs
(list python-setuptools
which)) ;for build
(propagated-inputs
(list python-ase
python-numpy))
(home-page "https://wiki.fysik.dtu.dk/asap")
(synopsis "ASAP - classical potentials for Molecular Dynamics with ASE.")
(description "This package provides accelerated simulations and potentials
@ -3019,25 +3025,25 @@ the following purposes in mind:
(license license:bsd-3)))
(define-public python-scikit-survival
(let ((revision "1")
(let ((revision "0")
;; We need a later commit for support of a more recent sklearn and
;; numpy 2.
(commit "bceb53ebb8306f959c70fae2be9d552f33dd3f21"))
;; NumPy 2.
(commit "bc4a8914e8337c3be1b98371a3c26382696215a9"))
(package
(name "python-scikit-survival")
(version (git-version "0.22.2" revision commit))
(version (git-version "0.25.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sebp/scikit-survival")
(commit commit)
;; This package contains a copy of Eigen. It would be good to
;; figure out how to use our own Eigen package.
(recursive? #true)))
(url "https://github.com/sebp/scikit-survival")
(commit commit)
;; This package contains a copy of Eigen. It would be good to
;; figure out how to use our own Eigen package.
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32 "1m3z64nv4sgay0mdrrw4q4z5ylx63a9w2x43w1r4g8kpg7z9rdfc"))))
(base32 "001w73sz55vszp18h25dha74r34bbfzl02yh4d6zbli9zvr36hy4"))))
(build-system pyproject-build-system)
(arguments
(list
@ -3049,7 +3055,6 @@ the following purposes in mind:
#$(version-major+minor version)))))))
(propagated-inputs
(list python-ecos
python-importlib-resources
python-joblib
python-numexpr
python-numpy
@ -3058,16 +3063,11 @@ the following purposes in mind:
python-scikit-learn
python-scipy))
(native-inputs
(list python-black
python-pypa-build
python-coverage
python-cython-3
(list python-cython
python-packaging
python-pytest
python-setuptools
python-setuptools-scm
python-tomli
python-tox))
python-setuptools-scm))
(home-page "https://github.com/sebp/scikit-survival")
(synopsis "Survival analysis built on top of scikit-learn")
(description "Scikit-survival is a Python module for survival analysis

View file

@ -7058,26 +7058,30 @@ this it tries to be opinion-free and very extendable.")
(define-public python-engineio
(package
(name "python-engineio")
(version "4.11.2")
(version "4.12.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python_engineio" version))
(sha256
(base32
"0abijzn4srf89jlj0kqcd9xbhyxvglzxkciy5nxv815rrvdb0nql"))))
"1ynyf3n29biwkm6nwzzwzhr4m19lsir1x5azxq2nl7xyw7zi5rz7"))))
(build-system pyproject-build-system)
(arguments
(list
;; File not found.
#:test-flags '(list "-k" "not test_static_files")))
#:test-flags
#~(list "-k"
"not test_static_file_routing and not test_static_files")))
(native-inputs
(list python-pytest
python-pytest-asyncio
python-setuptools
python-tornado))
(propagated-inputs
(list python-aiohttp
python-requests
python-simple-websocket
python-tornado
python-websocket-client))
(native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/miguelgrinberg/python-engineio/")
(synopsis "Engine.IO server")
(description "This package provides a Python implementation of the
@ -7631,17 +7635,21 @@ engine. Its module is called @code{googlesearch}.")
(define-public python-google-auth-httplib2
(package
(name "python-google-auth-httplib2")
(version "0.1.1")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "google-auth-httplib2" version))
(sha256
(base32 "0agwwgw04nks7lzpm224fbvpnjfgzz67pkrfls77ipf6zmawajy6"))))
(build-system python-build-system)
(base32 "018fckshilc6z2qpj1pclh8haanbq3lr85w6p4g4z5wgyjnppaiq"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-google-auth python-httplib2 python-six))
(list python-google-auth python-httplib2))
(native-inputs
(list python-flask python-mock python-pytest python-pytest-localserver))
(list python-pytest
python-pyparsing
python-pytest-localserver
python-flask
python-setuptools))
(home-page
"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2")
(synopsis "Google Authentication Library: httplib2 transport")
@ -9567,12 +9575,10 @@ using a pure Python implementation.")
(arguments
(list #:tests? #f)) ; tests require Node
(native-inputs
(list python-pytest
python-setuptools
python-wheel))
(list python-setuptools))
(propagated-inputs
(list python-numpy
python-pyjsparser
(list python-pyjsparser
python-six
python-tzlocal))
(home-page "https://github.com/PiotrDabkowski/Js2Py")
(synopsis "JavaScript to Python translator")
@ -10015,27 +10021,28 @@ realtime client and server.")
(define-public python-socks
(package
(name "python-socks")
(version "2.6.1")
(version "2.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python_socks" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/romis2012/python-socks")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17pcyd1gg2a7k2i4lvnqi9095brhf7pbpkqfcjmhpzkgmfd94hwp"))))
(base32 "1alrfjkir69006qmr2ax3inrffk2bllpljwmprwczb44r0mya77m"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-trio))
(propagated-inputs (list python-trio))
(native-inputs
(list python-anyio
python-async-timeout
python-flask
python-pytest
python-pytest-asyncio
python-pytest-trio
python-setuptools
python-tiny-proxy
python-trustme
python-wheel
python-yarl))
(home-page "https://github.com/romis2012/python-socks")
(synopsis
@ -10304,13 +10311,13 @@ Client Library for Python.")
(define-public python-google-auth
(package
(name "python-google-auth")
(version "2.37.0")
(version "2.40.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google_auth" version))
(sha256
(base32 "002xvp1139lrw2c2s2yllg5499ghfxzg9lv35i4q770zpwx64m00"))))
(base32 "0xrvsqrqx89zkf13gjp328j2y5cfhl88sjzjkkm3dszdmllkl32h"))))
(build-system pyproject-build-system)
(arguments
(list
@ -10318,7 +10325,7 @@ Client Library for Python.")
;; This one test uses crypto.sign with an outdated calling convention.
'(list "--ignore=tests/transport/test__mtls_helper.py")))
(propagated-inputs
(list python-cachetools
(list python-cachetools-5
python-pyasn1-modules
python-pyjwt
python-rsa))
@ -11061,33 +11068,26 @@ characters in a smarter, more visually pleasing style.")
(define-public python-mf2py
(package
(name "python-mf2py")
(version "1.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/microformats/mf2py")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00pzfc5sl6ywlcr6f2k37n3f2bb7w488p2k95ixzjwx6w3yh747n"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "test")))))))
(native-inputs (list python-mock python-pytest))
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/microformats/mf2py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ajnf0zrh1l48fvix9fbs1qvgbqhiljqnrm51rx44p7dbarpw4ls"))))
(build-system pyproject-build-system)
(native-inputs (list python-mock python-poetry-core python-pytest))
(propagated-inputs
(list python-beautifulsoup4 python-html5lib python-requests))
(home-page "https://github.com/microformats/mf2py")
(synopsis "Python Microformats2 parser")
(description "This Python library provides a Microformats2 parser
implementing the full Microformats2 (mf2) specification, including backward
compatibility with Microformats1 (mf1).")
(description
"This Python library provides a Microformats2 parser implementing the
full Microformats2 (mf2) specification, including backward compatibility with
Microformats1 (mf1).")
(license license:expat)))
(define-public python-extruct

View file

@ -275,6 +275,7 @@
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rpc)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages scanner)
@ -2460,6 +2461,17 @@ decorators, including variants of the Python standard library's
@code{lru_cache} function decorator.")
(license license:expat)))
(define-public python-cachetools-5
(package
(inherit python-cachetools)
(version "5.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cachetools" version))
(sha256
(base32 "1m20wqipm50zvcgs3z2xksb96qwx1xc1jbhvaxcnglkmj6m1qrhs"))))))
(define-public python-colorcet
(package
(name "python-colorcet")
@ -4969,21 +4981,49 @@ conventions and aliases in the same expression.")
(define-public python-limits
(package
(name "python-limits")
(version "4.0.1")
(version "5.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "limits" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alisaifee/limits")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0nkdwkvn2rs5swnd4ihv6yg6b5124apqzrrymqcm75pwil2mqkx5"))))
(base32 "1ykld43q1pbvds4wsb18wagh852byzjpcjqg1xwa5cldigmkc2x0"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-deprecated python-packaging
python-typing-extensions))
(native-inputs (list python-setuptools python-wheel))
(arguments
(list
;; XXX: Despite running only unit tests, pytest exits with an error code.
#:tests? #f
#:test-flags #~(list "-m" "unit")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'ignore-K-pytest-option
(lambda _
(substitute* "pytest.ini"
(("-K") "")))))))
(propagated-inputs (list python-deprecated python-packaging))
(native-inputs
(list ; python-etcd3
python-flaky
python-pytest
python-pytest-asyncio
python-pytest-benchmark
python-pytest-cov
python-pytest-lazy-fixtures
python-pytest-xdist
;; python-pymemcache
;; python-pymongo
;; python-redis
python-setuptools
;; python-valkey
))
(home-page "https://limits.readthedocs.io/")
(synopsis "Rate limiting utilities")
(description "This package provides a Python library to perform rate
limiting with commonly used storage backends.")
(description
"This package provides a Python library to perform rate limiting with
commonly used storage backends.")
(license license:expat)))
(define-public python-wand
@ -5178,23 +5218,21 @@ other machines, such as over the network.")
(define-public python-setuptools-declarative-requirements
(package
(name "python-setuptools-declarative-requirements")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri
"setuptools-declarative-requirements"
version))
(uri (pypi-uri "setuptools-declarative-requirements" version))
(sha256
(base32
"1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi"))))
(build-system python-build-system)
(base32 "1xwqp37ii9kql49agmkipawjbndwxg6y8sxax1wc4l6kkaxvk9ap"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;requir dated inputs
(native-inputs
(list python-pytest python-setuptools-scm))
(list python-setuptools-scm))
(propagated-inputs
(list python-toml python-wheel))
(home-page
"https://github.com/s0undt3ch/setuptools-declarative-requirements")
(list python-setuptools))
(home-page "https://github.com/s0undt3ch/setuptools-declarative-requirements")
(synopsis "File support for setuptools declarative setup.cfg")
(description
"This package provides file support for setuptools declarative
@ -5357,14 +5395,16 @@ your Python package version as a calendar version.")
(define-public python-can
(package
(name "python-can")
(version "4.2.0")
(version "4.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-can" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/hardbyte/python-can")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1w5sdzxivpd3pw4pypwnjlksvfimdb93qnlddbrh5f13flhsgg8g"))))
(base32 "0i89hzc9n1h8i63wa333ahh5j1xqxq9v4ymcx7mcsg6ygji5wllr"))))
(build-system pyproject-build-system)
(arguments
(list
@ -5375,16 +5415,17 @@ your Python package version as a calendar version.")
;;
;; Disable tests which require specific CAN drivers we have no
;; package for in Guix.
"--ignore" "test/test_interface_canalystii.py"
"--ignore=test/test_interface_canalystii.py"
;; These tests fail with "OSError: [Errno 19] No such device".
"-k" "not BasicTestUdpMulticastBusIPv")))
(propagated-inputs
(list python-msgpack python-typing-extensions python-wrapt
python-setuptools))
"-k" "not BasicTestUdpMulticastBusIPv")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(propagated-inputs (list python-packaging python-wrapt))
(native-inputs
(list ;; python-canalystii ; Not packed yet
python-codecov
python-coverage
python-future
python-hypothesis
python-mock
@ -5392,13 +5433,14 @@ your Python package version as a calendar version.")
python-pyserial
python-pytest
python-pytest-cov
python-pytest-runner
python-pytest-timeout
python-wheel))
python-setuptools
python-setuptools-scm))
(home-page "https://github.com/hardbyte/python-can")
(synopsis "Controller Area Network (CAN) interface module for Python")
(description "This package defines the @code{can} module, which provides
controller area network (CAN) support for Python developers; providing common
(description
"This package defines the @code{can} module, which provides controller
area network (CAN) support for Python developers; providing common
abstractions to different hardware devices, and a suite of utilities for
sending and receiving messages on a CAN bus.")
(license license:lgpl3+)))
@ -5446,15 +5488,18 @@ converting and comparing CAN databases.")
(define-public python-canopen
(package
(name "python-canopen")
(version "2.3.0")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "canopen" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/canopen-python/canopen")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09xqqrb8vfyj3bw61nlgpl1qy86fnm72vpbd80m5p38k7jlq883r"))))
(base32 "0vw6si83m4329p0k0q4b54gn1pindfzkmx6wxqy03bixd94bxw5y"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-wheel))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-can))
(home-page "https://github.com/canopen-python/canopen")
(synopsis "CANopen stack implementation")
@ -5621,18 +5666,16 @@ of primitive data types like @code{char}, @code{int}, etc.")
(define-public python-cantools
(package
(name "python-cantools")
(version "40.2.3")
(version "40.5.0")
(source
(origin
;; We take the sources from the Git repository as the documentation is
;; not included with the PyPI archive.
(method git-fetch)
(uri (git-reference
(url "https://github.com/eerimoq/cantools")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09cpsma0qgra7yjvcppripsrhr70ivc2bgcg1vqi64125dpi8a3x"))))
(base32 "0ldqdsvkvy7vmplyiqcfqqwbh8v88ha98hgdrnlm09g4qbylh5d4"))))
(build-system pyproject-build-system)
(arguments
(list
@ -5646,11 +5689,11 @@ of primitive data types like @code{char}, @code{int}, etc.")
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
(list python-parameterized
(list python-freezegun
python-parameterized
python-pytest
python-setuptools
python-setuptools-scm
python-wheel))
python-setuptools-scm))
(propagated-inputs
(list python-argparse-addons
python-bitstruct
@ -5661,8 +5704,9 @@ of primitive data types like @code{char}, @code{int}, etc.")
python-textparser))
(home-page "https://github.com/eerimoq/cantools")
(synopsis "Tools for the Controller Area Network (CAN) bus protocol")
(description "This package includes Controller Area Network (CAN) related
tools that can be used to:
(description
"This package includes Controller Area Network (CAN) related tools that
can be used to:
@itemize
@item parse DBC, KCD, SYM, ARXML 4 and CDD files
@item encode and decode CAN messages
@ -5848,6 +5892,35 @@ command-line script you can get the latest strip of a webcomic, catch-up to the
downloaded, or download a strip for a particular date or index, if possible.")
(license license:expat)))
(define-public python-etcd3
(package
(name "python-etcd3")
(version "0.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kragniz/python-etcd3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06hw0kcl77v8px5w2hfnf2l9gjnjrspjb49kx3jqa382z7wzdkk0"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX: Tests require the etcd package.
#:tests? #f
#:test-backend #~'custom
#:test-flags ; Taken from tox.ini.
#~(list "pifpaf" "-e" "python" "run" "etcd" "--cluster" "--" "pytest")))
(propagated-inputs (list python-grpcio python-protobuf python-tenacity))
(native-inputs (list python-mock python-pifpaf python-pytest python-setuptools))
(home-page "https://github.com/kragniz/python-etcd3")
(synopsis "Python client for the etcd3 API")
(description
"This package provide a Python client for the @code{etcd3} API.")
(license license:asl2.0)))
(define-public python-et-xmlfile
(package
(name "python-et-xmlfile")
@ -8898,12 +8971,16 @@ Microsoft Word (.docx) documents.")
(version "0.11.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "reretry" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/leshchenko1979/reretry")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qrjsjzah8gw1bciqn8bhrj80fjjg13qg8jks7qs4bjipv71yygj"))))
(base32 "15c6275mcrkrq3zs0gyx06gr3xsg9ldrpyknfy4mbypgwjy6fp38"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(native-inputs
(list python-pytest python-pytest-asyncio python-setuptools))
(home-page "https://github.com/leshchenko1979/reretry")
(synopsis "Functional decorator for retrying on exceptions")
(description
@ -10342,9 +10419,11 @@ provides additional functionality on the produced Mallard documents.")
(sha256
(base32 "1xwpxff4whfvkwvcyhzhdcj5zzq89vvdjmnqy664s4a9yp4lnydl"))))
(build-system pyproject-build-system)
(native-inputs (list python-cython
python-setuptools
python-wheel))
(arguments
(list #:tests? #f)) ;no tests in PyPI, 2.0.1 is not tagged in git
(native-inputs
(list python-cython
python-setuptools))
(home-page "https://github.com/realead/cykhash")
(synopsis "Khash-sets and maps")
(description
@ -10984,13 +11063,16 @@ objects.")
(version "3.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "colormath2" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bkmgit/python-colormath2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1yigkhvjgbl9nrlijn4iwcs6k7i5y58drix1331cd1hb9wzn35z7"))))
(base32 "0xxhmmx1mzjggapjmpz8v166lj86xrkq7kak83akcirnq0pz9ihv"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-networkx python-numpy))
(native-inputs (list python-pytest python-setuptools))
(native-inputs (list python-nose2 python-setuptools))
(home-page "https://github.com/bkmgit/python-colormath2")
(synopsis "Color math and conversion library")
(description
@ -12606,39 +12688,59 @@ and a plugin for Pillow.")
(define-public python-pillow-simd
(package
(inherit python-pillow)
(name "python-pillow-simd")
(version "10.0.1.post0")
;; The PyPI tarball does not include test files.
(source
(origin
(method git-fetch)
(method git-fetch) ;no tests in PyPI tarball
(uri (git-reference
(url "https://github.com/uploadcare/pillow-simd")
(commit (string-append "v" version))))
(url "https://github.com/uploadcare/pillow-simd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16pr4qifb661spf58b7g2lyraask9wf944v4kwk3llg32djvb09b"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Got different content.
'(list "-k" (string-append "not test_open"
" and not test_consistency_3x3"
" and not test_consistency_5x5"))
" and not test_consistency_5x5"
" and not test_close"))
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-ldconfig
(lambda _
(substitute* "setup.py"
(("\\['/sbin/ldconfig', '-p'\\]") "['true']")))))))
(add-after 'unpack 'patch-ldconfig
(lambda _
(substitute* "setup.py"
(("\\['/sbin/ldconfig', '-p'\\]") "['true']")))))))
(native-inputs
(list python-check-manifest
python-defusedxml
python-markdown2
python-olefile
python-packaging
python-pytest
python-pytest-timeout
python-setuptools
python-trove-classifiers))
(inputs
(modify-inputs (package-inputs python-pillow)
(prepend libraqm libimagequant)))
(list freetype
lcms
libimagequant
libjpeg-turbo
libraqm
libtiff
libwebp
openjpeg
zlib))
(home-page "https://github.com/uploadcare/pillow-simd")
(synopsis "Fork of the Python Imaging Library (Pillow)")
(description "This package is a fork of Pillow which adds support for SIMD
parallelism.")))
parallelism.")
(license (license:x11-style
"http://www.pythonware.com/products/pil/license.htm"
"The PIL Software License"))))
(define-public python-pixelmatch
(package
@ -13055,8 +13157,7 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
python-pytest
python-setuptools
python-wheel))
(inputs
(list ffmpeg-7))
(inputs (list ffmpeg))
(home-page "https://github.com/PyAV-Org/PyAV")
(synopsis "Pythonic bindings for FFmpeg's libraries")
(description
@ -14596,13 +14697,15 @@ without using the configuration machinery.")
(version "1.8.0")
(source
(origin
(method git-fetch) ; no tests in PyPI
(method git-fetch)
(uri (git-reference
(url "https://github.com/caesar0301/treelib")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jd3rdaq8v7ykb626cm1gxa03higqnn2pmnv46fc0lc55xbrkxlf"))))
(base32 "0jd3rdaq8v7ykb626cm1gxa03higqnn2pmnv46fc0lc55xbrkxlf"))
(patches
(search-patches "python-treelib-remove-python2-compat.patch"))))
(build-system pyproject-build-system)
(native-inputs (list python-poetry-core python-pytest))
(home-page "https://github.com/caesar0301/treelib")
@ -16159,38 +16262,30 @@ falling into the Python interpreter.")
(define-public python-qnorm
(package
(name "python-qnorm")
(version "0.8.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "qnorm" version))
(sha256
(base32
"1iykxrvlg32h78d3cr0137x93w8krcwc8gdqyfj55id917pz7ck1"))))
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Maarten-vd-Sande/qnorm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bgqxmqq8d3il0gnbvlb5sik50f6z8myx7p652lpv4llj9hrl2w8"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #false ;there are none
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pyproject-format
(lambda _
(substitute* "pyproject.toml"
(("url = .*") (string-append "version = \"" #$version "\""))
(("python_requires.*") "")
(("packages =.*") "")
(("install_requires") "dependencies")
(("\"Maarten van der Sande <maartenvandersande@hotmail.com>\"")
"{ name = \"Maarten van der Sande\", email = \"maartenvandersande@hotmail.com\"}")
(("license = \"MIT\"") "license = { file = \"LICENSE\"}")))))))
(propagated-inputs (list python-numba python-numpy python-pandas))
(native-inputs (list python-setuptools python-wheel python-toml))
(propagated-inputs
(list python-numba python-numpy python-pandas
;; XXX: pandas optional dependencies.
python-tables python-pyarrow python-fastparquet))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Maarten-vd-Sande/qnorm")
(synopsis "Quantile normalization")
(description "This tool implements quantile normalization. It properly
resolves rank ties, which is important when ties happen frequently, such as
when working with discrete numbers (integers) in count tables. This
implementation should be relatively fast, and can use multiple cores to sort
the columns and tie-resolvement is accelerated by numba.")
(description
"This tool implements quantile normalization. It properly resolves rank
ties, which is important when ties happen frequently, such as when working
with discrete numbers (integers) in count tables. This implementation should
be relatively fast, and can use multiple cores to sort the columns and
tie-resolvement is accelerated by numba.")
(license license:expat)))
(define-public python-xlib
@ -17634,7 +17729,7 @@ should be stored on various operating systems.")
(base32 "0vm1r1jlaiagj0l9yf7j6zn9w3733dr2169911c0svgrr3gwiwn9"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-six))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/google/pasta")
(synopsis "AST-based Python refactoring library")
(description "This package provides \"pasta\", an AST-based Python
@ -26425,31 +26520,21 @@ command line utility, a python library and plugins for various editors.")
(define-public python-mando
(package
(name "python-mando")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "mando" version))
(sha256
(base32
"001mikga36i811pbc95rb45m2kzivkx4xb0fn3pzl4xnnjcskfhq"))))
(build-system python-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(propagated-inputs
(list python-rst2ansi python-six))
(version "0.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mando" version))
(sha256
(base32 "1ddn4h1fvc9f8z2p8l88jyazxnp0h7rmh711i2hwkipxlbcmk5jk"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest))
(list python-pytest python-setuptools))
(home-page "https://mando.readthedocs.org/")
(synopsis
"Wrapper around argparse, allowing creation of complete CLI applications")
(synopsis "Wrapper around argparse, allowing creation of complete CLI applications")
(description
"This package is a wrapper around argparse, allowing you to write complete CLI
applications in seconds while maintaining all the flexibility.")
applications in seconds while maintaining all the flexibility.")
(license license:expat)))
(define-public python-mwclient
@ -27311,6 +27396,37 @@ input.")
address is valid and really exists.")
(license license:lgpl3+)))
(define-public python-valkey
(package
(name "python-valkey")
(version "6.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/valkey-io/valkey-py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05zmnb8lmygv75zx0hb40s2rgr53sy4g0sizcb9mq8fd09z5i0n2"))))
(build-system pyproject-build-system)
(arguments
;; XXX: A lot of tests fail with ConnectionError
;; Maybe we need to spawn a valkey server?
(list #:tests? #f))
(native-inputs
(list python-cachetools
python-pytest
python-pytest-asyncio
python-pytest-timeout
python-setuptools))
(home-page "https://github.com/valkey-io/valkey-py")
(synopsis "Python client for Valkey")
(description
"This package provides a python client for the @code{Valkey} key-value
store, forked from redis-py.")
(license license:expat)))
;; XXX: Project has no updates since 2019, consider to remove when nothing
;; depends on it in the next refresh cycle.
;; See: <https://github.com/pipermerriam/flex/issues/237>.
@ -32917,24 +33033,32 @@ messages.")
(define-public python-daiquiri
(package
(name "python-daiquiri")
(version "2.1.1")
(version "3.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "daiquiri" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jd/daiquiri")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qmank3c217ddiig3xr8ps0mqaydcp0q5a62in9a9g4zf72zjnqd"))))
(build-system python-build-system)
(propagated-inputs
(list python-json-logger))
(native-inputs
(list python-mock python-pytest python-setuptools-scm python-six))
(base32 "0vfakncq87s6g67mqihjf32xarphd75c03ammvgavladz0pqhlg4"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(propagated-inputs (list python-json-logger))
(native-inputs (list python-mock python-pytest python-setuptools
python-setuptools-scm))
(home-page "https://github.com/jd/daiquiri")
(synopsis
"Library to configure Python logging easily")
(description "The daiquiri library provides an easy way to configure
logging in Python. It also provides some custom formatters and handlers.")
(synopsis "Library to configure Python logging easily")
(description
"The daiquiri library provides an easy way to configure logging in
Python. It also provides some custom formatters and handlers.")
(license license:asl2.0)))
(define-public python-pifpaf
@ -33417,44 +33541,50 @@ with the Twisted web framework.")
(license license:expat))))
(define-public python-txacme
(package
(name "python-txacme")
(version "0.9.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "txacme" version))
(sha256
(base32 "1cplx4llq7i508w6fgwjdv9di7rsz9k9irfmzdfbiz6q6a0ykf1d"))))
(build-system python-build-system)
(propagated-inputs
(list python-acme
python-attrs
python-eliot
python-josepy
python-pem
python-treq
python-twisted
python-txsni))
(native-inputs
(list python-fixtures
python-hypothesis
python-mock
python-service-identity
python-testrepository
python-testscenarios
python-testtools))
(home-page "https://github.com/twisted/txacme")
(synopsis "Twisted implexmentation of the ACME protocol")
(description
"ACME is Automatic Certificate Management Environment, a protocol that
;; 0.9.3 tag was placed in 2020 and there a lot of changes providing
;; compatibility wit twisted, use the latest commit from trunk branch.
;;
;;See: <https://github.com/twisted/txacme/issues/165>.
(let ((commit "ac18f92f6dde971a6b38f2ecfae44665815db583")
(revision "0"))
(package
(name "python-txacme")
(version (git-version "0.9.3" revision commit))
(source
(origin
(method git-fetch) ;no fresh release in PyPI
(uri (git-reference
(url "https://github.com/twisted/txacme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mgdfxldv8qflbn75ywslbarnd4i3l7c4krs4aibl2dpryclsjzs"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "-m" "twisted.trial" "txacme")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-acme
python-attrs
python-eliot
python-josepy
python-pem
python-treq
python-twisted
python-txsni))
(home-page "https://github.com/twisted/txacme")
(synopsis "Twisted implexmentation of the ACME protocol")
(description
"ACME is Automatic Certificate Management Environment, a protocol that
allows clients and certificate authorities to automate verification and
certificate issuance. The ACME protocol is used by the free Let's Encrypt
Certificate Authority.
txacme is an implementation of the protocol for Twisted, the event-driven
networking engine for Python.")
(license license:expat)))
(license license:expat))))
(define-public python-pysaml2
(package
@ -39163,16 +39293,34 @@ Currently, Linux is the only platform supported by this library.")
(define-public python-dbus-fast
(package
(name "python-dbus-fast")
(version "2.30.2")
(version "2.44.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dbus_fast" version))
(method git-fetch) ;No tests in PyPI package.
(uri (git-reference
(url "https://github.com/Bluetooth-Devices/dbus-fast")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cx71lbw716smpr4vsc9d421v45s36hcqj2z95nl3wm2yhan6ac7"))))
(base32 "12f1f25ny7fd59s55gw3vr6ymdqgd51zzpbc1nkqfbmb166d1536"))))
(build-system pyproject-build-system)
(native-inputs (list python-cython python-poetry-core python-setuptools
python-wheel))
(arguments
(list
#:test-flags
'(list
;; These tests need pytest_codspeed.
"--ignore-glob=tests/benchmarks/test_*marshall.py"
;; These tests all fail with:
;; dbus_fast.errors.InvalidAddressError: DBUS_SESSION_BUS_ADDRESS not
;; set and could not get DISPLAY environment variable to get bus address
"-m" "not asyncio")))
(native-inputs (list python-cython
python-poetry-core
python-setuptools
python-pytest
python-pytest-cov
python-pytest-asyncio
python-covdefaults))
(home-page "https://github.com/bluetooth-devices/dbus-fast")
(synopsis "Faster version of dbus-next")
(description "This package provides a faster version of dbus-next.")

View file

@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
vulkan-headers))
(inputs
(list alsa-lib
ffmpeg
ffmpeg-6
glib
libxkbcommon
libxrandr

View file

@ -3368,9 +3368,9 @@ of devices than RTL-SDR.")
(setenv "DISPLAY" ":0")
(setenv "HOME" "/tmp"))))))
(native-inputs
(list python-cython
(list python-cython-0
python-pytest
python-wheel
python-setuptools
xorg-server-for-tests))
(inputs
(list airspy

View file

@ -252,8 +252,7 @@ of parts of the Windows API.")
linux-pam
openssl
pixman
python
python-libxml2))
python))
(native-inputs
(append
(list bison

View file

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

View file

@ -6,6 +6,7 @@
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -169,7 +170,7 @@ type information of gRPC.")
(uri (pypi-uri "grpcio" version))
(sha256
(base32 "1nsgm8q4yahzdab4m3irffdw9zklq4kb7f8hki1ayfgw54ysim55"))
(modules '((guix build utils) (ice-9 ftw)))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-26)))
(snippet
'(begin
;; Delete this generated file.
@ -178,16 +179,14 @@ type information of gRPC.")
;; Delete the bundled source code of libraries that are possible
;; to provide as inputs.
(for-each delete-file-recursively
(scandir "."
(lambda (file)
(not (member file
'("." ".."
"address_sorting"
"upb"
"xxhash")))))))))))
(scandir "." (negate (cut member <> '("." ".."
"address_sorting"
"upb"
"xxhash"))))))))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; There seems to be no tests.
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'use-system-libraries
@ -212,16 +211,13 @@ type information of gRPC.")
(lambda _
(substitute* '("setup.py" "src/python/grpcio/commands.py")
(("'cc'") "'gcc'")))))))
(inputs
(list abseil-cpp-cxxstd11 c-ares grpc openssl re2 zlib))
(native-inputs
(list python-cython python-setuptools python-wheel))
(propagated-inputs
(list python-six))
(inputs (list abseil-cpp-cxxstd11 c-ares grpc openssl re2 zlib))
(native-inputs (list python-cython-0 python-setuptools))
(home-page "https://grpc.io")
(synopsis "HTTP/2-based RPC framework")
(description "This package provides a Python library for communicating
with the HTTP/2-based RPC framework gRPC.")
(description
"This package provides a Python library for communicating with the
HTTP/2-based RPC framework gRPC.")
(license license:asl2.0)))
(define-public python-grpcio-tools
@ -241,12 +237,13 @@ with the HTTP/2-based RPC framework gRPC.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;XXX: no tests in PyPI, try to bulid from Git
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda _
(setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1"))))))
(native-inputs (list python-cython python-setuptools python-wheel))
(native-inputs (list python-cython python-setuptools))
(propagated-inputs (list python-grpcio python-protobuf-4))
(home-page "https://grpc.io")
(synopsis "Protobuf code generator for gRPC")

View file

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

View file

@ -247,8 +247,10 @@ libraries GMO, MPFR and MPC.")
(sha256
(base32 "1r7g175ddbpn5kjgs6f09s7mfachzw94p02snki6f6830dmj22fn"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs
(list python-cython python-setuptools python-wheel))
(list python-cython python-setuptools))
(home-page "https://github.com/sagemath/memory_allocator")
(synopsis "Extension class to allocate memory easily with Cython")
(description "This package provides a single extension class

View file

@ -305,42 +305,46 @@ based on required access.")
(package
(name "python-setools")
(version "4.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SELinuxProject/setools")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1qvd5j6zwq4fmlahg45swjplhif2z89x7s6pnp07gvcp2fbqdsh5"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SELinuxProject/setools")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qvd5j6zwq4fmlahg45swjplhif2z89x7s6pnp07gvcp2fbqdsh5"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; the test target causes a rebuild
#:phases
(modify-phases %standard-phases
(delete 'portability)
(add-after 'unpack 'set-SEPOL-variable
(lambda* (#:key inputs #:allow-other-keys)
(setenv "SEPOL"
(search-input-file inputs "/lib/libsepol.a"))))
(add-after 'unpack 'remove-Werror
(lambda _
(substitute* "setup.py"
(("'-Werror',") ""))
#t))
(add-after 'unpack 'fix-target-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "setup.py"
(("join\\(sys.prefix")
(string-append "join(\"" (assoc-ref outputs "out") "/\"")))
#t)))))
(list
#:tests? #f ; the test target causes a rebuild
#:phases
#~(modify-phases %standard-phases
(delete 'portability)
(add-after 'unpack 'set-SEPOL-variable
(lambda* (#:key inputs #:allow-other-keys)
(setenv "SEPOL"
(search-input-file inputs "/lib/libsepol.a"))))
(add-after 'unpack 'remove-Werror
(lambda _
(substitute* "setup.py"
(("'-Werror',") ""))))
(add-after 'unpack 'fix-target-paths
(lambda _
(substitute* "setup.py"
(("join\\(sys.prefix")
(string-append "join(\"" #$output "/\""))))))))
(native-inputs
(list bison
flex
python-cython-0
swig))
(inputs
(list libsepol
libselinux
python-pyqt))
(propagated-inputs
(list python-networkx))
(inputs
(list libsepol libselinux python-pyqt))
(native-inputs
(list bison flex python-cython swig))
(home-page "https://github.com/SELinuxProject/setools")
(synopsis "Tools for SELinux policy analysis")
(description "SETools is a collection of graphical tools, command-line

View file

@ -3010,9 +3010,16 @@ completion.")
(base32
"10nmydlbmi0vyim7sx71isx3z2mnnfjmhf3248cicy9x1z1hizyv"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: ...trying to load module _rinterface_cffi_api: ERROR:
;;
;; See: <https://github.com/rpy2/rpy2/issues/1034>.
(delete 'sanity-check))))
(propagated-inputs
(list python-cffi
python-six
python-jinja2
python-numpy
python-pandas
@ -3033,14 +3040,8 @@ completion.")
r-dbplyr
zlib))
(native-inputs
(list python-coverage
python-ipython
python-numpy
python-pandas
python-pytest
python-pytest-cov
python-setuptools
python-wheel))
(list python-pytest
python-setuptools))
(home-page "https://rpy2.github.io")
(synopsis "Python interface to the R language")
(description "rpy2 is a redesign and rewrite of rpy. It is providing a

View file

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

View file

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

View file

@ -281,7 +281,7 @@ networks.")
(list python-cython-3
python-poetry-core
python-pytest
python-wheel))
python-setuptools))
(inputs
(list python-click
python-cffi
@ -323,7 +323,7 @@ networks.")
(("70.0.0") "67.6.1") ; setuptools = ">=70.0.0"
(("1.8.1") "^1.8.1") ; stem = "1.8.1"
(("3.0.6") "^3.0.6") ; werkzeug = "3.0.6"
(("0.41.2") "0.40.0")))) ; wheel = "^0.41.2"
((".*0.41.2.*") "")))) ; wheel = "^0.41.2"
(add-after 'unpack 'bake-tor
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (list "cli/onionshare_cli/common.py"

View file

@ -228,6 +228,10 @@
(find-files "breezy/tests"))
(("#!/bin/sh")
(format #f "#!~a" (which "sh"))))))
(add-after 'unpack 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
(string-append "-g -O2 -Wno-error=implicit-function-declaration"))))
(add-before 'build 'adjust-for-python-3.10
(lambda _
(substitute* '("breezy/doc_generate/__init__.py"
@ -253,11 +257,13 @@
;; Unknown Failure
"-x" "breezy.tests.test_plugins.TestLoadPluginAt.test_compiled_loaded"
"-x" "breezy.tests.test_plugins.TestPlugins.test_plugin_get_path_pyc_only"
"-x" "breezy.tests.test_selftest.TestActuallyStartBzrSubprocess.test_start_and_stop_bzr_subprocess_send_signal")))))))
"-x" "breezy.tests.test_selftest.TestActuallyStartBzrSubprocess.test_start_and_stop_bzr_subprocess_send_signal"
;; AttributeError: module 'paramiko' has no attribute 'DSSKey'
"-x" "breezy.tests.test_transport.TestSSHConnections.test_bzr_connect_to_bzr_ssh")))))))
(native-inputs
(append
(list gettext-minimal
python-cython
python-cython-0
python-setuptools
python-setuptools-gettext
python-setuptools-rust

View file

@ -1527,7 +1527,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libplacebo
(package
(name "libplacebo")
(version "7.349.0")
(version "7.351.0")
(source
(origin
(method git-fetch)
@ -1536,7 +1536,7 @@ libebml is a C++ library to read and write EBML files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1q12yf04z570a2l3vkig2iqm7bgqr90hdxmn78sk2injrsyx124q"))))
(base32 "094mzr4cvvryxr7rpxqhvrs018r89m116cpkmmfy3d3sk8b09jki"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
@ -1644,17 +1644,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
operate properly.")
(license license:expat)))
(define-public ffmpeg-7
(define-public ffmpeg
(package
(name "ffmpeg")
(version "7.0.2")
(version "8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"12dkv17mrsdqrm70c30azjw7qi1lfxca7xisw81x6flacddm2il6"))))
"13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
(outputs '("out" "debug"))
(build-system gnu-build-system)
(inputs
@ -1674,6 +1674,8 @@ operate properly.")
libcaca
libcdio-paranoia
libdrm
libgme
libplacebo
libtheora
libva
libvdpau
@ -1685,13 +1687,16 @@ operate properly.")
mesa
openal
pulseaudio
shaderc
sdl2
soxr
speex
spirv-tools
srt
svt-av1
twolame
vidstab
vulkan-loader
x265
xvid
zlib)))
@ -1701,7 +1706,8 @@ operate properly.")
pkg-config
texinfo
speex
yasm))
vulkan-headers
nasm))
(arguments
(list
#:test-target "fate"
@ -1716,7 +1722,6 @@ operate properly.")
;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
;; --enable-libflite enable flite (voice synthesis) support via
;; libflite [no]
;; --enable-libgme enable Game Music Emu via libgme [no]
;; --enable-libgsm enable GSM de/encoding via libgsm [no]
;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
@ -1769,12 +1774,15 @@ operate properly.")
"--enable-libcdio"
"--enable-libdav1d"
"--enable-libfreetype"
"--enable-libgme"
"--enable-libmp3lame"
"--enable-libopus"
"--enable-libplacebo"
"--enable-libpulse"
#$@(if (this-package-input "rav1e")
'("--enable-librav1e")
'())
"--enable-libshaderc"
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libsrt"
@ -1792,6 +1800,7 @@ operate properly.")
"--enable-opengl"
"--enable-libdrm"
"--enable-vaapi"
"--enable-vulkan"
"--enable-runtime-cpudetect"
@ -1836,7 +1845,7 @@ operate properly.")
(lambda* (#:key outputs configure-flags #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh"))))
(("#! */bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
(apply invoke
@ -1861,23 +1870,23 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
(license license:gpl2+)))
(define-public ffmpeg
(define-public ffmpeg-6
(package
(inherit ffmpeg-7)
(version "6.1.1")
(inherit ffmpeg)
(version "6.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146"))
"0f2fr8ywchhlkdff88lr4d4vscqzsi1ndjh3r5jwbkayf94lcqiv"))
(patches
(search-patches
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
(arguments
(if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg-7)
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:phases phases)
#~(modify-phases #$phases
(add-before 'configure 'relax-gcc-14-strictness
@ -1885,8 +1894,9 @@ audio/video codec library.")
(setenv
"CFLAGS"
(string-append "-g -O2"
" -Wno-error=incompatible-pointer-types")))))))
(package-arguments ffmpeg-7)))))
" -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion")))))))
(package-arguments ffmpeg)))))
(define-public ffmpeg-5
(package
@ -1926,8 +1936,12 @@ audio/video codec library.")
(replace "sdl2" sdl2-2.0)))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg-5)
((#:modules modules %default-gnu-modules)
`((srfi srfi-1) ,@modules))
((#:configure-flags flags ''())
#~(cons "--enable-avresample" #$flags))))))
#~(cons "--enable-avresample"
(fold delete #$flags '("--enable-libplacebo"
"--enable-libshaderc"))))))))
(define-public ffmpeg-for-stepmania
(hidden-package
@ -1995,270 +2009,271 @@ audio/video codec library.")
;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
(define-public ffmpeg-jami
(package
(inherit ffmpeg)
(name "ffmpeg-jami")
(source (let ((ffmpeg-origin (package-source ffmpeg)))
(origin
(inherit ffmpeg-origin)
;; These patches originate come from
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
;; Make sure to keep them update and/or register any new ones
;; here.
(patches
(append
(origin-patches ffmpeg-origin)
(search-patches
"ffmpeg-jami-remove-mjpeg-log.patch"
"ffmpeg-jami-change-RTCP-ratio.patch"
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
"ffmpeg-jami-libopusdec-enable-FEC.patch"
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
"ffmpeg-jami-screen-sharing-x11-fix.patch"
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags _ '())
;; The base configure flags preserved from ffmpeg appear first.
#~(list "--disable-static"
"--enable-shared"
"--disable-stripping"
(let ((ffmpeg ffmpeg-6))
(package
(inherit ffmpeg)
(name "ffmpeg-jami")
(source (let ((ffmpeg-origin (package-source ffmpeg)))
(origin
(inherit ffmpeg-origin)
;; These patches originate come from
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
;; Make sure to keep them update and/or register any new ones
;; here.
(patches
(append
(origin-patches ffmpeg-origin)
(search-patches
"ffmpeg-jami-remove-mjpeg-log.patch"
"ffmpeg-jami-change-RTCP-ratio.patch"
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
"ffmpeg-jami-libopusdec-enable-FEC.patch"
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
"ffmpeg-jami-screen-sharing-x11-fix.patch"
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags _ '())
;; The base configure flags preserved from ffmpeg appear first.
#~(list "--disable-static"
"--enable-shared"
"--disable-stripping"
;; Extra Guix-added flags that make sense for this custom
;; package; these could be contributed upstream.
"--disable-doc"
;; Extra Guix-added flags that make sense for this custom
;; package; these could be contributed upstream.
"--disable-doc"
;; The following flags are those specified by Jami.
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
;; file. We try to keep it as close to the official Jami
;; package as possible, to provide all the codecs and extra
;; features that are expected (see:
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
"--disable-everything"
"--enable-zlib"
"--enable-gpl"
"--enable-swscale"
"--enable-bsfs"
"--disable-filters"
"--disable-programs"
"--disable-postproc"
;; The following flags are those specified by Jami.
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
;; file. We try to keep it as close to the official Jami
;; package as possible, to provide all the codecs and extra
;; features that are expected (see:
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
"--disable-everything"
"--enable-zlib"
"--enable-gpl"
"--enable-swscale"
"--enable-bsfs"
"--disable-filters"
"--disable-programs"
"--disable-postproc"
"--enable-libpipewire"
"--enable-filter=pipewiregrab"
"--enable-indev=lavfi"
"--enable-decoder=wrapped_avframe"
"--enable-libpipewire"
"--enable-filter=pipewiregrab"
"--enable-indev=lavfi"
"--enable-decoder=wrapped_avframe"
"--disable-protocols"
"--enable-protocol=crypto"
"--enable-protocol=file"
"--enable-protocol=rtp"
"--enable-protocol=srtp"
"--enable-protocol=tcp"
"--enable-protocol=udp"
"--enable-protocol=unix"
"--enable-protocol=pipe"
"--disable-protocols"
"--enable-protocol=crypto"
"--enable-protocol=file"
"--enable-protocol=rtp"
"--enable-protocol=srtp"
"--enable-protocol=tcp"
"--enable-protocol=udp"
"--enable-protocol=unix"
"--enable-protocol=pipe"
;; Enable muxers/demuxers.
"--disable-demuxers"
"--disable-muxers"
"--enable-muxer=rtp"
"--enable-muxer=g722"
"--enable-muxer=g723_1"
"--enable-muxer=g726"
"--enable-muxer=g726le"
"--enable-muxer=h263"
"--enable-muxer=h264"
"--enable-muxer=hevc"
"--enable-muxer=matroska"
"--enable-muxer=webm"
"--enable-muxer=ogg"
"--enable-muxer=pcm_s16be"
"--enable-muxer=pcm_s16le"
"--enable-muxer=wav"
"--enable-demuxer=rtp"
"--enable-demuxer=mjpeg"
"--enable-demuxer=mjpeg_2000"
"--enable-demuxer=mpegvideo"
"--enable-demuxer=gif"
"--enable-demuxer=image_jpeg_pipe"
"--enable-demuxer=image_png_pipe"
"--enable-demuxer=image_webp_pipe"
"--enable-demuxer=matroska"
"--enable-demuxer=m4v"
"--enable-demuxer=mp3"
"--enable-demuxer=ogg"
"--enable-demuxer=flac"
"--enable-demuxer=wav"
"--enable-demuxer=ac3"
"--enable-demuxer=g722"
"--enable-demuxer=g723_1"
"--enable-demuxer=g726"
"--enable-demuxer=g726le"
"--enable-demuxer=pcm_mulaw"
"--enable-demuxer=pcm_alaw"
"--enable-demuxer=pcm_s16be"
"--enable-demuxer=pcm_s16le"
"--enable-demuxer=h263"
"--enable-demuxer=h264"
"--enable-demuxer=hevc"
;; Enable muxers/demuxers.
"--disable-demuxers"
"--disable-muxers"
"--enable-muxer=rtp"
"--enable-muxer=g722"
"--enable-muxer=g723_1"
"--enable-muxer=g726"
"--enable-muxer=g726le"
"--enable-muxer=h263"
"--enable-muxer=h264"
"--enable-muxer=hevc"
"--enable-muxer=matroska"
"--enable-muxer=webm"
"--enable-muxer=ogg"
"--enable-muxer=pcm_s16be"
"--enable-muxer=pcm_s16le"
"--enable-muxer=wav"
"--enable-demuxer=rtp"
"--enable-demuxer=mjpeg"
"--enable-demuxer=mjpeg_2000"
"--enable-demuxer=mpegvideo"
"--enable-demuxer=gif"
"--enable-demuxer=image_jpeg_pipe"
"--enable-demuxer=image_png_pipe"
"--enable-demuxer=image_webp_pipe"
"--enable-demuxer=matroska"
"--enable-demuxer=m4v"
"--enable-demuxer=mp3"
"--enable-demuxer=ogg"
"--enable-demuxer=flac"
"--enable-demuxer=wav"
"--enable-demuxer=ac3"
"--enable-demuxer=g722"
"--enable-demuxer=g723_1"
"--enable-demuxer=g726"
"--enable-demuxer=g726le"
"--enable-demuxer=pcm_mulaw"
"--enable-demuxer=pcm_alaw"
"--enable-demuxer=pcm_s16be"
"--enable-demuxer=pcm_s16le"
"--enable-demuxer=h263"
"--enable-demuxer=h264"
"--enable-demuxer=hevc"
;; Enable parsers.
"--enable-parser=h263"
"--enable-parser=h264"
"--enable-parser=hevc"
"--enable-parser=mpeg4video"
"--enable-parser=vp8"
"--enable-parser=vp9"
"--enable-parser=opus"
;; Enable parsers.
"--enable-parser=h263"
"--enable-parser=h264"
"--enable-parser=hevc"
"--enable-parser=mpeg4video"
"--enable-parser=vp8"
"--enable-parser=vp9"
"--enable-parser=opus"
;; Encoders/decoders.
"--enable-encoder=adpcm_g722"
"--enable-decoder=adpcm_g722"
"--enable-encoder=adpcm_g726"
"--enable-decoder=adpcm_g726"
"--enable-encoder=adpcm_g726le"
"--enable-decoder=adpcm_g726le"
"--enable-decoder=g729"
"--enable-encoder=g723_1"
"--enable-decoder=g723_1"
"--enable-encoder=rawvideo"
"--enable-decoder=rawvideo"
"--enable-encoder=libx264"
"--enable-decoder=h264"
"--enable-encoder=pcm_alaw"
"--enable-decoder=pcm_alaw"
"--enable-encoder=pcm_mulaw"
"--enable-decoder=pcm_mulaw"
"--enable-encoder=mpeg4"
"--enable-decoder=mpeg4"
"--enable-encoder=libvpx_vp8"
"--enable-decoder=vp8"
"--enable-decoder=vp9"
"--enable-encoder=h263"
"--enable-encoder=h263p"
"--enable-decoder=h263"
"--enable-encoder=mjpeg"
"--enable-decoder=mjpeg"
"--enable-decoder=mjpegb"
"--enable-libspeex"
"--enable-libopus"
"--enable-libvpx"
"--enable-libx264"
"--enable-encoder=libspeex"
"--enable-decoder=libspeex"
"--enable-encoder=libopus"
"--enable-decoder=libopus"
;; Encoders/decoders.
"--enable-encoder=adpcm_g722"
"--enable-decoder=adpcm_g722"
"--enable-encoder=adpcm_g726"
"--enable-decoder=adpcm_g726"
"--enable-encoder=adpcm_g726le"
"--enable-decoder=adpcm_g726le"
"--enable-decoder=g729"
"--enable-encoder=g723_1"
"--enable-decoder=g723_1"
"--enable-encoder=rawvideo"
"--enable-decoder=rawvideo"
"--enable-encoder=libx264"
"--enable-decoder=h264"
"--enable-encoder=pcm_alaw"
"--enable-decoder=pcm_alaw"
"--enable-encoder=pcm_mulaw"
"--enable-decoder=pcm_mulaw"
"--enable-encoder=mpeg4"
"--enable-decoder=mpeg4"
"--enable-encoder=libvpx_vp8"
"--enable-decoder=vp8"
"--enable-decoder=vp9"
"--enable-encoder=h263"
"--enable-encoder=h263p"
"--enable-decoder=h263"
"--enable-encoder=mjpeg"
"--enable-decoder=mjpeg"
"--enable-decoder=mjpegb"
"--enable-libspeex"
"--enable-libopus"
"--enable-libvpx"
"--enable-libx264"
"--enable-encoder=libspeex"
"--enable-decoder=libspeex"
"--enable-encoder=libopus"
"--enable-decoder=libopus"
;; Encoders/decoders for ringtones and audio streaming.
"--enable-decoder=flac"
"--enable-decoder=vorbis"
"--enable-decoder=aac"
"--enable-decoder=ac3"
"--enable-decoder=eac3"
"--enable-decoder=mp3"
"--enable-decoder=pcm_u24le"
"--enable-decoder=pcm_u32le"
"--enable-decoder=pcm_u8"
"--enable-decoder=pcm_f16le"
"--enable-decoder=pcm_f32le"
"--enable-decoder=pcm_f64le"
"--enable-decoder=pcm_s16le"
"--enable-decoder=pcm_s24le"
"--enable-decoder=pcm_s32le"
"--enable-decoder=pcm_s64le"
"--enable-decoder=pcm_u16le"
"--enable-encoder=pcm_u8"
"--enable-encoder=pcm_f32le"
"--enable-encoder=pcm_f64le"
"--enable-encoder=pcm_s16le"
"--enable-encoder=pcm_s32le"
"--enable-encoder=pcm_s64le"
;; Encoders/decoders for ringtones and audio streaming.
"--enable-decoder=flac"
"--enable-decoder=vorbis"
"--enable-decoder=aac"
"--enable-decoder=ac3"
"--enable-decoder=eac3"
"--enable-decoder=mp3"
"--enable-decoder=pcm_u24le"
"--enable-decoder=pcm_u32le"
"--enable-decoder=pcm_u8"
"--enable-decoder=pcm_f16le"
"--enable-decoder=pcm_f32le"
"--enable-decoder=pcm_f64le"
"--enable-decoder=pcm_s16le"
"--enable-decoder=pcm_s24le"
"--enable-decoder=pcm_s32le"
"--enable-decoder=pcm_s64le"
"--enable-decoder=pcm_u16le"
"--enable-encoder=pcm_u8"
"--enable-encoder=pcm_f32le"
"--enable-encoder=pcm_f64le"
"--enable-encoder=pcm_s16le"
"--enable-encoder=pcm_s32le"
"--enable-encoder=pcm_s64le"
;; Encoders/decoders for images.
"--enable-encoder=gif"
"--enable-decoder=gif"
"--enable-encoder=jpegls"
"--enable-decoder=jpegls"
"--enable-encoder=ljpeg"
"--enable-decoder=jpeg2000"
"--enable-encoder=png"
"--enable-decoder=png"
"--enable-encoder=bmp"
"--enable-decoder=bmp"
"--enable-encoder=tiff"
"--enable-decoder=tiff"
;; Encoders/decoders for images.
"--enable-encoder=gif"
"--enable-decoder=gif"
"--enable-encoder=jpegls"
"--enable-decoder=jpegls"
"--enable-encoder=ljpeg"
"--enable-decoder=jpeg2000"
"--enable-encoder=png"
"--enable-decoder=png"
"--enable-encoder=bmp"
"--enable-decoder=bmp"
"--enable-encoder=tiff"
"--enable-decoder=tiff"
;; Filters.
"--enable-filter=scale"
"--enable-filter=overlay"
"--enable-filter=amix"
"--enable-filter=amerge"
"--enable-filter=aresample"
"--enable-filter=format"
"--enable-filter=aformat"
"--enable-filter=fps"
"--enable-filter=transpose"
"--enable-filter=pad"
;; Filters.
"--enable-filter=scale"
"--enable-filter=overlay"
"--enable-filter=amix"
"--enable-filter=amerge"
"--enable-filter=aresample"
"--enable-filter=format"
"--enable-filter=aformat"
"--enable-filter=fps"
"--enable-filter=transpose"
"--enable-filter=pad"
;; Decoders for ringtones and audio streaming.
"--enable-decoder=pcm_s16be"
"--enable-decoder=pcm_s16be_planar"
"--enable-decoder=pcm_s16le_planar"
"--enable-decoder=pcm_s24be"
"--enable-decoder=pcm_s24le_planar"
"--enable-decoder=pcm_s32be"
"--enable-decoder=pcm_s32le_planar"
"--enable-decoder=pcm_s64be"
"--enable-decoder=pcm_s8"
"--enable-decoder=pcm_s8_planar"
"--enable-decoder=pcm_u16be"
;; Decoders for ringtones and audio streaming.
"--enable-decoder=pcm_s16be"
"--enable-decoder=pcm_s16be_planar"
"--enable-decoder=pcm_s16le_planar"
"--enable-decoder=pcm_s24be"
"--enable-decoder=pcm_s24le_planar"
"--enable-decoder=pcm_s32be"
"--enable-decoder=pcm_s32le_planar"
"--enable-decoder=pcm_s64be"
"--enable-decoder=pcm_s8"
"--enable-decoder=pcm_s8_planar"
"--enable-decoder=pcm_u16be"
;; More filters.
"--enable-filter=afir"
"--enable-filter=split"
"--enable-filter=drawbox"
"--enable-filter=drawtext"
"--enable-filter=rotate"
"--enable-filter=loop"
"--enable-filter=setpts"
"--enable-filter=movie"
"--enable-filter=alphamerge"
"--enable-filter=boxblur"
"--enable-filter=lut"
"--enable-filter=negate"
"--enable-filter=colorkey"
"--enable-filter=transpose"
;; More filters.
"--enable-filter=afir"
"--enable-filter=split"
"--enable-filter=drawbox"
"--enable-filter=drawtext"
"--enable-filter=rotate"
"--enable-filter=loop"
"--enable-filter=setpts"
"--enable-filter=movie"
"--enable-filter=alphamerge"
"--enable-filter=boxblur"
"--enable-filter=lut"
"--enable-filter=negate"
"--enable-filter=colorkey"
"--enable-filter=transpose"
"--enable-libfreetype"
"--enable-libfreetype"
#$@(if (string-contains (%current-system) "linux")
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
;; flags, as there's no support for ffnvcodec in Guix;
;; it would not work with Mesa anyway.
'("--enable-pic"
"--extra-cxxflags=-fPIC"
"--extra-cflags=-fPIC"
"--target-os=linux"
"--enable-indev=v4l2"
"--enable-indev=xcbgrab"
"--enable-vdpau"
"--enable-hwaccel=h264_vdpau"
"--enable-hwaccel=mpeg4_vdpau"
"--enable-vaapi"
"--enable-hwaccel=h264_vaapi"
"--enable-hwaccel=mpeg4_vaapi"
"--enable-hwaccel=h263_vaapi"
"--enable-hwaccel=vp8_vaapi"
"--enable-hwaccel=mjpeg_vaapi"
"--enable-hwaccel=hevc_vaapi"
"--enable-encoder=h264_vaapi"
"--enable-encoder=vp8_vaapi"
"--enable-encoder=mjpeg_vaapi"
"--enable-encoder=hevc_vaapi")
'())))))
(inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire)))))
#$@(if (string-contains (%current-system) "linux")
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
;; flags, as there's no support for ffnvcodec in Guix;
;; it would not work with Mesa anyway.
'("--enable-pic"
"--extra-cxxflags=-fPIC"
"--extra-cflags=-fPIC"
"--target-os=linux"
"--enable-indev=v4l2"
"--enable-indev=xcbgrab"
"--enable-vdpau"
"--enable-hwaccel=h264_vdpau"
"--enable-hwaccel=mpeg4_vdpau"
"--enable-vaapi"
"--enable-hwaccel=h264_vaapi"
"--enable-hwaccel=mpeg4_vaapi"
"--enable-hwaccel=h263_vaapi"
"--enable-hwaccel=vp8_vaapi"
"--enable-hwaccel=mjpeg_vaapi"
"--enable-hwaccel=hevc_vaapi"
"--enable-encoder=h264_vaapi"
"--enable-encoder=vp8_vaapi"
"--enable-encoder=mjpeg_vaapi"
"--enable-encoder=hevc_vaapi")
'())))))
(inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire))))))
(define-public ffmpegthumbnailer
(package
@ -3774,7 +3789,7 @@ capabilities.")
(native-inputs
(list autoconf
automake
python-cython
python-cython-0
libtool
pkg-config
yasm))

View file

@ -1515,7 +1515,8 @@ using simplestreams index files as the publishing mechanism
version ".tar.xz"))
(sha256
(base32
"1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd"))))
"1dn6pzv0gzkxrjvi60cdzdmyxqlcsvinbrbds91xm4v7wbn5g1dd"))
(patches (search-patches "libosinfo-libxml2-fix.patch"))))
(build-system meson-build-system)
(arguments
(list
@ -1774,7 +1775,7 @@ to integrate other virtualization mechanisms if needed.")
`(,glib "bin") vala))
(propagated-inputs
;; Required: by the installed .pc files.
(list glib libvirt libxml2-next gobject-introspection))
(list glib libvirt libxml2 gobject-introspection))
(home-page "https://libvirt.org")
(synopsis "GLib wrapper around libvirt")
(description "libvirt-glib wraps the libvirt library to provide a
@ -1900,8 +1901,8 @@ virtualization library.")
libosinfo
libvirt
libvirt-glib
libxml2
python-minimal
python-libxml2
python-libvirt
python-pycairo
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")))))
(native-inputs (list gettext-minimal pkg-config))
(inputs (list lz4 vpnc-scripts))
(propagated-inputs (list libxml2-next gnutls zlib))
(propagated-inputs (list libxml2 gnutls zlib))
(synopsis "Client for Cisco VPN")
(description
"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 © 2024 James Smith <jsubuntuxp@disroot.org>
;;; 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.
;;;
@ -44,6 +46,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages libffi)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -53,7 +56,7 @@
(define-public spirv-headers
(package
(name "spirv-headers")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -62,7 +65,7 @@
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"15l35w60sbw1i3a48057hvpvldf0lrlfmkz73bp456g2jn5vln23"))
"11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -85,7 +88,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools
(package
(name "spirv-tools")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -93,19 +96,21 @@ and for the GLSL.std.450 extended instruction set.
(url "https://github.com/KhronosGroup/SPIRV-Tools")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "1ykrsd3fl8sx9sq8pc551swacqnl0xwv3p0l1ppdpw2h2mvz8syr"))
(base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
;; Some packages like mpv fail to link
;; when the static libraries are built.
"-DSPIRV_TOOLS_BUILD_STATIC=OFF"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "spirv-headers")))))
(list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
;; Some packages like mpv fail to link
;; when the static libraries are built.
"-DSPIRV_TOOLS_BUILD_STATIC=OFF"
(string-append
"-DSPIRV-Headers_SOURCE_DIR="
(assoc-ref %build-inputs "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")
(synopsis "API and commands for processing SPIR-V modules")
(description
@ -117,7 +122,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(define-public spirv-cross
(package
(name "spirv-cross")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -125,34 +130,35 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(url "https://github.com/KhronosGroup/SPIRV-Cross")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "1sckwqz67mh48zypgr1r9x101mcq1dlkh8sxi341ynrxzjk8rm3j"))
(base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(;; Disable tests for now due to upstream issue hit when running
;; update-reference-shaders phase:
;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
#:tests? #f
#:configure-flags
(list "-DSPIRV_CROSS_SHARED=YES")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests-to-find-deps
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("\\$\\{CMAKE_(.*)_DIR\\}/external/glslang(.*)/bin")
(string-append (assoc-ref inputs "glslang") "/bin")))
(substitute* "CMakeLists.txt"
(("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin")
(string-append (assoc-ref inputs "spirv-tools") "/bin")))))
(add-before 'check 'update-reference-shaders
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
(invoke "./update_test_shaders.sh"))))))))
(list
;; Disable tests for now due to upstream issue hit when running
;; update-reference-shaders phase:
;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
#:tests? #f
#:configure-flags
#~(list "-DSPIRV_CROSS_SHARED=YES")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests-to-find-deps
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("\\$\\{CMAKE_(.*)_DIR\\}/external/glslang(.*)/bin")
(string-append (assoc-ref inputs "glslang") "/bin")))
(substitute* "CMakeLists.txt"
(("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin")
(string-append (assoc-ref inputs "spirv-tools") "/bin")))))
(add-before 'check 'update-reference-shaders
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
(invoke "./update_test_shaders.sh"))))))))
(inputs
(list glslang spirv-headers spirv-tools))
(native-inputs (list python))
(native-inputs (list python-minimal))
(home-page "https://github.com/KhronosGroup/SPIRV-Cross")
(synopsis "Parser for and converter of SPIR-V to other shader languages")
(description
@ -164,7 +170,7 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
(define-public spirv-llvm-translator
(package
(name "spirv-llvm-translator")
(version "18.1.0")
(version "18.1.10")
(source
(origin
(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))))
(file-name (git-file-name name version))
(sha256
(base32 "0yfz02mlnf4ffn67g2ms0w8f7jgdsn438w2dbxd5mvcf5dk2x27b"))))
(base32 "11gmb1kw6j90hwcf6wxjz4pki653lyd8v8kphk7jq67gvw8dkiwy"))))
(build-system cmake-build-system)
(arguments
;; 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)
#:test-target "test" args))))))
(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")
(synopsis "Bi-directional translation between SPIR-V and LLVM IR")
(description
@ -212,7 +225,7 @@ translation between LLVM IR and SPIR-V.")
(define-public glslang
(package
(name "glslang")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -221,36 +234,39 @@ translation between LLVM IR and SPIR-V.")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32
"0kzzjh2dxzkznp75jk9sl4fjjgdy5s6xr8vha9av6cvi3jxm2i8y"))
"1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
,@(if (target-riscv64?)
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
'()))
#:phases (modify-phases %standard-phases
,@(if (target-ppc32?)
`((add-after 'unpack 'skip-failing-test
(lambda _
;; TODO: Figure out why this test fails.
(substitute* "Test/runtests"
((".*remap\\.invalid" all)
(string-append "# " all))))))
'())
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
(invoke "ctest"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")
"--rerun-failed"
"--output-on-failure")))))))
(list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON"
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
#$@(if (target-riscv64?)
`("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
'()))
#:phases
#~(modify-phases %standard-phases
#$@(if (target-ppc32?)
`((add-after 'unpack 'skip-failing-test
(lambda _
;; TODO: Figure out why this test fails.
(substitute* "Test/runtests"
((".*remap\\.invalid" all)
(string-append "# " all))))))
'())
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
(invoke "ctest"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")
"--rerun-failed"
"--output-on-failure")))))))
(inputs (list spirv-tools))
(native-inputs
(list pkg-config python))
(list pkg-config python-minimal))
(home-page "https://github.com/KhronosGroup/glslang")
(synopsis "OpenGL and OpenGL ES shader front end and validator")
(description
@ -317,7 +333,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-headers/no-loader
(package
(name "vulkan-headers")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -327,7 +343,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"0ncj4gqb5zmkgmd205frrq8rxxdqlissqpj2fq3wxkdbdyx7pwid"))))
"1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
@ -361,7 +377,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-loader
(package
(name "vulkan-loader")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -371,7 +387,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(file-name (git-file-name name version))
(sha256
(base32
"1y6wqc8adzg7ndmbr95nzhcxf93qsfndfdnsym5pkbjfx454151d"))))
"0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
(build-system cmake-build-system)
(arguments
(list
@ -387,31 +403,33 @@ Enhanced Subpixel Morphological Anti-Aliasing
%build-inputs "include/vulkan"))))
#$@(if (%current-target-system)
#~("-DBUILD_TESTS=OFF" "-DUSE_GAS=OFF"
(string-append "-DPKG_CONFIG_EXECUTABLE="
(search-input-file
%build-inputs
(string-append "bin/" #$(pkg-config-for-target)))))
(string-append
"-DPKG_CONFIG_EXECUTABLE="
(search-input-file
%build-inputs
(string-append "bin/" #$(pkg-config-for-target)))))
#~("-DBUILD_TESTS=ON")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pkg-config-file
(lambda* (#:key inputs #:allow-other-keys)
(let ((vulkan-headers (dirname (search-input-directory
inputs "include/vulkan"))))
;; Ensure the pkg-config file refers to vulkan-headers.
(substitute* "loader/vulkan.pc.in"
(("^includedir=.*")
(string-append "includedir=" vulkan-headers "\n"))))))
(add-after 'unpack 'use-system-googletest
(lambda _
(substitute* "tests/CMakeLists.txt"
(((string-append "message\\(FATAL_ERROR \"Could not "
"find googletest directory. See BUILD.md\"\\)"))
"find_package(GTest REQUIRED)"))
;; Use the namespaced variable.
(substitute* "tests/framework/CMakeLists.txt"
(("PUBLIC gtest ")
"PUBLIC GTest::gtest ")))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pkg-config-file
(lambda* (#:key inputs #:allow-other-keys)
(let ((vulkan-headers (dirname (search-input-directory
inputs "include/vulkan"))))
;; Ensure the pkg-config file refers to vulkan-headers.
(substitute* "loader/vulkan.pc.in"
(("^includedir=.*")
(string-append "includedir=" vulkan-headers "\n"))))))
(add-after 'unpack 'use-system-googletest
(lambda _
(substitute* "tests/CMakeLists.txt"
(((string-append
"message\\(FATAL_ERROR \"Could not "
"find googletest directory. See BUILD.md\"\\)"))
"find_package(GTest REQUIRED)"))
;; Use the namespaced variable.
(substitute* "tests/framework/CMakeLists.txt"
(("PUBLIC gtest ")
"PUBLIC GTest::gtest ")))))))
(native-inputs
(list googletest
libxrandr
@ -440,50 +458,56 @@ and the ICD.")
license:bsd-3))))
(define-public vulkan-tools
(package
(name "vulkan-tools")
(version "1.4.309.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit (string-append "vulkan-sdk-" version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet #~(substitute* "tests/icd/mock_icd_tests.cpp"
;; 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)")))
(sha256
(base32
"0ywvvkra29y2cvw8i9laf4skn6cl7phrwshcc7z9dljb3il87cym"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-volk vulkan-headers))
(arguments
`(#:configure-flags (list "-DBUILD_TESTS=ON")
#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
;; Required to fix an issue. See:
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
(revision "1"))
(package
(name "vulkan-tools")
(version (git-version "1.4.321.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(substitute* "tests/icd/mock_icd_tests.cpp"
;; 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)")))
(sha256
(base32
"1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
(build-system cmake-build-system)
(inputs
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
(native-inputs
(list googletest pkg-config python vulkan-volk vulkan-headers))
(arguments
(list
#:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/vulkan_tools_tests")))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
enabling developers to verify their applications correct use of the Vulkan
API.")
(license (list license:asl2.0)))) ;LICENSE.txt
(license (list license:asl2.0))))) ;LICENSE.txt
(define-public shaderc
(package
(name "shaderc")
;; shaderc doesn't follow the versioning scheme of vulkan sdk
(version "2025.1")
(version "2025.3")
(source
(origin
(method git-fetch)
@ -493,44 +517,44 @@ API.")
(file-name (git-file-name name version))
(sha256
(base32
"0hbsvyyy5fzgal83z8kx4a3x9d2fnd2fcs53l3s9n0pyybip3i5j"))))
"0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
(build-system cmake-build-system)
(arguments
`(;; FIXME: Skip most of the tests, because enabling system gtest breaks
;; the build: <https://github.com/google/shaderc/issues/470>.
#:configure-flags
(list "-DSHADERC_SKIP_TESTS=ON"
;; The two flags are copied from:
;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json
"-DSHADERC_ENABLE_SHARED_CRT=ON"
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
"-DPYTHON_EXECUTABLE=python3"
;; Note: despite the name, this just specifies the headers.
(string-append "-Dglslang_SOURCE_DIR="
(assoc-ref %build-inputs "glslang") "/include/glslang"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-look-for-bundled-sources
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(third_party\\)")
""))
(substitute* "glslc/test/CMakeLists.txt"
(("\\$<TARGET_FILE:spirv-dis>")
(which "spirv-dis")))
;; Do not attempt to use git to encode version information.
(substitute* "glslc/CMakeLists.txt"
(("add_dependencies\\(glslc_exe build-version\\)")
""))
(call-with-output-file "glslc/src/build-version.inc"
(lambda (port)
(format port "\"~a\"\n\"~a\"\n\"~a\"~%"
,version
,(package-version spirv-tools)
,(package-version glslang))))
#t)))))
(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>.
#:configure-flags
#~(list "-DSHADERC_SKIP_TESTS=ON"
;; The two flags are copied from:
;; https://sdk.lunarg.com/sdk/download/1.3.280.0/linux/config.json
"-DSHADERC_ENABLE_SHARED_CRT=ON"
"-DSHADERC_SKIP_COPYRIGHT_CHECK=ON"
"-DPYTHON_EXECUTABLE=python3"
;; Note: despite the name, this just specifies the headers.
(string-append "-Dglslang_SOURCE_DIR="
#$(this-package-input "glslang")
"/include/glslang"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-look-for-bundled-sources
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(third_party\\)")
""))
(substitute* "glslc/test/CMakeLists.txt"
(("\\$<TARGET_FILE:spirv-dis>")
(which "spirv-dis")))
;; Do not attempt to use git to encode version information.
(substitute* "glslc/CMakeLists.txt"
(("add_dependencies\\(glslc_exe build-version\\)")
""))
(call-with-output-file "glslc/src/build-version.inc"
(lambda (port)
(format port "\"~a\"\n\"~a\"\n\"~a\"~%"
#$version
#$(package-version spirv-tools)
#$(package-version glslang)))))))))
(inputs
(list glslang spirv-headers spirv-tools))
(native-inputs
@ -544,56 +568,57 @@ shader compilation.")
(define-public vkd3d
(let ((commit "56cd4a94d541707959ce7677af6d1a34739e5579")) ; Release 1.2.
(package
(name "vkd3d")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.winehq.org/git/vkd3d.git")
(commit commit)))
(sha256
(base32
"1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-spirv-tools")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-for-new-vulkan
(lambda _
;; Mimic upstream commit 8e7bf8a5c3e0047 for
;; compatibility with newer vulkan-headers.
(substitute* "libs/vkd3d/vkd3d_private.h"
(("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
"2u"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
(list libx11
libxcb
spirv-headers
spirv-tools
vulkan-headers
vulkan-loader
wine-minimal ; Needed for 'widl'.
xcb-util
xcb-util-keysyms
xcb-util-wm))
(home-page "https://source.winehq.org/git/vkd3d.git/")
(synopsis "Direct3D 12 to Vulkan translation library")
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
(license license:lgpl2.1))))
(name "vkd3d")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.winehq.org/git/vkd3d.git")
(commit commit)))
(sha256
(base32
"1n4a622drgnprvz5hjxzyzcsg2lp5rlf1sajki2vzf5gsx6fdpk8"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--with-spirv-tools")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-for-new-vulkan
(lambda _
;; Mimic upstream commit 8e7bf8a5c3e0047 for
;; compatibility with newer vulkan-headers.
(substitute* "libs/vkd3d/vkd3d_private.h"
(("VK_PIPELINE_BIND_POINT_RANGE_SIZE")
"2u")))))))
(native-inputs
(list autoconf
automake
gettext-minimal
libtool
pkg-config))
(inputs
(list libx11
libxcb
spirv-headers
spirv-tools
vulkan-headers
vulkan-loader
wine-minimal ; Needed for 'widl'.
xcb-util
xcb-util-keysyms
xcb-util-wm))
(home-page "https://source.winehq.org/git/vkd3d.git/")
(synopsis "Direct3D 12 to Vulkan translation library")
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
(license license:lgpl2.1))))
(define-public vulkan-validationlayers
(package
(name "vulkan-validationlayers")
(version "1.4.309.0")
(version "1.4.321.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -608,7 +633,7 @@ shader compilation.")
"")))
(sha256
(base32
"1dvgbgfxcp3ypy06j5m561j1gag0hk40zqd477cdv1kizv6i7nsk"))))
"1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
(build-system cmake-build-system)
(inputs (list glslang
libxrandr
@ -619,39 +644,43 @@ shader compilation.")
vulkan-loader
vulkan-utility-libraries
wayland))
(native-inputs (list googletest pkg-config python spirv-headers vulkan-headers))
(native-inputs
(list googletest pkg-config python spirv-headers vulkan-headers))
(arguments
(list #:tests? #f ; tests crash on some hardware (various upstream issues)
#:configure-flags
#~(list "-DBUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(add-after 'install 'set-layer-path-in-manifest
(lambda _
(let ((manifest (string-append #$output
"/share/vulkan/explicit_layer.d"
"/VkLayer_khronos_validation.json")))
(substitute* manifest
(("\"libVkLayer_khronos_validation.so\"")
(string-append "\"" #$output
"/lib/libVkLayer_khronos_validation.so\""))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "VK_LAYER_PATH"
(string-append (getcwd) "/layers"))
(setenv "LD_LIBRARY_PATH"
(string-append #$(this-package-input
"vulkan-loader") "/lib"))
(setenv "MESA_SHADER_CACHE_DIR"
(string-append (getcwd) "/shader-cache"))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(invoke "./tests/vk_layer_validation_tests")))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'set-layer-path-in-manifest
(lambda _
(let ((manifest
(string-append #$output
"/share/vulkan/explicit_layer.d"
"/VkLayer_khronos_validation.json")))
(substitute* manifest
(("\"libVkLayer_khronos_validation.so\"")
(string-append
"\"" #$output
"/lib/libVkLayer_khronos_validation.so\""))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "VK_LAYER_PATH"
(string-append (getcwd) "/layers"))
(setenv "LD_LIBRARY_PATH"
(string-append #$(this-package-input
"vulkan-loader") "/lib"))
(setenv "MESA_SHADER_CACHE_DIR"
(string-append (getcwd) "/shader-cache"))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(invoke "./tests/vk_layer_validation_tests")))))))
(home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
(synopsis "Khronos official validation layers for Vulkan")
(description
"Vulkan-ValidationLayers provides the Khronos official validation layers that
can assist development by enabling developers to verify their applications correctly
use the Vulkan API.")
"Vulkan-ValidationLayers provides the Khronos official validation layers
that can assist development by enabling developers to verify their
applications correctly use the Vulkan API.")
(license license:asl2.0)))
(define-public vulkan-volk
@ -696,7 +725,7 @@ skipping loader dispatch overhead.")
(define-public vulkan-memory-allocator
(package
(name "vulkan-memory-allocator")
(version "3.2.1")
(version "3.3.0")
(source
(origin
(method git-fetch)
@ -707,11 +736,9 @@ skipping loader dispatch overhead.")
(file-name (git-file-name name version))
(sha256
(base32
"0y8ccx080bqrgv71ggixxpl57vc5znq55rnvl4v4srfkjxhz6yiy"))))
"1qadyd9nir9ip176fsxvl91w60mnyvk07d5ihjlpqvl7rdbjmwac"))))
(build-system cmake-build-system)
(arguments
;; no test
`(#:tests? #f))
(arguments (list #:tests? #f)) ;no tests
(inputs (list vulkan-loader vulkan-headers))
(synopsis "Vulkan memory allocation library")
(description
@ -725,7 +752,7 @@ storage.")
(define-public vulkan-utility-libraries
(package
(name "vulkan-utility-libraries")
(version "1.4.309.0")
(version "1.4.321.0")
(source
(origin
(method git-fetch)
@ -733,7 +760,7 @@ storage.")
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
(commit (string-append "vulkan-sdk-" version))))
(sha256
(base32 "1ihk95gjszk9yn3r6xvda83qp7f463m86srj6cq43z01sk2naxkr"))
(base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments

View file

@ -6,6 +6,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -46,17 +47,14 @@
(define-public wget
(package
(replacement wget/fixed)
(name "wget")
(version "1.21.4")
(version "1.25.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/wget/wget-"
version ".tar.lz"))
(sha256
(base32
"1nabhxx3rg28h2scba2mlawzjyx3dw07j2kjn76cpvahbyd630rn"))))
(method url-fetch)
(uri (string-append "mirror://gnu/wget/wget-" version ".tar.lz"))
(sha256
(base32 "07waw3s51zmjqzqq717xyyd353qc1ajcd38lh7y8i85hav3mq8hr"))))
(build-system gnu-build-system)
(inputs
(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.")
(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
(package
(name "wgetpaste")

View file

@ -428,7 +428,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
hyprland-qtutils
hyprlang
hyprutils
libinput-minimal-next
libinput-minimal
libxcursor
libxkbcommon
mesa

View file

@ -302,6 +302,8 @@ and many other languages.")
(outputs '("out" "debug"))
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "build.py" "-v" "test")
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 ftw)
@ -355,7 +357,7 @@ except ImportError:
(inputs
(list gtk+ wxwidgets))
(native-inputs
(list pkg-config python-setuptools python-waf python-wheel))
(list pkg-config python-setuptools python-waf))
(propagated-inputs
(list python-numpy python-pillow python-six))
(home-page "https://wxpython.org/")

View file

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

View file

@ -37,6 +37,7 @@
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -188,19 +189,19 @@ binary extension of XML for the purpose of storing and manipulating data in a
hierarchical form with variable field lengths.")
(license license:lgpl2.1)))
;; Note: Remember to check python-libxml2 when updating this package.
(define-public libxml2
(package
(name "libxml2")
(version "2.9.14")
(version "2.14.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libxml2/"
(version-major+minor version)"/libxml2-"
version ".tar.xz"))
(sha256
(base32
"1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0"))))
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libxml2/"
(version-major+minor version)"/libxml2-"
version ".tar.xz"))
(sha256
(base32
"0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w"))
(patches (search-patches "python-libxml2-utf8.patch"))))
(build-system gnu-build-system)
(outputs '("out" "static" "doc"))
(arguments
@ -218,6 +219,13 @@ hierarchical form with variable field lengths.")
(string-append "/bin/" file)) "."))
'("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
(lambda _
(let ((doc (string-append #$output:doc "/share/"))
@ -245,7 +253,7 @@ hierarchical form with variable field lengths.")
(native-inputs (append (if (target-loongarch64?)
(list config)
'())
(list perl)))
(list perl pkg-config python-minimal)))
(native-search-paths
(list $SGML_CATALOG_FILES $XML_CATALOG_FILES))
(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).")
(license license:x11)))
(define-public libxml2-next
(package
(inherit libxml2)
(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"))))
(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)))))
;; 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
(inherit libxml2)
(version "2.11.9")
(source (origin
(inherit (package-source libxml2))
(uri (string-append "mirror://gnome/sources/libxml2/"
(version-major+minor version)"/libxml2-"
version ".tar.xz"))
(sha256
(base32
"17w0a622466k2hi5nln276la6rzfr9xaip3lqj71hmyvxyhmf0bq")))))))
(define-public libxml2-xpath0
(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.")))
(define-public python-libxml2
(package/inherit 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")))
(deprecated-package "python-libxml2" libxml2))
(define-public libxlsxwriter
(package
@ -394,7 +341,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
(define-public libxslt
(package
(name "libxslt")
(version "1.1.37")
(version "1.1.43")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"1d1s2bk0m6d7bzml9w90ycl0jlpcy4v07595cwaddk17h3f2fjrs"))
(patches (search-patches "libxslt-generated-ids.patch"))))
"0fhqy01x99iia8306czakxza4spzyn88w4bin4sw5bx57hw6ngas"))))
(build-system gnu-build-system)
(arguments
(list #:phases
@ -1256,7 +1202,7 @@ XSL-T processor. It also performs any necessary post-processing.")
"1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq"))))
(build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc
(list libxml2-next libxslt))
(list libxml2 libxslt))
(inputs
(list gnutls libgcrypt libltdl))
(native-inputs
@ -1937,13 +1883,13 @@ because lxml.etree already has its own implementation of XPath 1.0.")
(define-public python-lxml
(package
(name "python-lxml")
(version "5.2.2")
(version "6.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lxml" version))
(sha256
(base32 "11yvrzlswlh81z6lpmds2is2jd3wkigpwj6mcfcaggl0h64w8bdv"))))
(base32 "14064h0pxdsx36nhyjzrw0v16ygz977qf6l0ydnh5p97pwp8hfib"))))
(build-system pyproject-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View file

@ -5759,7 +5759,7 @@ Wayland.")
(define-public libx11
(package
(name "libx11")
(version "1.8.10")
(version "1.8.12")
(source
(origin
(method url-fetch)
@ -5767,7 +5767,7 @@ Wayland.")
version ".tar.xz"))
(sha256
(base32
"0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb"))))
"16lspc3bw2pg3jal7zyq6mxmxmmaax0fz6lgh1n4skqjn2dny0ps"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;8 MiB of man pages + XML

View file

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