Compare commits

...

217 commits

Author SHA1 Message Date
Ada Stevenson
d7be27e7c0
gnu: python-html5-parser: Fix build.
* gnu/packages/python-web.scm (python-html5-parser):
[arguments]<#:phases>{set-configure-flags}: New phase to set
`-Wno-error=implicit-function-declaration` flag.

Change-Id: I21f8f785c55c8cedf6669c221290e40e83447351
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-29 10:44:23 +02:00
John Kehayias
7b84ea318a
gnu: python-openpyxl: Fix tests.
* gnu/packages/python-xyz.scm (python-openpyxl)[native-inputs]: Replace
python-lxml with python-lxml-4.9.

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

Change-Id: Ia13b297cb224abf8212e02a934f0f8fb04bce48e
2025-09-29 17:05:50 +09:00
Ian Eure
a3f9dd3270
gnu: librewolf: Use ffmpeg-6.
Fixes guix/guix#3038.

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

Change-Id: I8aef1b8102e6aff9f9dc4513c7169507efdec16b
2025-09-29 17:05:37 +09:00
Rutherther
6b378c05c5
gnu: wlroots: Update to 0.19.1.
* gnu/packages/wm.scm (wlroots): Update to 0.19.1.
(wlroots-0.19): Alias to wlroots.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: If9687f3e7f753628d6071e9b7e8baa82ffa3d673
2025-09-29 17:05:36 +09:00
Maxim Cournoyer
de853a40ee
gnu: gupnp-av: Update to 0.14.4.
* gnu/packages/gnome.scm (gupnp-av): Update to 0.14.4.

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

Change-Id: Iee6630e3ca9f4d6c69dd3a9aae80fef1d90aa7da
2025-09-29 17:05:36 +09:00
Maxim Cournoyer
c124c5d0c8
gnu: python-cu2qu: Update to 1.6.7.post2.
* gnu/packages/fontutils.scm (python-cu2qu): Update to 1.6.7.post2.

Change-Id: I1dd2a69912ac8c64dfd349695ee0713e51aefd33
2025-09-29 17:05:36 +09:00
Maxim Cournoyer
7db01e5ab8
gnu: python-afdko: Update to 4.0.2.
* gnu/packages/fontutils.scm (python-afdko): Update to 4.0.2.

Change-Id: I4c05f1100d80cbbd2b542cbdc537d7ab8373847a
2025-09-29 17:05:36 +09:00
Maxim Cournoyer
aaf513d159
gnu: python-cffsubr: Update to 0.3.0.
* gnu/packages/fontutils.scm (python-cffsubr): Update to 0.3.0.

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

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

Change-Id: I1e984f27598ed7dfd694712bb609b4d6a2ab242c
2025-09-29 17:05:35 +09:00
Maxim Cournoyer
0c1880e636
gnu: python-ufolib2: Update to 0.18.1.
* gnu/packages/fontutils.scm (python-ufolib2): Update to 0.18.1.

Change-Id: I598c2589f515cd4b0eef733b84491b64d77258ab
2025-09-29 17:05:35 +09:00
Maxim Cournoyer
3cb70a42ea
gnu: python-defcon-bootstrap: Update to 0.12.2.
* gnu/packages/fontutils.scm (python-defcon-bootstrap): Update to 0.12.2.
Make hidden.
(python-defcon): Un-hide.

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

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

Change-Id: If4c4f36545f90b8d76d1a6a8c214aeaaa0841a58
2025-09-29 17:05:35 +09:00
Maxim Cournoyer
645679ace7
gnu: python-unicodedata2: Update to 16.0.0.
* gnu/packages/python-xyz.scm (python-unicodedata2): Update to 16.0.0.

Change-Id: Ia3edef9c5ada75b2c85727be3b55db4ab2bc7b44
2025-09-29 17:05:35 +09:00
Maxim Cournoyer
401d21b277
gnu: harfbuzz: Update to 11.4.4.
* gnu/packages/gtk.scm (harfbuzz): Update to 11.4.4.

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

Change-Id: Iaa4569e734956ff65dcd0bd6d8ed712858ee493c
2025-09-29 17:05:35 +09:00
John Kehayias
a9d6c4d436
gnu: r-xml2: Update to 1.4.0.
* gnu/packages/cran.scm (r-xml2): Update to 1.4.0.

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

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

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

Change-Id: Ia256588bac3d618e90960783a0fec94f0bdabf67
2025-09-29 17:05:35 +09:00
John Kehayias
fd7e684fc0
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-29 17:05:35 +09:00
Sergey Trofimov
92bca72d18
gnu: sane: Update to 1.4.0.
* gnu/packages/scanner.scm (sane): Update to 1.4.0.

Change-Id: I6c0d98de464c38d5c326a7f8346ca03a2be6a34c
2025-09-29 17:05:34 +09:00
Sergey Trofimov
61d533ae56
gnu: sane-airscan: Update to 0.99.36.
* gnu/packages/scanner.scm (sane-airscan): Update to 0.99.36.

Change-Id: I1e5227d2ff2e4578531bcb7051ad9d7f94d3b323
2025-09-29 17:05:34 +09:00
Sergey Trofimov
4f6374966b
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-29 17:05:34 +09:00
Sergey Trofimov
3ac7599dd5
gnu: scanbd: Format inputs.
* gnu/packages/scanner.scm (scanbd)[inputs]: Use new format.

Change-Id: I82d4d013b93cf445056bfe3a0c78addef367b0db
2025-09-29 17:05:34 +09:00
Sergey Trofimov
48d70aeb8f
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-29 17:05:34 +09:00
Sergey Trofimov
d20d79d0cd
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-29 17:05:34 +09:00
Sergey Trofimov
3fdf7981fc
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-29 17:05:34 +09:00
Sergey Trofimov
79e40be05d
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-29 17:05:34 +09:00
Sergey Trofimov
80cc2675e1
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-29 17:05:34 +09:00
John Kehayias
5aa1e25609
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-29 17:05:34 +09:00
Ada Stevenson
21bc3daeb1
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-29 17:05:34 +09:00
John Kehayias
cc389922b2
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-29 17:05:34 +09:00
John Kehayias
e92113deb5
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-29 17:05:34 +09:00
John Kehayias
0df10124de
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-29 17:05:34 +09:00
Liliana Marie Prikler
dc9c3d73cb
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-29 17:05:33 +09:00
Liliana Marie Prikler
ea803cddf3
gnu: Add gst-rtsp-server.
* gnu/packages/gstreamer.scm (gst-rtsp-server): New variable.

(cherry picked from commit 2605aa6323)
2025-09-29 17:05:33 +09:00
Liliana Marie Prikler
df2e50ddda
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-29 17:05:33 +09:00
Liliana Marie Prikler
35f7b97d2f
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-29 17:05:33 +09:00
Liliana Marie Prikler
09ed738d55
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-29 17:05:33 +09:00
Liliana Marie Prikler
8a7e470918
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-29 17:05:33 +09:00
Liliana Marie Prikler
e4f47babb0
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-29 17:05:33 +09:00
Liliana Marie Prikler
df44237be7
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-29 17:05:33 +09:00
Liliana Marie Prikler
660d1f02a0
gnu: gstreamer: Update to 1.26.3.
* gnu/packages/gstreamer.scm (gstreamer): Update to 1.26.3.

(cherry picked from commit 27ae993a06)
2025-09-29 17:05:33 +09:00
Liliana Marie Prikler
5ad45116da
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-29 17:05:33 +09:00
John Kehayias
7b633ea007
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-29 17:05:33 +09:00
John Kehayias
3627400133
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-29 17:05:33 +09:00
John Kehayias
966de2ba06
gnu: liblangtag: Update to 0.6.7.
* gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.7.

Change-Id: I53a382d3c5784240a941c85f3efc29612655b4df
2025-09-29 17:05:33 +09:00
John Kehayias
594a75442a
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-29 17:05:33 +09:00
John Kehayias
b1aeddb106
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-29 17:05:33 +09:00
John Kehayias
de301fdcbf
gnu: mariadb: Update to 10.11.14.
* gnu/packages/databases.scm (mariadb): Update to 10.11.14.

Change-Id: Iea635acff6b89f9be23f0ce4ba255ef322eb8643
2025-09-29 17:05:32 +09:00
John Kehayias
deae1354e8
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-29 17:05:32 +09:00
John Kehayias
194501cf4a
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-29 17:05:32 +09:00
Liliana Marie Prikler
bba70d9b42
mesa: Re-enable dependency fallbacks.
* gnu/packages/gl.scm (mesa)[#:configure-flags]: Add “--wrap-mode=nodownload”.

(cherry picked from commit f0b058a541)
2025-09-29 17:05:32 +09:00
John Kehayias
e9c0489fd9
gnu: mesa: Update to 25.2.3.
* gnu/packages/gl.scm (mesa): Update to 25.2.3.

Change-Id: I28cee586fc49ba5aad9fa362260357e96d76977f
2025-09-29 17:05:32 +09:00
Sharlatan Hellseher
bbdfa1ba2f
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-29 17:05:32 +09:00
Maxim Cournoyer
f4873fdae9
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-29 17:05:32 +09:00
Dariqq
2f53f2dd2d
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-29 17:05:32 +09:00
Sergey Trofimov
1eb7ac9879
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-29 17:05:32 +09:00
John Kehayias
cf70a27282
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-29 17:05:32 +09:00
John Kehayias
07c7814f2b
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-29 17:05:32 +09:00
John Kehayias
7329999aec
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-29 17:05:32 +09:00
John Kehayias
171c59fa81
gnu: python-lxml: Update to 6.0.1.
* gnu/packages/xml.scm (python-lxml): Update to 6.0.1.

Change-Id: Iab60f97a74c804e17fd2f2adf326d8a098c06ef0
2025-09-29 17:05:32 +09:00
John Kehayias
1cf55fb5e8
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-29 17:05:32 +09:00
John Kehayias
6552b6f483
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-29 17:05:32 +09:00
John Kehayias
606c82ebfc
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-29 17:05:32 +09:00
John Kehayias
10aeaf9ab4
gnu: libx11: Update to 1.8.12.
* gnu/packages/xorg.scm (libx11): Update to 1.8.12.

Change-Id: I42986033bde1534e09a0f027c3599ed4142ff9c0
2025-09-29 17:05:31 +09:00
John Kehayias
b41eb6e047
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-29 17:05:31 +09:00
John Kehayias
51a79bbaa3
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-29 17:05:31 +09:00
John Kehayias
660ccb7da6
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-29 17:05:31 +09:00
John Kehayias
da043b3af9
gnu: wget: Ungraft.
* gnu/packages/wget.scm (wget): Update to 1.25.0.
[replacement]: Remove.
(wget/fixed): Remove.

Change-Id: Ib3798d67bc293295a0480e2db36de98e1ce7edea
2025-09-29 17:05:31 +09:00
John Kehayias
4be6126d15
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-29 17:05:31 +09:00
Maxim Cournoyer
b7b0dc2e37
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-29 17:05:31 +09:00
Maxim Cournoyer
bc24ac2b85
gnu: mesa: Update to 25.2.2.
* gnu/packages/gl.scm (mesa): Update to 25.2.2.

Change-Id: Iad91783d151000f6a7e43ce5d59f4b9b38aedc45
2025-09-29 17:05:31 +09:00
Cayetano Santos
11c28b330b
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-29 17:05:31 +09:00
Cayetano Santos
ce4f4a52aa
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-29 17:05:31 +09:00
Cayetano Santos
5f362b47ad
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-29 17:05:31 +09:00
Cayetano Santos
c8e8fba2e1
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-29 17:05:31 +09:00
Cayetano Santos
43ecd82db8
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-29 17:05:31 +09:00
Cayetano Santos
4770dfa037
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-29 17:05:31 +09:00
Cayetano Santos
f078928db3
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-29 17:05:30 +09:00
Cayetano Santos
5bf09f946a
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-29 17:05:30 +09:00
Cayetano Santos
e420bbcad9
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-29 17:05:30 +09:00
Cayetano Santos
9d9239a777
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-29 17:05:30 +09:00
Cayetano Santos
479a01e3d3
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-29 17:05:30 +09:00
John Kehayias
51eab76577
gnu: mesa: Update to 25.2.1.
* gnu/packages/gl.scm (mesa): Update to 25.2.1.

Change-Id: I4ee0255e6208b282ccca139c56e051a08170e026
2025-09-29 17:05:30 +09:00
John Kehayias
e0a96b8f20
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-29 17:05:30 +09:00
John Kehayias
09bb69fbb9
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-29 17:05:30 +09:00
John Kehayias
77b01ce268
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-29 17:05:30 +09:00
John Kehayias
110dca71ab
gnu: libinput: Update to 1.29.0.
* gnu/packages/freedesktop.scm (libinput): Update to 1.29.0.

Change-Id: Ib54bd0d7202707852694f875c44c84b90589feac
2025-09-29 17:05:30 +09:00
John Kehayias
b0f31d42f2
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-29 17:05:30 +09:00
John Kehayias
bdb6744b45
gnu: Add meson-1.8.
* gnu/packages/build-tools.scm (meson-1.8): New variable.

Change-Id: I9895780b41f659d73750519825e7340a1f2911f9
2025-09-29 17:05:30 +09:00
Murilo
42a2b6d569
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-29 17:05:30 +09:00
Murilo
8495a9d751
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-29 17:05:30 +09:00
Murilo
af3675a739
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-29 17:05:30 +09:00
John Kehayias
74207f5f36
gnu: mesa: Update to 25.1.6.
* gnu/packages/gl.scm (mesa): Update to 25.1.6.

Change-Id: I42e6d33411aea3876d84477212f5e21fadcf2605
2025-09-29 17:05:29 +09:00
Philipp Berger
67671eba63
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-29 17:05:29 +09:00
Maxim Cournoyer
bb2db332f9
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-29 17:05:29 +09:00
Maxim Cournoyer
549189199f
gnu: libplacebo: Update to 7.351.0.
* gnu/packages/video.scm (libplacebo): Update to 7.351.0.

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

Change-Id: Ic05db30a9c4d8ee8c165eb8455c245aa2e2afd85
2025-09-29 17:05:29 +09:00
Maxim Cournoyer
595113b0ee
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-29 17:05:29 +09:00
Maxim Cournoyer
7ae172f44d
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-29 17:05:29 +09:00
Maxim Cournoyer
3cc9bb8201
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-29 17:05:29 +09:00
Maxim Cournoyer
512f92f2c3
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-29 17:05:29 +09:00
Maxim Cournoyer
6d19de920d
gnu: shaderc: Update to 2025.3.
* gnu/packages/vulkan.scm (shaderc): Update to 2025.3.

Change-Id: If5ac7736ba1f32ddd24aaba45e179768aa37558f
2025-09-29 17:05:29 +09:00
Maxim Cournoyer
7f81ac4984
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-29 17:05:29 +09:00
Maxim Cournoyer
6988885e34
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-29 17:05:29 +09:00
Maxim Cournoyer
bcd73c2d3d
gnu: glslang: Update to 1.4.313.0.
* gnu/packages/vulkan.scm (glslang): Update to 1.4.313.0.

Change-Id: Ie3a4168dc4d62846b68b9a1f417edebf7224134f
2025-09-29 17:05:29 +09:00
Maxim Cournoyer
322e2d5e09
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-29 17:05:29 +09:00
Maxim Cournoyer
1a5677581c
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-29 17:05:29 +09:00
Maxim Cournoyer
60c2cac1dc
gnu: wayland-protocols: Update to 1.45.
* gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.45.

Change-Id: I6855e59a86dec111b45c0e87d6e3fabe62880aa9
2025-09-29 17:05:29 +09:00
Jesse Gibbons
fa65c3294a
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-29 17:05:29 +09:00
Maxim Cournoyer
58e679c9cf
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-29 17:05:28 +09:00
45mg
a9d7ccae2f
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-29 17:05:28 +09:00
Maxim Cournoyer
32eee8b023
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.
(ffmpeg-for-friction)
[#:configure-flags]: Delete --enable-vulkan.

Change-Id: I469b013f6fc4d85a86004615948d3a03c9c3efde
2025-09-29 17:05:28 +09:00
Maxim Cournoyer
d9929ff65e
gnu: ffmpeg: Update to 6.1.2.
* gnu/packages/video.scm (ffmpeg): Update to 6.1.2.

Change-Id: I32ee4ff66f3e8dcf87dbfb373252859bdb1c86d6
2025-09-29 17:05:28 +09:00
Lilah Tascheter
0aa8017bed
gnu: warzone2100: Update to 4.6.1.
* gnu/packages/patches/warzone2100-unbundle-libs.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/games.scm (warzone2100) [version]: Update to 4.6.1.
[source]<patches>: Add patch.
[source]<snippet>: Delete unbundled libraries from source.
[arguments]<configure-flags>: Use ninja backend, disable downloads, and
disable the new, optional GNS backend in lieu of packaging it. Allow vulkan.
[arguments]<phases>: Remove phase modifications, as they were either
integrated into the patch or unnecessary.
[native-inputs]: Remove asciidoc, as it is unused, and add unbundled
basis-universal as well as shaderc for vulkan support.
[inputs]: Remove unused libs and pull in packaged versions of unbundled libs.
Use gnutls instead of openssl as it's only useful when it's the same tls
backend curl uses. Add vulkan-headers for vulkan support.

Closes: #2790
Change-Id: Ic06d2fd7e6b96da16fd64b70da0b1af3a6a65247
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 16:05:11 +08:00
Lilah Tascheter
b87f5d35d2
gnu: Add basis-universal.
* gnu/packages/graphics.scm (basis-universal): New variable.
* gnu/packages/patches/basis-universal-unbundle-libs.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register patch.

Change-Id: I1a469fe7ea3255d172f6de44ced1bbf8abf57118
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 16:05:07 +08:00
Joaquín Aguirrezabalaga
c0c36654bd
gnu: mcomix: Improve package.
* gnu/packages/image-viewers.scm (mcomix): [arguments]: Relocate after
[build-system]; simplify 'install-data using site-packages; simplify 'gi-wrap
to a single wrap-program invocation.
[inputs]: Add bash-minimal for wrap-program.

Closes: #3070
Change-Id: I59621e15fa2a496e233f4e40be6769750644fa87
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 15:56:10 +08:00
Joaquín Aguirrezabalaga
6be4cabca2
gnu: mcomix: Fix build.
* gnu/packages/image-viewers.scm (mcomix)[native-inputs]: Remove python-wheel;
add python-setuptools.

Change-Id: Ia83b03e0ffd4d1dae0f91371100591ef785bd1c0
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-09-29 15:54:37 +08:00
Cayetano Santos
5ab68b1adf
gnu: Add emacs-doric-themes.
* gnu/packages/emacs-xyz.scm (emacs-doric-themes): New variable.

Change-Id: I3bed3c1bb9bf13192585cfdef2a09e5b67d29953
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-09-29 06:25:00 +02:00
Nguyễn Gia Phong
b4003b40b0
gnu: Add tree-sitter-janet.
* gnu/packages/tree-sitter.scm (tree-sitter-janet): New variable.

Change-Id: I22d7e00e1120708f1da42452db187505fb10f94b
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-09-29 06:24:59 +02:00
Sharlatan Hellseher
5f8823f384
gnu: python-huey: Add a maintenance note.
* gnu/packages/python-xyz.scm (python-huey): Add a maintenance note.

Change-Id: I98397177a3d17f5564bd984538ff51545ba8533e
2025-09-29 00:26:06 +01:00
Jake Forster
bdfc3a0bcf
gnu: python-huey: Fix tests.
* gnu/packages/python-xyz.scm (python-huey):
[arguments]<#:phases>{pre-check}: Delete.
{check}: Replace.

Change-Id: I801baae9aa6a646bb9df452876a591db7da7a653
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-29 00:25:56 +01:00
Sharlatan Hellseher
2135ac63e1
gnu: python-flufl-bounce: Switch to pyproject, fix build.
* gnu/packages/python-xyz.scm (python-flufl-bounce):
[build-system]: Switch to pyporject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I4d057a611bbad330ec4e0a94693acee6da1684a7
2025-09-29 00:12:25 +01:00
Sharlatan Hellseher
414cdf08b8
gnu: python-authheaders: Fix tests.
* gnu/packages/mail.scm (python-authheaders)[arguments] <test-flags>:
Skip one failing test.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: I5e1ca265fe14405c2d5cb634ac13071ea9988ef3
2025-09-29 00:06:55 +01:00
Rodion Goritskov
8a17c58ce3
gnu: fail2ban: Fix tests.
* gnu/packages/admin.scm (fail2ban): Fix tests.
[arguments] <phases>: Replace check phase to recommended one.
[native-inputs]: Add python-aiosmtpd to make all tests running; remove
python-wheel.

Change-Id: Ic8dcbbd66762c75469f8cc5eb82e001968f6b4b4
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-29 00:01:27 +01:00
Rodion Goritskov
c7a2955b74
gnu: python-aiosmtpd: Fix tests.
* gnu/packages/mail.scm (python-aiosmtpd): Fix tests.
[version]: Build from commit
98f578389ae86e5345cc343fa4e5a17b21d9c96d.
[native-inputs]: Remove python-pytest-asyncio, python-wheel.
[propagated-inputs]: Add python-attrs.

Change-Id: I75f7eaf6eef178ca78361b45ce36c116a7341b02
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-29 00:00:49 +01:00
Sharlatan Hellseher
7c8d450d85
gnu: python-autopep8: Move to python-check.
* gnu/packages/python-xyz.scm (python-autopep8): Move from here ...
* gnu/packages/python-check.scm: ... to here.

Change-Id: Icce2a85151398eae4be5c54982497897751a43b7
2025-09-28 23:57:39 +01:00
Sharlatan Hellseher
cf9f828427
gnu: python-autopep8: Update to 2.3.2.
* gnu/packages/python-xyz.scm (python-autopep8): Update to 2.3.2.
[native-inputs]: Remove python-wheel.

Change-Id: I8369c20cef2c89966efa243f12bfe7647817ff90
2025-09-28 23:52:24 +01:00
Hugo Buddelmeijer
edffdbe626
gnu: python-woob: Update to 3.7.
* gnu/packages/python-web.scm: Add iso-codes module.

* gnu/packages/python-web.scm (python-woob): Update to 3.7.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments] <#:tests?>: Enable.
<#:test-flags>: Disable tests that require internet.
<#phases>: Add 'relax-requirements phase.
[propagated-inputs]: Remove python-pyqt and python-six; add
python-packaging, python-pycountry, python-responses, python-rich, and
python-termcolor.
[native-inputs]: Remove python-coverage, python-flake8, python-nose,
python-selenium, and python-xunitparser; add nss-certs-for-test,
python-pytest, and python-setuptools.

Change-Id: I74fda9b960e5640600d59d5ae3163943f53a7804
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 23:46:09 +01:00
Hugo Buddelmeijer
e94b3fbd11
gnu: python-harmony: Update to 0.7.2.
* gnu/packages/messaging.scm (python-harmony): Update to 0.7.2.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Remove python-tox; add python-setuptools.

Change-Id: Iaef8c2441d0db99ae8233098ffbe8839c2d00674
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 23:28:40 +01:00
Sharlatan Hellseher
2b1b170da5
gnu: python-aplus: Update to 0.11.1-0.1ab8ebe.
* gnu/packages/python-science.scm (python-aplus): Update to 0.11.1-0.1ab8ebe.
[source]: Switch to git-fetch and build from the latest commit.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable them as depending on Nose test runner.
[native-inputs]: Add python-setuptools.

Change-Id: I34bf72f8d0103122dfcf399e6823eaca2db1d69d
2025-09-28 23:24:51 +01:00
Sharlatan Hellseher
185cb9ce5c
gnu: python-fbpca: Switch to pyproject.
* gnu/packages/python-science.scm (python-fbpca):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, and python-setuptools.

Change-Id: Ib02a92066f6c06b1de73fb5e5c4888544db7b9f8
2025-09-28 23:03:07 +01:00
Hugo Buddelmeijer
521e1bd140
gnu: python-pyjanitor: Fix build.
* gnu/packages/python-science.scm (python-pyjanitor): Fix build.
[propagated-inputs]: Add python-requests.
[native-inputs]: Remove python-wheel.
[arguments] <#:test-flags>: Disable failing test.

Change-Id: I74b40149a3b87f0e748d79be2aae9978fa18de52
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 22:56:55 +01:00
Sharlatan Hellseher
5ea8115afe
gnu: quicktile: Simplify tests.
* gnu/packages/wm.scm (quicktile)[arguments] <test-flags>: Provide
option for "tests" directory.
<phases>: Use default 'check; add 'pre-check.
[native-inputs]: Remove xvfb-run; add xorg-server-for-tests.

Change-Id: Ia6d5dea156fd8fb8949bbe26720a027a5591cf9d
2025-09-28 22:47:24 +01:00
Hugo Buddelmeijer
f3761b6545
gnu: Add quicktile.
* gnu/packages/wm.scm (quicktile): New variable.

Change-Id: I9d6f20044b28ef21bf26d097bc4e14e7cedb1523
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 22:39:06 +01:00
Anderson Torres
6853465ca0
gnu: Merge (gnu packages openbox) with (gnu packages wm).
This file contains two package definitions that should be on wm.scm.
They are not overly complex, not tightly couple and small, so there is
few to no reason keeping them in a dedicated file.

* gnu/packages/openbox.scm (obconf, openbox): Move from here ...
* gnu/packages/wm.scm: ... to here.

* gnu/packages/openbox.scm: Delete file.
* gnu/local.mk: Remove reference to openbox.scm.

* gnu/packages/kde-frameworks.scm: Fixup reference to (gnu packages openbox) module.
* gnu/packages/lxde.scm: Remove reference to (gnu packages openbox) module.
* gnu/packages/lxqt.scm: Fixup reference to (gnu packages openbox) module.
* gnu/tests/install.scm: Remove reference to (gnu packages openbox) module.
* po/packages/POTFILES.in: Remove reference to openbox.scm.

Change-Id: I0b887debb97e8fcc7880c9f05d29981226d06077
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 22:24:06 +01:00
Hugo Buddelmeijer
c2d38eba5e
gnu: gemrb: Switch to Python 3.11.
This is the only that explicitly refered to python-3.10.
Switch to python-3.11 is one step closer to removing 3.10
altogether and thereby closing several CVEs.

* gnu/packages/games.scm (gemrb)[native-inputs]: Remove python-3.10;
add python.

Change-Id: I66783b7fd2c4066cded400b753684384a2e1cff2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:50:56 +01:00
Nicolas Graves
8c9fc75742
gnu: pwclient: Switch to pyproject.
* gnu/packages/patchutils.scm (pwclient):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Improve style, remove phase
'patch-requirements.
[native-inputs]: Add python-setuptools.

Change-Id: I59177c0dd35d577b5a7a988b9dbfd0c7772eefcf
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
3c62bfeba3
gnu: patchwork: Switch to pyproject.
* gnu/packages/patchutils.scm (patchwork): Run guix style.
[build-system]: Switch to pyproject-build-system.
[arguments]: Refresh them, run guix style, remove trailing #t.
[native-inputs]: Add python-setuptools.

Change-Id: I811c5ded2b517e35c49f2ae2a67178e4e3417e67
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
af4acb48a0
gnu: python-plover-stroke: Switch to pyproject.
* gnu/packages/stenography.scm (python-plover-stroke):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: Ia14ad0ecec308720c212168ed2e51cfcd5da1e7c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
cf006b7f90
gnu: meteo-qt: Switch to pyproject.
* gnu/packages/weather.scm (meteo-qt):
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate, improve style.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: I1053de72536158860ecb0cf6edfda873a8743728
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
8a24b7ee90
gnu: python-pycanberra: Switch to pyproject.
* gnu/packages/libcanberra.scm (python-pycanberra):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
[home-page]: Update it.

Change-Id: Ic6c5a527ed5b3447c64d9607ca91ca4ceee94bec
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
37ba886636
gnu: gramps: Switch to pyproject.
* gnu/packages/genealogy.scm (gramps):
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate, improve style.
<#:phases>: Refresh phase 'wrap-with-GI_TYPELIB_PATH.  Merge phases
'prepare-tests and 'set-home-for-tests.
[native-inputs]: Add python-setuptools.

Change-Id: I889bde2a6db4ed249c1e9137fc0274bb44e87f47
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
4a39d26468
gnu: rednotebook: Update to 2.41.
* gnu/packages/rednotebook.scm (rednotebook): Update to 2.41.
[arguments]: Improve style.
<#:phases>: Add phase 'configure-tests.
[native-inputs]: Add gettext-minimal.

Change-Id: I62be122b254c4158de4406ae49b070ab2094b196
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
9a026ab72e
gnu: rednotebook: Switch to pyproject.
* gnu/packages/rednotebook.scm (rednotebook):
[build-system]: Switch to pyproject-build-system.
[arguments]: Improve style, use gexps.
<#:tests?>: Enable them, as they seem to pass now.
<#:phases>: Refresh phase 'wrap-with-library-paths.
[native-inputs]: Add python-pytest, python-setuptools.

Change-Id: I147d51fd8106ff3ee88a9fe5ecc4220744163eac
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:30 +01:00
Nicolas Graves
8adc040827
gnu: folders: Switch to pyproject.
* gnu/packages/esolangs.scm (folders):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Set a custom 'check phase.
[native-inputs]: Add python-setuptools.
[description, properties]: Run guix style.

Change-Id: Icb1ab9f7ea246747e08da7bbec5a9339aaf5431b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:27:26 +01:00
Nicolas Graves
8f68657316
teams: Update Nicolas Graves' codeberg account.
* etc/teams.scm (Nicolas Graves): Adjust CodeBerg's account.

Change-Id: I338fc27a5654d8fd12d5ab9846fa05e42051b6fa
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 21:23:13 +01:00
Nicolas Graves
b12f52809d
gnu: av-98: Update to 1.4.
* gnu/packages/web-browsers.scm (av-98): Update to 1.4.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable them.
<#:phases>: Add phase 'configure-sanity-check.
[native-inputs]: Add python-setuptools.
[home-page]: Refresh it, the project moved.

Change-Id: I589c4622f9c38a9d3e4b27e9e2a28d3767eed74b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:54 +01:00
Nicolas Graves
22045e667d
gnu: leo: Switch to pyproject.
* gnu/packages/web-browsers.scm (leo):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable them.
[native-inputs]: Add python-setuptools.

Change-Id: I04ad66f944fed21b832d85ea9b443293a337d942
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:54 +01:00
Nicolas Graves
9cd4bdd30a
gnu: python-mpi4py: Update to 4.1.0.
* gnu/packages/mpi.scm (python-mpi4py): Update to 4.1.0.
[arguments]<#:phases>: Add 'check phase replacement.
<#:test-flags>: Set them.
[native-inputs]: Replace python-cython-0 by python-cython.

Change-Id: I8d1ab87bdb27607fe73c1865fd5fa3c174421840
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:54 +01:00
Nicolas Graves
c608175c5d
gnu: python-mpi4py: Switch to pyproject.
* gnu/packages/mpi.scm (python-mpi4py):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments, description]: Improve style.
[native-inputs]: Add python-cython-0, python-pytest,
python-setuptools.

