Compare commits

...

149 commits

Author SHA1 Message Date
John Kehayias
63b515f157
gnu: python-beautifulsoup4: Update to 4.13.5.
* gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.13.5.

Change-Id: Ie1786b0b16b4332ea6295a3ecea83540dbab82cc
2025-09-25 23:27:43 -04:00
Sergey Trofimov
357bbd23cd
gnu: sane: Update to 1.4.0.
* gnu/packages/scanner.scm (sane): Update to 1.4.0.

Change-Id: I6c0d98de464c38d5c326a7f8346ca03a2be6a34c
2025-09-25 23:27:02 -04:00
Sergey Trofimov
0db7719a96
gnu: sane-airscan: Update to 0.99.36.
* gnu/packages/scanner.scm (sane-airscan): Update to 0.99.36.

Change-Id: I1e5227d2ff2e4578531bcb7051ad9d7f94d3b323
2025-09-25 23:27:01 -04:00
Sergey Trofimov
46d7928968
gnu: Replace usages of sane-backends with sane.
Replacement done using:
find gnu/packages -name '*.scm' -print0 | xargs -0 sed -ri \
  -e 's/"sane-backends" ,sane-backends/"sane" ,sane/' \
  -e 's/(list[^"]+sane)-backends/\1/' \
  -e 's/^( +sane)-backends/\1/'

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

Change-Id: If995e846ed4f53a740119b362e07c36c90a621cb
2025-09-25 23:27:00 -04:00
Sergey Trofimov
d3cb28f605
gnu: scanbd: Format inputs.
* gnu/packages/scanner.scm (scanbd)[inputs]: Use new format.

Change-Id: I82d4d013b93cf445056bfe3a0c78addef367b0db
2025-09-25 23:26:59 -04:00
Sergey Trofimov
2d494404c9
gnu: sane-backends: Remove hplip dependency.
* gnu/packages/scanner.scm (sane-backends)[inputs]: Omit hplip.
[arguments]: Remove hplip phases.
* gnu/services/desktop.scm (lift-sane-configuration): Warn user that
hplip needs to be explicitly enabled in sane-configuration.

Change-Id: I05ffc3a2d04c5ee3da2739b68085557ff791814f
2025-09-25 23:26:58 -04:00
Sergey Trofimov
7d64044147
gnu: hplip: Make SANE backend truly pluggable.
* gnu/packages/cups.scm (hplip)[#:phases]
<move-sane-config-to-dll.d>: Fix dynamic loading.

Change-Id: I5ae3edabf8ccb87d547990f641fe42d2260e9080
2025-09-25 23:26:57 -04:00
Sergey Trofimov
49b443a79a
services: sane: Support pluggable backends.
* gnu/services/desktop.scm (sane-configuration): New record.
(sane-service-type): Add native search paths to environment.

Change-Id: Ia7b66b62cf027200dd94533f32c1e4bc0ed373d3
2025-09-25 23:26:56 -04:00
Sergey Trofimov
f0ecc20fbf
gnu: sane-backends-minimal: Rename to sane.
sane-backends-minimal contains helper programs and library files, but
none of the backends. Renaming the package to avoid confusion.

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

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

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

Change-Id: I132a709d171331d249acfe2fd1242dae43867ae8
2025-09-25 23:26:54 -04:00
John Kehayias
9b5d820836
gnu: python-fonttools: Fix build.
* gnu/packages/python-xyz.scm (python-fonttools)[propagated-inputs]: Change
python-lxml-4.9 to python-lxml.

Change-Id: I5fb32f3cd02dd7d9d537a7464bf0bcc5f0088f93
2025-09-25 23:26:53 -04:00
Ada Stevenson
79d9d96e32
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-25 23:26:52 -04:00
John Kehayias
b03c32339a
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-25 23:26:51 -04:00
John Kehayias
8a41a6a182
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-25 23:26:50 -04:00
John Kehayias
592b875e5a
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-25 23:26:49 -04:00
Liliana Marie Prikler
a0ae72b934
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-25 23:26:48 -04:00
Liliana Marie Prikler
461f6734fa
gnu: Add gst-rtsp-server.
* gnu/packages/gstreamer.scm (gst-rtsp-server): New variable.

(cherry picked from commit 2605aa6323)
2025-09-25 23:26:47 -04:00
Liliana Marie Prikler
5c673bb1de
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-25 23:26:46 -04:00
Liliana Marie Prikler
76f6bc683b
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-25 23:26:45 -04:00
Liliana Marie Prikler
c350deb477
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-25 23:26:44 -04:00
Liliana Marie Prikler
9664466c3c
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-25 23:26:43 -04:00
Liliana Marie Prikler
d065e422ae
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-25 23:26:42 -04:00
Liliana Marie Prikler
3ca65f4b07
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-25 23:26:41 -04:00
Liliana Marie Prikler
a13c527a0e
gnu: gstreamer: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.26.3.

(cherry picked from commit 27ae993a06)
2025-09-25 23:26:40 -04:00
Liliana Marie Prikler
10b43f385e
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-25 23:26:39 -04:00
John Kehayias
8630d9e305
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-25 23:26:38 -04:00
John Kehayias
2011ec3def
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-25 23:26:37 -04:00
John Kehayias
18ededd3c5
gnu: liblangtag: Update to 0.6.7.
* gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.7.

Change-Id: I53a382d3c5784240a941c85f3efc29612655b4df
2025-09-25 23:26:36 -04:00
John Kehayias
d22165df30
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-25 23:26:35 -04:00
John Kehayias
131aea3fd3
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-25 23:26:34 -04:00
John Kehayias
68ece80ff9
gnu: mariadb: Update to 10.11.14.
* gnu/packages/databases.scm (mariadb): Update to 10.11.14.

Change-Id: Iea635acff6b89f9be23f0ce4ba255ef322eb8643
2025-09-25 23:26:33 -04:00
John Kehayias
6c955278b0
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-25 23:26:31 -04:00
John Kehayias
8c2beae6d3
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-25 23:26:30 -04:00
Liliana Marie Prikler
9b72edbc66
mesa: Re-enable dependency fallbacks.
* gnu/packages/gl.scm (mesa)[#:configure-flags]: Add “--wrap-mode=nodownload”.

(cherry picked from commit f0b058a541)
2025-09-25 23:26:29 -04:00
John Kehayias
442343a895
gnu: mesa: Update to 25.2.3.
* gnu/packages/gl.scm (mesa): Update to 25.2.3.

Change-Id: I28cee586fc49ba5aad9fa362260357e96d76977f
2025-09-25 23:26:28 -04:00
Sharlatan Hellseher
3b0387e8ca
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-25 23:26:27 -04:00
Maxim Cournoyer
e089257338
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-25 23:26:26 -04:00
Dariqq
580db526fe
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-25 23:26:25 -04:00
Sergey Trofimov
f86dfb91c6
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-25 23:26:25 -04:00
John Kehayias
b0511641fd
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-25 23:26:24 -04:00
John Kehayias
65d78a4c49
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-25 23:26:23 -04:00
John Kehayias
ace3474e83
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-25 23:26:22 -04:00
John Kehayias
03459c05f6
gnu: python-lxml: Update to 6.0.1.
* gnu/packages/xml.scm (python-lxml): Update to 6.0.1.

Change-Id: Iab60f97a74c804e17fd2f2adf326d8a098c06ef0
2025-09-25 23:26:21 -04:00
John Kehayias
8b5e5093ec
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-25 23:26:20 -04:00
John Kehayias
c33df372df
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-25 23:26:19 -04:00
John Kehayias
3523a6ea00
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-25 23:26:18 -04:00
John Kehayias
055c28f2fb
gnu: libx11: Update to 1.8.12.
* gnu/packages/xorg.scm (libx11): Update to 1.8.12.

Change-Id: I42986033bde1534e09a0f027c3599ed4142ff9c0
2025-09-25 23:26:17 -04:00
John Kehayias
4c15f6f41a
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-25 23:26:11 -04:00
John Kehayias
7933870864
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-25 23:26:10 -04:00
John Kehayias
a0246e63b1
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-25 23:26:09 -04:00
John Kehayias
68fbaa044e
gnu: wget: Ungraft.
* gnu/packages/wget.scm (wget): Update to 1.25.0.
[replacement]: Remove.
(wget/fixed): Remove.

Change-Id: Ib3798d67bc293295a0480e2db36de98e1ce7edea
2025-09-25 23:26:08 -04:00
John Kehayias
52d2029e17
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-25 23:26:07 -04:00
Maxim Cournoyer
8541b5b57c
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-25 23:26:06 -04:00
Maxim Cournoyer
5a738c6a9a
gnu: mesa: Update to 25.2.2.
* gnu/packages/gl.scm (mesa): Update to 25.2.2.

Change-Id: Iad91783d151000f6a7e43ce5d59f4b9b38aedc45
2025-09-25 23:26:05 -04:00
Cayetano Santos
7f3e2f62ce
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-25 23:26:04 -04:00
Cayetano Santos
cb54a1df80
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-25 23:26:03 -04:00
Cayetano Santos
27ac6cf1d7
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-25 23:26:02 -04:00
Cayetano Santos
1f3f1cb80f
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-25 23:26:01 -04:00
Cayetano Santos
1a96daf2ad
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-25 23:26:00 -04:00
Cayetano Santos
8b4bc0255e
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-25 23:25:59 -04:00
Cayetano Santos
f2bb900704
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-25 23:25:58 -04:00
Cayetano Santos
24cb8ef808
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-25 23:25:57 -04:00
Cayetano Santos
e0face7fa6
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-25 23:25:56 -04:00
Cayetano Santos
2a050bfecd
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-25 23:25:54 -04:00
Cayetano Santos
76ee7cbd56
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-25 23:25:53 -04:00
John Kehayias
7cfc2503ed
gnu: mesa: Update to 25.2.1.
* gnu/packages/gl.scm (mesa): Update to 25.2.1.

Change-Id: I4ee0255e6208b282ccca139c56e051a08170e026
2025-09-25 23:25:52 -04:00
John Kehayias
5b237838bc
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-25 23:25:51 -04:00
John Kehayias
b1da9ac437
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-25 23:25:50 -04:00
John Kehayias
cb9b4c4ad2
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-25 23:25:49 -04:00
John Kehayias
812560b0bb
gnu: libinput: Update to 1.29.0.
* gnu/packages/freedesktop.scm (libinput): Update to 1.29.0.

Change-Id: Ib54bd0d7202707852694f875c44c84b90589feac
2025-09-25 23:25:48 -04:00
John Kehayias
b1a0e0b3ae
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-25 23:25:47 -04:00
John Kehayias
60fa1486a2
gnu: Add meson-1.8.
* gnu/packages/build-tools.scm (meson-1.8): New variable.

Change-Id: I9895780b41f659d73750519825e7340a1f2911f9
2025-09-25 23:25:46 -04:00
Murilo
5c036f1236
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-25 23:25:45 -04:00
Murilo
8c3d674b65
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-25 23:25:44 -04:00
Murilo
3a8a7b86ec
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-25 23:25:43 -04:00
John Kehayias
7576d8ca24
gnu: mesa: Update to 25.1.6.
* gnu/packages/gl.scm (mesa): Update to 25.1.6.

Change-Id: I42e6d33411aea3876d84477212f5e21fadcf2605
2025-09-25 23:25:42 -04:00
Philipp Berger
a540ec794c
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-25 23:25:41 -04:00
Maxim Cournoyer
2e96dccdb7
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-25 23:25:40 -04:00
Maxim Cournoyer
7e8cde2119
gnu: libplacebo: Update to 7.351.0.
* gnu/packages/video.scm (libplacebo): Update to 7.351.0.

Change-Id: I96b5c43f9269e3ce61390118269dadfcca0f3103
2025-09-25 23:25:39 -04:00
Maxim Cournoyer
7746384cfa
gnu: mesa: Update to 25.1.5.
* gnu/packages/gl.scm (mesa): Update to 25.1.5.

Change-Id: Ic05db30a9c4d8ee8c165eb8455c245aa2e2afd85
2025-09-25 23:25:36 -04:00
Maxim Cournoyer
6c8243a7ea
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-25 23:25:35 -04:00
Maxim Cournoyer
0a07dd9cf2
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-25 23:25:34 -04:00
Maxim Cournoyer
60cebb5cc3
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-25 23:25:34 -04:00
Maxim Cournoyer
10276b31ea
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-25 23:25:33 -04:00
Maxim Cournoyer
14face88ee
gnu: shaderc: Update to 2025.3.
* gnu/packages/vulkan.scm (shaderc): Update to 2025.3.

Change-Id: If5ac7736ba1f32ddd24aaba45e179768aa37558f
2025-09-25 23:25:32 -04:00
Maxim Cournoyer
537f12edb3
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-25 23:25:31 -04:00
Maxim Cournoyer
7d505d1109
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-25 23:25:30 -04:00
Maxim Cournoyer
e617758bb2
gnu: glslang: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (glslang): Update to 1.4.313.0.

Change-Id: Ie3a4168dc4d62846b68b9a1f417edebf7224134f
2025-09-25 23:25:29 -04:00
Maxim Cournoyer
56ed5e952f
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-25 23:25:28 -04:00
Maxim Cournoyer
0e12a484c9
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-25 23:25:27 -04:00
Maxim Cournoyer
db9557cfdf
gnu: wayland-protocols: Update to 1.45.
* gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.45.

Change-Id: I6855e59a86dec111b45c0e87d6e3fabe62880aa9
2025-09-25 23:25:26 -04:00
Jesse Gibbons
02902fd0ba
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-25 23:25:25 -04:00
Maxim Cournoyer
7d7c1428e5
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-25 23:25:24 -04:00
45mg
6f2cbe7f4f
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-25 23:25:23 -04:00
Maxim Cournoyer
9cb3d609a8
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-25 23:25:22 -04:00
Maxim Cournoyer
2865ca4b88
gnu: ffmpeg: Update to 6.1.2.
* gnu/packages/video.scm (ffmpeg): Update to 6.1.2.

Change-Id: I32ee4ff66f3e8dcf87dbfb373252859bdb1c86d6
2025-09-25 23:25:18 -04:00
Sharlatan Hellseher
a693581752
gnu: Add go-github-com-google-cel-go.
* gnu/packages/golang-xyz.scm (go-github-com-google-cel-go): New variable.

Change-Id: I8b6a354a5e5782d84994c7ec4d7a728ac477bfaa
2025-09-26 00:50:09 +01:00
Sharlatan Hellseher
305e24ac59
gnu: Add go-cel-dev-expr.
* gnu/packages/golang-build.scm (go-cel-dev-expr): New variable.

Change-Id: I8487c567a6ae8119608b37bd65f8d2f0e0f3a010
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
40a1743beb
gnu: Add go-github-com-redis-go-redis-v9.
* gnu/packages/golang-xyz.scm (go-github-com-redis-go-redis-v9): New variable.

Change-Id: Ic54fa6fc90f1c5a547d1e95b9a38b0c7e4b880ad
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
2c706e87e3
gnu: Add go-github-com-bsm-gomega.
* gnu/packages/golang-check.scm (go-github-com-bsm-gomega): New variable.

Change-Id: I1c20f1019290506a7dc537298b122766fbf4d459
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
0529cf1000
gnu: Add go-github-com-bsm-ginkgo-v2.
* gnu/packages/golang-check.scm (go-github-com-bsm-ginkgo-v2): New variable.

Change-Id: Ic503d68117a0438b660c10250a5bb1aaf9118c2e
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
7bb028b25c
gnu: Add go-github-com-lum8rjack-go-ja4h.
* gnu/packages/golang-web.scm (go-github-com-lum8rjack-go-ja4h): New variable.

Change-Id: I61ddcf84978d188f1f3a658816a1d051687354b4
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
6cc5867bcb
gnu: Add go-k8s-io-apimachinery.
* gnu/packages/golang-xyz.scm (go-k8s-io-apimachinery): New variable.

Change-Id: Ibc993644cfcfe89e28f85efabc645badf6307dcf
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
6f8b8c436e
gnu: Add go-github-com-mxk-go-flowrate.
* gnu/packages/golang-xyz.scm (go-github-com-mxk-go-flowrate): New variable.

Change-Id: If8b5b13d30501c7e55a91f32b48ed1f4ad6ca9f0
2025-09-26 00:50:08 +01:00
Sharlatan Hellseher
a932006b42
gnu: Add go-sigs-k8s-io-kustomize-cmd-config.
* gnu/packages/golang-xyz.scm (go-sigs-k8s-io-kustomize-cmd-config): New variable.

Change-Id: I54f10eee8bffc8b7be8e64676008b2e0ba403dde
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
b73498acb3
gnu: Add go-gopkg-in-inf-v0.
* gnu/packages/golang-xyz.scm (go-gopkg-in-inf-v0): New variable.

Change-Id: I1c22496d1447500760a555baa4de444e674205da
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
f8e1b3c28f
gnu: Add go-github-com-moby-spdystream.
* gnu/packages/golang-xyz.scm (go-github-com-moby-spdystream): New variable.

Change-Id: Id4604d341ec75182cf915174a8fc722f954ba414
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
3d2703cc07
gnu: Add go-github-com-containerd-errdefs-pkg.
* gnu/packages/golang-xyz.scm (go-github-com-containerd-errdefs-pkg): New variable.

Change-Id: I3cdfd9e54259ecee2121484c0d79db725cb2bcb6
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
5a8abec052
gnu: Add go-github-com-containerd-errdefs.
* gnu/packages/golang-xyz.scm (go-github-com-containerd-errdefs): New variable.

Change-Id: I65dfdf3a4165983be9edadaa97cb810d7f844c18
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
df81748146
gnu: Add go-github-com-mitchellh-go-ps.
* gnu/packages/golang-xyz.scm (go-github-com-mitchellh-go-ps): New variable.

Change-Id: I8489da85622221754d0ea516f8f90d30479e02cf
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
9052b6ffb2
gnu: Add go-github-com-a-h-templ.
* gnu/packages/golang-web.scm (go-github-com-a-h-templ, templ): New
variables.

Change-Id: I72f7889819ecc0a6e030e4567129503d1ea1fd64
2025-09-26 00:50:07 +01:00
Sharlatan Hellseher
b0d44b0aa4
gnu: Add go-github-com-natefinch-atomic.
* gnu/packages/golang-xyz.scm (go-github-com-natefinch-atomic): New variable.

Change-Id: Iac7feb25f41a3305e6df471975bf570ae1b74c2b
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
91513889ca
gnu: Add go-github-com-nicksnyder-go-i18n-v2.
* gnu/packages/golang-xyz.scm (go-github-com-nicksnyder-go-i18n-v2): New
variable.

Change-Id: I721093e2e7b359aa868936160fc7be1ffe7987ec
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
cb802245f9
gnu: Add go-github-com-ebitengine-purego.
* gnu/packages/golang-build.scm (go-github-com-ebitengine-purego): New variable.

Change-Id: I135d7a3127878fa85a778e68cc15f83dcc6f7fcf
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
0bde5e3d0a
gnu: Add go-github-com-facebookgo-flagenv.
* gnu/packages/golang-xyz.scm (go-github-com-facebookgo-flagenv): New variable.

Change-Id: Ia1a706f7d1189f6427698c6a37f599ca13e7c8d0
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
98182c8f07
gnu: Add go-github-com-sebest-xff.
* gnu/packages/golang-web.scm (go-github-com-sebest-xff): New variable.

Change-Id: Ia7542a0e68ceb781eff1c4055dfe28aaf475f272
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
878c1a8df8
gnu: Add go-github-com-h2non-filetype.
* gnu/packages/golang-xyz.scm (go-github-com-h2non-filetype): New variable.

Change-Id: I4104e912fff42df31b06c2cc367bf383598a0f97
2025-09-26 00:50:06 +01:00
Sharlatan Hellseher
da5ba8a9b9
gnu: Add go-github-com-antlr4-go-antlr-v4.
* gnu/packages/golang-xyz.scm (go-github-com-antlr4-go-antlr-v4): New variable.

Change-Id: Ia637c362ae7a97aa88baca7f11122d19e2bf35a4
2025-09-26 00:50:05 +01:00
Sharlatan Hellseher
026ed19943
gnu: Add go-github-com-a-h-parse.
* gnu/packages/golang-xyz.scm (go-github-com-a-h-parse): New variable.

Change-Id: I417b0f8cd358b56b52416f75a5e04a4620742938
2025-09-26 00:50:05 +01:00
Sharlatan Hellseher
97049a428f
gnu: python-py2bit: Fix tests.
* gnu/packages/bioinformatics.scm (python-py2bit)[arguments]
<test-flags>: Provide test file.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: If125f1bf17073bb9253dd7c21862b55af9191e87
2025-09-26 00:50:05 +01:00
Sharlatan Hellseher
8d731c4f6c
gnu: python-hic2cool: Update to 1.0.1, fix build.
* gnu/packages/bioinformatics.scm (python-hic2cool): Update to 1.0.1.
[build-system]: Switch to pyproject-build-system.
[arguments]: Drop all, tests passed successfully, replied on
<https://github.com/4dn-dcic/hic2cool/issues/58>.
[native-inputs]: Add python-poetry-core.

Change-Id: I69f5bdfa91f52bff7e84f30fb7a68a6f0526ecb0
2025-09-26 00:50:05 +01:00
Ian Eure
56f909eefd
gnu: librewolf: Update to 143.0-1 [security-fixes].
Contains fixes for:
CVE-2025-10527: Sandbox escape due to use-after-free in the Graphics:
                Canvas2D component
CVE-2025-10528: Sandbox escape due to undefined behavior, invalid
                pointer in the Graphics: Canvas2D component
CVE-2025-10529: Same-origin policy bypass in the Layout component
CVE-2025-10530: Spoofing issue in the WebAuthn component in Firefox
                for Android
CVE-2025-10531: Mitigation bypass in the Web Compatibility: Tooling
                component
CVE-2025-10532: Incorrect boundary conditions in the JavaScript: GC
                component
CVE-2025-10533: Integer overflow in the SVG component
CVE-2025-10534: Spoofing issue in the Site Permissions component
CVE-2025-10535: Information disclosure, mitigation bypass in the
                Privacy component in Firefox for Android
CVE-2025-10536: Information disclosure in the Networking: Cache
                component
CVE-2025-10537: Memory safety bugs fixed in Firefox ESR 140.3,
                Thunderbird ESR 140.3, Firefox 143 and Thunderbird 143

* gnu/packages/librewolf.scm (librewolf): Update to 143.0-1.

Change-Id: Idaa54a67f36b10e990363371505437159add938d
2025-09-25 16:37:21 -07:00
Ian Eure
203243cc6a
gnu: nss-rapid: Update to 3.116.
* gnu/packages/nss.scm (nss-rapid): Update to 3.116.

Change-Id: I62e2c4623e91d436de159978d8a0ca8fb8ca2fa9
2025-09-25 16:37:20 -07:00
Ian Eure
e2294916c8
gnu: firefox-l10n: Update to 0349e18db25a701938d83c61fa90f6074ae9df01.
* gnu/packages/librewolf.scm (firefox-l10n): Update to 0349e18db25a701938d83c61fa90f6074ae9df01.

Change-Id: I3d9cb058aab931b799e72920ef713b217beefc43
2025-09-25 16:37:19 -07:00
Hugo Buddelmeijer
7c7bc37b6e
gnu: python-devtools: Disable failing tests.
* gnu/packages/python-xyz.scm (python-devtools): Disable failing tests.
[arguments] <test-flags>: Disable failing tests.

Change-Id: I1c6533a4a912d5dc4bde3610ccce7d38837caac4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 23:47:33 +01:00
ColdSideOfYourPillow
bcbc4cf384
gnu: mpv: Remove redundant phase.
* gnu/packages/video.scm (mpv): [arguments]: Remove phase
`build-reproducibly`.

Change-Id: I60291e4bc9e644d1d846f77e79028b7858d34652
Signed-off-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
2025-09-25 14:42:30 -07:00
Ludovic Courtès
0971788c0b
gnu: guix: Update to 679c9b0.
This is a followup to 6e12325bf3 and
7d1d1d1f7c.

* gnu/packages/package-management.scm (guix): Update to 679c9b0.

Change-Id: I96aa3ab3c0e5a9bdc11157e982815d5cb6816127
2025-09-25 23:23:15 +02:00
Hugo Buddelmeijer
758808cd9d
gnu: python-iterable-io: Fix tests.
* gnu/packages/python-xyz.scm (python-iterable-io): Fix tests.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: I8c525653b8277c39b3a4b74c82c5eb864f9b032d
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-09-25 13:58:53 -07:00
Hugo Buddelmeijer
7382948978
gnu: python-noiseprotocol: Fix tests.
* gnu/packages/python-web.scm (python-noiseprotocol): Fix tests.
[native-inputs]: Remove python-wheel; add python-pytest.
[source]: Switch to git-fetch to have tests.

Change-Id: I474ef101c1d645dea06c6a953928793d70c7caf2
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-09-25 13:58:50 -07:00
Nguyễn Gia Phong
679c9b0d8b
gnu: aflplusplus: Update to 4.33c.
* gnu/packages/debug.scm (aflplusplus): Update to 4.33c.

Change-Id: I8b4cd403926ffe9cb39fd340baf341a5b438e39d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:26 +02:00
pinoaffe
8580847f8a
gnu: Add bookmarkfs.
* gnu/packages/web.scm (bookmarkfs): New variable.

Change-Id: I83cfb30e26c58b258a85d085431eeed128995af9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:26 +02:00
Giacomo Leidi
40c2edf91b
build-system: mix: Allow passing test flags.
* guix/build-system/mix.scm (mix-build): Add test-flags keyword
argument and pass it on.
* guix/build/mix-build-system.scm (check): Add test-flags keyword
argument and pass it to Mix.

Change-Id: Ib8243aaaf7a7d02df993cee44f33b36566049e83
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:26 +02:00
Hugo Buddelmeijer
6e4ac11633
doc: Clarify depth argument of build -P is non-optional.
* doc/guix.texi (Additional Build Options): Depth in guix build -P is required.

Change-Id: I2cbc149a9fc59a198ceedb06cc1fa5496b4f4c91
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:26 +02:00
Hennadii Stepanov
5e89d39601
gnu: libsecp256k1: Fix cross-compiling.
* gnu/packages/crypto.scm (libsecp256k1)
[source]: Remove snippet deleting "src/precomputed_ecmult.c" and
"src/precomputed_ecmult_gen.c".
[arguments]: Add conditional phase 'delete-precomputed-files' that
deletes them only when not cross-compiling.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:25 +02:00
Simon Tournier
6e12325bf3
git: Fix update cached checkout when not a symref.
Follow up of 66463356ce.

* guix/git.scm (update-cached-checkout)[symref?]: New procedure.
[ref->refspecs]: New procedure.
Use them.

Change-Id: Ia2cb7db45222d59d61a2349bec277fd06456844b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-09-25 22:04:25 +02:00
Trevor Arjeski
052fab5f0b
gnu: mash: Update to 2.3 and fix build with gcc-14.
* gnu/packages/bioinformatics.scm (mash): Update to 2.3.
[arguments]<#:phases>{fix-includes}: Add file to substitutions.
* gnu/packages/patches/mash-add-missing-headers.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new file.

Fixes: guix/guix#2986
Change-Id: I6a37a6b65b0abe9b72663bcafbc034dac0cff0c0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-25 21:39:21 +02:00
Trevor Arjeski
8c7d8cbd2f
gnu: capnproto: Update to 1.2.0.
* gnu/packages/serialization.scm (capnproto): Update to 1.2.0.
* changed: gnu to cmake build system to get a test to pass (unsure why).
* moved: /tmp dir patch to after 'unpack phase.

Change-Id: I6a27587f8126eeb0cfeb7b9f26dc436bd66b5f92
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-25 21:20:00 +02:00
Andreas Enge
b97049b29c
gnu: Remove references to (gnu packages fcitx).
This is a follow-up to commit 04a4f8cc9d .

* etc/teams.scm (localization): Unregister removed file.
* CODEOWNERS: Regenerate file.

Change-Id: Id7196e36aab79ecdb65f9e4a1f18e81e92fb6994
2025-09-25 21:11:39 +02:00
Hilton Chain
4a16a264e9
gnu: Remove use of (gnu packages fcitx) module.
Follow-up to module removal in 04a4f8cc9d.

* gnu/packages/freedesktop.scm,
* gnu/packages/telegram.scm: Remove use of (gnu packages fcitx) module.

Change-Id: I36208bf8cb7ccb13bb4e55ec8262a8614adc5f16
2025-09-26 03:02:28 +08:00
Distopico
2ae4c32a74
gnu: direnv: Update to 2.37.1.
* gnu/packages/shellutils.scm (direnv): Update to 2.37.1.

Change-Id: I156b641435b0b0e134e9f4be206daa4275c89d51
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-25 20:53:40 +02:00
Andreas Enge
04a4f8cc9d
gnu: Remove (gnu packages fcitx).
* gnu/packages/fcitx.scm: Remove file.
* gnu/local.mk (GNU_SYSTEM_MODULES), po/packages/POTFILES.in: Unregister
file.

Fixes: guix/guix#2260
Change-Id: I70cdffb1dc5f8112afbdf556f457d647d788db9e
2025-09-25 20:33:34 +02:00
Andreas Enge
7ed492c5a8
gnu: Remove presage.
* gnu/packages/fcitx.scm (presage): Delete variable.

Change-Id: I37bb83d8c6dcb949103a57827f4cac8a97fab3b1
2025-09-25 20:31:45 +02:00
Andreas Enge
03b630d95b
gnu: Remove maliit-framework.
* gnu/packages/freedesktop.scm (maliit-framework): Delete variable.

Change-Id: Ia8d25c29a86befd5859f39693ed67e659ed1f68d
2025-09-25 20:31:14 +02:00
Andreas Enge
ab26bff569
gnu: Remove maliit-keyboard.
* gnu/packages/freedesktop.scm (maliit-keyboard): Delete variable.

Change-Id: I445aa513f75727c68860547e53d6ef378563d024
2025-09-25 20:29:09 +02:00
Simon Tournier
00799525e7
gnu: Add r-tesseract.
* gnu/packages/cran.scm (r-tesseract): New variable.

Change-Id: Ia4227bee7f02de4901c5a6542b6a3b8c2d880cd8
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-25 20:16:51 +02:00
Hilton Chain
fff8271db4
gnu: emacs-org-rainbow-tags: Update to 0.1-pre-1.dfe3604.
This change also fixes build failure of the package.

* gnu/packages/emacs-xyz.scm (emacs-org-rainbow-tags): Update to
0.1-pre-1.dfe3604.

Change-Id: Ia678db34fa9211ae100416b5e172d2b0dc35851b
2025-09-26 02:10:34 +08:00
Hilton Chain
896872cba8
gnu: python-mpv-jsonipc: Disable tests explicitly.
* gnu/packages/python-xyz.scm (python-mpv-jsonipc) [arguments] <#:tests?>:
Disable.

Change-Id: I921848852c7963951092e9beee0c630d954320b7
2025-09-26 02:06:11 +08:00
jgart
ace78713a9
gnu: trealla: Update to 2.83.8.
* gnu/packages/prolog.scm (trealla): Update to 2.83.8.

Change-Id: I190612b48e6a69e31384bb12d81465a668f2de59
2025-09-25 10:55:50 -05:00
Baptiste Strazzulla
29d364498e
gnu: git-lfs: Fix build.
This change is to bypass combination of go-build-system and custom make
targets where the import path is set manually, see discussion in
guix/guix#2133.

* gnu/packages/version-control.scm (git-lfs): Rename binary and home page

Change-Id: Ic87627412f715ebed07cf79ddd298e777746975f
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-25 16:39:34 +01:00
86 changed files with 2482 additions and 1956 deletions

View file

@ -240,7 +240,6 @@ guix/build-system/asdf\.scm @guix/lisp
gnu/packages/anthy\.scm @guix/localization
gnu/packages/fcitx5\.scm @guix/localization
gnu/packages/fcitx\.scm @guix/localization
gnu/packages/fonts\.scm @guix/localization
gnu/packages/ibus\.scm @guix/localization

View file

@ -13983,7 +13983,7 @@ natively.
@cindex building the dependents of a package
@anchor{build-dependents}
@item --dependents[=@var{depth}]
@itemx -P [@var{depth}]
@itemx -P @var{depth}
Build the dependents of the following package. By default, build all
the direct and indirect dependents; when @var{depth} is provided, limit
to dependents at that distance: 1 for direct dependents, 2 for
@ -26956,23 +26956,46 @@ site} for more information.
@defvar sane-service-type
This service provides access to scanners @i{via}
@uref{http://www.sane-project.org, SANE} by installing the necessary
udev rules. It is included in @code{%desktop-services} (@pxref{Desktop
Services}) and relies by default on @code{sane-backends-minimal} package
(see below) for hardware support.
udev rules and pluggable backends. It is included in
@code{%desktop-services} (@pxref{Desktop Services}) and relies by
default on @code{sane-backends} package (see below) for hardware
support.
@end defvar
@defvar sane-backends-minimal
The default package which the @code{sane-service-type} installs. It
supports many recent scanners.
@end defvar
@deftp {Data Type} sane-configuration
Data type representing the configuration for SANE.
@defvar sane-backends
This package includes support for all scanners that
@code{sane-backends-minimal} supports, plus older Hewlett-Packard
scanners supported by @code{hplip} package. In order to use this on
a system which relies on @code{%desktop-services}, you may use
@code{modify-services} (@pxref{Service Reference,
@code{modify-services}}) as illustrated below:
@table @asis
@item @code{sane} (default: @code{sane})
Package containing SANE library.
@item @code{backends} (default: @code{(sane-backends)})
List of packages with pluggable SANE backends:
@itemize @bullet
@item
@code{sane-backends}: The default backend collection which supports many recent scanners,
@item
@code{sane-airscan}: A backend that enables network scanners supporting eSCL (Apple) or WSD,
(Microsoft) protocols
@item
@code{hplip}: A backend containing drivers for older Hewlett-Packard scanners,
@item
@code{utsushi}: A backend containing drivers for older Epson devices.
@end itemize
@end table
@end deftp
In order to use additional backends on a system which relies on
@code{%desktop-services}, you may use @code{modify-services}
(@pxref{Service Reference, @code{modify-services}}) as illustrated
below:
@lisp
(use-modules (gnu))
@ -26986,13 +27009,14 @@ a system which relies on @code{%desktop-services}, you may use
(define %my-desktop-services
;; List of desktop services that supports a broader range of scanners.
(modify-services %desktop-services
(sane-service-type _ => sane-backends)))
(sane-service-type _ =>
(sane-configuration
(backends (list sane-backends sane-airscan))))))
(operating-system
@dots{}
(services %my-desktop-services))
@end lisp
@end defvar
@deffn {Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]
Return a configuration allowing an application to access GeoClue