Change-Id: I3d21936ce3dc368d358174a984885f7450032195
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:54 +01:00
Nicolas Graves
281eb65a23
gnu: xapers: Switch to pyproject.
* gnu/packages/search.scm (xapers):
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate field.
<#:tests?>: Disable them, as a lot of them are failing.
<#:phases>: Replace 'check phase. Refrash phase 'install-doc.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: I135aa42aca9f4c784798c38cf0a2f77b605ed338
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:54 +01:00
Nicolas Graves
03b67f4c0f
gnu: clikan: Switch to pyproject.
* gnu/packages/task-management.scm (clikan):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Replace 'check phase by a 'configure-tests
phase.
[native-inputs]: Add python-setuptools.
2025-09-28 19:23:53 +01:00
Nicolas Graves
b972e487a5
gnu: mygnuhealth: Switch to pyproject.
* gnu/packages/medical.scm (mygnuhealth):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests>: Disable them.
<#:imported-modules, #:modules>: Refresh them.
<#:phases>: Run guix style.
[native-inputs]: Add python-setuptools.

Change-Id: Ieec8cbd7c1c87f1482a8dc8049fcb8ad1aae4f9e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:53 +01:00
Nicolas Graves
c1344744d1
gnu: nicotine+: Switch to pyproject.
* gnu/packages/nicotine.scm (nicotine+):
[source]: Remove <modules> and <snippet>.
[build-system]: Switch to pyproject-build-system.
[arguments]: Improve style.
<#:phases>: Delete network test before running them.
<#:imported-modules, #:modules>: Refresh them.
[native-inputs]: Add python-setuptools.

Change-Id: Id9492a83fd1ae6916a6998f3cae2c014eb87644a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 19:23:46 +01:00
Remco van 't Veer
23e58b7194
gnu: yt-dlp: Fix non-x86 build.
The `search-input-file` procedure raises an error when file is not
available, `which` returns #f when executable is not available.

* gnu/packages/video.scm (yt-dlp): Fix non-x86 build.
[arguments] <#:phases>: Use which to check for pandoc.

Change-Id: I2c7bba7500defc31e69f6d7144ff1020505e4d43
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-28 15:40:31 +03:00
jgart
686aaca898
gnu: trealla: Update to 2.83.11.
* gnu/packages/prolog.scm (trealla): Update to 2.83.11.

Change-Id: I265bcbd4c7b1e07917d9915904563d4560676db8
2025-09-27 20:22:01 -05:00
Mark H Weaver
39cfcae91b
gnu: yt-dlp: Update to 2025.09.26.
* gnu/packages/video.scm (yt-dlp): Update to 2025.09.26.
2025-09-27 20:39:25 -04:00
Sharlatan Hellseher
8c9572b68d
gnu: python-git-hammer: Update to 0.3.2.
* gnu/packages/python-xyz.scm (python-git-hammer): Update to 0.3.2. Fix
indentation.
[build-system]: Switch to pyproject-build-system.
[arguments] <phases>: Remove 'patch-setup.py, add 'relax-requirements.
[native-inputs]: Add python-pytest and python-setuptools.
[description]: Fix fill column.

Change-Id: I22609e48142c2dacf2d9dec7c07a9cc917f5db03
2025-09-28 01:02:14 +01:00
Hugo Buddelmeijer
b2c0723525
gnu: stpipeline: Update to 2.0.0.
* gnu/packages/bioinformatics.scm (stpipeline): Update to 2.0.0.
[source, homepage]: Switched to https://github.com/jfnavarro/st_pipeline.
[source]: Switch to git-fetch.
[arguments] <phases>: Skip check phase because dependencies are too narrow.
[propagated-inputs]: Remove python-cython, python-invoke, python-pympler,
python-setuptools, and python-sqlitedict; add python-distance,
python-dnaio, and python-types-regex.
[native-inputs]: Remove python-setuptools and python-wheel; add python-cython,
python-pytest, and python-poetry-core.

Change-Id: Iaa05b23e58e9f254ed9293244d955e63c2e69cd5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:43:29 +01:00
Hugo Buddelmeijer
a6075f65c8
gnu: python-taggd: Update to 0.4.0.
* gnu/packages/bioinformatics.scm (python-taggd): Update to 0.4.0.
[origin, homepage]: Change to "https://github.com/jfnavarro/taggd"
[source]: Remove out-dated snippet.
[arguments] <test-flags>: Reenable fixed test.
[propagated-inputs]: Add python-tqdm, python-aiofiles, python-dnaio,
python-types-aiofiles, and python-types-tqdm.

Change-Id: I8c1c445bdf1b463b9ffd16602001608a3c9d4fcd
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:43:28 +01:00
Hugo Buddelmeijer
c6a808735a
gnu: Add python-types-tqdm.
* gnu/packages/python-xyz.scm (python-types-tqdm): New variable.

Change-Id: I91ba21d84b467c9bf172db48aeba5309a70fe51d
2025-09-28 00:43:28 +01:00
Hugo Buddelmeijer
6b48bd14df
gnu: Add python-types-aiofiles.
* gnu/packages/python-xyz.scm (python-types-aiofiles): New variable.

Change-Id: I7f21b80b47f1c0a71812623c574a6892a9782af0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:43:28 +01:00
Hugo Buddelmeijer
622f2105eb
gnu: Add python-types-regex.
* gnu/packages/python-xyz.scm (python-types-regex): New variable.

Change-Id: Ie526b19c84c08c7778d41bc12619b4d2e8f0dd8b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:43:28 +01:00
wrobell
60027b1c0f
gnu: Add python-blacksheep.
* gnu/packages/python-web.scm (python-blacksheep): New variable.

Change-Id: Ia6ffb6360f6ba932936dc2196161b4ef2cbcd733
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:34:27 +01:00
wrobell
7dca3b9e0a
gnu: Add python-guardpost.
* gnu/packages/python-web.scm (python-guardpost): New variable.

Change-Id: Ib77bb20020770ac5a3369e97279b19bd75bbcc8b
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:34:27 +01:00
wrobell
b286fc5ac1
gnu: Add python-essentials-openapi.
* gnu/packages/python-web.scm (python-essentials-openapi): New variable.

Change-Id: I80a6c65c2865b79ce01d541d53f8859e9aa9c157
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:34:27 +01:00
wrobell
bdde705c8c
gnu: Add python-rodi.
* gnu/packages/python-xyz.scm (python-rodi): New variable.

Change-Id: I72d04e61b7286047906d303af03e91696d6a66c0
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:34:26 +01:00
wrobell
e619542671
gnu: Add python-essentials.
* gnu/packages/python-xyz.scm (python-essentials): New variable.

Change-Id: Ief6d00aac122d33269f9237673770bfd7f98fbb8
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:34:23 +01:00
Sharlatan Hellseher
be923f9294
gnu: python-apprise: Move to python-web.
* gnu/packages/python-xyz.scm (python-apprise): Move from here ...
* gnu/packages/python-web.scm: ... to here.

Change-Id: Iec9be9ed71ea199bbcf9a0ad66a6251d51bc0484
2025-09-28 00:10:54 +01:00
Hugo Buddelmeijer
cf7a0a747e
gnu: python-apprise: Update to 1.9.4.
* gnu/packages/python-xyz.scm (python-apprise): Update to 1.9.4.
[arguments] <#:test-flags>: Remove --numprocesses in the hope to make
the tests more deterministic.
[propagated-inputs]: Add python-pygobject.
[native-inputs]: Remove python-pytest-xdist, and python-wheel.

Change-Id: I3c63be39433d9044b0c994c7adb5ab6a4e9f2a2d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-28 00:04:52 +01:00
Hugo Buddelmeijer
0c3cac7e0e
gnu: python-geometric: Fix build.
* gnu/packages/chemistry.scm (python-geometric): Fix build.
[native-inputs]: Remove python-wheel.
[arguments] <#:phases>: Remove six dependency.

Change-Id: I2dd5191bf2b41719dc3b56c8b914eb090161b090
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:45:31 +01:00
Sören Tempel
460ef912ae
gnu: htop: Enable support for temperature readings via lm-sensors.
* gnu/packages/admin.scm (htop)[inputs]: add lm-sensors.
[arguments] <#:configure-flags>: pass --enable-sensors.
[arguments] <#:phases>: patch dlopen(3) invocation.

Change-Id: Ibb4476b85289d2200bd899adb785fa967a603c75
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:39:39 +01:00
Nicolas Graves
0c2c5fc8cf
gnu: python-pycountry-20.7.3: Switch to git source.
* gnu/packages/iso-codes.scm (python-pycountry-20.7.3): Hide package.
[source]: Switch to git-fetch.
[native-inputs]: Replace inherited python-poetry-core by
python-setuptools.

Change-Id: Ie8832b0dddb3f83d14ea43bf80585aa8fa6739d1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:47 +01:00
Nicolas Graves
fdf06879c7
gnu: python-iso3166: Switch to pyproject.
* gnu/packages/iso-codes.scm (python-iso3166):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-setuptools.

Change-Id: I846061c4cba9edc9c795c8540c86dba02581ec5e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:47 +01:00
Nicolas Graves
c8cea00406
gnu: python-iso639: Switch to pyproject.
* gnu/packages/iso-codes.scm (python-iso639):
[build-system]: Switch to pyproject-build-system.
[arguemnts]<#:test-flags>: Ignore failing tests.
[native-inputs]: Add python-pycountry, python-pytest,
python-pytest-cov.
[description]: Improve style.

Change-Id: I7e88a4d2e1a867937b7ce3f80774e8bb235e5b6e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:47 +01:00
Nicolas Graves
8c7daa1e57
gnu: python-pycountry: Update to 24.6.1.
* gnu/packages/iso-codes.scm (python-pycountry): Update to 24.6.1.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-poetry-core, python-pytest,
python-pytest-cov.
[home-page]: Update them.

Change-Id: Ic78b2ea3b268a0da80186647164072b4e1909083
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:47 +01:00
Nicolas Graves
a99b3b8c20
gnu: python-pycountry: Move to (gnu packages iso-codes).
This package makes a lot more sense there, and is actually needed to
run tests of other python packages in this module.

* gnu/packages/python-xyz.scm (python-pycountry)
(python-pycountry@20.7.3): Move them...
* gnu/packages/iso-codes.scm (python-pycountry)
(python-pycountry-20.7.3): ... to this module.
* gnu/packages/music.scm: Import (gnu packages iso-codes).
* gnu/packages/tryton.scm: Import (gnu packages iso-codes).
(trytond-country): Correct python-pycountry@20.7.3 to
python-pycountry-20.7.3.

Change-Id: I7aa424663fb2edc73bca3fcac38de3226cc57a9b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:47 +01:00
Nicolas Graves
31b4c153e1
gnu: python-mathlibtools: Switch to pyproject.
* gnu/packages/lean.scm (python-mathlibtools):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Disable failing tests.
[native-inputs]: Add python-pytest, python-setuptools.

Change-Id: I48805383c0dd6fc4d033cbe7fe3e039cf388eb12
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:25:43 +01:00
Rodion Goritskov
7c1eb3247a
gnu: patman: Fix build.
* gnu/packages/bootloaders.scm (patman):[native-inputs]: Add python-setuptools.

Change-Id: Ia39f2aee4cb7480a445266d113407467207bbf2e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:02:49 +01:00
Rodion Goritskov
b60bb57fb6
gnu: python-u-boot-pylib: Fix build.
* gnu/packages/bootloaders.scm (python-u-boot-pylib)[native-inputs]: Add
python-setuptools.

Change-Id: I94052f3a3db1aeb734025011e93e8efe279ccdb5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 23:02:33 +01:00
Sharlatan Hellseher
c78545b334
gnu: python-iocapture: Fix tests.
* gnu/packages/python-xyz.scm (python-iocapture)[native-inputs]:
Remove python-wheel; add python-six.

Change-Id: Ifa2191412463b03759527cd8073e6760d648c2f4
2025-09-27 22:56:58 +01:00
Sharlatan Hellseher
f35a36f906
gnu: python-flexmock: Move to python-check.
* gnu/packages/check.scm (python-flexmock): Move from here ...
* gnu/packages/python-check.scm: ... to here.
* gnu/packages/shellutils.scm: Add python-check module.

Change-Id: I6aebe1eb1f9bdbeb140af4538a9af0becccc6e92
2025-09-27 22:49:59 +01:00
Hugo Buddelmeijer
e976d192a4
gnu: python-flexmock: Fix by using python-poetry-core
* gnu/packages/check.scm (python-flexmock): Fix.
[native-inputs]: Remove poetry; add python-poetry-core.
[homepage]: Switch to https://flexmock.readthedocs.io/ as lint suggested.

Change-Id: I0271a2af4c18c957cad86e26b5d2f833e8184fc1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 22:41:38 +01:00
Sharlatan Hellseher
52081ff06b
gnu: python-pydes: Disable tests.
Project is not maintained since 2016, this change fix check phase by
skipping tests. Web search leads to <https://github.com/twhiteman/pyDes>
repository, while home-page URL is a dead link.

* gnu/packages/python-crypto.scm (python-pydes)[arguments] <tests?>: No
tests in PyPI, I could not find Git.
[native-inputs]: Remove python-wheel.

Change-Id: Icd47c0012dc1d2bab68d7f287e5f1af0254dae2b
2025-09-27 21:57:47 +01:00
Sharlatan Hellseher
0a0f1e30a8
gnu: python-mathics-pygments: Fix tests.
* gnu/packages/maths.scm (python-mathics-pygments)[native-inputs]:
Remove python-wheel; add python-pytest.

Change-Id: I01471fd8835c7cbc21fae497bedb177a1230eae1
2025-09-27 21:45:14 +01:00
Hugo Buddelmeijer
51fa44d093
gnu: python-grandalf: Update to 0.8.
* gnu/packages/python-xyz.scm (python-grandalf): Update to 0.8.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Remove python-pytest-runner; add python-setuptools.
[arguments] <#:phases>: Add 'patch-requirements phase; remove
check-phase replacement.

Change-Id: Icaf77d0909b67b857bceffd21bb132c9e0e69edc
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-09-27 21:40:53 +01:00
Sharlatan Hellseher
3e634c5d19
gnu: python-calmjs-parse: Fix tests.
* gnu/packages/python-xyz.scmf (python-calmjs-parse)[native-inputs]:
Remove python-wheel; add python-pytest.

Change-Id: I0cde88ae9fa6f210e436a64a7a3f0ea1114506df
2025-09-27 21:37:17 +01:00
Sharlatan Hellseher
90b43a2333
gnu: python-attr: Fix tests.
* gnu/packages/python-xyz.scm (python-attr)[arguments] <test-backend>:
Use 'custom.
<test-flags>: Provide test script as seen in <tox.ini>.
[native-inputs]: Remove python-wheel.