View file

@ -797,7 +797,6 @@ asdf-build-system."
"Localization of your system to specific languages."
#:scope (list "gnu/packages/anthy.scm"
"gnu/packages/fcitx5.scm"
"gnu/packages/fcitx.scm"
"gnu/packages/fonts.scm"
"gnu/packages/ibus.scm")))

View file

@ -276,7 +276,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/erlang-xyz.scm \
%D%/packages/esolangs.scm \
%D%/packages/fabric-management.scm \
%D%/packages/fcitx.scm \
%D%/packages/fcitx5.scm \
%D%/packages/fediverse.scm \
%D%/packages/figlet.scm \
@ -1137,7 +1136,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 \
@ -1229,6 +1228,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 \
@ -1554,6 +1554,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 \
@ -1604,6 +1605,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 \
@ -1675,6 +1677,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 \
@ -1747,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 \
@ -1787,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 \
@ -1830,6 +1833,7 @@ dist_patch_DATA = \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/makem-replace-git.patch \
%D%/packages/patches/marisa-fix-MARISA_WORD_SIZE.patch \
%D%/packages/patches/mash-add-missing-headers.patch \
%D%/packages/patches/mathjax-disable-webpack.patch \
%D%/packages/patches/mathjax-no-a11y.patch \
%D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
@ -2226,6 +2230,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 \
@ -2261,6 +2266,7 @@ dist_patch_DATA = \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
@ -2433,6 +2439,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

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

@ -7310,7 +7310,9 @@ trees (phylogenies) and characters.")
(base32
"0w1p4l1jwg9kkifm0jsg33a212ps0jn61islmnng2afp77y5nkr6"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-setuptools-scm python-wheel))
(arguments
(list #:test-flags #~(list "py2bitTest/test.py")))
(native-inputs (list python-pytest python-setuptools python-setuptools-scm))
(home-page "https://github.com/dpryan79/py2bit")
(synopsis "Access 2bit files using lib2bit")
(description
@ -10463,7 +10465,7 @@ technology. Its features include:
(define-public mash
(package
(name "mash")
(version "2.1")
(version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -10472,12 +10474,13 @@ technology. Its features include:
(file-name (git-file-name name version))
(sha256
(base32
"049hwcc059p2fd9vwndn63laifvvsi0wmv84i6y1fr79k15dxwy6"))
"00x4pvxwp3isf0qign1qmxwxc9rwzn5b3igjw9hyn3vx17bsx92q"))
(modules '((guix build utils)))
(snippet
;; Delete bundled kseq.
;; TODO: Also delete bundled murmurhash and open bloom filter.
'(delete-file "src/mash/kseq.h"))))
'(delete-file "src/mash/kseq.h"))
(patches (search-patches "mash-add-missing-headers.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests.
@ -10496,7 +10499,8 @@ technology. Its features include:
(lambda _
(substitute* '("src/mash/Sketch.cpp"
"src/mash/CommandFind.cpp"
"src/mash/CommandScreen.cpp")
"src/mash/CommandScreen.cpp"
"src/mash/CommandTaxScreen.cpp")
(("^#include \"kseq\\.h\"")
"#include \"htslib/kseq.h\""))))
(add-after 'fix-includes 'use-c++14
@ -20727,7 +20731,7 @@ efficiently.")
(define-public python-hic2cool
(package
(name "python-hic2cool")
(version "0.8.3")
(version "1.0.1")
;; pypi sources do not contain the test_data directory and no test can be
;; run
(source
@ -20739,32 +20743,15 @@ efficiently.")
(file-name (git-file-name name version))
(sha256
(base32
"0dlnf0qfcp4jrc1nyya32a035c13xicyq16bwfnwhbb9s47mz7gl"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Two of the test-data files need to be writable.
(add-after 'unpack 'make-test-data-writable
(lambda _
(for-each make-file-writable
(list "test_data/hic2cool_0.4.2_single_res.cool"
"test_data/hic2cool_0.7.0_multi_res.mcool"))))
;; See https://github.com/4dn-dcic/hic2cool/issues/58
(add-after 'unpack 'fix-incompatibility-with-h5py-3
(lambda _
(substitute* "test.py"
(("h5py.File\\(fname\\)") "h5py.File(fname, 'r')"))
(substitute* "hic2cool/hic2cool_updates.py"
(("h5py.File\\(writefile\\)")
"h5py.File(writefile, 'a')"))))
;; These two tests fail for unknown reasons.
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "test.py"
(("def test_convert") "def _test_convert")))))))
"0k0i43z43rxbpna4hfci406ma906w893frfj3cha1n8drvhdql6c"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core))
(propagated-inputs
(list python-cooler python-h5py python-numpy python-pandas
(list python-cooler
python-h5py
python-numpy
python-pandas
python-scipy))
(home-page "https://github.com/4dn-dcic/hic2cool")
(synopsis "Converter for .hic and .cool files")
@ -23605,7 +23592,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")

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

@ -31,7 +31,7 @@
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com>
;;; Copyright © 2020, 2021, 2022, 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020-2023, 2025 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 Aniket Patil <aniket112.patil@gmail.com>
;;; Copyright © 2021 Marcel Schilling <marcel.schilling@uni-luebeck.de>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
@ -103,6 +103,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages ocr)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@ -55433,6 +55434,36 @@ or animation) or multiple time series; methods for spatial and temporal
matching or aggregation, retrieving coordinates, print, summary, etc.")
(license license:gpl2+)))
(define-public r-tesseract
(package
(name "r-tesseract")
(version "5.2.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "tesseract" version))
(sha256
(base32 "181fbv1qhqxljr67phkrxahbfgsxa73gzq30zq0wvi38gzbfbnv8"))))
(properties `((upstream-name . "tesseract")))
(build-system r-build-system)
(inputs (list tesseract-ocr
zlib))
(propagated-inputs (list r-curl
r-digest
r-pdftools
r-rappdirs
r-rcpp))
(native-inputs (list pkg-config
r-knitr
r-spelling))
(home-page "https://github.com/ropensci/tesseract")
(synopsis "Open Source OCR Engine")
(description
"Bindings to @code{tesseract}: an optical character recognition (OCR) engine
that supports over 100 languages. The engine is highly configurable in order
to tune the detection algorithms and obtain the best possible results.")
(license license:asl2.0)))
(define-public r-gstat
(package
(name "r-gstat")

View file

@ -1136,20 +1136,26 @@ trivial to build for local use. Portability is emphasized over performance.")
(file-name (git-file-name name version))
(sha256
(base32
"1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))
(modules '((guix build utils)))
(snippet
;; These files are pre-generated, the build system is able to
;; re-generate those.
#~(for-each delete-file '("src/precomputed_ecmult.c"
"src/precomputed_ecmult_gen.c")))))
"1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-module-recovery"
"--enable-experimental"
"--enable-shared"
"--disable-static"
"--disable-benchmark")))
(list #:configure-flags
#~(list
"--enable-module-recovery"
"--enable-experimental"
"--enable-shared"
"--disable-static"
"--disable-benchmark")
#:phases
(if (%current-target-system)
#~%standard-phases
#~(modify-phases %standard-phases
;; These files are pre-generated, the build system is able to
;; re-generate those if not cross-compiling,
(add-after 'unpack 'delete-precomputed-files
(lambda _
(for-each delete-file '("src/precomputed_ecmult.c"
"src/precomputed_ecmult_gen.c"))))))))
(native-inputs
(list autoconf automake libtool))
(synopsis "C library for EC operations on curve secp256k1")

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
@ -703,6 +704,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(string-append "rulessystemdir = " out "/lib/systemd/system"))
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
(add-after 'install 'move-sane-config-to-dll.d
(lambda _
;; move dll.conf to dll.d - the directory intended for 3rd-party
;; backend configurations.
(let ((dll.d (string-append #$output "/etc/sane.d/dll.d"))
(dll.conf (string-append #$output "/etc/sane.d/dll.conf")))
(mkdir-p dll.d)
(rename-file dll.conf (string-append dll.d "/hpaio")))))
(add-after 'install 'install-models-dat
(lambda* (#:key outputs #:allow-other-keys)
(install-file "data/models/models.dat"
@ -751,7 +760,7 @@ should only be used as part of the Guix cups-pk-helper service.")
python-pygobject
python-pyqt
python-wrapper
sane-backends-minimal
sane
net-snmp
openssl
avahi
@ -789,7 +798,7 @@ should only be used as part of the Guix cups-pk-helper service.")
dbus
libjpeg-turbo
libusb
sane-backends-minimal
sane
zlib))
(synopsis "GUI-less version of hplip")))

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

@ -528,7 +528,7 @@ server and embedded PowerPC, and S390 guests.")
(package
(inherit american-fuzzy-lop)
(name "aflplusplus")
(version "4.32c")
(version "4.33c")
(source (origin
(method git-fetch)
(uri (git-reference
@ -537,7 +537,7 @@ server and embedded PowerPC, and S390 guests.")
(file-name (git-file-name name version))
(sha256
(base32
"1a92mbwk51pih5jb944wqhvmbpy0acpxgvdfbq3c4xw7gisgn5qn"))))
"1h4ya82s1wd11c04r0g0wsq56asl1np3nmsf6yk4vyic9nm0hsq0"))))
(arguments
(substitute-keyword-arguments (package-arguments american-fuzzy-lop)
((#:make-flags _ ''())

View file

@ -187,7 +187,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)
@ -198,7 +198,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
@ -219,12 +219,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

@ -9432,11 +9432,11 @@ inline PDF preview in Org buffers by using @command{pdf2svg}.")
(license license:gpl3+)))
(define-public emacs-org-rainbow-tags
;; Upstream didn't tag version.
(let ((commit "c6040d228c5e8c5c6d33c7f81fc09d935ad1bcbd"))
(let ((commit "dfe36047bc9646b621452f3e2e97170e99e2b43f")
(revision "1"))
(package
(name "emacs-org-rainbow-tags")
(version "0.1-pre")
(version (git-version "0.1-pre" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -9445,7 +9445,7 @@ inline PDF preview in Org buffers by using @command{pdf2svg}.")
(file-name (git-file-name name version))
(sha256
(base32
"006nx01sby8k0fc9lf63ldf0sl94ihldyrvqr9r18fb1gpzvivl6"))))
"1rhgvbhsbm999l5kg19747dxwscd5h5sl330d6a422f0dxvvxqrq"))))
(build-system emacs-build-system)
(home-page "https://github.com/KaratasFurkan/org-rainbow-tags")
(synopsis "Colorize Org tags automatically")

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

@ -1566,8 +1566,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

@ -1,96 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fcitx)
#:use-module ((guix licenses) #:select (gpl2+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages autotools)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages man)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public presage
(package
(name "presage")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/presage/presage/"
version "/presage-" version ".tar.gz"))
(sha256
(base32 "0rm3b3zaf6bd7hia0lr1wyvi1rrvxkn7hg05r5r1saj0a3ingmay"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
(list
"CFLAGS=-Wno-narrowing -std=c++14"
"CXXFLAGS=-Wno-narrowing -std=c++14")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share/presage"))
(rename-file
(string-append out "/share/presage/html")
(string-append doc "/share/presage/html")))))
(add-after 'unpack 'update-config-scripts
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(for-each (lambda (file)
(install-file
(search-input-file
(or native-inputs inputs)
(string-append "/bin/" file)) "."))
'("config.guess" "config.sub")))))))
(native-inputs
`(("config" ,config)
("dot" ,graphviz)
("doxygen" ,doxygen)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk+:bin" ,gtk+ "bin")
("help2man" ,help2man)
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(inputs
(list glib gtk+ libx11 sqlite tinyxml))
(synopsis "Intelligent Predictive Text Entry System")
(description "Presage generates predictions by modelling natural language as
a combination of redundant information sources. It computes probabilities for
words which are most likely to be entered next by merging predictions generated
by the different predictive algorithms.")
(home-page "https://presage.sourceforge.io/")
(license gpl2+)))

View file

@ -94,7 +94,6 @@
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fcitx)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
@ -380,95 +379,6 @@ inappropriate content.")
license:gpl2+
license:lgpl2.1+))))
(define-public maliit-framework
(package
(name "maliit-framework")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/maliit/framework")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1dkjxvfxg56hfy70j6ibfklfyv57jiha4vgc3ggl60r5kjx65s5b"))))
(build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The Ft_MIMPluginManager::testPluginDescriptions test fails
;; with a QFATAL error: received signal 11, while
;; ut_mimpluginmanager fails at least on powerpc64le with a
;; subprocess aborted error (see:
;; https://github.com/maliit/framework/issues/120).
(invoke "ctest" "-E"
"(ft_mimpluginmanager|ut_mimpluginmanager)")))))))
(native-inputs (list extra-cmake-modules
wayland-protocols
pkg-config
doxygen
graphviz
`(,glib "bin"))) ;for gdbus-codegen))
(inputs (list qtbase-5
qtdeclarative-5
qtwayland-5
wayland
libxkbcommon
dbus
eudev
glib))
(home-page "https://github.com/maliit/framework")
(synopsis "Core libraries of Maliit")
(description "This package provides Maliit provides a flexible input
method framework.")
(license license:lgpl2.1+)))
(define-public maliit-keyboard
(package
(name "maliit-keyboard")
(version "2.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/maliit/keyboard")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g89lckl4wzwamc89hs8871fbiyrsjwzk5b6ic4vhc4d1clyqzaw"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'install 'install-schemas
(lambda* (#:key source outputs #:allow-other-keys)
(with-directory-excursion (string-append #$output
"/share/glib-2.0/schemas")
(invoke "glib-compile-schemas" ".")))))))
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal
`(,glib "bin")))
(inputs (list hunspell
glib
libchewing
libpinyin
maliit-framework
presage
qtbase-5
qtdeclarative-5
qtmultimedia-5
qtquickcontrols2-5))
(home-page "https://github.com/maliit/keyboard")
(synopsis "Maliit Keyboard")
(description
"This package provides virtual keyboard for Wayland and X11
display servers. It supports many different languages and emoji.")
(license license:gpl3+)))
;; Private package used by shared-mime-info.
(define xdgmime
;; No public release, match commit to the one used in the
@ -676,7 +586,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 +595,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 +642,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 +1348,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 +1356,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 +1398,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 +1407,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 +2234,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

@ -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")
@ -4254,7 +4254,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
@ -4911,7 +4911,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/")
@ -5021,7 +5021,6 @@ files.")
(define-public rest
(package
(replacement rest/fixed)
(name "rest")
(version "0.8.1")
(source (origin
@ -5050,13 +5049,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)
@ -5210,7 +5202,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
libpsl
nghttp2 ;for pkg-config
`(,nghttp2 "lib")
libxml2-next-for-grafting
libxml2
sqlite
zlib))
(inputs
@ -5799,7 +5791,7 @@ output devices.")
docbook-xsl
gtk-doc/stable
libxslt
sane-backends
sane
vala))))) ;for VAPI, needed by simple-scan
(define-public geoclue
@ -6018,7 +6010,7 @@ service via the system message bus.")
(list gtk+
gdk-pixbuf
json-glib
libxml2-next-for-grafting
libxml2
libsoup
geocode-glib))
(inputs
@ -6137,7 +6129,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")
@ -7238,7 +7230,7 @@ USB transfers with your high-level application or system daemon.")
gdk-pixbuf
gusb
libadwaita
sane-backends))
sane))
(home-page "https://gitlab.gnome.org/GNOME/simple-scan")
(synopsis "Document and image scanner")
(description
@ -8122,7 +8114,7 @@ to display dialog boxes from the commandline and shell scripts.")
libxext
libxfixes
libxkbcommon
libxml2-next-for-grafting
libxml2
libxrandr
mesa
pango
@ -8948,7 +8940,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
@ -9726,7 +9718,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
@ -13885,7 +13878,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
@ -14000,7 +13993,7 @@ world.")
("python-pyenchant" ,python-pyenchant)
("python-reportlab" ,python-reportlab)
("python-sane" ,python-sane)
("sane-backends" ,sane-backends)
("sane" ,sane)
("tesseract-ocr" ,tesseract-ocr)))
(home-page "https://wiki.gnome.org/Apps/OCRFeeder")
(synopsis "Complete OCR Suite")

View file

@ -60,6 +60,75 @@
;;;
;;; Code:
(define-public go-cel-dev-expr
(package
(name "go-cel-dev-expr")
(version "0.24.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/cel-spec")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fzy5njwzg48h1mqbfhczyq6hxmbq3yzdivkjh1x8ipj19v4hvfl"))))
(build-system go-build-system)
(arguments
(list
#:import-path "cel.dev/expr"))
(propagated-inputs
(list go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-protobuf))
(home-page "https://cel.dev/")
(synopsis "Common Expression Language")
(description
"The Common Expression Language (CEL) implements common semantics for
expression evaluation, enabling different applications to more easily
interoperate.")
(license license:asl2.0)))
(define-public go-github-com-ebitengine-purego
(package
(name "go-github-com-ebitengine-purego")
(version "0.8.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ebitengine/purego")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sy5cn56wxwv1qpl6vg5160hlk004m5wdlf18rfnj63573f5kivh"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ebitengine/purego"
;; TODO: This failed test should be proper checked.
;; ld:
;; /tmp/guix-build-go-github-com-ebitengine-purego-0.8.4.drv-0/ccguQKNs.o:
;; relocation R_X86_64_32 against `.bss' can not be used when making a
;; shared object; recompile with -fPIC ld: failed to set dynamic section
;; sizes: bad value collect2: error: ld returned 1 exit status
#:test-flags #~(list "-skip" "TestNestedDlopenCall")))
(home-page "https://github.com/ebitengine/purego")
(synopsis "Library for calling C functions from Go without Cgo")
(description
"This package provides a library for calling C functions from Go without
Cgo.
Featues:
@itemize
@item build for other platforms easily without a C compiler
@item efficiently cache entirely Go builds
@item using Cgo generates a C wrapper function for each C function called
@item load symbols at runtime and use it as a plugin system
@item call into other languages that are compiled into shared objects
@item works even with @code{CGO_ENABLED=1} so incremental porting is possible
@end itemize")
(license license:asl2.0)))
(define-public go-github-com-goccmack-gocc
(package
(name "go-github-com-goccmack-gocc")

View file

@ -289,6 +289,57 @@ for Golang projects via modular Makefiles and GitHub Actions.")
in Golang.")
(license license:expat)))
(define-public go-github-com-bsm-ginkgo-v2
(package
(name "go-github-com-bsm-ginkgo-v2")
(version "2.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bsm/ginkgo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01k1j1bwdq23hs9zzbz9kdljvr6hzym53mqxh2gy0bz4lggcd6qs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/bsm/ginkgo/v2"
#:test-flags #~(list "-vet=off")))
(home-page "https://github.com/bsm/ginkgo")
(synopsis "Straight copy of Ginkgo library")
(description
"This package is a straight copy of the excellent
@url{http://onsi.github.io/ginkgo/, Ginkgo} library, stripped to the bare core
to be free of third-party dependencies.")
(license license:expat)))
(define-public go-github-com-bsm-gomega
(package
(name "go-github-com-bsm-gomega")
(version "1.27.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bsm/gomega")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0i7p85wsqv1j9aq052vdw006xq42n1rdgnk1lr6f5wnapwab2shz"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/bsm/gomega"))
(home-page "https://github.com/bsm/gomega")
(synopsis "Straight copy of Gomega library")
(description
"This is a straight copy of the excellent
@url{http://onsi.github.io/gomega/, Gomega} library, stripped to the bare core
to be free of third-party dependencies.")
(license license:expat)))
(define-public go-github-com-caarlos0-testfs
(package
(name "go-github-com-caarlos0-testfs")

View file

@ -438,6 +438,73 @@ Signature headers are to be set (but not both).
It's an alternative fork of @url{https://github.com/go-fed/httpsig}.")
(license license:bsd-3)))
(define-public go-github-com-a-h-templ
(package
(name "go-github-com-a-h-templ")
(version "0.3.943")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/a-h/templ")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dqcdva7z53lhfv6ldjixwp4a363sr2cv5qm8rz2w7n8ba60m37f"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/a-h/templ/docs
;; - github.com/a-h/templ/runtime/fuzzing
(delete-file-recursively "docs")
(delete-file-recursively "runtime/fuzzing")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/a-h/templ"
#:unpack-path "github.com/a-h/templ"
;; TODO: Find out how to enable complete test suit, which might need
;; gopls and other extra commands available in the PATH.
#:test-flags
#~(list "-skip" (string-join
(list "Test/css-1.css"
"Test/js-1.js"
"TestFormatting"
"TestIsAvailable/existing_commands_return_true")
"|"))
#:test-subdirs #~(list "internal/...")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-a-h-parse
go-github-com-andybalholm-brotli
go-github-com-cenkalti-backoff-v4
go-github-com-cli-browser
go-github-com-fatih-color
go-github-com-fsnotify-fsnotify
go-github-com-google-go-cmp
go-github-com-natefinch-atomic
go-github-com-rs-cors
go-golang-org-x-mod
go-golang-org-x-net
go-golang-org-x-sync
go-golang-org-x-tools))
(home-page "https://templ.guide/")
(synopsis "Language for writing HTML user interfaces in Golang")
(description
"This package implements a functionality to create components that render
fragments of HTML and compose them to create screens, pages, documents, or
apps.")
(license license:expat)))
(define-public go-github-com-aki237-nscjar
(package
(name "go-github-com-aki237-nscjar")
@ -6556,6 +6623,30 @@ intends to be compatible with Avahi.")
Block Storage for container, cloud and virtualisation.")
(license license:asl2.0)))
(define-public go-github-com-lum8rjack-go-ja4h
(package
(name "go-github-com-lum8rjack-go-ja4h")
(version "0.0.0-20250828030157-fa5266d50650")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lum8rjack/go-ja4h")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "079qh3lj6a8jr90g170lc36b878hqfyi94azqs8fl0wnj2fzzcs3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/lum8rjack/go-ja4h"))
(home-page "https://github.com/lum8rjack/go-ja4h")
(synopsis "JA4H Fingerprint in Golang")
(description
"This Package provides an implementation of the
@url{https://github.com/FoxIO-LLC/ja4, JA4HTTP (JA4H) hashing algorithm}.")
(license license:expat)))
(define-public go-github-com-macronut-go-tproxy
(package
(name "go-github-com-macronut-go-tproxy")
@ -9879,6 +9970,39 @@ information or even the peer of a VETH interface.")
"Package jsonschema provides json-schema compilation and validation.")
(license license:asl2.0)))
(define-public go-github-com-sebest-xff
(package
(name "go-github-com-sebest-xff")
(version "0.0.0-20210106013422-671bd2870b3a")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sebest/xff")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "06is8vvgxsis4sdr1d1n7p5g16x3rrw86qwkiwgamm5vnjkrvcdp"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/sebest/xff"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "examples")))))))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/sebest/xff")
(synopsis "X-Forwarded-For middleware fo Golang")
(description
"Package @@code{xff} is a @code{net/http} middleware/handler to parse
@url{http://tools.ietf.org/html/rfc7239, Forwarded HTTP Extension} in
Golang.")
(license license:expat)))
(define-public go-github-com-sherclockholmes-webpush-go
(package
(name "go-github-com-sherclockholmes-webpush-go")
@ -13580,6 +13704,22 @@ carries no encryption keys and cannot decode the traffic that it proxies.")))
(propagated-inputs '())
(inputs '())))
(define-public templ
(package/inherit go-github-com-a-h-templ
(name "templ")
(arguments
(substitute-keyword-arguments
(package-arguments go-github-com-a-h-templ)
((#:tests? _ #t) #f)
((#:install-source? _ #t) #f)
((#:import-path _ "github.com/a-h/templ")
"github.com/a-h/templ/cmd/templ")))
(native-inputs
(append (package-native-inputs go-github-com-a-h-templ)
(package-propagated-inputs go-github-com-a-h-templ)))
(propagated-inputs '())
(inputs '())))
(define-public xurls
(package/inherit go-mvdan-cc-xurls-v2
(name "xurls")

View file

@ -751,6 +751,32 @@ Application Record Encoding} https://baremessages.org/ message format for
Golang.")
(license license:asl2.0)))
(define-public go-github-com-a-h-parse
(package
(name "go-github-com-a-h-parse")
(version "0.0.0-20250122154542-74294addb73e")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/a-h/parse")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1warii2f9mrp5m2da9pn4chzd4y3fjlc3547va8xljfh09bvray4"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/a-h/parse"))
(native-inputs
(list go-github-com-google-go-cmp))
(home-page "https://github.com/a-h/parse")
(synopsis "Parsing tools for Golang")
(description
"This package provides a set of parsing tools for Go inspired by
@url{https://github.com/sprache/Sprache/, Sprache}.")
(license license:expat)))
(define-public go-github-com-a8m-envsubst
(package
(name "go-github-com-a8m-envsubst")
@ -1609,6 +1635,34 @@ commands.")
"This package implements optimal parameters for data-types.")
(license license:expat)))
(define-public go-github-com-antlr4-go-antlr-v4
(package
(name "go-github-com-antlr4-go-antlr-v4")
(version "4.13.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/antlr4-go/antlr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m5q00fvz28dgvv3ws924p6gamxm6gzqfm12f5ryhljifg22xq3d"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/antlr4-go/antlr/v4"))
(propagated-inputs
(list go-golang-org-x-exp))
(home-page "https://github.com/antlr4-go/antlr")
(synopsis "ANTLR4 Go Runtime Module")
(description
"This package implements the Go version of the
@url{https://github.com/antlr/antlr4, ANTLR 4} runtime - ANother Tool for
Language Recognition, a parser generator that uses a LL algorithm for
parsing.")
(license license:bsd-3)))
(define-public go-github-com-apex-logs
(package
(name "go-github-com-apex-logs")
@ -4570,6 +4624,92 @@ dependencies and a simple API.")
"This package provides a transport-agnostic, filesystem metadata manifest system.")
(license license:asl2.0)))
(define-public go-github-com-containerd-errdefs
(package
(name "go-github-com-containerd-errdefs")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/errdefs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containerd/errdefs/pkg
(delete-file-recursively "pkg")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/containerd/errdefs"))
(home-page "https://github.com/containerd/errdefs")
(synopsis "Common definition and library of errors used by containerd")
(description
"Package errdefs defines the common errors used throughout containerd
packages.")
(license license:asl2.0)))
(define-public go-github-com-containerd-errdefs-pkg
(package
(name "go-github-com-containerd-errdefs-pkg")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/errdefs")
(commit (go-version->git-ref version
#:subdir "pkg"))))
(file-name (git-file-name name version))
(sha256
(base32 "0afaljkkd388f6igr3f2vjnd14yr8h20fcfzglw8j5q1q7a1cvik"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider to implement it as re-usable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containerd/errdefs/pkg"
#:unpack-path "github.com/containerd/errdefs"))
(propagated-inputs
(list go-github-com-containerd-errdefs
go-github-com-containerd-typeurl-v2
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf))
(home-page "https://github.com/containerd/errdefs")
(synopsis "Addintional error handling modules for containerd")
(description
"This package provides an additinal Golang modules for error handling in
containerd projects.
@itemize
@item errgrpc - provides utility functions for translating errors to and from
a gRPC context
@item errhttp - provides utility functions for translating errors to and from
a HTTP context
@end itemize")
(license license:asl2.0)))
(define-public go-github-com-containerd-fifo
(package
(name "go-github-com-containerd-fifo")
@ -7016,6 +7156,31 @@ in a consistent state and never represent an in-progress write.")
;; <...>
(license license:bsd-3)))
(define-public go-github-com-facebookgo-flagenv
(package
(name "go-github-com-facebookgo-flagenv")
(version "0.0.0-20160425205200-fcd59fca7456")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/facebookarchive/flagenv")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c7fw4y4gmdrn66dx7la637lx0hvs1w27x9j12wdx037n51r078g"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;Tests require dated code <github.com/facebookgo/ensure>
#:import-path "github.com/facebookgo/flagenv"))
(home-page "https://github.com/facebookgo/flagenv")
(synopsis "Populate flags from environment variables")
(description
"Package flagenv provides the ability to populate flags from environment
variables.")
(license license:bsd-3)))
(define-public go-github-com-facette-natsort
(package
(name "go-github-com-facette-natsort")
@ -8836,6 +9001,67 @@ This package contains a series of small enhancements and additions.")
the resource usage and performance characteristics of running containers.")
(license license:asl2.0))))
(define-public go-github-com-google-cel-go
(package
(name "go-github-com-google-cel-go")
(version "0.26.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/cel-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hrdr9fzac0p7jrlbchz2qvdikr1szq5rg4sdsld7n849mmz8ypf"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/google/cel-go/codelab
;; - github.com/google/cel-go/conformance
;; - github.com/google/cel-go/policy
;; - github.com/google/cel-go/repl/appengine
;; - github.com/google/cel-go/repl
;; - github.com/google/cel-go/tools
(for-each delete-file-recursively
(list "codelab"
"conformance"
"policy"
"repl/appengine"
"repl"
"tools"
"vendor"))))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/google/cel-go"
#:test-flags #~(list "-skip" "TestStringFormat")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key tests? import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(delete-file-recursively "examples")))))))
(propagated-inputs
(list go-cel-dev-expr
go-github-com-antlr4-go-antlr-v4
go-github-com-stoewer-go-strcase
go-golang-org-x-text
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-protobuf
go-gopkg-in-yaml-v3))
(home-page "https://github.com/google/cel-go")
(synopsis "Common Expression Language")
(description
"The Common Expression Language (CEL) is a non-Turing complete language
designed for simplicity, speed, safety, and portability. CEL's C-like
@url{https://github.com/google/cel-spec, syntax} looks nearly identical to
equivalent expressions in C++, Go, Java, and TypeScript.")
(license license:asl2.0)))
(define-public go-github-com-google-gnostic-models
(package
(name "go-github-com-google-gnostic-models")
@ -9221,6 +9447,31 @@ according @@url{https://rfc-editor.org/rfc/rfc8785.html, RFC 8785}.")
"This package can generate ASCII line graphs in Golang.")
(license license:bsd-3)))
(define-public go-github-com-h2non-filetype
(package
(name "go-github-com-h2non-filetype")
(version "1.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/h2non/filetype")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05xad4dfimlccg3hy0fpcns4fl7yj17dbpdf6ijwbp6k4ryzy9cm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/h2non/filetype"))
(home-page "https://github.com/h2non/filetype")
(synopsis "Infer binary file types based on the magic numbers header signature")
(description
"This package implements a functionality to infer file and MIME type
checking the @url{https://en.wikipedia.org/wiki/Magic_number_(programming)
,magic numbers} signature.")
(license license:expat)))
(define-public go-github-com-h2non-parth
(package
(name "go-github-com-h2non-parth")
@ -14146,6 +14397,30 @@ the current user without cgo. This library does that, enabling
cross-compilation.")
(license license:expat)))
(define-public go-github-com-mitchellh-go-ps
(package
(name "go-github-com-mitchellh-go-ps")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mitchellh/go-ps")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ipcbz66x7q8xczi7cyfq06y7n7v0syvkp730vn9jrn7s8f5ag0z"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mitchellh/go-ps"))
(home-page "https://github.com/mitchellh/go-ps")
(synopsis "Process List Library for Golang")
(description
"This package provides an API for finding and listing processes in a
platform-agnostic way.")
(license license:expat)))
(define-public go-github-com-mitchellh-go-wordwrap
(package
(name "go-github-com-mitchellh-go-wordwrap")
@ -14299,6 +14574,29 @@ parsing.")
"This directory contains documents about Docker Image Specification v1.X.")
(license license:asl2.0)))
(define-public go-github-com-moby-spdystream
(package
(name "go-github-com-moby-spdystream")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moby/spdystream")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0p5pwwspmp24ff900656fyvrgdz8xxl6y0dk9fqgcaaaylmw0v9g"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/moby/spdystream"))
(home-page "https://github.com/moby/spdystream")
(synopsis "Multiplexed streams for Golang")
(description
"This package provides a multiplexed stream library using spdy.")
(license license:asl2.0)))
(define-public go-github-com-moby-sys-capability
(package
(name "go-github-com-moby-sys-capability")
@ -15145,6 +15443,31 @@ multibase} (self identifying base encodings) in Go.")
varints.")
(license license:expat)))
(define-public go-github-com-mxk-go-flowrate
(package
(name "go-github-com-mxk-go-flowrate")
(version "0.0.0-20140419014527-cca7078d478f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mxk/go-flowrate")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/mxk/go-flowrate"))
(home-page "https://github.com/mxk/go-flowrate")
(synopsis "Limiting and monitoring data flow rate in Golang")
(description
"This package provides the tools for monitoring and limiting the flow
rate of an arbitrary data stream.")
(license license:bsd-3)))
(define-public go-github-com-nakagami-firebirdsql
(package
(name "go-github-com-nakagami-firebirdsql")
@ -15179,6 +15502,30 @@ varints.")
@url{https://firebirdsql.org/, Firebird} RDBMS.")
(license license:expat)))
(define-public go-github-com-natefinch-atomic
(package
(name "go-github-com-natefinch-atomic")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/natefinch/atomic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0y1hr9smjfwp3zgn8s9njp84x9m42x3a7f1h2q7qyd0i5hf9bcvx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/natefinch/atomic"))
(home-page "https://github.com/natefinch/atomic")
(synopsis "Atomic file writing in Golang")
(description
"This package provides functions to atomically change files, by writing
first to a temp file, and then overwriting the target file in an atomic way.")
(license license:expat)))
(define-public go-github-com-nathan-osman-go-sunrise
(package
(name "go-github-com-nathan-osman-go-sunrise")
@ -15336,6 +15683,38 @@ through it's psuedoterminal.")
list of sentences.")
(license license:expat)))
(define-public go-github-com-nicksnyder-go-i18n-v2
(package
(name "go-github-com-nicksnyder-go-i18n-v2")
(version "2.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nicksnyder/go-i18n")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14v4v06j30rsn2y8lss7j5qyfbr7wir7yzpjd8wqh279aq489d2j"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/nicksnyder/go-i18n/v2"
;; One test fails with error: open active.en.toml: permission denied.
#:test-flags #~(list "-skip" "TestMain/extract")))
(propagated-inputs
(list go-github-com-burntsushi-toml
go-golang-org-x-text
go-gopkg-in-yaml-v3))
(home-page "https://github.com/nicksnyder/go-i18n")
(synopsis "Internationalization and localization for Golang")
(description
"This package provides support for implementing internationalization and
localization of Go code, covering pluralized strings for all 200+ languages in
@acronym{CLDR, Unicode Common Locale Data Repository}.")
(license license:expat)))
(define-public go-github-com-nightlyone-lockfile
(package
(name "go-github-com-nightlyone-lockfile")
@ -17206,6 +17585,58 @@ watches memory utilization and forces Go GC in accordance with a user-defined
policy.")
(license (list license:asl2.0 license:expat))))
(define-public go-github-com-redis-go-redis-v9
(package
(name "go-github-com-redis-go-redis-v9")
(version "9.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/redis/go-redis")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19scv5fbwacrbpv329w2a48z1w5wmxi7ax93bp1p398k4yqx6izf"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/redis/go-redis/extra/rediscensus/v9
;; - github.com/redis/go-redis/extra/rediscmd/v9
;; - github.com/redis/go-redis/extra/redisotel/v9
;; - github.com/redis/go-redis/extra/redisprometheus/v9
;; - github.com/redis/go-redis/internal/customvet
(delete-file-recursively "extra")
(delete-file-recursively "internal/customvet")))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/redis/go-redis/v9"
#:test-flags
;; Tests requir running Redis server.
#~(list "-skip" "Example|TestGinkgoSuite")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-examples
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
(string-append "src/" import-path "/example")))))))
(native-inputs
(list go-github-com-bsm-ginkgo-v2
go-github-com-bsm-gomega))
(propagated-inputs
(list go-github-com-cespare-xxhash-v2
go-github-com-dgryski-go-rendezvous))
(home-page "https://github.com/redis/go-redis")
(synopsis "Redis client for Golang")
(description
"go-redis is the official Redis client library for the Go programming
language. It offers a straightforward interface for interacting with Redis
servers.")
(license license:bsd-2)))
(define-public go-github-com-reiver-go-porterstemmer
;; The latest commit contain test fixtures.
(let ((commit "ab0f922907ea0321367a5776bd7a6c35d505d53b")
@ -22665,6 +23096,32 @@ machine readable. It is modeled after the Go standard library's @code{io} and
go-github-com-mattn-go-colorable
go-golang-org-x-term))))
(define-public go-gopkg-in-inf-v0
(package
(name "go-gopkg-in-inf-v0")
(version "0.9.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-inf/inf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng"))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/inf.v0"
;; Tests are not copatiblw with Go 1.24+.
#:test-flags #~(list "-vet=off")))
(home-page "https://github.com/go-inf/inf")
(synopsis "Infinite precision decimal arithmetic in Golang")
(description
"This package (type @code{inf.Dec}) implements a \"infinite-precision\"
decimal arithmetic.")
(license license:expat)))
(define-public go-gopkg-in-ini-v1
(package
(name "go-gopkg-in-ini-v1")
@ -22977,6 +23434,61 @@ dependencies.")
XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go types.")
(license license:giftware)))
(define-public go-k8s-io-apimachinery
(package
(name "go-k8s-io-apimachinery")
(version "0.34.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kubernetes/apimachinery")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mdmw951k9a2v817c0xxlazvz2500lw80mh53xjwspss0yx9b8fb"))))
(build-system go-build-system)
(arguments
(list
#:import-path "k8s.io/apimachinery"
;; TODO: Check why some tests fails in other subdirectories.
#:test-subdirs #~(list "pkg/test/...")))
(native-inputs
(list go-github-com-armon-go-socks5
go-github-com-stretchr-testify
go-golang-org-x-time))
(propagated-inputs
(list go-github-com-davecgh-go-spew
go-github-com-fxamacker-cbor-v2
go-github-com-gogo-protobuf
go-github-com-google-gnostic-models
go-github-com-google-go-cmp
go-github-com-google-uuid
go-github-com-moby-spdystream
go-github-com-mxk-go-flowrate
go-github-com-pmezard-go-difflib
go-github-com-spf13-pflag
go-golang-org-x-net
go-gopkg-in-evanphx-json-patch-v4
go-gopkg-in-inf-v0
go-k8s-io-klog-v2
go-k8s-io-kube-openapi
go-k8s-io-utils
go-sigs-k8s-io-json
go-sigs-k8s-io-randfill
go-sigs-k8s-io-structured-merge-diff-v6
go-sigs-k8s-io-yaml))
(home-page "https://k8s.io/apimachinery")
(synopsis "Kubernetes and Kubernetes-like API utilities")
(description
"This package provides scheme, typing, encoding, decoding, and conversion
functions for Kubernetes and Kubernetes-like API objects. It is a shared
dependency for servers and clients to work with Kubernetes API infrastructure
without direct type dependencies. Its first consumers are
@code{k8s.io/kubernetes}, @code{k8s.io/client-go}, and
@code{k8s.io/apiserver}.")
(license license:asl2.0)))
(define-public go-k8s-io-gengo-v2
(package
(name "go-k8s-io-gengo-v2")
@ -23549,6 +24061,61 @@ prints the Go version used to build that executable.")
unmarshaling functions based on @code{encoding/json} @code{Unmarshal()}.")
(license license:asl2.0)))
(define-public go-sigs-k8s-io-kustomize-cmd-config
(package
(name "go-sigs-k8s-io-kustomize-cmd-config")
(version "0.20.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kubernetes-sigs/kustomize")
(commit (go-version->git-ref version
#:subdir "cmd/config"))))
(file-name (git-file-name name version))
(sha256
(base32 "12n8ij4gisah5mvxcgq263iic61gjpxdj3ml03826zckzn7wlv46"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
;; Consider to implement it as re-usable procedure in
;; guix/build/utils or guix/build-system/go.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "cmd")
(delete-all-but "cmd" "config")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "sigs.k8s.io/kustomize/cmd/config"
#:unpack-path "sigs.k8s.io/kustomize"
;; Full test suite requires Docker in the PATH.
#:test-subdirs #~(list "internal/commands"
"runner/...")))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-go-errors-errors
go-github-com-spf13-cobra
go-gopkg-in-inf-v0
go-sigs-k8s-io-kustomize-kyaml))
(home-page "https://sigs.k8s.io/kustomize")
(synopsis "Kubernetes config filters")
(description
"This package implements a functionality to expose Kubernetes config
filters directly as CLI commands for the purposes of development of the
@code{kyaml} package and as a reference implementation for using the
libraries.")
(license license:asl2.0)))
(define-public go-sigs-k8s-io-kustomize-kyaml
(package
(name "go-sigs-k8s-io-kustomize-kyaml")

View file

@ -374,7 +374,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
@ -382,7 +382,7 @@ arrays of data.")
"/gstreamer-docs-" version ".tar.xz"))
(sha256
(base32
"0vb4d35rglvjlj2y9r0nlgankflqw0ql6gwsf4612505sa01mz7s"))))
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -434,7 +434,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.24.9")
(version "1.26.3")
(source
(origin
(method url-fetch)
@ -443,7 +443,7 @@ the GStreamer multimedia framework.")
version ".tar.xz"))
(sha256
(base32
"03r6rwmih3nqxrfw9nkhpbwpwp1yf7qw3m2phl6a027mxrmppx7b"))))
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
(build-system meson-build-system)
(arguments
(list #:disallowed-references (list python)
@ -515,7 +515,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)
@ -523,7 +523,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
@ -623,7 +623,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)
@ -632,7 +632,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
@ -743,14 +743,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
@ -814,7 +814,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.
@ -953,7 +959,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)
@ -961,7 +967,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
@ -1010,7 +1016,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)
@ -1019,7 +1025,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))
@ -1033,7 +1039,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
@ -1041,7 +1047,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
@ -1100,10 +1106,45 @@ given, also pass them to the build system instead of the ones used by PKG."
\"bad\" plugin set, essentially containing libraries and the gst-transcoder
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
@ -1111,7 +1152,7 @@ binary, but none of the actual plugins.")))
"gst-python-" version ".tar.xz"))
(sha256
(base32
"0bplhfnvsi3l9fmfb346n2dvzi1jrxqpp4kcwiwsrjrlgic1vrl0"))))
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
(build-system meson-build-system)
(arguments
(list
@ -1127,7 +1168,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

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

View file

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

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

@ -1417,7 +1417,7 @@ transport data and for performing public transport journey queries.")
(list extra-cmake-modules))
(inputs
(list ki18n
sane-backends))
sane))
(home-page "https://invent.kde.org/libraries/ksanecore")
(synopsis "Library providing logic to interface scanners")
(description

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
@ -1177,7 +1190,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
python-lxml
qrcodegen-cpp
redland
sane-backends
sane
unixodbc
unzip
vigra

View file

@ -116,14 +116,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
(let ((commit "2962877b9abd5bfa1e24e5bbc1e16e47e12d6760"))
(let ((commit "0349e18db25a701938d83c61fa90f6074ae9df01"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "1gaxbjjm0d4k4wgl64mwcxy2hx1vdq1dbmvjacg2fqxpnb62481x")))))
(sha256 (base32 "0lqpmfgkfwjz5n45qifc0v1cxk5qw8ldyi6423m591l7z4n4rjdg")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@ -220,17 +220,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20250829153926")
(define %librewolf-build-id "20250919153758")
(define-public librewolf
(package
(name "librewolf")
(version "142.0.1-1")
(version "143.0-1")
(source
(make-librewolf-source
#:version version
#:firefox-hash "1h0hx0jxwy4rshdq6s5l5hbj8gyhn2zssisr59skwf63si7b9bdh"
#:librewolf-hash "1myzm6jblnrw1vdf5xlynbfr6a9swwcaws689az7xgq6s6n0rc3y"
#:firefox-hash "10yz3rz2akf3b19hd2c5v77f038j0h6ci1asjb4w480q14wclibc"
#:librewolf-hash "1jq52g5v38f0dmpyhpr9x9mjsbnn7afq2cr113wmqpdz6ynl07kr"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments

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

@ -286,7 +286,7 @@ This package tracks the Extended Support Release (ESR) channel.")
(package
(inherit nss)
(name "nss-rapid")
(version "3.115")
(version "3.116")
(source
(origin
(inherit (package-source nss))
@ -297,7 +297,7 @@ This package tracks the Extended Support Release (ESR) channel.")
"releases/NSS_" version-with-underscores "_RTM/src/"
"nss-" version ".tar.gz")))
(sha256
(base32 "1av1g18dkx86zxvpr34j5mx976mgsk002khlb40k4ydx6gxlfamc"))
(base32 "0wxvy9kxqafrwqkx977wpy1mynvsf7mdag3zy9qkn7mdwhfn2f1r"))
(patches
(search-patches "nss-3.56-pkgconfig.patch"
"nss-getcwd-nonnull.patch"

View file

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

View file

@ -194,8 +194,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
(commit "a68bcfd2f53a409c530629d8ec0d9d152a56e16b")
(revision 44))
(commit "679c9b0d8b02710f286b7fb3e65835eefa9f1890")
(revision 45))
(package
(name "guix")
@ -211,7 +211,7 @@
(commit commit)))
(sha256
(base32
"10ri7f1pwq43ix0k59fqrrgdipz67sx9kyi3yw9x9n89v3k1ns62"))
"0mzflm74kllhfr4gbb1r93l6v8l6r9ak6f46bakpxfpv763bp719"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

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

@ -0,0 +1,26 @@
https://patch-diff.githubusercontent.com/raw/marbl/Mash/pull/181.diff
Add missing includes to support newer compilers.
---
diff --git a/src/mash/robin_hood.h b/src/mash/robin_hood.h
index 573607f..9141848 100644
--- a/src/mash/robin_hood.h
+++ b/src/mash/robin_hood.h
@@ -42,6 +42,7 @@
#include <cstdlib>
#include <cstring>
#include <functional>
+#include <limits>
#include <memory> // only to support hash of smart pointers
#include <stdexcept>
#include <string>
--- a/src/mash/Command.cpp
+++ b/src/mash/Command.cpp
@@ -8,6 +8,7 @@
#include <sys/ioctl.h>
#include <sstream>
#include <fstream>
+#include <cstdint>
#include "Command.h"
#include "version.h"

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

View file

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

View file

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

View file

@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.83.5")
(version "2.83.8")
(source
(origin
(method git-fetch)
@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "04d1h8331dsb1gbrp28h2sqkwqh3cfzbdlziczwqk2kyyp9sf9f8"))
(base32 "1bpfzrwsgbmjl1maiaw5b8ixkgh548gw1lkiznsjgkjm7dxr4ns4"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs

View file

@ -5220,13 +5220,16 @@ sanitizer Rust crate.")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "noiseprotocol" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/plizonczyk/noiseprotocol")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ifnj0mpbqsfqba9n12vf5yzxj4qf2gxql3ry43qyshgnrqsi4mh"))))
(base32 "1mk0rqpjifdv3v1cjwkdnjbrfmzzjm9f3qqs1r8vii4j2wvhm6am"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-cryptography))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools python-pytest))
(home-page "https://github.com/plizonczyk/noiseprotocol")
(synopsis "Implementation of Noise Protocol Framework")
(description

View file

@ -13131,8 +13131,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
@ -15629,14 +15628,14 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(define-public python-beautifulsoup4
(package
(name "python-beautifulsoup4")
(version "4.13.4")
(version "4.13.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beautifulsoup4" version))
(sha256
(base32
"15bi8fl51aibdz33h3j1191n5l0c4r3k4hpjvbmyysmfrvhw9cyv"))))
"159niwk99m9lbcxb9sl6jfqy9mb39bss4l1lwcypq3lkh89i6w2y"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
@ -17643,7 +17642,7 @@ from an XML-based format.")
(propagated-inputs
(list python-brotli
python-fs
python-lxml-4.9
python-lxml
python-lz4
python-scipy
python-unicodedata2
@ -29198,6 +29197,7 @@ submitting it.")
(sha256
(base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;No test suite.
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/iwalton3/python-mpv-jsonipc")
(synopsis "Python API to control MPV using JSON IPC")
@ -34263,7 +34263,19 @@ and have a maximum lifetime built-in.")
(list
#:test-flags
;; Disable some failing tests.
'(list "-k" "not test_print_subprocess"
;;
;; test_print_subprocess seems to inherit wrong environment, fails with
;; E + ModuleNotFoundError: No module named 'executing'
;; Test runs fine from local clone.
;;
;; test_executing_failure fails with
;; E - [1, 2] (list) len=2
;; E + [x, y]: [1, 2] (list) len=2
;; unclear why, probably due to a dependency.
'(list "-k" "not test_print_subprocess and not test_executing_failure"
;; test_insert_assert.py also seems to inherit a bad environment:
;; E fixture 'pytester_pretty' not found
;; Test runs fine from local clone.
"--ignore=tests/test_insert_assert.py")))
(native-inputs
(list python-hatchling python-pytest python-pytest-mock))
@ -35514,7 +35526,7 @@ restores the original state after the string is printed.")
(native-inputs
(list python-pytest))
(inputs
(list sane-backends))
(list sane))
(home-page "https://github.com/python-pillow/Sane")
(synopsis "Python interface to the SANE scanner")
(description "This package provides Python interface to the SANE scanner
@ -38711,7 +38723,7 @@ parsing rules in a single place.")
(sha256
(base32 "0g4cn522n4dv6ly8pwf97dc62rr4f7my38v0bh6vmac7jmrip7pv"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools python-pytest))
(home-page "https://github.com/pR0Ps/iterable-io")
(synopsis "Adapt generators and other iterables to a file-like interface")
(description

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

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

@ -19903,6 +19903,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

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

View file

@ -660,7 +660,7 @@ This package also provides @samp{kdlpp}, a C++20 wrapper around @samp{ckdl}.")
(define-public capnproto
(package
(name "capnproto")
(version "1.0")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -668,13 +668,13 @@ This package also provides @samp{kdlpp}, a C++20 wrapper around @samp{ckdl}.")
version ".tar.gz"))
(sha256
(base32
"03f1862ljdshg7d0rg3j7jzgm3ip55kzd2y91q7p0racax3hxx6i"))
"1vs2zpk4l55hb4lq4kldbwdqcjnwm1jblhcaqxmii9dxrd7f807d"))
(patches (search-patches "capnproto-fix-test.patch"))))
(build-system gnu-build-system)
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'use-tmp-for-temporary-files
(add-after 'unpack 'use-tmp-for-temporary-files
(lambda _
;; Use /tmp for temporary files, as the default /var/tmp directory
;; doesn't exist.

View file

@ -16,7 +16,7 @@
;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2023, 2025 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Brian Kubisiak <brian@kubisiak.com>
@ -744,7 +744,7 @@ Latin script and other languages.")
(define-public direnv
(package
(name "direnv")
(version "2.36.0")
(version "2.37.1")
(source
(origin (method git-fetch)
(uri (git-reference
@ -753,7 +753,7 @@ Latin script and other languages.")
(file-name (git-file-name name version))
(sha256
(base32
"0p6n9zi3p9frj3ndnpdc1cz51hq0nkyjc9b1rqg7967l8vhdr8f6"))))
"08wywbj5niqhpy6m4y8xw065w3rgpi8khfy5qzqfxr6752h66v7p"))))
(build-system go-build-system)
(arguments
(list #:install-source? #f

View file

@ -39,7 +39,6 @@
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages digest)
#:use-module (gnu packages fcitx)
#:use-module (gnu packages fcitx5)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)

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

@ -4224,7 +4224,11 @@ will reconstruct the object along its delta-base chain and return it.")
(install-file manpage
(string-append #$output "/share/man/man1")))
(find-files "." "^git-lfs.*\\.1$"))))))
#~()))))
#~())
(add-after 'install 'rename-binary
(lambda _
(with-directory-excursion (string-append #$output "/bin")
(rename-file "v3" "git-lfs")))))))
(native-inputs
(append (list git-minimal
go-github-com-avast-retry-go
@ -4251,7 +4255,7 @@ will reconstruct the object along its delta-base chain and return it.")
(if (supported-package? ruby-asciidoctor/minimal)
(list ronn-ng ruby-asciidoctor/minimal)
'())))
(home-page "https://git-lfs.github.com/")
(home-page "https://git-lfs.com/")
(synopsis "Git extension for versioning large files")
(description
"Git Large File Storage (LFS) replaces large files such as audio samples,

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
@ -2696,14 +2711,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(substitute* "player/lua/ytdl_hook.lua"
(("\"yt-dlp\",")
(string-append
"\"" (search-input-file inputs "bin/yt-dlp") "\",")))))
(add-before 'configure 'build-reproducibly
(lambda _
;; Somewhere in the build system library dependencies are enumerated
;; and passed as linker flags, but the order in which they are added
;; varies. See <https://github.com/mpv-player/mpv/issues/7855>.
;; Set PYTHONHASHSEED as a workaround for deterministic results.
(setenv "PYTHONHASHSEED" "1"))))
"\"" (search-input-file inputs "bin/yt-dlp") "\","))))))
#:configure-flags
#~(list "-Dlibmpv=true"
"-Dcdda=enabled"