Change-Id: Iee70e41ca607f0200ac2387fd62e01a2a7b5e49e
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
f00ebc2d5e
gnu: python-zeroc-ice-3.6: Fix build with gcc-14.
* gnu/packages/python-xyz.scm (python-zeroc-ice-3.6)[arguments]
<phases>: Add 'relax-gcc-14-strictness.

Change-Id: I205e103f6e8e5856a10fb716fec3831b555ab3cf
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
7ca5588e58
gnu: python-zeroc-ice: Disable tests.
* gnu/packages/python-xyz.scm (python-zeroc-ice)[arguments] <tests?>:
Test provided in Git, but there is no tag reflecting PyPI archive.
[native-inputs]: Remove python-wheel.

Change-Id: I1a9b2453fc53589e1701e5eb7d78575416881734
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
13ce997314
gnu: python-zeroc-ice-3.6: Move closer to python-zeroc-ice.
* gnu/packages/python-xyz.scm (python-zeroc-ice-3.6): Move variable
after python-zeroc-ice.

Change-Id: If63359d3b5fb1821a3d8232bdd266aba2225a597
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
dcf6ee11c7
gnu: python-kconfiglib: Disable tests.
* gnu/packages/python-xyz.scm (python-kconfiglib)[arguments] <tests?>:
They require some set up.
[native-inputs]: Remove python-wheel.

Change-Id: I50b415a1564a9a831bf7383f6eb6f00b46cdd998
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
06c8ae0c3d
gnu: python-rich-tables: Update to 0.8.0.
* gnu/packages/python-xyz.scm (python-rich-tables): Update to 0.8.0.
[arguments] <test-flags>: Skip one test.
[propagated-inputs]: Add python-humanize.

Change-Id: If6472174a057eba03ae9a9c5c367a577b5c29db0
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
8b627e931a
gnu: python-rgbxy: Disable tests.
* gnu/packages/python-xyz.scm (python-rgbxy)[arguments] <tests?>: No
tests.
[native-inputs]: Remove python-wheel.

Change-Id: I1a440d8e3f3e1b9d80c9d4c693e40de5ad4cd1ef
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
a8a93afce3
gnu: python-ndeflib: Fix tests.
* gnu/packages/python-xyz.scm (python-ndeflib)[arguments] <test-flags>:
Skip 2 test groups.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: I609f6d9ce7b4f98bae1639769d51f4fa83ac8531
2025-09-27 21:37:16 +01:00
Sharlatan Hellseher
6ba36049ae
gnu: python-columnize: Fix test.
* gnu/packages/python-xyz.scm (python-columnize)[native-inputs]:
Remove python-wheel; add python-pytest.

Change-Id: I25a274e2086a396d05119987915551102c20e727
2025-09-27 21:37:15 +01:00
Sharlatan Hellseher
df87078828
gnu: python-doxyqml: Fix tests.
* gnu/packages/python-xyz.scm (python-doxyqml)[arguments]
<test-backend>: Use 'custom.
<test-flags>: Provide path to the test file.
[native-inputs]: Remove python-wheel.

Change-Id: Ic89f338fec5cfc434a2d1a25bd903232236c4129
2025-09-27 21:37:15 +01:00
Sharlatan Hellseher
27f867ce57
gnu: python-elevate: Disable tests.
* gnu/packages/python-xyz.scm (python-elevate)[arguments] <tests?>: No
tests in PyPI or Git.
[native-inputs]: Remove python-wheel.

Change-Id: I91a7d6d6cbf534ec8881f1da850781ec79a54811
2025-09-27 21:37:01 +01:00
109 changed files with 3886 additions and 2790 deletions

View file

@ -26957,23 +26957,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))
@ -26987,13 +27010,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