View file

@ -1516,7 +1516,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
@ -1775,7 +1776,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
@ -1901,8 +1902,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

@ -77,6 +77,7 @@
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 pinoaffe <pinoaffe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -138,6 +139,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages docbook)
#:use-module (gnu packages datastructures)
@ -188,6 +190,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
@ -215,6 +218,8 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages skribilo)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages telephony)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@ -6742,6 +6747,66 @@ and similar services.")
(home-page "http://surfraw.org/")
(license license:public-domain))))
(define-public bookmarkfs
(package
(name "bookmarkfs")
(version "0.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/cismonx/bookmarkfs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ad7h3ffwj7dg7c788znc8b0wr6v5xx83sans8xa6f93x9c56frm"))))
(build-system gnu-build-system)
(arguments (list
#:tests? #f ; tests seem to not work in sandbox
#:configure-flags #~(list
"--enable-bookmarkfs-util"
"--enable-bookmarkfs-mount"
"--enable-bookmarkfs-fsck"
"--enable-bookmarkfs-mkfs"
"--enable-bookmarkctl"
"--enable-backend-firefox"
"--enable-backend-chromium"
"--enable-fsck-handler-tcl")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-flush
(lambda _
(substitute* "src/fs_ops.c"
(("fi->noflush = 1;") "fi->flush = 0;"))))
(add-before 'configure 'patch-configure
(lambda _
(substitute* "configure"
(("AX_PTHREAD") "")))))))
(inputs (list fuse
libseccomp
nettle
jansson
readline
tcl
uriparser
zlib
xxhash
sqlite))
(native-inputs (list autoconf-2.72
autoconf-archive
automake
libtool
pkg-config))
(home-page "https://www.nongnu.org/bookmarkfs/")
(synopsis "FUSE filesystem based interface to the bookmark data of web browsers")
(description "BookmarkFS is a FUSE-based pseudo-filesystem which provides an
interface to the bookmark data of web browsers.
Currently, the following browsers (and their derivatives) are supported:
- @code{firefox}
- @code{chromium}.")
(license license:gpl3+)))
(define-public darkhttpd
(package
(name "darkhttpd")

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

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

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

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

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

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -73,6 +74,7 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
#:key
source
(tests? #t)
(test-flags ''())
(mix-path #f) ;See MIX_PATH.
(mix-exs "mix.exs") ;See MIX_EXS.
(build-per-environment #t) ;See :build_per_environment.
@ -107,6 +109,7 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
#:source #+source
#:system #$system
#:tests? #$tests?
#:test-flags #$test-flags
#:mix-path #$mix-path
#:mix-exs #$mix-exs
#:mix-environments '#$mix-environments

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)

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024, 2025 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -119,13 +119,14 @@ See: https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables"
"--no-prune-code-paths"))
mix-environments))
(define* (check #:key (tests? #t) #:allow-other-keys)
(define* (check #:key (tests? #t) (test-flags '()) #:allow-other-keys)
"Test the Mix project."
(if tests?
(begin
(setenv "MIX_ENV" "test")
(invoke "mix" "do" "compile" "--no-deps-check" "--no-prune-code-paths" "+"
"test" "--no-deps-check"))
(apply invoke "mix" "do" "compile" "--no-deps-check"
"--no-prune-code-paths" "+" "test"
"--no-deps-check" test-flags))
(format #t "tests? = ~a~%" tests?)))
(define* (remove-mix-dirs . _)

View file

@ -5,7 +5,7 @@
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023, 2025 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -575,10 +575,16 @@ current settings unchanged."
(string-append "origin/" branch))))
(_ ref)))
(define symref-list
(match ref
(('symref . symref) (list symref))
(_ '())))
(define symref?
(match-lambda
(('symref . _) #t)
(_ #f)))
(define ref->refspecs
(match-lambda
(('symref . symref)
(list (string-append "+" symref ":" symref)))
(_ '())))
(with-libgit2
(set-git-timeouts connection-timeout read-timeout)
@ -595,7 +601,7 @@ current settings unchanged."
;; When using symrefs, fetch remote again even if it has been cloned just
;; before as the requested reference are not fetched when cloning.
(when (and cache-exists?
(when (and (or cache-exists? (symref? ref))
(not (reference-available? repository ref)))
(remote-fetch (remote-lookup repository "origin")
#:fetch-options (make-default-fetch-options
@ -603,9 +609,7 @@ current settings unchanged."
verify-certificate?)
;; Build refspecs from symbolic references so they are
;; created locally and updated if necessary.
#:refspecs (map (lambda (ref)
(string-append "+" ref ":" ref))
symref-list)))
#:refspecs (ref->refspecs ref)))
(when recursive?
(update-submodules repository #:log-port log-port
#:fetch-options

View file

@ -146,7 +146,6 @@ gnu/packages/erlang-xyz.scm
gnu/packages/erlang.scm
gnu/packages/esolangs.scm
gnu/packages/fabric-management.scm
gnu/packages/fcitx.scm
gnu/packages/fcitx5.scm
gnu/packages/fediverse.scm
gnu/packages/figlet.scm