@ -1305,7 +1305,7 @@ the \"texlive\" importer."
(define-member (person "Nicolas Graves"
"ngraves@ngraves.fr"
"ngraves")
"nicolas-graves")
javascript python ruby)
(define-member (person "Yelninei"

View file

@ -512,7 +512,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/openkinect.scm \
%D%/packages/onc-rpc.scm \
%D%/packages/opencl.scm \
%D%/packages/openbox.scm \
%D%/packages/opencog.scm \
%D%/packages/openldap.scm \
%D%/packages/openpgp.scm \
@ -1030,6 +1029,7 @@ dist_patch_DATA = \
%D%/packages/patches/barony-fix-textures.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bash-linux-pgrp-pipe.patch \
%D%/packages/patches/basis-universal-unbundle-libs.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bdb-4-5-configure.patch \
%D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
@ -1136,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 \
@ -1228,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 \
@ -1553,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 \
@ -1603,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 \
@ -1674,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 \
@ -1746,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 \
@ -1786,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 \
@ -1867,6 +1871,7 @@ dist_patch_DATA = \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
@ -2226,6 +2231,7 @@ dist_patch_DATA = \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
%D%/packages/patches/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 +2267,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,7 +2440,9 @@ 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/warzone2100-unbundle-libs.patch \
%D%/packages/patches/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \

View file

@ -1115,8 +1115,21 @@ on memory usage on GNU/Linux systems.")
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--enable-sensors")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-dlopen
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "linux/LibSensors.c"
(("dlopen\\(\"libsensors\\.so")
(string-append "dlopen(\""
(search-input-file
inputs "/lib/libsensors.so")))))))))
(inputs
(list ncurses))
(list ncurses (list lm-sensors "lib")))
(native-inputs
(list autoconf automake python-minimal-wrapper)) ; for scripts/MakeHeader.py
(home-page "https://htop.dev")
@ -6299,6 +6312,10 @@ alias cysdig=sudo csysdig --modern-bpf
"fail2ban/client/fail2banregex.py")
(("/etc/fail2ban")
(string-append #$output "/etc/fail2ban")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./bin/fail2ban-testcases"))))
(add-after 'fix-default-config 'set-action-dependencies
(lambda* (#:key inputs #:allow-other-keys)
;; deleting things that are not feasible to fix
@ -6379,7 +6396,8 @@ alias cysdig=sudo csysdig --modern-bpf
"fail2ban-regex" "fail2ban-server"
"fail2ban-testcases"))
((install-man "5") "jail.conf")))))))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-aiosmtpd
python-setuptools))
(inputs (list gawk
coreutils-minimal
curl

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

@ -12165,26 +12165,19 @@ interpretation.")
(define-public python-taggd
(package
(name "python-taggd")
(version "0.3.6")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SpatialTranscriptomicsResearch/taggd")
(url "https://github.com/jfnavarro/taggd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0j19ah81z7aqrdljah9hyarp91gvgbk63pz6fz3pdpksy1yqyi6k"))
(modules '((guix build utils)))
(snippet
'(for-each delete-file
(find-files "taggd" "\\.c$")))))
"17hi1vs1qwhxx8jnradnl9k471li6fjb6w5sljkpzjxy7rkxwb85"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; AssertionError: 0 is not true : Running Normal BAM test failed.
#~(list "-k" "not test_normal_bam_run")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-local-taggd
@ -12193,10 +12186,16 @@ interpretation.")
;; taggd when running tests.
(delete-file-recursively "taggd"))))))
(propagated-inputs
(list python-numpy python-pysam))
(list python-numpy
python-pysam
python-tqdm
python-aiofiles
python-dnaio
python-types-aiofiles
python-types-tqdm))
(native-inputs
(list python-cython python-pytest python-setuptools))
(home-page "https://github.com/SpatialTranscriptomicsResearch/taggd")
(home-page "https://github.com/jfnavarro/taggd")
(synopsis "Genetic barcode demultiplexing")
(description "This package provides TagGD barcode demultiplexing utilities
for Spatial Transcriptomics data.")
@ -12205,40 +12204,45 @@ for Spatial Transcriptomics data.")
(define-public stpipeline
(package
(name "stpipeline")
(version "1.8.1")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stpipeline" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jfnavarro/st_pipeline")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0har2g42fvaqpiz66lincy86aj1hvwzds26kxhxfamvyvv4721wk"))))
(base32 "1qah9sa7wy9ywf0si2ngqg0qyr9jjp5gxmjx3y65i78bxyq8pfyx"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases '(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "requirements.txt"
(("argparse.*")
"")))))))
;; requirements.txt and pyproject.toml have all versions
;; of the dependencies hardcoded. All tests pass, so it should
;; be good enough.
;; However, the sanity-check of any Python package that has
;; stpipelines a dependency, would fail too.
(delete 'sanity-check))))
(propagated-inputs (list htseq
python-cython
python-invoke
python-distance
python-dnaio
python-numpy
python-pandas
python-pympler
python-pysam
python-regex
python-scikit-learn
python-scipy
python-seaborn
python-setuptools
python-sqlitedict
python-taggd
python-types-regex
samtools
star))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/SpatialTranscriptomicsResearch/st_pipeline")
(native-inputs (list
python-cython
python-pytest
python-poetry-core))
(home-page "https://github.com/jfnavarro/st_pipeline")
(synopsis "Pipeline for spatial mapping of unique transcripts")
(description
"This package provides an automated pipeline for spatial mapping of
@ -23600,7 +23604,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

@ -1041,6 +1041,7 @@ CONFIG_TOOLS_KWBIMAGE=n")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./u_boot_pylib")))))))
(native-inputs (list python-setuptools))
(synopsis "U-Boot Python library")
(description "This package provides common Python code used by some of the
commands part of the U-Boot project, such as Patman.")))
@ -1076,6 +1077,7 @@ commands part of the U-Boot project, such as Patman.")))
,(dirname (search-input-file
inputs
"libexec/git-core/git-send-email"))))))))))
(native-inputs (list python-setuptools))
(inputs
(list git
`(,git "send-email")

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

@ -3184,25 +3184,6 @@ JSON APIs with Behave.")
time by mocking the datetime module.")
(license license:asl2.0)))
(define-public python-flexmock
(package
(name "python-flexmock")
(version "0.12.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "flexmock" version))
(sha256
(base32
"18dcr7mpldf3cxsqi9rak75n4z7x3j544l4ixdspairm7cf6cp23"))))
(build-system pyproject-build-system)
(native-inputs (list poetry python-pytest))
(home-page "https://flexmock.readthedocs.org")
(synopsis "Testing library for Python")
(description
"flexmock is a testing library for Python that makes it easy to create
mocks, stubs and fakes.")
(license license:bsd-3)))
(define-public python-flaky
(package
(name "python-flaky")

View file

@ -701,10 +701,20 @@ symmetries written in C. Spglib can be used to:
(sha256
(base32 "0w3c71wvhnc44pfafcjfgqkjimkcdkpjk3bahg9v6l1z8c0cyhfy"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-six
(lambda _
(substitute* "geometric/nifty.py"
(("import six") "")
(("six\\.string_types") "str"))
(substitute* "setup.py"
(("'six',") "")))))))
(native-inputs
(list python-pytest
python-setuptools
python-wheel))
python-setuptools))
(propagated-inputs
(list python-numpy
python-scipy

View file

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

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

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

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

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

@ -8455,6 +8455,29 @@ whose goal is to provide colorful yet legible options for users who want
something with a bit more flair than the Modus themes.")
(license license:gpl3+)))
(define-public emacs-doric-themes
(package
(name "emacs-doric-themes")
(version "0.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/protesilaos/doric-themes")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06kvv5hvqig1sngzzvpxfpb9wln9fv2b7krjmvb0n3kvp0s0bxmd"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/protesilaos/doric-themes")
(synopsis "Highly readable minimalist Emacs themes")
(description
"This package provides a set of Emacs themes that conform with a
minimalist aesthetic: they use few colours and appear monochromatic in many
contexts")
(license license:gpl3+)))
(define-public emacs-eslint-flymake
(let ((commit "c78246330ee3ac1e0e07a709473d98a113d268e5")
(revision "1"))

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

@ -4,6 +4,7 @@
;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com>
;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,12 +27,14 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages readline)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
@ -106,18 +109,32 @@ whenever possible to the extent that the above points are not compromised.
(name "folders")
(version "0.0.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Folders" version))
(sha256
(base32 "0qh80qx7sjx0zii1hf8fm853d9rcg4rginm6v4gpp0hgn2a4q4gh"))))
(build-system python-build-system)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SinaKhalili/Folders.py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14fs8c7ilvsw6xbskr688s1dp3nd8vnwv7bg23ab1l6vj6fpzwmw"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "Folders" "sample_programs/HelloWorld")
(format #t "test suite not run~%")))))))
(native-inputs (list python-setuptools))
(home-page "https://github.com/SinaKhalili/Folders.py")
(synopsis "Structural programming language")
(description "Folders is a programming language, in which programs
are encoded as (nested) directories. Note that the switches you pass to
@command{du} may affect your score when code golfing.")
(properties `((lint-hidden-cpe-vendors . ("premio" "jenkins"))))
(description
"Folders is a programming language, in which programs are encoded as
(nested) directories. Note that the switches you pass to @command{du} may
affect your score when code golfing.")
(properties `((lint-hidden-cpe-vendors "premio" "jenkins")))
(license license:expat)))
(define-public shakespeare-spl

View file

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

View file

@ -586,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
@ -595,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")
@ -642,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")
@ -1363,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
@ -1371,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 _
@ -1414,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
@ -1423,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))
@ -2250,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

@ -204,6 +204,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pcre)
@ -222,6 +223,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby-check)
#:use-module (gnu packages shells)
#:use-module (gnu packages sdl)
@ -6522,77 +6524,64 @@ in-window at 640x480 resolution or fullscreen.")
(define-public warzone2100
(package
(name "warzone2100")
(version "4.3.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/warzone2100/releases/"
version
"/warzone2100_src.tar.xz"))
(sha256
(base32 "1hq56hm6bn3s2pksznh5g8hgq6ww6fnl1pspr3bi93k3z7v0imh1"))
(modules '((guix build utils)))
(snippet
'(begin
(with-directory-excursion "3rdparty"
(for-each
delete-file-recursively
'("discord-rpc"
"miniupnp"
"utfcpp")))
#t))))
(version "4.6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/warzone2100/releases/"
version "/warzone2100_src.tar.xz"))
(patches (search-patches "warzone2100-unbundle-libs.patch"))
(modules '((guix build utils)))
(snippet #~(for-each delete-file-recursively
(cons* "lib/netplay/3rdparty/miniupnp"
"lib/sound/3rdparty/opusfile"
(map (lambda (s) (string-append "3rdparty/" s))
'("basis_universal" "basis_universal_host_build"
"discord-rpc" "fmt" "GameNetworkingSockets"
"inih" "re2" "utf8proc" "utfcpp")))))
(sha256
(base32
"02x5ihkpfkpjxwvh00d8yqzd796af7d684nk96hzhhq28qw5bb16"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~'("-DWZ_DISTRIBUTOR=Guix"
"-DWZ_ENABLE_BACKEND_VULKAN=off"
"-DENABLE_DISCORD=off")
#:tests? #f ; TODO: Tests seem to be broken, configure.ac is missing.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-utfcpp-include
(lambda _
(substitute* "lib/framework/wzstring.cpp"
(("<utfcpp/source/utf8.h>")
"<utf8cpp/utf8.h>"))))
(add-after 'unpack 'link-tests-with-qt
(lambda _
(substitute* "tests/Makefile.am"
(("(framework_linktest_LDADD|maptest_LDADD) = "
prefix)
(string-append prefix "$(QT5_LIBS) ")))))
(add-after 'unpack 'fix-ivis-linktest
(lambda _
(substitute* "tests/ivis_linktest.cpp"
(("iV_DrawTextRotated.*;")
(string-append
"iV_DrawTextRotated(\"Press ESC to exit.\", "
"100, 100, 0.0f, font_regular);"))))))))
(native-inputs (list asciidoc
ruby-asciidoctor/minimal
gettext-minimal
pkg-config
unzip
;; 7z is used to create .zip archive, not `zip' as in version 3.2.*.
p7zip))
(inputs (list opus
(arguments (list #:configure-flags #~'("-GNinja"
"-DWZ_DISTRIBUTOR=Guix"
"-DWZ_DOWNLOAD_PREBUILT_PACKAGES=off"
"-DWZ_INCLUDE_VIDEOS=off"
"-DWZ_FORCE_MINIMAL_OPUSFILE=off"
"-DENABLE_GNS_NETWORK_BACKEND=off")
;; TODO: Tests seem to be broken, configure.ac is missing.
#:tests? #f))
(native-inputs (list basis-universal
gettext-minimal
ninja
p7zip
pkg-config
ruby-asciidoctor/minimal
shaderc))
(inputs (list basis-universal
curl
fontconfig
fmt
freetype
glew
fribidi
gnutls
harfbuzz
libinih
libogg
libpng
libsodium
libtheora
libvorbis
libxrandr
libsodium
libzip
miniupnpc
openal
opus
opusfile
physfs
qtbase-5
qtscript-5
openssl
re2
sdl2
sqlite
utfcpp))
utf8proc
utfcpp
vulkan-headers))
(home-page "https://wz2100.net")
(synopsis "3D Real-time strategy and real-time tactics game")
(description
@ -13408,7 +13397,7 @@ virtual reality devices.")
(list
#:configure-flags
#~(list "-DUSE_TESTS=ON" "-DOPENGL_BACKEND=OpenGL")))
(native-inputs (list python-3.10 glibc-locales googletest))
(native-inputs (list python glibc-locales googletest))
(inputs (list freetype
libiconv
libpng

View file

@ -18,9 +18,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages genealogy)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -34,6 +35,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages version-control)
@ -52,11 +54,48 @@
(file-name (git-file-name name version))
(sha256
(base32 "1gzhi5hxpgc6pxs40xsxf67hndjifnfhm89s3ly68c70x83qmwhd"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:imported-modules
`((guix build glib-or-gtk-build-system)
,@%pyproject-build-system-modules)
#:modules
`((ice-9 match)
(srfi srfi-1)
(guix build pyproject-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'prepare-tests
(lambda _
(setenv "HOME" (getenv "TMPDIR"))
;; Presence of .git directory is used to determine whether this
;; is a final installation. Without it, tests fail to determine
;; resource path.
(mkdir ".git")
;; Test is failing
(delete-file "gramps/gen/utils/test/file_test.py")))
(add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/gramps")
`("GI_TYPELIB_PATH" ":" prefix
,(filter-map
(match-lambda
((output . directory)
(let ((girepodir (string-append
directory
"/lib/girepository-1.0")))
(and (file-exists? girepodir)
girepodir))))
inputs)))))
(add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)
("glibc-utf8-locales" ,glibc-utf8-locales))) ;; for one test
(list gettext-minimal intltool
glibc-utf8-locales ;for one test
python-setuptools))
(inputs
(list bash-minimal
cairo
@ -81,42 +120,6 @@
rcs
sqlite
xdg-utils))
(arguments
`(#:imported-modules ((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules ((ice-9 match)
(guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-home-for-tests
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'check 'prepare-tests
(lambda _
;; Presence of .git directory is used to determine whether this
;; is a final installation. Without it, tests fail to determine
;; resource path.
(mkdir ".git")
;; Test is failing
(delete-file "gramps/gen/utils/test/file_test.py")))
(add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(paths (map (match-lambda
((output . directory)
(let ((girepodir (string-append
directory
"/lib/girepository-1.0")))
(if (file-exists? girepodir)
girepodir
#f))))
inputs)))
(wrap-program (string-append out "/bin/gramps")
`("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))))
(add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://gramps-project.org")
(synopsis "Genealogical research software")
(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
@ -1476,7 +1476,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
(define-public gupnp-av
(package
(name "gupnp-av")
(version "0.14.1")
(version "0.14.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1484,7 +1484,7 @@ given profile, etc. DLNA is a subset of UPnP A/V.")
name "-" version ".tar.xz"))
(sha256
(base32
"0kry7arwmvs8b4175wia3l0s02ap1shq68f29g2xjrhc9g6f175p"))))
"1izq71qphyac02ynypwk0skxqzhfr0zrl7dap3sxrdaw4yrp9n91"))))
(build-system meson-build-system)
(native-inputs
(list gettext-minimal
@ -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

@ -21,7 +21,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020-2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org>
@ -108,6 +108,7 @@
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ninja)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@ -1224,14 +1225,30 @@ basic geometries.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/typemytype/booleanOperations")
(commit version)))
(url "https://github.com/typemytype/booleanOperations")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ahfgamyq1ndwbr9n8sdx8qhqc2195xnbahylgjpk877hbr2gxav"))))
(build-system pyproject-build-system)
(arguments
(list
;; There are
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 format))
;; Some tests fail due to small differences in the expected result (see:
;; <https://github.com/typemytype/booleanOperations/issues/69>).
#:test-flags #~(list "-k"
(format #f "not ~{~a~^ and not ~}"
'("test_QTail_reversed_difference"
"test_QTail_reversed_intersection"
"test_QTail_reversed_union"
"test_QTail_reversed_xor"
"test_Q_difference"
"test_Q_intersection"
"test_Q_union"
"test_Q_xor")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
@ -1243,8 +1260,7 @@ basic geometries.")
python-fontpens-bootstrap
python-pytest
python-setuptools
python-setuptools-scm
unzip))
python-setuptools-scm))
(home-page "https://github.com/typemytype/booleanOperations")
(synopsis "Boolean operations on paths")
(description
@ -3414,3 +3430,38 @@ environment. It supports drawing freehand as well as basic shapes and text.
It features cut-and-paste for irregular regions or polygons.")
(home-page "https://www.gnu.org/software/gpaint/")
(license license:gpl3+)))
(define-public basis-universal
(package
(name "basis-universal")
(version "1.60")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BinomialLLC/basis_universal")
(commit (string-append "v"
(string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(patches (search-patches "basis-universal-unbundle-libs.patch"))
(modules '((guix build utils)))
(snippet #~(for-each delete-file-recursively '("OpenCL" "zstd")))
(sha256
(base32
"1s38fp3j9pp0s260s805lw2h4gqbx7d2cd0d96pjp5bfqndmmk8b"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda _ (invoke (string-append #$output "/bin/basisu")
"-test_dir" "../source/test_files"
"-test"))))))
(inputs (list opencl-headers (list zstd "lib")))
(native-inputs (list pkg-config))
(home-page "https://github.com/BinomialLLC/basis_universal")
(synopsis "LDR/HDR compressed texture transcoder")
(description "Basis Universal is an LDR/HDR GPU compressed texture
interchange system supporting transcoding to a large number of GPU texture
formats.")
(license (list license:asl2.0 license:bsd-3 license:expat))))

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>
;;;
@ -285,7 +285,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(define-public harfbuzz
(package
(name "harfbuzz")
(version "8.3.0")
(version "11.4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/harfbuzz/harfbuzz"
@ -293,7 +293,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
version ".tar.xz"))
(sha256
(base32
"0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h"))))
"1iaqiwh3b6mwv1ar2mm29fpfygsb1x79wv7mm6ppyn7a8rqz2lqh"))))
(build-system meson-build-system)
(outputs '("out"
"bin")) ;160K, only hb-view depend on cairo
@ -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

@ -31,6 +31,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it>
;;; Copyright © 2025 Joaquín Aguirrezabalaga <kinote@kinote.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -722,9 +723,6 @@ imaging. It supports several HDR and LDR image formats, and it can:
(base32
"09y4nhlcqvvhz0wscx4zpqxmyhiwh8wrjnhk52awxhzvgyx6wa7r"))))
(build-system pyproject-build-system)
(native-inputs (list python-wheel))
(inputs
(list p7zip python python-pillow python-pygobject python-pycairo gtk+))
(arguments
(list
#:imported-modules `(,@%pyproject-build-system-modules
@ -746,31 +744,28 @@ imaging. It supports several HDR and LDR image formats, and it can:
(("assert name not in supported_formats_gdk")
"if name in supported_formats_gdk: continue"))))
(add-after 'install 'install-data
(lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion "mcomix"
(for-each
(lambda (subdir)
(copy-recursively
subdir
(string-append
(assoc-ref outputs "out")
"/lib/python"
#$(version-major+minor
(package-version (this-package-input "python")))
"/site-packages/mcomix/" subdir)))
(site-packages inputs outputs)
"/mcomix/" subdir)))
'("images" "messages")))))
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'wrap 'gi-wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(for-each
(lambda (prog)
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
(list (string-append bin "/mcomix")))))))))
(lambda _
(let ((prog (string-append #$output "/bin/mcomix")))
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(native-inputs (list python-setuptools))
(inputs
(list bash-minimal p7zip python python-pillow python-pygobject python-pycairo gtk+))
(home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
(synopsis "Image viewer for comics")
(description "MComix is a customizable image viewer that specializes as

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

@ -21,11 +21,11 @@
(define-module (gnu packages iso-codes)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
@ -152,17 +152,42 @@ region, WIOD classification, ccTLD.")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iso-639" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/noumar/iso639")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0jffmh4m20q8j27xb2fqbnlghjj0cx8pgsbzqisdg65qh2wd976w"))))
(build-system python-build-system)
(base32 "02kx6kr3x43linxqafjlx85zdk04s6ab2fv5ikyglghwr5hsvic4"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests/tests.py"
"-k" (string-join
(list
;; module 'collections' has no attribute 'Iterable'
"not test_iter"
;; 'Moroccan Arabic' != 'Arabic'
"test_logic_part2"
;; 'Languages' object has no attribute 'indices'
"test_compare_alpha2"
"test_compare_bibliographic"
"test_compare_terminology")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'configure-tests
(lambda _
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(getenv "GUIX_PYTHONPATH"))))))))
(native-inputs (list python-pycountry python-pytest python-setuptools))
(home-page "https://github.com/noumar/iso639")
(synopsis "Python library for ISO 639 standard")
(description "This package provides a Python library for ISO 639 standard
that is concerned with representation of names for languages and language
groups.")
(description
"This package provides a Python library for ISO 639 standard that is
concerned with representation of names for languages and language groups.")
(license license:agpl3+)))
(define-public python-iso3166
@ -171,13 +196,64 @@ groups.")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iso3166" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/deactivated/python-iso3166")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"068p94gavc8gbmp5a2kw8hi5l551wfzbpmp6z7ll8sx6vnw53mgw"))))
(build-system python-build-system)
(base32 "0j0bnm4bd23cyb7dga00gb20myg9skylchkw4d23yh31b7a315m8"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/deactivated/python-iso3166")
(synopsis "Self-contained ISO 3166-1 country definitions")
(description "This package provides the ISO 3166-1 country definitions.")
(license license:expat)))
(define-public python-pycountry
(package
(name "python-pycountry")
(version "24.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pycountry/pycountry")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0qs99acz1vsj96s8pcwbnp3z3s01mzzvdayk7fm0nnl6lf3lz1g1"))))
(build-system pyproject-build-system)
(native-inputs (list python-poetry-core python-pytest python-pytest-cov))
(home-page "https://github.com/pycountry/pycountry")
(synopsis "ISO databases for languages, countries, currencies, etc.")
(description
"@code{pycountry} provides the ISO databases for the standards:
@enumerate
@item 639-3 (Languages)
@item 3166 (Countries)
@item 3166-3 (Deleted Countries)
@item 3166-2 (Subdivisions of countries)
@item 4217 (Currencies)
@item 15924 (Scripts)
@end enumerate
It includes a copy from Debians pkg-isocodes and makes the data accessible
through a Python API.")
(license license:lgpl2.1+)))
(define-public python-pycountry-20.7.3
(hidden-package
(package
(inherit python-pycountry)
(name "python-pycountry")
(version "20.7.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pycountry/pycountry")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1aqzbdqvy3pg0x33ay099vriazs28v6kw7fwc8ajg3avdcws2mgm"))))
(native-inputs (list python-pytest python-pytest-cov python-setuptools)))))

View file

@ -77,7 +77,6 @@
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages openbox)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@ -96,6 +95,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages wm)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)

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

@ -24,11 +24,12 @@
#:use-module (ice-9 match)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
@ -165,18 +166,33 @@ interactive and automated theorem proving.")
(package
(name "python-mathlibtools")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "mathlibtools" version))
(sha256
(base32
"089pql105imx8z7ar1wiz9fn000jp6xqdfixw4jf2vric94vn9fj"))))
(build-system python-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/leanprover-community/mathlib-tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kllk99cd9vsbmb0ifi21gkhrg2w803z4y5xhx0a7hx3viyjb3cv"))))
(build-system pyproject-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'check 'fix-home-directory
(lambda _
(setenv "HOME" "/tmp"))))))
(list
#:test-flags
#~(list "-k"
;; These tests require network access.
(string-join (list "not test_new"
"test_add"
"test_upgrade_project"
"test_upgrade_mathlib"
"test_get_tutorials")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-home-directory
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs (list python-pytest python-setuptools))
(inputs (list python-toml
python-pygithub
python-certifi

View file

@ -26,7 +26,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@ -34,6 +34,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-build)
#:use-module (gnu packages xiph))
(define-public libcanberra
@ -133,15 +134,13 @@ sounds for various system events.")
(uri (string-append "http://ftp.n0.is/pub/releases/"
"pycanberra-" version ".tar.xz"))
(sha256
(base32
"16jjf8fcgaprmz6jacsxrh17l1ad891fns38bxv49lg3s3mn1nj2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;No tests included.
(propagated-inputs
(list libcanberra))
(base32 "16jjf8fcgaprmz6jacsxrh17l1ad891fns38bxv49lg3s3mn1nj2"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;No tests included.
(native-inputs (list python-setuptools))
(propagated-inputs (list libcanberra))
(home-page "https://github.com/totdb/pycanberra")
(synopsis "Ctypes wrapper for the libcanberra API")
(description
"Pycanberra is a basic Python wrapper for libcanberra.")
(home-page "http://c.n0.is/ng0/pycanberra/")
(license lgpl2.1+)))

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

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

View file

@ -47,7 +47,6 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages openbox)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)

View file

@ -57,7 +57,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages lxde)
#:use-module (gnu packages maths)
#:use-module (gnu packages openbox)
#:use-module (gnu packages pcre)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@ -65,6 +64,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages textutils)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))

View file

@ -4743,11 +4743,15 @@ the RFC 8617 Authenticated Received Chain (ARC) protocol.")
(base32
"12hl93336w64iyqalpv4rma2ijigav68qy1xmgziibdi7inxr3hi"))))
(build-system pyproject-build-system)
(arguments
(list
;; dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
#:test-flags #~(list "-k" "not test_authenticate_dmarc_psdsub")))
(propagated-inputs
(list python-authres python-dkimpy python-dnspython
python-publicsuffix2))
(native-inputs
(list python-setuptools python-wheel))
(list python-pytest python-setuptools))
(home-page "https://github.com/ValiMail/authentication-headers")
(synopsis "Library wrapping email authentication header verification and generation")
(description
@ -4760,38 +4764,40 @@ DKIM and ARC sign messages and output the corresponding signature headers.")
(license (list license:zpl2.1 license:zlib license:mpl2.0))))
(define-public python-aiosmtpd
(package
(name "python-aiosmtpd")
(version "1.4.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aio-libs/aiosmtpd")
(commit (string-append "v" version))))
(sha256
(base32 "0b5y94zc8pq75sjwsifblzgjnliyclkwypi68b2zffrxcdnz27r2"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
;; This QA test requires git.
(list #:test-flags ''("-k" "not test_ge_master")))
(native-inputs
(list python-pytest
python-pytest-asyncio
python-pytest-cov
python-pytest-mock
python-setuptools
python-wheel))
(propagated-inputs
(list python-atpublic))
(home-page "https://aiosmtpd.readthedocs.io/")
(synopsis "Asyncio based SMTP server")
(description
"This project is a reimplementation of the Python stdlib @code{smtpd.py}
;; Tests run fixed on not yet released version.
(let ((commit "98f578389ae86e5345cc343fa4e5a17b21d9c96d")
(revision "0"))
(package
(name "python-aiosmtpd")
(version (git-version "1.4.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aio-libs/aiosmtpd")
(commit commit)))
(sha256
(base32 "1pmvlzxfcqjplvn2bzi9jd3m3941ff7nlgxxfwc7pzhmazlkqf8z"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
;; This QA test requires git.
(list #:test-flags ''("-k" "not test_ge_master")))
(native-inputs
(list python-pytest
python-pytest-cov
python-pytest-mock
python-setuptools))
(propagated-inputs
(list python-atpublic
python-attrs))
(home-page "https://aiosmtpd.readthedocs.io/")
(synopsis "Asyncio based SMTP server")
(description
"This project is a reimplementation of the Python stdlib @code{smtpd.py}
based on asyncio.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
(license (list license:asl2.0
license:lgpl3))))) ; only for setup_helpers.py
(define-public python-imaplib2
(package

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

@ -11316,8 +11316,12 @@ the Wolfram language.")
(sha256
(base32 "1iagdic8f0yjx01kdds40jfcxcpdbrd3i0ywydl01dhyyvd2yjk9"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-mathics-scanner python-pygments))
(native-inputs (list python-setuptools python-wheel))
(native-inputs
(list python-pytest
python-setuptools))
(propagated-inputs
(list python-mathics-scanner
python-pygments))
(home-page "http://github.com/Mathics3/mathics-pygments/")
(synopsis "Wolfram language lexer for Pygments")
(description "This package provides a Wolfram language lexer for Pygments.")

View file

@ -65,28 +65,32 @@
(package
(name "mygnuhealth")
(version "2.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "MyGNUHealth" version))
(sha256
(base32
"1jcrriccqzb4jx7zayhiqmpvi3cvfy3bbf9zr3m83878f94yww8j"))))
(build-system python-build-system)
(source
(origin
(method url-fetch)
(uri (pypi-uri "MyGNUHealth" version))
(sha256
(base32 "1jcrriccqzb4jx7zayhiqmpvi3cvfy3bbf9zr3m83878f94yww8j"))))
(build-system pyproject-build-system)
(arguments
(list
#:imported-modules `(,@%python-build-system-modules
,@%qt-build-system-modules)
#:modules `(((guix build qt-build-system) #:prefix qt:)
(guix build python-build-system)
(guix build utils))
#:phases #~(modify-phases %standard-phases
(add-after 'install 'qt-wrap
(assoc-ref qt:%standard-phases 'qt-wrap))
(add-before 'check 'env-setup
(lambda _
(mkdir-p "/tmp/mygh/")
(setenv "HOME" "/tmp"))))))
(native-inputs (list python-pyside-2))
#:tests? #f ; no tests.
#:imported-modules
`(,@%pyproject-build-system-modules
,@%qt-build-system-modules)
#:modules
`(((guix build qt-build-system) #:prefix qt:)
(guix build pyproject-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'qt-wrap
(assoc-ref qt:%standard-phases 'qt-wrap))
(add-before 'check 'env-setup
(lambda _
(mkdir-p "/tmp/mygh/")
(setenv "HOME" "/tmp"))))))
(native-inputs (list python-pyside-2 python-setuptools))
(inputs (list bash-minimal
kirigami-5
python

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.")
@ -3611,21 +3611,24 @@ for notification of events.")
(license license:gpl3+)))
(define-public python-harmony
;; TODO: Remove python-harmony? Repository is archived.
(package
(name "python-harmony")
(version "0.7.1")
(version "0.7.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/taylordotfish/harmony.git")
(url "https://github.com/taylordotfish/harmony")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"1bm9xcnzpnpj6rlhbrnl2abwclzl7ivgh1vb5644y9mnhcs489js"))))
(build-system python-build-system)
"1d202pymabzvkzmxpplyjv55x74g937abxmnxdg9bxjjvp85c1nv"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in repository
(native-inputs
(list python-tox))
(list python-setuptools))
(inputs
(list python-librecaptcha python-keyring python-requests))
(synopsis "Discord account management")

View file

@ -36,7 +36,7 @@
#:use-module (guix deprecation)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -62,6 +62,8 @@
#:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ssh)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
@ -528,36 +530,48 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
(define-public python-mpi4py
(package
(name "python-mpi4py")
(version "3.1.4")
(version "4.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mpi4py" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/mpi4py/mpi4py")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "101lz7bnm9l17nrkbg6497kxscyh53aah7qd2b820ck2php8z18p"))))
(build-system python-build-system)
(base32 "1r4n2d3nacpa6sq18jp0xk4a81ha0iipgvlsdv0bhfmdvgpv2vqy"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'mpi-setup
,%openmpi-setup)
(add-before 'check 'pre-check
(lambda _
;; Skip BaseTestSpawn class (causes error 'ompi_dpm_dyn_init()
;; failed --> Returned "Unreachable"' in chroot environment).
(substitute* "test/test_spawn.py"
(("unittest.skipMPI\\('openmpi\\(<3.0.0\\)'\\)")
"unittest.skipMPI('openmpi')"))
#t)))))
(inputs
(list openmpi))
(properties
'((updater-extra-inputs . ("openmpi"))))
(list
#:test-flags
#~(list ;; MPI errors are unrecoverable.
"--ignore=test/test_spawn.py"
"--ignore=test/test_util_pool.py"
"--ignore=demo/futures/test_futures.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'mpi-setup #$%openmpi-setup)
(add-before 'check 'pre-check
(lambda _
;; Skip BaseTestSpawn class (causes error 'ompi_dpm_dyn_init()
;; failed --> Returned "Unreachable"' in chroot environment).
(substitute* "test/test_spawn.py"
(("unittest.skipMPI\\('openmpi\\(<3.0.0\\)'\\)")
"unittest.skipMPI('openmpi')"))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(if tests?
(apply invoke "mpiexec" "pytest" "-vv" test-flags)
(format #t "test suite not run~%")))))))
(native-inputs (list python-cython python-pytest python-setuptools))
(inputs (list openmpi))
(properties '((updater-extra-inputs "openmpi")))
(home-page "https://github.com/mpi4py/mpi4py")
(synopsis "Python bindings for the Message Passing Interface standard")
(description "MPI for Python (mpi4py) provides bindings of the Message
Passing Interface (MPI) standard for the Python programming language, allowing
any Python program to exploit multiple processors.
(description
"MPI for Python (mpi4py) provides bindings of the Message Passing
Interface (MPI) standard for the Python programming language, allowing any
Python program to exploit multiple processors.
mpi4py is constructed on top of the MPI-1/MPI-2 specification and provides an
object oriented interface which closely follows MPI-2 C++ bindings. It

View file

@ -154,6 +154,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-viewers)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages java)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libevent)
@ -6090,40 +6091,44 @@ Recording Code} (ISRC) can be extracted.}")
(license license:lgpl3+)))
(define-public libmusicbrainz
(package
(name "libmusicbrainz")
(version "5.1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/metabrainz/libmusicbrainz/releases/download/release-"
version "/libmusicbrainz-" version ".tar.gz"))
(sha256
(base32
"0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build
(lambda _
(substitute* "src/CMakeLists.txt"
(("\\*.inc") ""))))
(replace 'check
(lambda _
;; requires network connections
;; (invoke "tests/mbtest")
(invoke "tests/ctest")
#t)))))
(inputs (list neon libxml2))
(native-inputs (list pkg-config))
(home-page "https://musicbrainz.org/doc/libmusicbrainz")
(synopsis "MusicBrainz client library")
(description "The MusicBrainz Client Library (libmusicbrainz), also known as
;; The latest release is more than a decade old, doesn't build with the
;; latest libxml2 release.
(let ((commit "4efbed3afae11ef68281816088d7cf3d0f704dfe")
(revision "0"))
(package
(name "libmusicbrainz")
(version (git-version "5.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/metabrainz/libmusicbrainz")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1h1q0gg3xzhw115ifr5ja9gbd2k6ggkpm2f4sdqp313wp3lj86g9"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build
(lambda _
(substitute* "src/CMakeLists.txt"
(("\\*.inc") ""))))
(replace 'check
(lambda _
;; requires network connections
;; (invoke "tests/mbtest")
(invoke "tests/ctest"))))))
(inputs (list neon libxml2))
(native-inputs (list pkg-config))
(home-page "https://musicbrainz.org/doc/libmusicbrainz")
(synopsis "MusicBrainz client library")
(description "The MusicBrainz Client Library (libmusicbrainz), also known as
mb_client, is a development library geared towards developers who wish to add
MusicBrainz lookup capabilities to their applications.")
(license license:lgpl2.1+)))
(license license:lgpl2.1+))))
(define-public perl-musicbrainz-discid
(package

View file

@ -23,7 +23,7 @@
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages bash)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@ -31,6 +31,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages mp3)
#:use-module (gnu packages python-build)
#:use-module (gnu packages xorg))
(define-public nicotine+
@ -45,43 +46,42 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xj7hlhgirgjyfmdchksvwhjhaqaf5n84brzih6fqlbsrr9gxkw9"))
(modules '((guix build utils)))
;; Remove test that relies on network access.
(snippet '(delete-file-recursively
"pynicotine/tests/unit/test_version.py"))))
(build-system python-build-system)
(base32 "0xj7hlhgirgjyfmdchksvwhjhaqaf5n84brzih6fqlbsrr9gxkw9"))))
(build-system pyproject-build-system)
(arguments
(list
#:imported-modules `((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules `((guix build utils)
(guix build python-build-system)
((guix build glib-or-gtk-build-system)
#:prefix glib-or-gtk:))
#:phases #~(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/nicotine")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH"))))))
(add-after 'wrap-program 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases
'glib-or-gtk-wrap))
(add-after 'glib-or-gtk-wrap 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases
'glib-or-gtk-compile-schemas))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "xvfb-run" "python" "-m" "unittest")))))))
#:imported-modules
`((guix build glib-or-gtk-build-system)
,@%pyproject-build-system-modules)
#:modules
`((guix build utils)
(guix build pyproject-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/nicotine")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH"))))))
(add-after 'wrap-program 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'glib-or-gtk-wrap 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases
'glib-or-gtk-compile-schemas))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Remove test that relies on network access.
(delete-file "pynicotine/tests/unit/test_version.py")
(invoke "xvfb-run" "python" "-m" "unittest")))))))
(inputs (list bash-minimal
gspell
gtk
python-pygobject
libappindicator
python-pytaglib))
(native-inputs (list gettext-minimal xvfb-run))
(native-inputs (list gettext-minimal python-setuptools xvfb-run))
(home-page "https://nicotine-plus.org/")
(synopsis "Graphical client for Soulseek")
(description

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

@ -1,120 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; 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 openbox)
#:use-module ((guix licenses) #:select (gpl2+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public openbox
(package
(name "openbox")
(version "3.6.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://openbox.org/dist/openbox/" name "-"
version ".tar.xz"))
(sha256
(base32
"0vg2y1qddsdxkjv806mzpvmkgzliab8ll4s7zm7ma5jnriamirxb"))
(patches (search-patches "openbox-add-fix-for-glib2-exposed-segfault.patch" "openbox-python3.patch"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'force-reconfigure
;; This is made necessary by the openbox-python3 patch.
(lambda _
(delete-file "configure"))))))
(native-inputs (list autoconf automake gettext-minimal libtool pkg-config))
(propagated-inputs (list python-pyxdg))
(inputs (list imlib2
libxml2
(librsvg-for-system)
libsm
libxcursor
libxinerama
libxml2
libxrandr
libxft
pango
python-wrapper))
(synopsis "Box style window manager")
(description
"Openbox is a highly configurable, next generation window manager with
extensive standards support. The *box visual style is well known for its
minimalistic appearance. Openbox uses the *box visual style, while providing
a greater number of options for theme developers than previous *box
implementations.")
(home-page "http://openbox.org/wiki/Main_Page")
(license gpl2+)))
(define-public obconf
(package
(name "obconf")
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://openbox.org/dist/" name
"/" name "-" version ".tar.gz"))
(sha256
(base32
"1fanjdmd8727kk74x5404vi8v7s4kpq48l583d12fsi4xvsfb8vi"))))
(inputs (list gtk+-2
imlib2
libglade
libsm
librsvg
libxft
openbox
startup-notification))
(native-inputs (list gettext-minimal pkg-config))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--enable-nls"
"CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(home-page "https://openbox.org/obconf")
(synopsis "Openbox configuration tool")
(description
"Obconf is a tool for configuring the Openbox window manager.
You can configure its appearance, themes, and much more.")
(license gpl2+)))
;;; openbox.scm ends here

View file

@ -0,0 +1,302 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2c7a1d..b6c860f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,141 +1,13 @@
# Important: The Basis Universal encoder and transcoder libraries must be compiled with -fno-strict-aliasing (MSVC's default, and also the Linux kernel).
# It should also work without this option, but we do not test with it.
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.31)
project(basisu)
-option(STATIC "static linking" FALSE)
-option(SAN "sanitize" FALSE)
+find_package(PkgConfig)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
+add_compile_options("-fno-strict-aliasing")
+add_compile_definitions(BASISU_SUPPORT_SSE=0 BASISD_SUPPORT_KTX2_ZSTD=1 BASISU_SUPPORT_OPENCL=0)
-# For MSVC builds default to SSE enabled, and determine if it's a 64-bit (-A x64) vs. 32-bit (-A Win32) build.
-if (MSVC)
- option(SSE "SSE 4.1 support" TRUE)
- if ( CMAKE_GENERATOR_PLATFORM STREQUAL Win32 )
- set(BUILD_X64 0)
- else()
- set(BUILD_X64 1)
- endif()
- add_compile_options(/W4)
-else()
- option(SSE "SSE 4.1 support" FALSE)
- option(BUILD_X64 "build 64-bit" TRUE)
-endif()
-
-option(ZSTD "ZSTD support for KTX2 transcoding/encoding" TRUE)
-option(OPENCL "OpenCL support in encoder" FALSE)
-
-message("Initial BUILD_X64=${BUILD_X64}")
-message("Initial CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
-message("Initial SSE=${SSE}")
-message("Initial ZSTD=${ZSTD}")
-message("Initial OPENCL=${OPENCL}")
-message("Initial SAN=${SAN}")
-
-if ((NOT MSVC) AND OPENCL)
- # With MSVC builds we use the Khronos lib/include files in the project's "OpenCL" directory, to completely avoid requiring fiddly to install vendor SDK's.
- # Otherwise we use the system's (if any).
- find_package(OpenCL)
- message(STATUS "OpenCL found: ${OPENCL_FOUND}")
- message(STATUS "OpenCL includes: ${OpenCL_INCLUDE_DIRS}")
- message(STATUS "OpenCL libraries: ${OpenCL_LIBRARIES}")
-endif()
-
-if( NOT CMAKE_BUILD_TYPE )
- set( CMAKE_BUILD_TYPE Release )
-endif()
-
-message(${PROJECT_NAME} " build type: " ${CMAKE_BUILD_TYPE})
-
-if (BUILD_X64)
- message("Building 64-bit")
-else()
- message("Building 32-bit")
-endif()
-
-if (SSE)
- message("SSE enabled")
-else()
- message("SSE disabled")
-endif()
-
-if (ZSTD)
- message("Zstandard enabled")
-else()
- message("Zstandard disabled")
-endif()
-
-if (NOT MSVC)
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
-
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
-
- if (SAN)
- message("Enabling SAN")
-
- set(SANITIZE_FLAGS "-fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize=alignment")
-
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${SANITIZE_FLAGS}")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${SANITIZE_FLAGS}")
-
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${SANITIZE_FLAGS}")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${SANITIZE_FLAGS}")
- endif()
-
- set(CMAKE_CXX_FLAGS -std=c++17)
- set(GCC_COMPILE_FLAGS "-fvisibility=hidden -fPIC -fno-strict-aliasing -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Wall -Wextra -Wno-unused-local-typedefs -Wno-unused-value -Wno-unused-parameter -Wno-unused-variable -Wno-reorder -Wno-misleading-indentation -Wno-class-memaccess -Wno-deprecated-copy -Wno-maybe-uninitialized -Wno-unused-function -Wno-stringop-overflow -Wno-unknown-warning-option")
-
- if (NOT BUILD_X64)
- set(GCC_COMPILE_FLAGS "${GCC_COMPILE_FLAGS} -m32")
- endif()
-
- if (EMSCRIPTEN)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -DBASISU_SUPPORT_SSE=0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s ALLOW_MEMORY_GROWTH=1 -DBASISU_SUPPORT_SSE=0")
-
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS}")
- elseif (STATIC)
- if (SSE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=1 -msse4.1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=1 -msse4.1")
- else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=0")
- endif()
-
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS} -static-libgcc -static-libstdc++ -static")
- else()
- if (SSE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=1 -msse4.1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=1 -msse4.1")
- else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=0")
- endif()
-
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LINK_FLAGS} -Wl,-rpath .")
- endif()
-
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCC_COMPILE_FLAGS}")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${GCC_COMPILE_FLAGS}")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${GCC_COMPILE_FLAGS} -D_DEBUG")
-
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COMPILE_FLAGS}")
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${GCC_COMPILE_FLAGS}")
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${GCC_COMPILE_FLAGS} -D_DEBUG")
-else()
- if (SSE)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=1")
- else()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_SSE=0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_SSE=0")
- endif()
-endif()
-
-# Define the source files for the static library
set(ENCODER_LIB_SRC_LIST
encoder/basisu_backend.cpp
encoder/basisu_basis_file.cpp
@@ -161,94 +33,26 @@ set(ENCODER_LIB_SRC_LIST
encoder/3rdparty/tinyexr.cpp
transcoder/basisu_transcoder.cpp
)
+set(ENCODER_LIB_HEADER_LIST
+ transcoder/basisu.h
+ transcoder/basisu_containers.h
+ transcoder/basisu_file_headers.h
+ transcoder/basisu_transcoder.h
+ transcoder/basisu_transcoder_internal.h
+ transcoder/basisu_transcoder_uastc.h
+)
-if (ZSTD)
- set(ENCODER_LIB_SRC_LIST ${ENCODER_LIB_SRC_LIST} zstd/zstd.c)
-endif()
-
-# Create the static library
-add_library(basisu_encoder STATIC ${ENCODER_LIB_SRC_LIST})
-
-# Create the basisu executable and link against the static library
+add_library(basisu_encoder SHARED ${ENCODER_LIB_SRC_LIST})
add_executable(basisu basisu_tool.cpp)
target_link_libraries(basisu PRIVATE basisu_encoder)
-# Create the new example executable and link against the static library
-add_executable(examples example/example.cpp)
-target_link_libraries(examples PRIVATE basisu_encoder)
-
-if (ZSTD)
- target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1)
- target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=1)
-else()
- target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0)
- target_compile_definitions(examples PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0)
-endif()
-
-if (NOT MSVC)
- # For Non-Windows builds, let cmake try and find the system OpenCL headers/libs for us.
- if (OPENCL AND OPENCL_FOUND)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_OPENCL=1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_OPENCL=1")
-
- target_include_directories(basisu PRIVATE ${OpenCL_INCLUDE_DIRS})
- target_include_directories(examples PRIVATE ${OpenCL_INCLUDE_DIRS})
- target_include_directories(basisu_encoder PRIVATE ${OpenCL_INCLUDE_DIRS})
- set(BASISU_EXTRA_LIBS ${OpenCL_LIBRARIES})
- endif()
-else()
- # For Windows builds, we use our local copies of the OpenCL import lib and Khronos headers.
- if (OPENCL)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBASISU_SUPPORT_OPENCL=1")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBASISU_SUPPORT_OPENCL=1")
-
- target_include_directories(basisu PRIVATE "OpenCL")
- target_include_directories(examples PRIVATE "OpenCL")
- target_include_directories(basisu_encoder PRIVATE "OpenCL")
-
- if (BUILD_X64)
- target_link_libraries(basisu PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL64.lib")
- target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL64.lib")
- else()
- target_link_libraries(basisu PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL.lib")
- target_link_libraries(examples PRIVATE "${CMAKE_SOURCE_DIR}/OpenCL/lib/OpenCL.lib")
- endif()
- endif()
-endif()
-
-if (NOT MSVC)
- target_link_libraries(basisu PRIVATE m pthread ${BASISU_EXTRA_LIBS})
- target_link_libraries(examples PRIVATE m pthread ${BASISU_EXTRA_LIBS})
-endif()
+pkg_check_modules(ZSTD REQUIRED libzstd)
+target_include_directories(basisu_encoder SYSTEM PUBLIC ${ZSTD_INCLUDE_DIRS})
+target_link_libraries(basisu_encoder PUBLIC ${ZSTD_LINK_LIBRARIES})
-if (NOT EMSCRIPTEN)
- if (UNIX)
- if (CMAKE_BUILD_TYPE STREQUAL Release)
- if (APPLE)
- add_custom_command(TARGET basisu POST_BUILD COMMAND strip -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu)
- #message("strip command: strip -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu")
- else()
- add_custom_command(TARGET basisu POST_BUILD COMMAND strip -g -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu)
- #message("strip command: strip -g -X -x ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/basisu")
- endif()
- endif()
- endif()
-endif()
+include(GNUInstallDirs)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/basisu_encoder.pc.in ${CMAKE_CURRENT_BINARY_DIR}/basisu_encoder.pc @ONLY)
-if (MSVC)
- set_target_properties(basisu PROPERTIES
- RUNTIME_OUTPUT_NAME "basisu"
- RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- )
-
- set_target_properties(examples PROPERTIES
- RUNTIME_OUTPUT_NAME "examples"
- RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
- )
-endif()
+install(TARGETS basisu basisu_encoder)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/basisu_encoder.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+install(FILES ${ENCODER_LIB_HEADER_LIST} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/basisu_encoder.pc.in b/basisu_encoder.pc.in
new file mode 100644
index 0000000..0ba05a1
--- /dev/null
+++ b/basisu_encoder.pc.in
@@ -0,0 +1,8 @@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+
+Name: basisu_encoder
+Description: GPU compressed texture interchange system
+Version: @PROJECT_VERSION@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lbasisu_encoder
diff --git a/encoder/basisu_comp.cpp b/encoder/basisu_comp.cpp
index 59a2a50..e9aa20f 100644
--- a/encoder/basisu_comp.cpp
+++ b/encoder/basisu_comp.cpp
@@ -33,7 +33,7 @@
#endif
#if BASISD_SUPPORT_KTX2_ZSTD
-#include "../zstd/zstd.h"
+#include <zstd.h>
#endif
// Set to 1 to disable the mipPadding alignment workaround (which only seems to be needed when no key-values are written at all)
diff --git a/transcoder/basisu_transcoder.cpp b/transcoder/basisu_transcoder.cpp
index 0f7ca15..d7bce42 100644
--- a/transcoder/basisu_transcoder.cpp
+++ b/transcoder/basisu_transcoder.cpp
@@ -169,7 +169,7 @@
// If BASISD_SUPPORT_KTX2_ZSTD is 0, UASTC files compressed with Zstd cannot be loaded.
#if BASISD_SUPPORT_KTX2_ZSTD
// We only use two Zstd API's: ZSTD_decompress() and ZSTD_isError()
- #include "../zstd/zstd.h"
+ #include <zstd.h>
#endif
#endif

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

View file

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

@ -0,0 +1,324 @@
diff -ru a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
--- a/3rdparty/CMakeLists.txt 2025-09-16 11:41:32.000000000 -0500
+++ b/3rdparty/CMakeLists.txt 2025-09-18 14:00:25.296819724 -0500
@@ -1,67 +1,47 @@
cmake_minimum_required (VERSION 3.16...3.31)
-
+find_package(PkgConfig QUIET)
include(CheckCompilerFlagsOutput)
-SET(UTF8PROC_INSTALL OFF CACHE BOOL "Enable installation of utf8proc" FORCE)
-add_subdirectory(utf8proc EXCLUDE_FROM_ALL)
-set_property(TARGET utf8proc PROPERTY FOLDER "3rdparty")
-if(NOT MSVC)
- set(_supported_utf8proc_cxx_compiler_flags "")
-
- # -Wassign-enum
- check_compiler_flags_output("-Werror -Wno-assign-enum -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-assign-enum" OUTPUT_VARIABLE _supported_utf8proc_cxx_compiler_flags APPEND)
-
- if (NOT _supported_utf8proc_cxx_compiler_flags STREQUAL "")
- string(REPLACE " " ";" _supported_utf8proc_cxx_compiler_flags "${_supported_utf8proc_cxx_compiler_flags}")
- target_compile_options(utf8proc PRIVATE ${_supported_utf8proc_cxx_compiler_flags})
- endif()
-endif()
+pkg_check_modules(UTF8PROC REQUIRED libutf8proc)
+add_library(utf8proc UNKNOWN IMPORTED)
+set_target_properties(utf8proc PROPERTIES
+ IMPORTED_LOCATION ${UTF8PROC_LIBRARIES}
+ INTERFACE_INCLUDE_DIRECTORIES ${UTF8PROC_INCLUDE_DIRS}
+ INTERFACE_LINK_LIBRARIES ${UTF8PROC_LINK_LIBRARIES}
+)
add_subdirectory(launchinfo EXCLUDE_FROM_ALL)
set_property(TARGET launchinfo PROPERTY FOLDER "3rdparty")
-SET(FMT_INSTALL OFF CACHE BOOL "Generate the install target" FORCE)
-SET(FMT_SYSTEM_HEADERS ON CACHE BOOL "Expose headers with marking them as system." FORCE)
-add_subdirectory(fmt EXCLUDE_FROM_ALL)
-set_property(TARGET fmt PROPERTY FOLDER "3rdparty")
-# Define a custom inline namespace for the fmt used by WZ, to prevent ODR violations if static linking to any libraries that themselves embed (a different version of) fmt
-target_compile_definitions(fmt PUBLIC "FMT_BEGIN_NAMESPACE=namespace fmt { inline namespace v11_wz2100 {")
-target_compile_definitions(fmt PUBLIC "FMT_END_NAMESPACE=}}")
-
+pkg_check_modules(FMT REQUIRED fmt)
+add_library(fmt UNKNOWN IMPORTED)
+set_target_properties(fmt PROPERTIES
+ IMPORTED_LOCATION ${FMT_LIBRARIES}
+ INTERFACE_INCLUDE_DIRECTORIES ${FMT_INCLUDE_DIRS}
+ INTERFACE_LINK_LIBRARIES ${FMT_LINK_LIBRARIES}
+)
# inih library
-add_library(inih STATIC "inih/ini.h" "inih/ini.c")
-set_property(TARGET inih PROPERTY FOLDER "3rdparty")
-target_include_directories(inih PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-target_compile_definitions(inih PRIVATE
- "-DINI_API="
- "-DINI_ALLOW_MULTILINE=0"
- "-DINI_ALLOW_BOM=1"
- "-DINI_ALLOW_INLINE_COMMENTS=0"
- "-DINI_MAX_LINE=1024"
- "-DINI_ALLOW_REALLOC=1"
- "-DINI_INITIAL_ALLOC=1024"
+pkg_check_modules(INIH REQUIRED inih)
+add_library(inih UNKNOWN IMPORTED)
+set_target_properties(inih PROPERTIES
+ IMPORTED_LOCATION ${INIH_LIBRARIES}
+ INTERFACE_INCLUDE_DIRECTORIES ${INIH_INCLUDE_DIRS}
+ INTERFACE_LINK_LIBRARIES ${INIH_LINK_LIBRARIES}
)
# re2
-SET(RE2_BUILD_TESTING OFF CACHE BOOL "enable testing for RE2" FORCE)
-add_subdirectory(re2 EXCLUDE_FROM_ALL)
-target_include_directories(re2 PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/re2>
+pkg_check_modules(RE2 REQUIRED re2)
+add_library(re2 UNKNOWN IMPORTED)
+set_target_properties(re2 PROPERTIES
+ IMPORTED_LOCATION ${RE2_LIBRARIES}
+ INTERFACE_INCLUDE_DIRECTORIES ${RE2_INCLUDE_DIRS}
+ INTERFACE_LINK_LIBRARIES ${RE2_LINK_LIBRARIES}
)
-set_property(TARGET re2 PROPERTY FOLDER "3rdparty")
-set_property(TARGET re2 PROPERTY XCODE_ATTRIBUTE_GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS NO) # -Wmissing-field-initializers
-set_property(TARGET re2 PROPERTY XCODE_ATTRIBUTE_GCC_WARN_SHADOW NO) # -Wshadow
-set_property(TARGET re2 PROPERTY XCODE_ATTRIBUTE_WARNING_CFLAGS "-Wno-missing-field-initializers -Wno-shadow")
add_subdirectory(EmbeddedJSONSignature EXCLUDE_FROM_ALL)
set_property(TARGET EmbeddedJSONSignature PROPERTY FOLDER "3rdparty")
-if(ENABLE_DISCORD)
- add_subdirectory(discord-rpc EXCLUDE_FROM_ALL)
- set_property(TARGET discord-rpc PROPERTY FOLDER "3rdparty")
-endif()
-
find_package(SQLite3 3.14 REQUIRED)
set(SQLITECPP_USE_STATIC_RUNTIME OFF CACHE BOOL "Use static runtime" FORCE)
set(SQLITE_HAS_CODEC OFF CACHE BOOL "Enable database encryption API. Not available in the public release of SQLite." FORCE)
@@ -111,52 +91,7 @@
if (WZ_ENABLE_BASIS_UNIVERSAL AND NOT WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES)
# basis-universal
- set(_ORIGINAL_CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH}")
- if(DEFINED VCPKG_INSTALLED_DIR AND DEFINED VCPKG_HOST_TRIPLET)
- # Partial workaround for: https://github.com/microsoft/vcpkg/issues/17001
- # Explicitly add the HOST_TRIPLET paths to CMAKE_PROGRAM_PATH
- list(APPEND CMAKE_PROGRAM_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}")
- endif()
- find_program(BASIS_UNIVERSAL_CLI NAMES basisu PATH_SUFFIXES "tools/basisu" NO_CACHE)
- set(CMAKE_PROGRAM_PATH "${_ORIGINAL_CMAKE_PROGRAM_PATH}")
- if(NOT BASIS_UNIVERSAL_CLI)
- message(STATUS "Pre-installed basisu tool not found - attempting to build for host system")
-
- # Build the tool for the host system at configure time
- set(BASISU_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/basis_universal_host_tool/")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E make_directory "${BASISU_BINARY_DIR}"
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal_host_build"
- RESULT_VARIABLE _basis_result
- )
- if(NOT _basis_result EQUAL 0)
- message(FATAL_ERROR "Failed to create directory for basis_universal_host_build")
- endif()
- execute_process(
- COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal_host_build"
- WORKING_DIRECTORY "${BASISU_BINARY_DIR}"
- RESULT_VARIABLE _basis_result
- )
- if(NOT _basis_result EQUAL 0)
- message(FATAL_ERROR "Failed to configure basis_universal_host_build")
- endif()
- execute_process(
- COMMAND ${CMAKE_COMMAND} --build "${BASISU_BINARY_DIR}" --config Release
- WORKING_DIRECTORY "${BASISU_BINARY_DIR}"
- RESULT_VARIABLE _basis_result
- )
- if(NOT _basis_result EQUAL 0)
- message(FATAL_ERROR "Basis-Universal host tool build failed")
- endif()
- message(STATUS "Basis-Universal Host Tool Built")
-
- find_program(BASIS_UNIVERSAL_CLI NAMES basisu PATHS "${BASISU_BINARY_DIR}/basis_install/bin" NO_CACHE NO_DEFAULT_PATH)
- if(NOT BASIS_UNIVERSAL_CLI)
- message(FATAL_ERROR "Built basisu CLI tool not found!")
- endif()
- else()
- message(STATUS "Pre-installed basisu tool found: ${BASIS_UNIVERSAL_CLI}")
- endif()
+ find_program(BASIS_UNIVERSAL_CLI NAMES basisu REQUIRED)
# Test basisu -version
execute_process(
@@ -174,86 +109,6 @@
endif()
-if (WZ_ENABLE_BASIS_UNIVERSAL)
-
- # basis-universal transcoder
-
- add_library(basis_transcoder STATIC "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal/transcoder/basisu_transcoder.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal/transcoder/basisu_transcoder.h" "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal/zstd/zstddeclib.c")
- set_property(TARGET basis_transcoder PROPERTY FOLDER "3rdparty")
- target_include_directories(basis_transcoder SYSTEM PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal/transcoder")
-
- if(NOT MSVC)
- set(_supported_basistranscoder_cxx_compiler_flags "")
-
- # -fno-strict-aliasing (GCC, Clang)
- check_compiler_flags_output("-Werror -fno-strict-aliasing -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-fno-strict-aliasing" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wcast-align (GCC 3.4+, Clang 3.2+)
- check_compiler_flags_output("-Werror -Wno-cast-align -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-cast-align" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wdeprecated-declarations
- check_compiler_flags_output("-Werror -Wno-deprecated-declarations -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-deprecated-declarations" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wunused-but-set-variable
- check_compiler_flags_output("-Werror -Wno-unused-but-set-variable -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-unused-but-set-variable" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wunused-function
- check_compiler_flags_output("-Werror -Wno-unused-function -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-unused-function" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wunused-const-variable
- check_compiler_flags_output("-Werror -Wno-unused-const-variable -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-unused-const-variable" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wunknown-warning-option
- check_compiler_flags_output("-Werror -Wno-unknown-warning-option -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-unknown-warning-option" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- # -Wnontrivial-memcall
- check_compiler_flags_output("-Werror -Wno-nontrivial-memcall -Wno-error=cpp" COMPILER_TYPE CXX OUTPUT_FLAGS "-Wno-nontrivial-memcall" OUTPUT_VARIABLE _supported_basistranscoder_cxx_compiler_flags APPEND)
-
- if (NOT _supported_basistranscoder_cxx_compiler_flags STREQUAL "")
- string(REPLACE " " ";" _supported_basistranscoder_cxx_compiler_flags "${_supported_basistranscoder_cxx_compiler_flags}")
- target_compile_options(basis_transcoder PRIVATE ${_supported_basistranscoder_cxx_compiler_flags})
- endif()
- endif()
-
- # Must also set BASISD_IS_BIG_ENDIAN if the target platform is big-endian!
- if (NOT DEFINED CMAKE_CXX_BYTE_ORDER AND CMAKE_VERSION VERSION_LESS 3.20)
- # CMake < 3.20 does not have CMAKE_<LANG>_BYTE_ORDER
- # Instead, use the older TestBigEndian module (although this may not work for cross-compilation)
- if (NOT CMAKE_CROSSCOMPILING)
- include(TestBigEndian)
- test_big_endian(IS_BIGENDIAN)
- if (IS_BIGENDIAN)
- set(CMAKE_CXX_BYTE_ORDER "BIG_ENDIAN")
- endif()
- else()
- message(WARNING "Unable to determine endianness for target architecture. Either upgrade to CMake 3.20+, or - if big endian - manually set the CMAKE_CXX_BYTE_ORDER cache variable to \"BIG_ENDIAN\". Otherwise, assuming little endian.")
- endif()
- endif()
- if (DEFINED CMAKE_CXX_BYTE_ORDER AND CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN")
- message(STATUS "Defining BASISD_IS_BIG_ENDIAN=1")
- target_compile_definitions(basis_transcoder PRIVATE "-DBASISD_IS_BIG_ENDIAN=1")
- endif()
-
- # Must set BASISU_HAVE_STD_TRIVIALLY_COPYABLE if the target supports std::is_trivially_copyable
- include(CheckCXXSourceCompiles)
- check_cxx_source_compiles("
- #include <type_traits>
- const bool val = std::is_trivially_copyable<bool>::value;
- int main()
- {
- return 0;
- }"
- HAVE_STD_IS_TRIVIALLY_COPYABLE
- )
- if (HAVE_STD_IS_TRIVIALLY_COPYABLE)
- target_compile_definitions(basis_transcoder PUBLIC "-DBASISU_HAVE_STD_TRIVIALLY_COPYABLE")
- endif()
-
- # Disable certain transcoder formats
- target_compile_definitions(basis_transcoder PRIVATE "-DBASISD_SUPPORT_ATC=0" "-DBASISD_SUPPORT_PVRTC1=0" "-DBASISD_SUPPORT_PVRTC2=0")
-
-endif(WZ_ENABLE_BASIS_UNIVERSAL)
-
if (WZ_PROFILING_NVTX)
include(FetchContent)
FetchContent_Declare(
diff -ru a/lib/framework/wzstring.cpp b/lib/framework/wzstring.cpp
--- a/lib/framework/wzstring.cpp 2025-09-16 11:41:32.000000000 -0500
+++ b/lib/framework/wzstring.cpp 2025-09-18 13:37:23.686668245 -0500
@@ -24,8 +24,8 @@
#include <sstream>
#include <iomanip>
#include <limits>
-#include <utfcpp/source/utf8.h>
-#include <utf8proc/utf8proc.h>
+#include <utf8cpp/utf8.h>
+#include <utf8proc.h>
WzUniCodepoint WzUniCodepoint::fromASCII(unsigned char charLiteral)
{
diff -ru a/lib/ivis_opengl/CMakeLists.txt b/lib/ivis_opengl/CMakeLists.txt
--- a/lib/ivis_opengl/CMakeLists.txt 2025-09-16 11:41:32.000000000 -0500
+++ b/lib/ivis_opengl/CMakeLists.txt 2025-09-18 14:00:13.716771596 -0500
@@ -88,7 +88,7 @@
include(WZTargetConfiguration)
WZ_TARGET_CONFIGURATION(ivis-opengl)
-target_link_libraries(ivis-opengl PRIVATE framework launchinfo fmt::fmt)
+target_link_libraries(ivis-opengl PRIVATE framework launchinfo fmt)
if(CMAKE_SYSTEM_NAME MATCHES "Emscripten")
# We should be using the Emscripten port linker flags for FreeType & Harfbuzz
else()
@@ -116,8 +116,11 @@
target_link_libraries(ivis-opengl PRIVATE etcpak)
target_compile_definitions(ivis-opengl PRIVATE "-DETCPAK_ENABLED")
endif()
-if(WZ_ENABLE_BASIS_UNIVERSAL AND TARGET basis_transcoder)
- target_link_libraries(ivis-opengl PRIVATE basis_transcoder)
+if(WZ_ENABLE_BASIS_UNIVERSAL)
+ find_package(PkgConfig QUIET)
+ pkg_check_modules(BASIS REQUIRED basisu_encoder)
+ target_include_directories(ivis-opengl PUBLIC ${BASIS_INCLUDE_DIRS})
+ target_link_libraries(ivis-opengl PRIVATE ${BASIS_LINK_LIBRARIES})
target_compile_definitions(ivis-opengl PRIVATE "-DBASIS_ENABLED")
else()
message(WARNING "Basis-universal support is disabled")
diff -ru a/lib/netplay/CMakeLists.txt b/lib/netplay/CMakeLists.txt
--- a/lib/netplay/CMakeLists.txt 2025-09-16 11:41:32.000000000 -0500
+++ b/lib/netplay/CMakeLists.txt 2025-09-18 13:37:23.686969530 -0500
@@ -108,7 +108,7 @@
include(WZTargetConfiguration)
WZ_TARGET_CONFIGURATION(netplay)
target_link_libraries(netplay
- PRIVATE framework re2::re2 nlohmann_json plum-static Threads::Threads ZLIB::ZLIB fmt::fmt
+ PRIVATE framework re2 nlohmann_json plum-static Threads::Threads ZLIB::ZLIB fmt
PUBLIC tl::expected)
if(WZ_USE_IMPORTED_MINIUPNPC)
diff -ru a/src/3rdparty/INIReaderWriter.cpp b/src/3rdparty/INIReaderWriter.cpp
--- a/src/3rdparty/INIReaderWriter.cpp 2025-09-16 11:41:32.000000000 -0500
+++ b/src/3rdparty/INIReaderWriter.cpp 2025-09-18 13:37:23.687094584 -0500
@@ -13,7 +13,7 @@
#ifndef INI_API
# define INI_API
#endif
-#include <inih/ini.h>
+#include <ini.h>
#include "INIReaderWriter.h"
using std::string;
diff -ru a/src/CMakeLists.txt b/src/CMakeLists.txt
--- a/src/CMakeLists.txt 2025-09-16 11:41:32.000000000 -0500
+++ b/src/CMakeLists.txt 2025-09-18 13:37:23.687282446 -0500
@@ -130,7 +130,7 @@
target_link_libraries(warzone2100 exception-handler gamelib wzmaplib ZipIOProvider ivis-opengl netplay sdl-backend framework sequence sound widget)
target_link_libraries(warzone2100 launchinfo EmbeddedJSONSignature)
-target_link_libraries(warzone2100 fmt::fmt)
+target_link_libraries(warzone2100 fmt)
if(ENABLE_NLS)
target_link_libraries(warzone2100 ${Intl_LIBRARIES})
endif()
@@ -146,7 +146,7 @@
include(IncludeFindCurl)
target_link_libraries(warzone2100 CURL::libcurl)
endif()
-target_link_libraries(warzone2100 re2::re2)
+target_link_libraries(warzone2100 re2)
find_package(SQLite3 3.14 REQUIRED)
target_link_libraries(warzone2100 SQLite::SQLite3)

View file

@ -35,7 +35,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@ -367,40 +367,37 @@ you to figure out what is going on in that merge you keep avoiding.")
(package
(name "patchwork")
(version "3.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getpatchwork/patchwork")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
(build-system python-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getpatchwork/patchwork")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
(build-system pyproject-build-system)
(arguments
`(;; TODO: Tests require a running database
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(add-after 'unpack 'replace-wsgi.py
(lambda* (#:key inputs outputs #:allow-other-keys)
(delete-file "patchwork/wsgi.py")
(call-with-output-file "patchwork/wsgi.py"
(lambda (port)
;; Embed the PYTHONPATH containing the dependencies, as well
;; as the python modules in this package in the wsgi.py file,
;; as this will ensure they are available at runtime.
(define pythonpath
(string-append (getenv "GUIX_PYTHONPATH")
":"
(site-packages inputs outputs)))
(display
(string-append "
import os, sys
sys.path.extend('" pythonpath "'.split(':'))
(list
#:tests? #f ;TODO: Tests require a running database
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(add-after 'unpack 'replace-wsgi.py
(lambda* (#:key inputs outputs #:allow-other-keys)
(delete-file "patchwork/wsgi.py")
(call-with-output-file "patchwork/wsgi.py"
(lambda (port)
;; Embed the PYTHONPATH containing the dependencies, as well
;; as the python modules in this package in the wsgi.py file,
;; as this will ensure they are available at runtime.
(define pythonpath
(string-append (getenv "GUIX_PYTHONPATH") ":"
(site-packages inputs outputs)))
(display (string-append
"\nimport os, sys\n\nsys.path.extend('" pythonpath
"'.split(':'))
from django.core.wsgi import get_wsgi_application
@ -415,89 +412,88 @@ os.environ['DJANGO_SETTINGS_MODULE'] = os.getenv(
)
application = get_wsgi_application()\n") port)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "DJANGO_SETTINGS_MODULE" "patchwork.settings.dev")
(invoke "python" "-Wonce" "./manage.py" "test" "--noinput"))
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(out-site-packages (site-packages inputs outputs)))
(for-each (lambda (directory)
(copy-recursively
directory
(string-append out-site-packages "/" directory)))
'(;; Contains the python code
"patchwork"
;; Contains the templates for the generated HTML
"templates"))
(delete-file-recursively
(string-append out-site-packages "/patchwork/tests"))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "DJANGO_SETTINGS_MODULE" "patchwork.settings.dev")
(invoke "python" "-Wonce" "./manage.py" "test" "--noinput"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(out-site-packages (site-packages inputs outputs)))
(for-each (lambda (directory)
(copy-recursively directory
(string-append out-site-packages
"/" directory)))
'( ;Contains the python code
"patchwork"
;; Contains the templates for the generated HTML
"templates"))
(delete-file-recursively (string-append out-site-packages
"/patchwork/tests"))
;; Install patchwork related tools
(for-each (lambda (file)
(install-file file (string-append out "/bin")))
(list
(string-append out-site-packages
"/patchwork/bin/parsemail.sh")
(string-append out-site-packages
"/patchwork/bin/parsemail-batch.sh")))
;; Install patchwork related tools
(for-each (lambda (file)
(install-file file
(string-append out "/bin")))
(list (string-append out-site-packages
"/patchwork/bin/parsemail.sh")
(string-append out-site-packages
"/patchwork/bin/parsemail-batch.sh")))
;; Collect the static assets, this includes JavaScript, CSS and
;; fonts. This is a standard Django process when running a
;; Django application for regular use, and includes assets for
;; dependencies like the admin site from Django.
;;
;; The intent here is that you can serve files from this
;; directory through a webserver, which is recommended when
;; running Django applications.
(let ((static-root
(string-append out "/share/patchwork/htdocs")))
(mkdir-p static-root)
(copy-file "patchwork/settings/production.example.py"
"patchwork/settings/assets.py")
(setenv "DJANGO_SECRET_KEY" "dummyvalue")
(setenv "DJANGO_SETTINGS_MODULE" "patchwork.settings.assets")
(setenv "STATIC_ROOT" static-root)
(invoke "./manage.py" "collectstatic" "--no-input"))
;; Collect the static assets, this includes JavaScript, CSS and
;; fonts. This is a standard Django process when running a
;; Django application for regular use, and includes assets for
;; dependencies like the admin site from Django.
;;
;; The intent here is that you can serve files from this
;; directory through a webserver, which is recommended when
;; running Django applications.
(let ((static-root (string-append out
"/share/patchwork/htdocs")))
(mkdir-p static-root)
(copy-file "patchwork/settings/production.example.py"
"patchwork/settings/assets.py")
(setenv "DJANGO_SECRET_KEY" "dummyvalue")
(setenv "DJANGO_SETTINGS_MODULE" "patchwork.settings.assets")
(setenv "STATIC_ROOT" static-root)
(invoke "./manage.py" "collectstatic" "--no-input"))
;; The lib directory includes example configuration files that
;; may be useful when deploying patchwork.
(copy-recursively "lib"
(string-append
out "/share/doc/" ,name "-" ,version)))
#t))
;; The hasher script is used from the post-receive.hook
(add-after 'install 'install-hasher
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-site-packages (site-packages inputs outputs))
(out-hasher.py (string-append out-site-packages
"/patchwork/hasher.py")))
(chmod out-hasher.py #o555)
(symlink out-hasher.py (string-append out "/bin/hasher")))
#t))
;; Create a patchwork specific version of Django's command line admin
;; utility.
(add-after 'install 'install-patchwork-admin
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(call-with-output-file (string-append out "/bin/patchwork-admin")
(lambda (port)
(simple-format port "#!~A
;; The lib directory includes example configuration files that
;; may be useful when deploying patchwork.
(copy-recursively "lib"
(string-append out "/share/doc/"
#$name "-"
#$version)))))
;; The hasher script is used from the post-receive.hook
(add-after 'install 'install-hasher
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-site-packages (site-packages inputs outputs))
(out-hasher.py (string-append out-site-packages
"/patchwork/hasher.py")))
(chmod out-hasher.py #o555)
(symlink out-hasher.py
(string-append out "/bin/hasher")))))
;; Create a patchwork specific version of Django's command line admin
;; utility.
(add-after 'install 'install-patchwork-admin
(lambda _
(mkdir-p (string-append #$output "/bin"))
(call-with-output-file (string-append #$output
"/bin/patchwork-admin")
(lambda (port)
(simple-format port "#!~A
import os, sys
if __name__ == \"__main__\":
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)" (which "python"))))
(chmod (string-append out "/bin/patchwork-admin") #o555))
#t)))))
(inputs
(list python-wrapper))
(chmod (string-append #$output "/bin/patchwork-admin")
#o555))))))
(native-inputs (list python-setuptools))
(inputs (list python-wrapper))
(propagated-inputs
(list python-django
;; TODO: Make this configurable
@ -553,47 +549,34 @@ patches do not match perfectly.")
(package
(name "pwclient")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getpatchwork/pwclient")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1xckwvcqklzpyh3xs4k2zm40ifp0q5fdkj2vmgb8vhfvl1ivs6jv"))))
(build-system python-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getpatchwork/pwclient")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xckwvcqklzpyh3xs4k2zm40ifp0q5fdkj2vmgb8vhfvl1ivs6jv"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-requirements
(lambda _
(substitute* "test-requirements.txt"
;; The pytest requirement is unnecessarily strict
(("pytest>=3.0,<5.0;")
"pytest>=3.0,<6.0;"))
#t))
(add-before 'build 'set-PBR_VERSION
(lambda _
(setenv "PBR_VERSION"
,version)
#t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"))
#t))
(add-after 'install 'install-man-page
(lambda* (#:key outputs #:allow-other-keys)
(install-file "man/pwclient.1"
(string-append
(assoc-ref outputs "out")
"/share/man/man1"))
#t)))))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-PBR_VERSION
(lambda _
(setenv "PBR_VERSION" #$version)))
(add-after 'install 'install-man-page
(lambda _
(install-file "man/pwclient.1"
(string-append #$output "/share/man/man1")))))))
(native-inputs
(list python-pbr python-pytest python-pytest-cov python-mock))
(home-page
"https://github.com/getpatchwork/pwclient")
(list python-pbr
python-pytest
python-pytest-cov
python-mock
python-setuptools))
(home-page "https://github.com/getpatchwork/pwclient")
(synopsis "Command-line client for the Patchwork patch tracking tool")
(description
"pwclient is a VCS-agnostic tool for interacting with Patchwork, the

View file

@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.83.9")
(version "2.83.11")
(source
(origin
(method git-fetch)
@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "01gxml7g6qf185pa51v8vrsv1m42b3dz5rcnyqf7ic041s6p9bwl"))
(base32 "00kbcq9mzxqm3hgfgbxjblb733lzy1hvfwnf73a5gxnfdbqhr5dz"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs

View file

@ -1,8 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016 宋文武 <iyzsong@envs.net>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <thomas.danckaert@gmail.com>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018-2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019-2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019-2024 Maxim Cournoyer <maxim@guixotic.coop>
@ -23,6 +26,7 @@
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2024-2025 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Navid Afkhami <navid.afkhami@mdc-berlin.de>
;;; Copyright © 2024, 2025 David Elsing <david.elsing@posteo.net>
@ -226,6 +230,38 @@ the implementation of that name.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
(define-public python-autopep8
(package
(name "python-autopep8")
(version "2.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autopep8" version))
(sha256
(base32 "0n0pjdk39n6vlddjqvbpkxd4a7q33dkf0k2yk6dbd5wijr7hli49"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-pycodestyle python-tomli))
(native-inputs
(list python-setuptools))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-check
(lambda _
(setenv "HOME" "/tmp"))))))
(home-page "https://github.com/hhatto/autopep8")
(synopsis "Format Python code according to the PEP 8 style guide")
(description
"@code{autopep8} automatically formats Python code to conform to
the PEP 8 style guide. It uses the pycodestyle utility to determine
what parts of the code needs to be formatted. @code{autopep8} is
capable of fixing most of the formatting issues that can be reported
by pycodestyle.")
(license (license:non-copyleft
"https://github.com/hhatto/autopep8/blob/master/LICENSE"))))
(define-public python-avocado-framework
(package
(name "python-avocado-framework")
@ -786,6 +822,27 @@ list/set/dict comprehensions.")
providing hints about what deprecated methods should be replaced with.")
(license license:gpl2)))
(define-public python-flexmock
(package
(name "python-flexmock")
(version "0.12.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flexmock" version))
(sha256
(base32 "18dcr7mpldf3cxsqi9rak75n4z7x3j544l4ixdspairm7cf6cp23"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core
python-pytest))
(home-page "https://flexmock.readthedocs.io/")
(synopsis "Testing library for Python")
(description
"flexmock is a testing library for Python that makes it easy to create
mocks, stubs and fakes.")
(license license:bsd-3)))
(define-public python-gcovr
(package
(name "python-gcovr")

View file

@ -1771,6 +1771,7 @@ in different situations.
@end enumerate")
(license license:expat)))
;; XXX: Not maintained since 2016.
(define-public python-pydes
(package
(name "python-pydes")
@ -1782,8 +1783,10 @@ in different situations.
(sha256
(base32 "04lh71f47y04vspfrdrq6a0hn060ibxvdp5z1pcr0gmqs8hqxaz2"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(home-page "http://twhiteman.netfirms.com/des.html")
(arguments
(list #:tests? #f)) ;no tests in PyPI, I could not fine Git
(native-inputs (list python-setuptools))
(home-page "http://twhiteman.netfirms.com/des.html") ;XXX: Dead link
(synopsis
"Pure python implementation of the DES and TRIPLE DES encryption algorithms")
(description

View file

@ -335,22 +335,34 @@ reduces the code overhead typically encountered when using a mostly
object-oriented library such as @code{scikit-learn}.")
(license license:bsd-3)))
;; XXX: See: <https://codeberg.org/guix/guix/issues/3093>.
(define-public python-aplus
(package
(name "python-aplus")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aplus" version))
(sha256
(base32 "1rznc26nlp641rn8gpdngfp79a3fji38yavqakxi35mx2da04msg"))))
(build-system python-build-system)
(home-page "https://github.com/xogeny/aplus")
(synopsis "Promises/A+ for Python")
(description "This package is an implementation of the Promises/A+
specification and test suite in Python.")
(license license:expat)))
;; PyPI release lacks the latest version, Git has no tags.
(let ((commit "1ab8ebec987fb7213766784aad02cbf4410d9036")
(revision "0"))
(package
(name "python-aplus")
(version (git-version "0.11.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xogeny/aplus")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "02jcfj7dywvs0sd60c85pxwh0mwsj9p1q27445pba6j489x3dffj"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;they depend on Nose test runner
(native-inputs
(list python-setuptools))
(home-page "https://github.com/xogeny/aplus")
(synopsis "Promises/A+ for Python")
(description
"This package is an implementation of the Promises/A+ specification and
test suite in Python.")
(license license:expat))))
(define-public python-apted
;; PyPI release lacks tests and there is no Git tag.
@ -3930,19 +3942,25 @@ production-critical data pipelines or reproducible research settings. With
;; marked turtle can be skipped using "-m" "not turtle".
(arguments
(list
#:test-flags '(list
"-n" (number->string (parallel-job-count))
;; Tries to connect to the internet.
"-k" (string-append "not test_is_connected"
;; Test files are not included
" and not test_read_commandline_bad_cmd")
;; Test files are not included
"--ignore=tests/io/test_read_csvs.py"
;; Polars has not been packaged yet.
"--ignore=tests/polars"
;; PySpark has not been packaged yet.
"--ignore=tests/spark/functions/test_clean_names_spark.py"
"--ignore=tests/spark/functions/test_update_where_spark.py")
;; tests: 1042 passed, 2 skipped, 2 deselected, 45 xfailed, 6 xpassed,
;; 735 warnings
#:test-flags
;; The tests take quite long, so consider adding the "-n" line and
;; adding python-pytest-xdist to the native-inputs when testing.
;; However, the tests are not deterministic when ran with -n, so
;; disable again before committing.
#~(list ;; "-n" (number->string (parallel-job-count))
;; Test files are not included.
"--ignore=tests/io/test_read_csvs.py"
;; Polars has not been packaged yet.
"--ignore=tests/polars"
;; PySpark has not been packaged yet.
"--ignore=tests/spark/functions/test_clean_names_spark.py"
"--ignore=tests/spark/functions/test_update_where_spark.py"
;; Tries to connect to the internet.
"-k" (string-append "not test_is_connected"
;; Test files are not included.
" and not test_read_commandline_bad_cmd"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-env-ci
@ -3950,20 +3968,22 @@ production-critical data pipelines or reproducible research settings. With
;; Some tests are skipped if the JANITOR_CI_MACHINE
;; variable is not set.
(setenv "JANITOR_CI_MACHINE" "1"))))))
;; TODO: Remove python-requests and inject its target data to make the
;; package behaviour reproducible.
(propagated-inputs (list python-multipledispatch
python-natsort
python-pandas-flavor
python-requests
python-scipy
;; Optional imports.
python-biopython ;biology submodule
python-unyt)) ;engineering submodule
(native-inputs (list python-pytest
python-pytest-xdist
;;python-pytest-xdist ;only for -n when testing
python-setuptools
;; Optional imports. We do not propagate them due to
;; their size.
python-numba ;speedup of joins
python-setuptools
python-wheel
rdkit)) ;chemistry submodule
(home-page "https://github.com/pyjanitor-devs/pyjanitor")
(synopsis "Tools for cleaning and transforming pandas DataFrames")
@ -4123,6 +4143,8 @@ changed, it made sense to abstract away the nuisance of having to re-learn
them.")
(license license:bsd-3)))
;; XXX: Not maintained since 2019. The project was archived by the owner on
;; Nov 2, 2020. It is now read-only.
(define-public python-fbpca
(package
(name "python-fbpca")
@ -4133,7 +4155,10 @@ them.")
(sha256
(base32
"1lbjqhqsdmqk86lb86q3ywf7561zmdny1dfvgwqkyrkr4ij7f1hm"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:test-flags #~(list "fbpca.py")))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs
(list python-numpy python-scipy))
(home-page "https://fbpca.readthedocs.io/")

View file

@ -64,6 +64,8 @@
;;; Copyright © 2023 dan <i@dan.games>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2024 Fabio Natali <me@fabionatali.com>
;;; Copyright © 2024 Steve George <steve@futurile.net>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024, 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 normally_js <normally_js@posteo.net>
@ -120,6 +122,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
@ -205,6 +208,112 @@ writing applications that talk to network enabled embedded
@acronym{IoT,Internet of Things} devices.")
(license license:expat)))
(define-public python-apprise
(package
(name "python-apprise")
(version "1.9.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apprise" version))
(sha256
(base32 "126951n9lnlqrw5lbsvs9xs7jzg33bqqxm7cfnqag2csw6p24ca8"))))
(build-system pyproject-build-system)
(arguments
(list
;; These tests used to be ran with --numprocesses, but that seems to have
;; made them non-deterministic.
#:test-flags
#~(list "--ignore=tests/test_plugin_macosx.py"
"-k" "not test_plugin_glib_send_raises_generic")))
(native-inputs
(list python-babel
python-pytest
python-pytest-mock
python-setuptools))
(propagated-inputs
(list python-certifi
python-click
python-markdown
python-pygobject
python-pyyaml
python-requests
python-requests-oauthlib))
(home-page "https://github.com/caronc/apprise")
(synopsis "Push notification library")
(description
"Apprise is a Python library that allows sending push notifications to a
broad range of notification services, such as Telegram, Discord, Slack, Amazon
SNS, Gotify, etc.")
(license license:bsd-2)))
(define-public python-blacksheep
(package
(name "python-blacksheep")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/BlackSheep")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1iwlj6vl0rnvddbn9zsdgpya88z0lifr86wz3ci1d67li7w5bjiq"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1443 passed, 3 skipped
;;
;; 1. Ignore integration tests.
;; 2. Client tests use test fixture no longer available in
;; pytest-asyncio,
;;
;; See: <https://github.com/Neoteroi/BlackSheep/issues/596>.
#:test-flags
#~(list "--ignore=itests"
"--ignore=tests/client")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'cythonize
(lambda _
(with-directory-excursion "blacksheep"
(for-each (lambda (file)
(invoke "cython" "-3" file "-I" "."))
(find-files "." ".*\\.pyx$"))))))))
(native-inputs
(list python-cython
python-flask
python-jinja2
python-pydantic
python-pyjwt
python-pytest
python-pytest-asyncio
python-setuptools))
(propagated-inputs
(list python-certifi
python-dateutil
python-essentials-openapi
python-guardpost
python-itsdangerous))
(home-page "https://github.com/Neoteroi/BlackSheep")
(synopsis "Asynchronous framework to build event based web applications")
(description
"BlackSheep is a lightweight, asynchronous, event driven Web framework.
The framework offers
@itemize
@item A rich code API, based on dependency injection and inspired by Flask and
ASP.NET Core.
@item A typing-friendly codebase, which enables a comfortable development
experience thanks to hints when coding with IDEs.
@item Built-in generation of OpenAPI Documentation, supporting version 3, YAML,
and JSON.
@item A cross-platform framework, using the most modern versions of Python.
@item Good performance.
@end itemize")
(license license:expat)))
(define-public python-devpi-common
(package
(name "python-devpi-common")
@ -606,6 +715,40 @@ Async mode for @url{https://domainconnect.org/, Domain Connect protocol}.")
Dropbox API v2.")
(license license:expat)))
(define-public python-essentials-openapi
(package
(name "python-essentials-openapi")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/essentials-openapi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f3lhpkqhvv8sr1c34cvzdqkc61306m03w3jp0zdih1v6is05j8x"))))
(build-system pyproject-build-system)
(native-inputs
(list python-flask
python-hatchling
python-pydantic
python-pytest
python-rich))
(propagated-inputs
(list python-essentials
python-httpx
python-jinja2
python-markupsafe
python-pyyaml))
(home-page "https://github.com/Neoteroi/essentials-openapi/")
(synopsis "Generator for OpenAPI Documentation")
(description
"Generator for OpenAPI Documentation version 2 and 3, in JSON and YAML
formats. Generator for other kinds of documents from OpenAPI Documentation
files.")
(license license:expat)))
(define-public python-eventlet
(package
(name "python-eventlet")
@ -773,6 +916,51 @@ formats (PDF/XML/CSV).")
@url{https://www.globus.org/, Globus} APIs.")
(license license:asl2.0)))
(define-public python-guardpost
(package
(name "python-guardpost")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/guardpost")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cwxxxhazpaphhcysgpivk51vp76zdf7hrryc1vr6vlp2zzgwsxd"))))
(build-system pyproject-build-system)
(arguments
(list
;; Possible timing issue, see:
;; <https://github.com/Neoteroi/GuardPost/issues/18>.
#:test-flags '(list "--ignore=tests/test_jwts.py")))
(native-inputs
(list python-cryptography
python-flask
python-hatchling
python-pyjwt
python-pytest
python-pytest-asyncio))
(propagated-inputs
(list python-rodi))
(home-page "https://github.com/Neoteroi/GuardPost/")
(synopsis
"Authentication and authorization framework for Python applications")
(description
"GuardPost is a framework to handle authentication and
authorization in asynchronous Python applications.
Its features include
@itemize
@item Strategy to implement authentication.
@item Strategy to implement authorization.
@item Support for dependency injection
@item Built-in support for JSON Web Tokens (JWTs) authentication.
@end itemize")
(license license:expat)))
(define-public python-hookdns
(package
(name "python-hookdns")
@ -3342,6 +3530,14 @@ and written in Python.")
(base32
"195wgxls3df7djry9cz3p2k9644l6bfd66fczbaw55fsq0c48agr"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-configure-flags
(lambda _
(setenv "CFLAGS"
"-Wno-error=implicit-function-declaration"))))))
(native-inputs
(list pkg-config))
(inputs
@ -10642,19 +10838,44 @@ can be handled by the @code{colorsys} module in the Python standard library.")
(license license:bsd-3)))
(define-public python-woob
;; TODO: woob requires backends which are currently installed on the fly in
;; ~/.local/share/woob/modules/3.7/woob_modules/ , perhaps we should install
;; them in the store instead. Many modules are included in the modules
;; directory in the source tree, but it is unclear how to install them.
;; Many modules require extra dependencies though, so maybe they should be
;; packaged independently of woob itself.
(package
(name "python-woob")
(version "3.0")
(version "3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "woob" version))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/woob/woob.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09hpxy5zhn2b8li0xjf3zd7s46lawb0315p5mdcsci3bj3s4v1j7"))))
(build-system python-build-system)
;; A small number of tests for optional applications fails due to missing
;; inputs.
(arguments `(#:tests? #f))
(base32 "1sy0aykff56xs4dnc7ak6m8is2zgz9fprf3i1pk8n861xz1z748i"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Deselect tests that require DNS lookup.
#~(list
"--deselect=tests/browser/adapters.py::TestAdapter::test_ciphers"
"--deselect=tests/browser/browsers.py::TestBrowser::test_verify")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'relax-requirements
(lambda _
;; "packaging ~= 23.0",
(substitute* "pyproject.toml"
(("\"packaging .*\",")
"")))))))
(native-inputs
(list nss-certs-for-test
python-pytest
python-setuptools))
(propagated-inputs
(list python-babel
python-colorama
@ -10663,19 +10884,20 @@ can be handled by the @code{colorsys} module in the Python standard library.")
python-feedparser
python-html2text
python-lxml
python-packaging
python-pillow
python-prettytable
python-pyqt
python-pycountry
python-pyyaml
python-requests
python-six
python-responses
python-rich
python-termcolor
python-unidecode))
(native-inputs
(list python-coverage python-flake8 python-nose python-selenium
python-xunitparser))
(home-page "https://woob.tech/")
(synopsis "Woob, Web Outside Of Browsers")
(description "Woob is a collection of applications able to interact with
(description
"Woob is a collection of applications able to interact with
websites, without requiring the user to open them in a browser. It also
provides well-defined APIs to talk to websites lacking one.")
(license license:lgpl3+)))

View file

@ -237,6 +237,7 @@
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages java)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
@ -344,46 +345,6 @@ protocol of git-annex, while leaving the behavior of the remote up to the
user.")
(license license:gpl3)))
(define-public python-apprise
(package
(name "python-apprise")
(version "1.9.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "apprise" version))
(sha256
(base32 "19k51ici58134m61f6di0m36mbqgdyr6r31i8v6rk22vldz6d0zm"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"--ignore=test/test_plugin_macosx.py"
;; AssertionError
"--deselect=test/test_plugin_wxpusher.py::test_plugin_wxpusher_urls")))
(native-inputs
(list python-babel
python-pytest
python-pytest-mock
python-pytest-xdist
python-setuptools
python-wheel))
(propagated-inputs
(list python-certifi
python-click
python-markdown
python-pyyaml
python-requests
python-requests-oauthlib))
(home-page "https://github.com/caronc/apprise")
(synopsis "Push notification library")
(description
"Apprise is a Python library that allows sending push notifications to a
broad range of notification services, such as Telegram, Discord, Slack, Amazon
SNS, Gotify, etc.")
(license license:bsd-2)))
(define-public python-archspec
(package
(name "python-archspec")
@ -646,7 +607,8 @@ line drawing algorithm}.")
(sha256
(base32 "08dmi4chamk5dbdpvrc0nb09iybfhj3wqwxgffiqnkj7030qhqb8"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
;; tests: 797 passed, 1 warning
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-ply))
(home-page "https://github.com/calmjs/calmjs.parse/")
(synopsis "Parsers for ECMA standards")
@ -1015,6 +977,8 @@ package. ")
It also supports IPython/Jupyter.")
(license license:expat)))
;; TODO: Move to ci or task-runners, see:
;; <https://codeberg.org/guix/guix/issues/3096>.
(define-public python-huey
(package
(name "python-huey")
@ -1038,9 +1002,12 @@ It also supports IPython/Jupyter.")
(substitute* "huey/tests/test_kt_huey.py"
(("^has_ktserver = sp.call\\(\\['which', 'ktserver'\\].*$")
"has_ktserver = False"))))
(add-before 'check 'pre-check
(lambda _ (spawn "redis-server" '("redis-server")))))))
(native-inputs (list python-setuptools python-wheel redis tzdata-for-tests))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(spawn "redis-server" '("redis-server"))
(invoke "python3" "-m" "runtests" "--verbosity" "2")))))))
(native-inputs (list python-setuptools redis tzdata-for-tests))
(propagated-inputs (list python-redis))
(home-page "https://huey.readthedocs.io")
(synopsis "Lightweight task queue for Python")
@ -4179,7 +4146,7 @@ with Numpy and SciPy.")
(define-public python-rich-tables
(package
(name "python-rich-tables")
(version "0.6.1")
(version "0.8.0")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
@ -4188,8 +4155,13 @@ with Numpy and SciPy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1wqr6sldf97ycs4gfvsqhbh1ki2kgsaicsy44g9lspvlda5nfcp1"))))
(base32 "1gkwgxcjnghn0alqw53kgb4ixf047dnb49kc0af3blvcwnmfmb5f"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; TypeError: can't subtract offset-naive and offset-aware datetimes
#~(list "--deselect=tests/test_outputs.py::test_outputs[tests/json/album.json]")))
(native-inputs
(list python-freezegun
python-poetry-core
@ -4197,6 +4169,7 @@ with Numpy and SciPy.")
python-pytest-cov))
(propagated-inputs
(list python-funcy
python-humanize
python-multimethod
python-platformdirs
python-rgbxy
@ -6088,7 +6061,7 @@ server.")
(base32 "17z6rrvv3q1axy9r13c2hln2pazfn9n5bhkzrbjcjakgbfjl6mss"))))
(build-system pyproject-build-system)
(native-inputs
(list python-lxml
(list python-lxml-4.9
python-pillow
python-pytest
python-setuptools))
@ -6524,9 +6497,11 @@ other Python program.")
(base32
"0skrs5i5pvpzvihgxw766zi1c9bbp33aisdldxgj470mlchvdgyy"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "tests/functional/tests.py")))
(native-inputs
(list python-setuptools
python-wheel))
(list python-setuptools))
(home-page "https://agateau.com/projects/doxyqml")
(synopsis "Doxygen input filter for QML files")
(description
@ -7778,6 +7753,7 @@ something else) to Python data-types.")
(base32
"10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
;; XXX: See: <https://codeberg.org/guix/guix/issues/3029>.
(define-public python-kconfiglib
(package
(name "python-kconfiglib")
@ -7789,9 +7765,10 @@ something else) to Python data-types.")
(sha256
(base32 "0g690bk789hsry34y4ahvly5c8w8imca90ss4njfqf7m2qicrlmy"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;tests require complex set up
(native-inputs
(list python-setuptools
python-wheel
`(,python "tk")))
(home-page "https://github.com/ulfalizer/Kconfiglib")
(synopsis
@ -8543,6 +8520,7 @@ important tasks for becoming a daemon process:
;; Only setup.py is gpl3+, everything else is apache 2.0 licensed.
(license (list license:asl2.0 license:gpl3+))))
;; XXX: See: <https://codeberg.org/guix/guix/issues/3027>.
(define-public python-elevate
(package
(name "python-elevate")
@ -8555,13 +8533,14 @@ important tasks for becoming a daemon process:
(base32 "02g23lxzzl64j1b4fsnrdxqiahl9lnrqyxpqwcfzn0g33px1kbak"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
`(#:tests? #f ;no tests in PyPI
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'clean-up
(lambda _
;; Uses stuff we don't have.
(delete-file "elevate/windows.py"))))))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools))
(home-page "https://github.com/barneygale/elevate")
(synopsis "Python library for requesting root privileges")
(description "This package provides a Python library for requesting
@ -12317,39 +12296,6 @@ run simple @code{argparse} parsers from function signatures.")
from a program in a @dfn{pager} such as @command{less}.")
(license license:asl2.0)))
(define-public python-autopep8
(package
(name "python-autopep8")
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autopep8" version))
(sha256
(base32
"037yhzmc9lssmn6cifa5gvw23f1c0hgsfgn83jfl3cwppm50c4r9"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-pycodestyle python-tomli))
(native-inputs
(list python-setuptools python-wheel))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'prepare-check
(lambda _
(setenv "HOME" "/tmp"))))))
(home-page "https://github.com/hhatto/autopep8")
(synopsis "Format Python code according to the PEP 8 style guide")
(description
"@code{autopep8} automatically formats Python code to conform to
the PEP 8 style guide. It uses the pycodestyle utility to determine
what parts of the code needs to be formatted. @code{autopep8} is
capable of fixing most of the formatting issues that can be reported
by pycodestyle.")
(license (license:non-copyleft
"https://github.com/hhatto/autopep8/blob/master/LICENSE"))))
(define-public python-dirty-equals
(package
(name "python-dirty-equals")
@ -13156,8 +13102,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
@ -13770,10 +13715,10 @@ memoizing PEG/Packrat parser in Python.")
(define-public python-grandalf
(package
(name "python-grandalf")
(version "0.7")
;; `guix refresh` will try to upgrade to v0.55555, but that is older.
(version "0.8")
(source
(origin
;; There's no source tarball on PyPI.
(method git-fetch)
(uri (git-reference
(url "https://github.com/bdcht/grandalf")
@ -13781,16 +13726,18 @@ memoizing PEG/Packrat parser in Python.")
(file-name (git-file-name name version))
(sha256
(base32
"03p8w8ljpb87qbyldm3s6b7qi30hfcn43h33iwlgqcf31fjsyr4g"))))
(build-system python-build-system)
"199f86hz3g4p237ma4j27rzwmska3bxzsbgq20i4l4pczf9v7ax0"))))
(build-system pyproject-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "python" "setup.py" "pytest"))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-requirements
(lambda _
(substitute* "setup.py"
(("install_requires=\\['pyparsing'],") "")))))))
(native-inputs
(list python-pytest python-pytest-runner))
(list python-setuptools python-pytest))
(propagated-inputs
(list python-numpy python-ply))
(home-page "https://github.com/bdcht/grandalf")
@ -15654,14 +15601,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
@ -17304,7 +17251,7 @@ pseudo terminal (pty), and interact with both the process and its pty.")
;; XXX: Snippet below is required because on v1.1.30 the source code
;; has configshell_fb as softlink to configshell and guix
;; pyproject-build-system doesn't work with symlinks very well.
;;
;;
;; This package is only used in spdk for now and it's crucial to keep
;; it locked on version and keep the snipped for spdk to build
;; successfully.
@ -17611,16 +17558,14 @@ number of lines in the contained files easily.")
(hidden-package
(package
(name "python-fonttools-minimal")
(version "4.39.3")
(version "4.59.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "fonttools" version ".zip"))
(uri (pypi-uri "fonttools" version ".tar.gz"))
(sha256
(base32
"1msibi5cmi5znykkg66dq7xshl07lkqjxhrz5hcipqvlggsvjd4j"))))
"08pgq9nrj3r81gzb6gbf5mcak0xyqrj26cw0rc5za4v1n14hfb77"))))
(build-system python-build-system)
(native-inputs
(list unzip))
(arguments '(#:tests? #f))
(home-page "https://github.com/fonttools/fonttools")
(synopsis "Tools to manipulate font files")
@ -17647,14 +17592,17 @@ from an XML-based format.")
(when tests?
(invoke "pytest" "-vv"
"-k"
;; XXX: These tests need .trm files that are
;; not shipped with the PyPI release.
;; XXX: These tests need data files that are not
;; shipped with the PyPI release.
(format #f "not ~a"
(string-join
'("test_read_fontdimens_mathsy"
'("test_cli_vtp"
"test_group_order"
"test_read_fontdimens_mathsy"
"test_read_fontdimens_mathex"
"test_read_fontdimens_vanilla"
"test_read_boundary_char"
"test_reading_supplement_encoding"
"fontTools.tfmLib"
;; The MtiTest tests fail for unknown
;; reasons (see:
@ -17668,7 +17616,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
@ -20396,6 +20344,33 @@ package and greatly reduce the number of imports for your users. It is a small
pure Python module that works on virtually all Python versions.")
(license license:expat)))
(define-public python-essentials
(package
(name "python-essentials")
(version "1.1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/essentials")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bh8yi79gn9fg26mp58nm9xhnxcfab7rhc076av4qg00mg5p9rn0"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
python-pydantic
python-pytest-asyncio))
(home-page "https://github.com/Neoteroi/essentials/wiki")
(synopsis
"Utility functions, exceptions, and classes for Python applications")
(description
"Essentials is a collection of functions, exceptions, and classes for Python
applications. Examples of utilities are exceptions for common scenarios,
friendly JSON encoder, decorators for retries and logging.")
(license license:expat)))
(define-public python-execnet
(package
(name "python-execnet")
@ -21053,13 +21028,13 @@ expression.")
(define-public python-unicodedata2
(package
(name "python-unicodedata2")
(version "15.0.0")
(version "16.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "unicodedata2" version))
(sha256
(base32 "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d"))))
(base32 "1z3llixb4cd6cc6nmyps5vv2sss14n3x6dzcc65xg75mj9jqsj05"))))
(build-system python-build-system)
(home-page "https://github.com/fonttools/unicodedata2")
(synopsis "Python unicodedata backport")
@ -23220,7 +23195,7 @@ specified in POSIX.1-2001 and POSIX.1-2008.")
(sha256
(base32 "1clb3lfw694crq8m767q0yjaazkplcrbzdr9fr2w39hhndivhcd6"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/rocky/pycolumnize")
(synopsis "Format a simple (i.e. not nested) list into aligned columns.")
(description
@ -25315,6 +25290,41 @@ GraphQL schema describes your data model, and provides a GraphQL server with
an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
(define-public python-rodi
(package
(name "python-rodi")
(version "2.0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/rodi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kf98yjllrq7vqcp07r2gmkqcviqglsnai3sdigdsrwrfc0b44yp"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
python-pytest
python-pytest-asyncio))
(home-page "https://github.com/Neoteroi/rodi")
(synopsis "Dependency injection framework for Python")
(description
"Rodi is a dependency injection framework for Python applications.
Its features include
@itemize
@item Type resolution by signature types annotations.
@item Type resolution by class annotations.
@item Type resolution by names and aliases.
@item Build graph of objects without the need for source code changes.
@item Minimum overhead to obtain services, once the objects graph is built.
@item Support for singleton, transient, and scoped services.
@end itemize")
(license license:expat)))
;; XXX: The last time updated in 2015, consider to remove it when nothing is
;; depend on it.
(define-public python-snowballstemmer
@ -26019,46 +26029,6 @@ converting text with ANSI color codes to HTML or LaTeX.")
can even create animations with the cursor controls.")
(license license:expat)))
(define-public python-pycountry
(package
(name "python-pycountry")
(version "22.3.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycountry" version))
(sha256
(base32
"0ihnkh86zz01vi46gcwgq6h71jrpj7hq71zi13c98n2qdhj3l5mj"))))
(build-system python-build-system)
(home-page "https://bitbucket.org/flyingcircus/pycountry")
(synopsis "ISO databases for languages, countries, currencies, etc.")
(description
"@code{pycountry} provides the ISO databases for the standards:
@enumerate
@item 639-3 (Languages)
@item 3166 (Countries)
@item 3166-3 (Deleted Countries)
@item 3166-2 (Subdivisions of countries)
@item 4217 (Currencies)
@item 15924 (Scripts)
@end enumerate
It includes a copy from Debians pkg-isocodes and makes the data accessible
through a Python API.")
(license license:lgpl2.1+)))
(define-public python-pycountry@20.7.3
(package
(inherit python-pycountry)
(name "python-pycountry")
(version "20.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycountry" version))
(sha256
(base32 "0hnbabsmqimx5hqh0jbd2f64i8fhzhhbrvid57048hs5sd9ll241"))))))
(define-public python-pycosat
(package
(name "python-pycosat")
@ -26996,9 +26966,10 @@ filetypes can be easily added by creating plugins for them.")
(sha256
(base32 "0c3dgm1rf7ih79pgkj7adffn8hlyqh5qah8rbzlq436kz3srk83q"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs
(list python-setuptools
python-wheel))
(list python-setuptools))
(home-page "https://github.com/benknight/hue-python-rgb-converter")
(synopsis "RGB conversion tool in Python")
(description
@ -29466,29 +29437,32 @@ supports the globstar @code{**} operator to match an arbitrary number of
path components.")
(license license:asl2.0)))
;; XXX: Not maintained since 2021.
(define-public python-git-hammer
(package
(name "python-git-hammer")
(version "0.3.1")
(version "0.3.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/asharov/git-hammer")
(commit version)))
(url "https://github.com/asharov/git-hammer")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0f9xlk86ijzpdj25hr1q4wcy8k72v3w470ngwm9mpdkfj8ng84wr"))))
(build-system python-build-system)
(base32 "0j0skpbhi7js45hp1w2n87093yz1hjdg5y3kicwvm84fb8i38gvx"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-setup.py
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("setup\\(")
"setup(\n test_suite=\"test\",")))))))
(("matplotlib <3.1") "matplotlib")))))))
(native-inputs
(list python-pytest
python-setuptools))
(propagated-inputs
(list python-beautifultable
python-dateutil
@ -29500,8 +29474,8 @@ path components.")
(home-page "https://github.com/asharov/git-hammer")
(synopsis "Provide statistics for git repositories")
(description
"Git Hammer is a statistics tool for projects in git repositories.
Its major feature is tracking the number of lines authored by each person for every
"Git Hammer is a statistics tool for projects in git repositories. Its major
feature is tracking the number of lines authored by each person for every
commit, but it also includes some other useful statistics.")
(license license:asl2.0)))
@ -30991,6 +30965,7 @@ module.")
(properties '((upstream-name . "Wikidata")))
(license license:gpl3+)))
;; XXX: Not maintained since 2022, leaf package.
(define-public python-attr
(package
(name "python-attr")
@ -31002,8 +30977,11 @@ module.")
(sha256
(base32 "1x2627x0n2rxx8wib4cksbjjnncff8finq97k37dq70qd2kvrvhw"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "-c" "import dry_attr; dry_attr.test()")))
(native-inputs
(list python-setuptools python-wheel))
(list python-setuptools))
(home-page "https://github.com/denis-ryzhkov/attr")
(synopsis "Decorator for attributes of target function or class")
(description "Simple decorator to set attributes of target function or
@ -32138,6 +32116,7 @@ register custom encoders and decoders.")
bindings for Python 3.")
(license license:bsd-3)))
;; XXX: See: <https://codeberg.org/guix/guix/issues/3054>.
(define-public python-iocapture
;; The latest release is more than a year older than this commit.
(let ((commit "fdc021c431d0840303908dfc3ca8769db383595c")
@ -32155,8 +32134,12 @@ bindings for Python 3.")
(sha256
(base32 "1mkbhqibxvgwg0p7slr8dfraa3g2s6bsayladhax2jccwj4kcndz"))))
(build-system pyproject-build-system)
(native-inputs (list python-flexmock python-pytest python-pytest-cov
python-setuptools python-wheel))
(native-inputs
(list python-flexmock
python-pytest
python-pytest-cov
python-setuptools
python-six))
(home-page "https://github.com/oinume/iocapture")
(synopsis "Python capturing tool for stdout and stderr")
(description
@ -34124,6 +34107,8 @@ to minimize duplication of information across files. The format supports schema
validation.")
(license license:lgpl3)))
;; XXX: Not maintained since 2021, there is no git available as seen in
;; <https://pypi.org/project/flufl.bounce>.
(define-public python-flufl-bounce
(package
(name "python-flufl-bounce")
@ -34135,7 +34120,7 @@ validation.")
(sha256
(base32
"0c9qc2l47lyqnpwskp6vvi7m3jqh6hx42v6d35dgxh3fjzmlll15"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
@ -34148,7 +34133,7 @@ validation.")
(propagated-inputs
(list python-atpublic python-zope-interface))
(native-inputs
(list python-flufl-testing python-nose2))
(list python-flufl-testing python-nose2 python-setuptools))
(home-page "https://fluflbounce.readthedocs.io/en/latest/")
(synopsis "Email bounce detectors")
(description "The @code{flufl.bounce} library provides a set of heuristics
@ -35556,7 +35541,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
@ -38001,6 +37986,43 @@ static types.")
(description "This package providis typing stubs for python-dateutil.")
(license license:asl2.0)))
(define-public python-types-aiofiles
(package
(name "python-types-aiofiles")
(version "24.1.0.20250822")
(source
(origin
(method url-fetch)
(uri (pypi-uri "types_aiofiles" version))
(sha256
(base32 "0ysar1an6il2rsd54fwzwdis209z3qq3i4zhgixfjzrh1j70vfcs"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;no tests in PyPI archive
(native-inputs (list python-setuptools))
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for python-aiofiles")
(description "This package providis typing stubs for python-aiofiles.")
(license license:asl2.0)))
(define-public python-types-tqdm
(package
(name "python-types-tqdm")
(version "4.67.0.20250809")
(source
(origin
(method url-fetch)
(uri (pypi-uri "types_tqdm" version))
(sha256
(base32 "006md2hnsq79p7d5z3kiaapvl9wwa4dz3yb39jf0n22n2awpmgq2"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;no tests in PyPI archive
(native-inputs (list python-setuptools))
(propagated-inputs (list python-types-requests))
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for python-tqdm")
(description "This package providis typing stubs for python-tqdm.")
(license license:asl2.0)))
(define-public python-types-docutils
(package
(name "python-types-docutils")
@ -39406,7 +39428,19 @@ client library.")
(sha256
(base32 "122a8prbcj070y3fl82kvxmbciv36hj1h1d448l6zcdrb22q4mhx"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-wheel))
(arguments
(list
;; tests: 1571 passed, 37 deselected, 1 warning
;;
;; Two test fail with assertion not equal:
;;
;; test_decode_error[0001-unpack_from requires a buffer of at least 1
;; bytes] - AssertionError
;;
;; test_decode_error[00000101-unpack_from requires a buffer of at least
;; 1 bytes] - AssertionError
#:test-flags #~(list "-k" "not test_decode_error")))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://ndeflib.readthedocs.io/")
(synopsis "NFC Data Exchange Format decoder and encoder.")
(description "This package provides a NFC (Near-Field Communication)
@ -39817,6 +39851,24 @@ package. It can be used by type-checking tools like mypy, PyCharm, pytype
etc. to check code that uses @code{orjson}.")
(license license:asl2.0)))
(define-public python-types-regex
(package
(name "python-types-regex")
(version "2025.9.18.20250921")
(source
(origin
(method url-fetch)
(uri (pypi-uri "types_regex" version))
(sha256
(base32 "0gqc8b9d38pdm1l6nryi9rq9vmpis575hqnxlvj904n3n4hhqw71"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;no tests in PyPI archive
(native-inputs (list python-setuptools))
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for regex")
(description "This package provides typing stubs for regex.")
(license license:asl2.0)))
(define-public python-rpds-py
(package
(name "python-rpds-py")
@ -40161,8 +40213,16 @@ read all zbar supported codes.")
(base32
"0r46q4hd7xbpvnidbra1prkg4xhmajxjjmclfqgp3pv0lgyslqxh"))))
(build-system pyproject-build-system)
(arguments
;; XXX: No tests in PyPI, tere are tests in Git, but there is no 3.7.10.1
;; tag.
;;
;; See:
;; - URL: <https://raw.githubusercontent.com/zeroc-ice>
;; - File: <ice/refs/heads/main/python/allTests.py>
(list #:tests? #f))
(inputs (list openssl))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools))
(home-page "https://zeroc.com")
(synopsis "RPC framework")
(description
@ -40171,6 +40231,29 @@ software by taking care of all interactions with low-level network programming
interfaces.")
(license license:gpl2)))
;; Package variant to build python-omero-py@5.20.0
(define-public python-zeroc-ice-3.6
(package
(inherit python-zeroc-ice)
(version "3.6.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "zeroc-ice" version))
(sha256
(base32
"0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))
(patches
(search-patches
"python-zeroc-ice-3.6.5-python-3.11-support.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments python-zeroc-ice)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-before 'build 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
"-g -O2 -Wno-error=implicit-function-declaration")))))))))
(define-public python-islenska
(package
(name "python-islenska")
@ -40271,20 +40354,6 @@ instance in spelling correction, predictive typing, to help disabled people
write text fast, and for various text generation, statistics, and modeling tasks.")
(license license:expat)))
(define-public python-zeroc-ice-3.6
(package
(inherit python-zeroc-ice)
(version "3.6.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "zeroc-ice" version))
(sha256
(base32
"0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))
(patches
(search-patches
"python-zeroc-ice-3.6.5-python-3.11-support.patch"))))))
(define-public python-whenever
(package
(name "python-whenever")

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

@ -192,7 +192,8 @@ of parts of the Windows API.")
(search-patches "freerdp-3.16.0-rpath.patch"))))
(inputs
(modify-inputs (package-inputs freerdp)
(prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
(replace "ffmpeg" ffmpeg)
(prepend fuse icu4c mit-krb5 sdl3 sdl3-gfx sdl3-ttf)))
(arguments
(list #:build-type "Release"
#:configure-flags
@ -252,8 +253,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

@ -18,21 +18,25 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages rednotebook)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages bash)
#:use-module (gnu packages python)
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages webkit)
#:use-module (gnu packages python-xyz))
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages webkit))
(define-public rednotebook
(package
(name "rednotebook")
(version "2.22")
(version "2.41")
(source
(origin
(method git-fetch)
@ -41,35 +45,36 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11n970ad0j57vlll5j30ngkrfyil23v1b29ickbnblcldvjbgwa5"))))
(build-system python-build-system)
(base32 "1nljj227lykl4gq1qvvv0pj00k8pbi3njm4agz7wsfcihz6dlrxi"))))
(build-system pyproject-build-system)
(arguments
;; Tests fail to find the "_" function.
;; It should be defined in rednotebook/info.py if '_' is not a member of
;; 'builtins'. It is either not defined or not exported during the check
;; phase. The program does not have this problem after it is installed.
;; TODO: Fix tests.
`(#:tests? #f
#:imported-modules ((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules ((ice-9 match)
(guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
(modify-phases %standard-phases
;; Make sure rednotebook can find the typelibs and webkitgtk shared
;; libraries.
(add-before 'wrap 'wrap-with-library-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(webkitgtk-path (string-append
(assoc-ref inputs "webkitgtk-for-gtk3")
"/lib")))
(wrap-program (string-append out "/bin/rednotebook")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path)))))))))
(list
#:imported-modules
`((guix build glib-or-gtk-build-system)
,@%pyproject-build-system-modules)
#:modules
`((ice-9 match)
(guix build pyproject-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'configure-tests
(lambda _
(setenv "HOME" (getcwd))))
;; Make sure rednotebook can find the typelibs and webkitgtk shared
;; libraries.
(add-before 'wrap 'wrap-with-library-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((webkitgtk-bin (search-input-file inputs
"bin/WebKitWebDriver")))
(wrap-program (string-append #$output "/bin/rednotebook")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))
`("LD_LIBRARY_PATH" ":" prefix
(,(string-append (dirname (dirname webkitgtk-bin))
"/lib"))))))))))
(native-inputs (list gettext-minimal python-pytest python-setuptools))
(inputs
(list bash-minimal
gtk+
@ -79,7 +84,7 @@
webkitgtk-for-gtk3))
;; TODO: package the following for python3 (if possible), add them as
;; dependencies, and remove them from rednotebook source:
;; pygtkspellcheck, elib.intl, msgfmt, txt2tags
;; pygtkspellcheck, elib.intl, txt2tags
;; TODO: package and add pyenchant for python3 and add it as a dependency.
(home-page "https://www.rednotebook.app")
(synopsis "Daily journal with calendar, templates and keyword searching")

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

@ -42,7 +42,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
@ -71,6 +71,7 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@ -640,65 +641,72 @@ search the generated indexes.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://finestructure.net/xapers/releases/xapers-"
version ".tar.gz"))
(uri (string-append "https://finestructure.net/xapers/releases/xapers-"
version ".tar.gz"))
(sha256
(base32
"0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd"))))
(build-system python-build-system)
(propagated-inputs
(list poppler python-urwid xclip xdg-utils))
(inputs
(list python-latexcodec
python-pybtex
python-pycurl
python-pyyaml
python-six
python-xapian-bindings))
(base32 "0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd"))))
(build-system pyproject-build-system)
(arguments
`(#:modules ((ice-9 rdelim)
(guix build python-build-system)
(list
#:tests? #f ; A lot of tests are failing, unclear why.
#:modules `((ice-9 rdelim)
(guix build pyproject-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (purge-term-support input output)
(let loop ((line (read-line input)))
(if (string-prefix? "if [[ \"$term\"" line)
(begin (display "eval \"$cmd\"\n" output)
#t)
(begin (display (string-append line "\n") output)
(loop (read-line input))))))
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(adder-out (string-append bin "/xapers-adder"))
(man1 (string-append out "/share/man/man1")))
(install-file "man/man1/xapers.1" man1)
(install-file "man/man1/xapers-adder.1" man1)
;; below is equivalent to setting --no-term option
;; permanently on; this is desirable to avoid imposing
;; an x-terminal installation on the user but breaks
;; some potential xapers-adder uses like auto browser
;; pdf handler, but user could instead still use
;; e.g. "xterm -e xapers-adder %F" for same use.
;; alternatively we could propagate xterm as an input
;; and replace 'x-terminal-emulator' with 'xterm'
(call-with-input-file "bin/xapers-adder"
(lambda (input)
(call-with-output-file adder-out
(lambda (output)
(purge-term-support input output)))))
(chmod adder-out #o555)))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (purge-term-support input output)
(let loop
((line (read-line input)))
(if (string-prefix? "if [[ \"$term\"" line)
(display "eval \"$cmd\"\n" output)
(begin
(display (string-append line "\n") output)
(loop (read-line input))))))
(let* ((bin (string-append #$output "/bin"))
(adder-out (string-append bin "/xapers-adder"))
(man1 (string-append #$output "/share/man/man1")))
(install-file "man/man1/xapers.1" man1)
(install-file "man/man1/xapers-adder.1" man1)
;; below is equivalent to setting --no-term option
;; permanently on; this is desirable to avoid imposing
;; an x-terminal installation on the user but breaks
;; some potential xapers-adder uses like auto browser
;; pdf handler, but user could instead still use
;; e.g. "xterm -e xapers-adder %F" for same use.
;; alternatively we could propagate xterm as an input
;; and replace 'x-terminal-emulator' with 'xterm'
(mkdir-p (dirname adder-out))
(call-with-input-file "bin/xapers-adder"
(lambda (input)
(call-with-output-file adder-out
(lambda (output)
(purge-term-support input output)))))
(chmod adder-out #o555))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "test"
(setenv "HOME" (getcwd))
(invoke "bash" "all"))
(format #t "test suite not run~%")))))))
(native-inputs (list python-setuptools))
(propagated-inputs (list poppler python-urwid xclip xdg-utils))
(inputs (list python-latexcodec
python-pybtex
python-pycurl
python-pyyaml
python-six
python-xapian-bindings))
(home-page "https://finestructure.net/xapers/")
(synopsis "Personal document indexing system")
(description
"Xapers is a personal document indexing system,
geared towards academic journal articles build on the Xapian search engine.
Think of it as your own personal document search engine, or a local cache of
online libraries. It provides fast search of document text and
bibliographic data and simple document and bibtex retrieval.")
"Xapers is a personal document indexing system, geared towards academic
journal articles build on the Xapian search engine. Think of it as your own
personal document search engine, or a local cache of online libraries. It
provides fast search of document text and bibliographic data and simple
document and bibtex retrieval.")
(license license:gpl3+)))
(define-public ugrep

View file

@ -69,6 +69,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)

View file

@ -45,17 +45,21 @@
(package
(name "python-plover-stroke")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "plover_stroke" version))
(sha256
(base32
"0lyifam9xqpx2jzqcbah84sv909n4g2frm7pd5gvcrpf98zv40yy"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/benoit-pierre/plover_stroke")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "104ab1lr2xr8nbq98n7h3jvskfzzg8m41rhb1ik4b7w474rlxgh3"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/benoit-pierre/plover_stroke")
(synopsis "Stroke handling helper library for Plover")
(description "This package provides a helper class for working with steno strokes.")
(description
"This package provides a helper class for working with steno strokes.")
(license license:gpl2+)))
(define-public plover

View file

@ -92,20 +92,16 @@
(file-name (git-file-name name version))
(sha256
(base32 "1nyx80z53xxlbhpb5k22jnv4jajxqhjm0gz7qb18w9pqqlrvkqd4"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(setenv "HOME" (getenv "TEMP"))
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv")))))))
(add-before 'check 'configure-tests
(lambda _
(setenv "HOME" (getenv "TEMP")))))))
(native-inputs
(list python-pytest
python-click))
(list python-pytest python-click python-setuptools))
(inputs
(list python-click
python-click-default-group

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

@ -9,6 +9,7 @@
;;; Copyright © 2023, 2024 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -530,6 +531,14 @@ which will be used as a snippet in origin."
#:commit commit
#:license license:asl2.0)))
(define-public tree-sitter-janet
(tree-sitter-grammar
"janet" "Janet"
"1sg862gqxn5y86sqa4habyicsr1ax70i7w8ibnn2yyx1bzn99jqn"
"0.1.0"
#:repository-url "https://github.com/GrayJack/tree-sitter-janet"
#:license license:bsd-3))
(define-public tree-sitter-java
(tree-sitter-grammar
"java" "Java"

View file

@ -33,6 +33,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages pdf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@ -1739,7 +1740,7 @@ month and a year of work.")
(arguments (tryton-arguments "country" "--no-doctest"))
(native-inputs (%standard-trytond-native-inputs))
(propagated-inputs
(list python-pycountry@20.7.3 trytond))
(list python-pycountry-20.7.3 trytond))
(home-page "http://www.tryton.org/")
(synopsis "Tryton module with countries")
(description

View file

@ -74,6 +74,8 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.ccom>
;;; Copyright © 2025 VnPower <vnpower@loang.net>
;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1527,7 +1529,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 +1538,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 +1646,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 +1676,8 @@ operate properly.")
libcaca
libcdio-paranoia
libdrm
libgme
libplacebo
libtheora
libva
libvdpau
@ -1685,13 +1689,16 @@ operate properly.")
mesa
openal
pulseaudio
shaderc
sdl2
soxr
speex
spirv-tools
srt
svt-av1
twolame
vidstab
vulkan-loader
x265
xvid
zlib)))
@ -1701,7 +1708,8 @@ operate properly.")
pkg-config
texinfo
speex
yasm))
vulkan-headers
nasm))
(arguments
(list
#:test-target "fate"
@ -1716,7 +1724,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 +1776,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 +1802,7 @@ operate properly.")
"--enable-opengl"
"--enable-libdrm"
"--enable-vaapi"
"--enable-vulkan"
"--enable-runtime-cpudetect"
@ -1836,7 +1847,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 +1872,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 +1896,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
@ -1900,16 +1912,22 @@ audio/video codec library.")
(base32
"1g8116rp4fgq82br8lclb2dmw3fvyh2zkzhnngm7z97pg1i0dypl"))))
(arguments
(if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:phases phases)
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:modules modules %default-gnu-modules)
`((srfi srfi-1) ,@modules))
((#:phases phases)
(if (target-x86-32?)
#~(modify-phases #$phases
(replace 'bypass-openal-check
(lambda _
(substitute* "configure"
(("die \"ERROR: openal not found\"")
"true")))))))
(package-arguments ffmpeg)))))
"true")))))
phases))
((#:configure-flags flags ''())
#~(fold delete #$flags '("--enable-libplacebo")))))
(inputs (modify-inputs (package-inputs ffmpeg)
(delete "libplacebo")))))
(define-public ffmpeg-4
(package
@ -1922,12 +1940,13 @@ audio/video codec library.")
(sha256
(base32
"01xb2vj4n52fv2y56n5ifirgzlg16qbgfg98f6ifbbhm6l6lwlgr"))))
(inputs (modify-inputs (package-inputs ffmpeg)
(inputs (modify-inputs (package-inputs ffmpeg-5)
(replace "sdl2" sdl2-2.0)))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg-5)
((#:configure-flags flags ''())
#~(cons "--enable-avresample" #$flags))))))
#~(cons "--enable-avresample"
(fold delete #$flags '("--enable-libshaderc"))))))))
(define-public ffmpeg-for-stepmania
(hidden-package
@ -1989,276 +2008,278 @@ audio/video codec library.")
"--enable-libdav1d"
"--enable-librav1e"
"--enable-libsrt"
"--enable-libsvtav1")))))
"--enable-libsvtav1"
"--enable-vulkan")))))
(inputs (modify-inputs (package-inputs ffmpeg-4)
(delete "dav1d" "libaom" "rav1e" "srt")))))
;;; 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
@ -2685,7 +2706,10 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))))
(base32 "0w0qk61ll0mddbkiwavqfx048sacyvp6fwglms58ypw869rh7iy7"))
(patches
(search-patches
"mpv-0.40.0-fix-ffmpeg-8.0.patch"))))
(build-system meson-build-system)
(arguments
(list
@ -2994,7 +3018,7 @@ To load this plugin, specify the following option when starting mpv:
(file-name (git-file-name name version))))
(build-system meson-build-system)
(inputs
(list mpv libdisplay-info wlroots))
(list mpv libdisplay-info))
(native-inputs
(list pkg-config cmake-minimal))
(home-page "https://github.com/GhostNaN/mpvpaper")
@ -3138,7 +3162,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(define-public yt-dlp
(package
(name "yt-dlp")
(version "2025.09.23")
(version "2025.09.26")
(source
(origin
(method git-fetch)
@ -3150,7 +3174,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
(snippet #~(substitute* "pyproject.toml"
(("^.*Programming Language :: Python :: 3\\.13.*$") "")))
(sha256
(base32 "0x6yjvv0wwyx10bpk2s06k8amah4q6v1g2plwrng1ap2jza539x6"))))
(base32 "0j6l2zskmsvqk8h3ialbymk75i0bfzn2qmc2gk6s1ybhnpryrv7y"))))
(build-system pyproject-build-system)
(arguments
(list
@ -3172,7 +3196,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
"'\n")))))
(add-before 'build 'build-generated-files
(lambda* (#:key inputs #:allow-other-keys)
(if (search-input-file inputs "bin/pandoc")
(if (which "pandoc")
(invoke "make"
"PYTHON=python"
"yt-dlp"

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

@ -20,13 +20,14 @@
(define-module (gnu packages weather)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages python-build)
#:use-module (gnu packages qt)
#:use-module (gnu packages xml))
@ -65,30 +66,35 @@ precipitation amount and probability.")
(name "meteo-qt")
(version "4.2")
(source
(origin (method git-fetch)
(uri (git-reference (url "https://github.com/dglent/meteo-qt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cvmh5rq50dncd2fmp4amjb2hhl2mryb2ywg0zdzhz89dkjq0kdk"))))
(build-system python-build-system)
(native-inputs (list python-pyqt-6))
(propagated-inputs (list python-lxml python-pyqt-6 python-sip))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dglent/meteo-qt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cvmh5rq50dncd2fmp4amjb2hhl2mryb2ywg0zdzhz89dkjq0kdk"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'build 'remove-translations
(lambda _
;; Translation processing is broken because Guix thinks lprodump
;; is in qtbase, not qttools. So, we'll skip it and exclude
;; qttools from the native input list until it is fixed.
(substitute* "setup.py"
(("/usr") #$output)
(("^.+lrelease-pro-qt6.+$") "")
(("^.+meteo_qt/translations.+$") "")))))))
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'remove-translations
(lambda _
;; Translation processing is broken because Guix thinks lprodump
;; is in qtbase, not qttools. So, we'll skip it and exclude
;; qttools from the native input list until it is fixed.
(substitute* "setup.py"
(("/usr") #$output)
(("^.+lrelease-pro-qt6.+$") "")
(("^.+meteo_qt/translations.+$") "")))))))
(native-inputs (list python-pyqt-6 python-setuptools))
(propagated-inputs (list python-lxml python-pyqt-6 python-sip))
(home-page "https://github.com/dglent/meteo-qt")
(synopsis "Weather application for the system tray")
(description "meteo-qt is an application to display weather information in
desktop panels, desktop notifictions and its own window. Weather information is
(description
"meteo-qt is an application to display weather information in desktop
panels, desktop notifictions and its own window. Weather information is
retrieved from OpenWeatherMap.")
(license license:gpl3)))

View file

@ -48,7 +48,6 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@ -1095,7 +1094,9 @@ with a terminal interface, for Gemini also a GUI is available.")
(file-name (git-file-name name version))
(sha256
(base32 "0jp4v4jw82qqynqqs7x35g5yvm1sd48cvbqh7j2r1ixw1z6ldhc4"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests.
(native-inputs (list python-setuptools))
(home-page "https://github.com/xyzshantaram/leo")
(synopsis "Gemini client written in Python")
(description
@ -1107,21 +1108,31 @@ saved to a file for further viewing in another window.")
(define-public av-98
(package
(name "av-98")
(version "1.0.1")
(properties
'((upstream-name . "AV-98")))
(version "1.4")
(properties '((upstream-name . "AV-98")))
(source
(origin
(method url-fetch)
(uri (pypi-uri "AV-98" version))
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~solderpunk/AV-98")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"02fjnc2rvm010gb3i07p8r4xlhrmnv1wca1qymfjcymr7vm68h0i"))))
(build-system python-build-system)
(home-page "https://tildegit.org/solderpunk/AV-98/")
(base32 "04dzkzsan1cnrslsvfgn1whpwald8xy34wqzvq81hd2mvw9a2n69"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-before 'sanity-check 'configure-sanity-check
(lambda _
(setenv "HOME" (getcwd)))))))
(native-inputs (list python-setuptools))
(home-page "https://git.sr.ht/~solderpunk/AV-98")
(synopsis "Command line Gemini client")
(description "AV-98 is an experimental client for the Gemini protocol.
Features include
(description
"AV-98 is an experimental client for the Gemini protocol. Features include
@itemize
@item TOFU or CA server certificate validation;
@item Extensive client certificate support if an openssl binary is available;

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

Some files were not shown because too many files have changed in this diff Show more