From bf209751b36a0b61d82752ff3270c2bbd9559c8e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 14:07:08 +0900 Subject: [PATCH 001/129] gnu: ffmpeg: Update to 6.1.2. * gnu/packages/video.scm (ffmpeg): Update to 6.1.2. Change-Id: I32ee4ff66f3e8dcf87dbfb373252859bdb1c86d6 --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0db72149759..7b463edf926 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1864,14 +1864,14 @@ audio/video codec library.") (define-public ffmpeg (package (inherit ffmpeg-7) - (version "6.1.1") + (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")))) From ae15c39f03df29c55763eda9cf037a9ddf81a823 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 12 Jul 2025 23:08:16 +0900 Subject: [PATCH 002/129] gnu: ffmpeg-7: Enable vulkan support. * gnu/packages/video.scm (ffmpeg-7) [native-inputs]: Add vulkan-headers. [inputs]: Add shaderc, spirv-tools and vulkan-loader. [configure-flags]: Add --enable-libshaderc and --enable-vulkan. Change-Id: I469b013f6fc4d85a86004615948d3a03c9c3efde --- gnu/packages/video.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7b463edf926..1d5667fb83e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1654,7 +1654,7 @@ operate properly.") version ".tar.xz")) (sha256 (base32 - "12dkv17mrsdqrm70c30azjw7qi1lfxca7xisw81x6flacddm2il6")))) + "1c837agaw8ljhjx6ndp2w7hffi2mkb22vnmb8v0fbfqdbqwq8fbk")))) (outputs '("out" "debug")) (build-system gnu-build-system) (inputs @@ -1685,13 +1685,16 @@ operate properly.") mesa openal pulseaudio + shaderc sdl2 soxr speex + spirv-tools srt svt-av1 twolame vidstab + vulkan-loader x265 xvid zlib))) @@ -1701,6 +1704,7 @@ operate properly.") pkg-config texinfo speex + vulkan-headers yasm)) (arguments (list @@ -1775,6 +1779,7 @@ operate properly.") #$@(if (this-package-input "rav1e") '("--enable-librav1e") '()) + "--enable-libshaderc" "--enable-libsoxr" "--enable-libspeex" "--enable-libsrt" @@ -1792,6 +1797,7 @@ operate properly.") "--enable-opengl" "--enable-libdrm" "--enable-vaapi" + "--enable-vulkan" "--enable-runtime-cpudetect" From 57060a54ae97c90cffb5de4b540a8fb5cec2881f Mon Sep 17 00:00:00 2001 From: 45mg <45mg.writes@gmail.com> Date: Tue, 4 Mar 2025 17:32:59 +0530 Subject: [PATCH 003/129] 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 --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1d5667fb83e..efa6653ee32 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1647,7 +1647,7 @@ operate properly.") (define-public ffmpeg-7 (package (name "ffmpeg") - (version "7.0.2") + (version "7.1.1") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" @@ -1705,7 +1705,7 @@ operate properly.") texinfo speex vulkan-headers - yasm)) + nasm)) (arguments (list #:test-target "fate" @@ -1842,7 +1842,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 From 28903a90814b87767d21bae333b966b353e85bac Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 00:40:04 +0900 Subject: [PATCH 004/129] gnu: ffmpeg-7: Enable libplacebo support. * gnu/packages/video.scm (ffmpeg-7) [inputs]: Add libplacebo. [configure-flags]: Add --enable-libplacebo. Change-Id: Ib46d46505417b63d44d28369662617e8ebbf9098 --- gnu/packages/video.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index efa6653ee32..eea53912b7a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1674,6 +1674,7 @@ operate properly.") libcaca libcdio-paranoia libdrm + libplacebo libtheora libva libvdpau @@ -1775,6 +1776,7 @@ operate properly.") "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" + "--enable-libplacebo" "--enable-libpulse" #$@(if (this-package-input "rav1e") '("--enable-librav1e") From 7664921cb8a6df9fc468efb64c70c32ba291362a Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Tue, 21 Jul 2020 00:08:46 -0600 Subject: [PATCH 005/129] 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 --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index eea53912b7a..7d7584f3e4f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1674,6 +1674,7 @@ operate properly.") libcaca libcdio-paranoia libdrm + libgme libplacebo libtheora libva @@ -1721,7 +1722,6 @@ operate properly.") ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] ;; --enable-libflite enable flite (voice synthesis) support via ;; libflite [no] - ;; --enable-libgme enable Game Music Emu via libgme [no] ;; --enable-libgsm enable GSM de/encoding via libgsm [no] ;; --enable-libiec61883 enable iec61883 via libiec61883 [no] ;; --enable-libilbc enable iLBC de/encoding via libilbc [no] @@ -1774,6 +1774,7 @@ operate properly.") "--enable-libcdio" "--enable-libdav1d" "--enable-libfreetype" + "--enable-libgme" "--enable-libmp3lame" "--enable-libopus" "--enable-libplacebo" From ca535d56a991c5b87e52df9c2f7c4f7850adff05 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:11:52 +0900 Subject: [PATCH 006/129] gnu: wayland-protocols: Update to 1.45. * gnu/packages/freedesktop.scm (wayland-protocols): Update to 1.45. Change-Id: I6855e59a86dec111b45c0e87d6e3fabe62880aa9 --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index d850c143c5a..bdaae678ac8 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1414,7 +1414,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 +1423,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)) From 1a2e3d923013e4cf8756187c4471dc7d16f656f2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:18:24 +0900 Subject: [PATCH 007/129] gnu: spirv-headers: Update to 1.4.313.0. * gnu/packages/vulkan.scm (spirv-headers): Update to 1.4.313.0. Change-Id: Id20c09fad12aad12ca3dd045af0369f63a5ef49d --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 53e6e9d4b1d..b44914573fd 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -53,7 +53,7 @@ (define-public spirv-headers (package (name "spirv-headers") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) @@ -62,7 +62,7 @@ (commit (string-append "vulkan-sdk-" version)))) (sha256 (base32 - "15l35w60sbw1i3a48057hvpvldf0lrlfmkz73bp456g2jn5vln23")) + "1ndbzcqq337gs5nkh0yf1lz1n5sdanc06aqqrwl8l9ggdpp2sj3d")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From eba72f670ff1ca3a2abf71c7698e4b3b85ba9f56 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:18:32 +0900 Subject: [PATCH 008/129] gnu: spirv-tools: Update to 1.4.313.0. * gnu/packages/vulkan.scm (spirv-tools): Update to 1.4.313.0. Change-Id: Id436a37723e3fbc75525877f66bbf092b19db8db --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index b44914573fd..48fb9a20aae 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -85,7 +85,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.313.0") (source (origin (method git-fetch) @@ -93,7 +93,7 @@ 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 "0s1v894024bmhqjp4pk7706j0vaxm8chxz6nk6vgasrf24wq8v4w")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From 447139611af75572fc06e731a0c7ce1c9df90a28 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:21:12 +0900 Subject: [PATCH 009/129] gnu: glslang: Update to 1.4.313.0. * gnu/packages/vulkan.scm (glslang): Update to 1.4.313.0. Change-Id: Ie3a4168dc4d62846b68b9a1f417edebf7224134f --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 48fb9a20aae..8924f809bfb 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -212,7 +212,7 @@ translation between LLVM IR and SPIR-V.") (define-public glslang (package (name "glslang") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) @@ -221,7 +221,7 @@ translation between LLVM IR and SPIR-V.") (commit (string-append "vulkan-sdk-" version)))) (sha256 (base32 - "0kzzjh2dxzkznp75jk9sl4fjjgdy5s6xr8vha9av6cvi3jxm2i8y")) + "1b3znvbvbhcnzcab221pj99zs60905fmkhav856f00vflbh4y08z")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From fab53dafcc4dc193b7819ad6abadcf505365a1d4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:35:19 +0900 Subject: [PATCH 010/129] gnu: spirv-cross: Update to 1.4.313.0. * gnu/packages/vulkan.scm (spirv-cross): Update to 1.4.313.0. Change-Id: Idee2fa8bd45d2510990bb0d6ab1f9352094693ef --- gnu/packages/vulkan.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 8924f809bfb..3a95a7c3a69 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 James Smith ;;; Copyright © 2025 John Kehayias +;;; Copyright © 2025 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,7 +118,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.313.0") (source (origin (method git-fetch) @@ -125,7 +126,7 @@ 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 "1h246sy4hxpb5yw0a34b2bhd5qrrvflqrgr20n0058f6aigggxj6")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From f7a9a6a0fb5245ebff23ac4283461a29ace8bfa9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:37:25 +0900 Subject: [PATCH 011/129] gnu: vulkan-utility-libraries: Update to 1.4.313. * gnu/packages/vulkan.scm (vulkan-utility-libraries): Update to 1.4.313. Change-Id: Ie7cbeb3393fb3d33859bf3983385961e072025ec --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 3a95a7c3a69..cf7d8cfafa3 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -726,7 +726,7 @@ storage.") (define-public vulkan-utility-libraries (package (name "vulkan-utility-libraries") - (version "1.4.309.0") + (version "1.4.313") (source (origin (method git-fetch) @@ -734,7 +734,7 @@ storage.") (url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries") (commit (string-append "vulkan-sdk-" version)))) (sha256 - (base32 "1ihk95gjszk9yn3r6xvda83qp7f463m86srj6cq43z01sk2naxkr")) + (base32 "0gymlk0qz2k2970gyrijvk749zw49ffhc25zxqhzsgxxar8vhq1j")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From 186c29328a8a5716d1bab8fc60c4168579de68fa Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:37:59 +0900 Subject: [PATCH 012/129] gnu: shaderc: Update to 2025.3. * gnu/packages/vulkan.scm (shaderc): Update to 2025.3. Change-Id: If5ac7736ba1f32ddd24aaba45e179768aa37558f --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index cf7d8cfafa3..c707d088289 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -484,7 +484,7 @@ API.") (package (name "shaderc") ;; shaderc doesn't follow the versioning scheme of vulkan sdk - (version "2025.1") + (version "2025.3") (source (origin (method git-fetch) @@ -494,7 +494,7 @@ 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 From 29fdc9225f5c14a26abb1a697d8cd423ebb65951 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:38:41 +0900 Subject: [PATCH 013/129] gnu: vulkan-headers: Update to 1.4.313.0. * gnu/packages/vulkan.scm (vulkan-headers): Update to 1.4.313.0. Change-Id: Ibed13fb472f5511a8e73625df19058e05b87d78a --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index c707d088289..e40d045815a 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -318,7 +318,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (define-public vulkan-headers/no-loader (package (name "vulkan-headers") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) @@ -328,7 +328,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (file-name (git-file-name name version)) (sha256 (base32 - "0ncj4gqb5zmkgmd205frrq8rxxdqlissqpj2fq3wxkdbdyx7pwid")))) + "0mfmdxip5sxf2mc0b7vg80hc7mcc9ygg9mgdjfd113czg1079fvi")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. From a149f112024c22ed895f0ea504ced77be1e7806d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 13 Jul 2025 23:39:21 +0900 Subject: [PATCH 014/129] gnu: vulkan-loader: Update to 1.4.313.0. * gnu/packages/vulkan.scm (vulkan-loader): Update to 1.4.313.0. Change-Id: I5a969aab936ae40a7694dcc0d92e158d8375290a --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index e40d045815a..7f270702304 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -362,7 +362,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (define-public vulkan-loader (package (name "vulkan-loader") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) @@ -372,7 +372,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (file-name (git-file-name name version)) (sha256 (base32 - "1y6wqc8adzg7ndmbr95nzhcxf93qsfndfdnsym5pkbjfx454151d")))) + "1ycwgz012098xhgi8an7jy3n755k5j47v18wpq62sikldz4j7qh9")))) (build-system cmake-build-system) (arguments (list From 45c2fca5f9e3b5309364a20f083053f50867a0b0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Jul 2025 15:30:05 +0900 Subject: [PATCH 015/129] gnu: vulkan-tools: Update to 1.4.313.0. * gnu/packages/vulkan.scm (vulkan-tools): Update to 1.4.313.0. Change-Id: Ic96b91a364836a312a1d5f5d58fd2978ac50522a --- gnu/packages/vulkan.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 7f270702304..1c64343c9bd 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -443,13 +443,13 @@ and the ICD.") (define-public vulkan-tools (package (name "vulkan-tools") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/KhronosGroup/Vulkan-Tools") - (commit (string-append "vulkan-sdk-" version)))) + (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" @@ -458,19 +458,20 @@ and the ICD.") "// ASSERT_EQ(std::string(driver_properties.driverInfo)"))) (sha256 (base32 - "0ywvvkra29y2cvw8i9laf4skn6cl7phrwshcc7z9dljb3il87cym")))) + "152sl309k2lw38x6r15ddyf55dn1wc26pf1idd73nd5x2ax5bd73")))) (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"))))))) + (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") From eb9c92ca2f6513ca791c55cf51bd5f08a029a2c1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Jul 2025 15:32:43 +0900 Subject: [PATCH 016/129] gnu: vulkan-validationlayers: Update to 1.4.313.0. * gnu/packages/vulkan.scm (vulkan-validationlayers): Update to 1.4.313.0. Change-Id: I122d61f1e931ec6624cbf96ed64f585ad92f4789 --- gnu/packages/vulkan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 1c64343c9bd..8c44babb816 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -595,7 +595,7 @@ shader compilation.") (define-public vulkan-validationlayers (package (name "vulkan-validationlayers") - (version "1.4.309.0") + (version "1.4.313.0") (source (origin (method git-fetch) (uri (git-reference @@ -610,7 +610,7 @@ shader compilation.") ""))) (sha256 (base32 - "1dvgbgfxcp3ypy06j5m561j1gag0hk40zqd477cdv1kizv6i7nsk")))) + "1q5nwpl3rinypxl78yz0viw1kvqb70j0a6wgjp89zx1g0bswkaqm")))) (build-system cmake-build-system) (inputs (list glslang libxrandr From fe24dc4fb4656445d051eab28be8131992d71135 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Jul 2025 15:32:54 +0900 Subject: [PATCH 017/129] gnu: mesa: Update to 25.1.5. * gnu/packages/gl.scm (mesa): Update to 25.1.5. Change-Id: Ic05db30a9c4d8ee8c165eb8455c245aa2e2afd85 --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 38c0f5be546..ab4d8c5038c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.1.3") + (version "25.1.5") (source (origin (method url-fetch) @@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "0zxsvly6xjinaicgcf81ycljjjzy3mj0hqwf01b6sdgxnnnnrjzz")))) + "0qxklcar3pknnalkjgaf8mlwad3ddv6379vfxk851sbfzw86nkrw")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. From fbfc2e91d856e2e66e6e2429a1497c0fceda7f62 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Jul 2025 21:51:30 +0900 Subject: [PATCH 018/129] gnu: libplacebo: Update to 7.351.0. * gnu/packages/video.scm (libplacebo): Update to 7.351.0. Change-Id: I96b5c43f9269e3ce61390118269dadfcca0f3103 --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7d7584f3e4f..4853781a1ba 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1527,7 +1527,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libplacebo (package (name "libplacebo") - (version "7.349.0") + (version "7.351.0") (source (origin (method git-fetch) @@ -1536,7 +1536,7 @@ libebml is a C++ library to read and write EBML files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1q12yf04z570a2l3vkig2iqm7bgqr90hdxmn78sk2injrsyx124q")))) + (base32 "094mzr4cvvryxr7rpxqhvrs018r89m116cpkmmfy3d3sk8b09jki")))) (build-system meson-build-system) (arguments (list #:configure-flags From f5486310de67667230f7bed6f454ca8bfbcf89f5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 18 Jul 2025 08:03:58 +0900 Subject: [PATCH 019/129] 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 --- gnu/local.mk | 1 + gnu/packages/freedesktop.scm | 7 +- .../patches/vulkan-tools-wayland-1.24.patch | 100 ++++++++++++++++++ gnu/packages/vulkan.scm | 1 + 4 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/vulkan-tools-wayland-1.24.patch diff --git a/gnu/local.mk b/gnu/local.mk index 43de2994f45..84afb74e70f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2433,6 +2433,7 @@ dist_patch_DATA = \ %D%/packages/patches/vtk-7-gcc-11-compat.patch \ %D%/packages/patches/vtk-7-hdf5-compat.patch \ %D%/packages/patches/vtk-7-python-compat.patch \ + %D%/packages/patches/vulkan-tools-wayland-1.24.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/wcstools-extend-makefiles.patch \ %D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index bdaae678ac8..036cf81b3d9 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1363,7 +1363,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 +1371,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 _ diff --git a/gnu/packages/patches/vulkan-tools-wayland-1.24.patch b/gnu/packages/patches/vulkan-tools-wayland-1.24.patch new file mode 100644 index 00000000000..7d440c09caf --- /dev/null +++ b/gnu/packages/patches/vulkan-tools-wayland-1.24.patch @@ -0,0 +1,100 @@ +From f546743016f5301c063f2c50af0ea43dd2485ef4 Mon Sep 17 00:00:00 2001 +From: Charles Giessen +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 _LINK_LIBRARIES can have +more than one library name, the logic to assign _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); + } diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 8c44babb816..fa598a99d7f 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -456,6 +456,7 @@ and the ICD.") ;; 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)"))) + (patches (search-patches "vulkan-tools-wayland-1.24.patch")) (sha256 (base32 "152sl309k2lw38x6r15ddyf55dn1wc26pf1idd73nd5x2ax5bd73")))) From f09ae6527624fc6c76ba2cf2e6c14277979e3297 Mon Sep 17 00:00:00 2001 From: Philipp Berger Date: Sun, 13 Jul 2025 06:06:45 +0200 Subject: [PATCH 020/129] 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 --- gnu/packages/gl.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index ab4d8c5038c..a15f96fdf81 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -439,6 +439,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 From a060347a46ebdb489003e532fabbad25668e64b1 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 27 Jul 2025 11:19:22 -0400 Subject: [PATCH 021/129] gnu: mesa: Update to 25.1.6. * gnu/packages/gl.scm (mesa): Update to 25.1.6. Change-Id: I42e6d33411aea3876d84477212f5e21fadcf2605 --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index a15f96fdf81..0d7e6dceb8b 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.1.5") + (version "25.1.6") (source (origin (method url-fetch) @@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "0qxklcar3pknnalkjgaf8mlwad3ddv6379vfxk851sbfzw86nkrw")))) + "116f712h9nwdmjxph9x3idqd7h70lgfqz1m961yp3n6j77mnjawz")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. From ac3464fbdd1409fd5669a8d53bebbd8ff01659f5 Mon Sep 17 00:00:00 2001 From: Murilo Date: Thu, 24 Jul 2025 08:59:16 -0300 Subject: [PATCH 022/129] gnu: libinput: Update to 1.28.1. * gnu/packages/freedesktop.scm (libinput): Update to 1.28.1. Signed-off-by: John Kehayias --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 036cf81b3d9..8a7e5a1394e 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -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.28.1") (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")))) + "1kgdjxgx5dbrx21kp4x2azfffd96lhcry77pbddbpkw4643vkmwj")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") From 4d6e9b625b448f4d6ba609451d765bca8976560c Mon Sep 17 00:00:00 2001 From: Murilo Date: Thu, 24 Jul 2025 09:01:38 -0300 Subject: [PATCH 023/129] gnu: hyprland: Build with libinput-minimal. * gnu/packages/wm.scm (hyprland)[inputs]: Change libinput-minimal-next to libinput-minimal. Signed-off-by: John Kehayias --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7b91e2b33a0..5130bf99a3e 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -428,7 +428,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.") hyprland-qtutils hyprlang hyprutils - libinput-minimal-next + libinput-minimal libxcursor libxkbcommon mesa From f550644d693c3a5e72961b593581c037d7f3c18a Mon Sep 17 00:00:00 2001 From: Murilo Date: Thu, 24 Jul 2025 09:00:17 -0300 Subject: [PATCH 024/129] gnu: Remove libinput-minimal-next. * gnu/packages/freedesktop.scm (libinput-minimal-next): Delete variable. Signed-off-by: John Kehayias --- gnu/packages/freedesktop.scm | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 8a7e5a1394e..de82a763b0b 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -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") From c6bf6665a49fad1934e8941bebc8d3fee96529d5 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 14:55:49 -0400 Subject: [PATCH 025/129] gnu: Add meson-1.8. * gnu/packages/build-tools.scm (meson-1.8): New variable. Change-Id: I9895780b41f659d73750519825e7340a1f2911f9 --- gnu/packages/build-tools.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index cae3673c8d4..74c74851787 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2024 Janneke Nieuwenhuizen ;;; Copyright © 2025 Aiden Isik ;;; Copyright © 2025 Josep Bigorra +;;; Copyright © 2025 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -344,6 +345,19 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) +(define-public meson-1.8 + (package + (inherit meson) + (version "1.8.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "releases/download/" version "/meson-" + version ".tar.gz")) + (sha256 + (base32 + "1gvs2mm6z2b4pgsv1d9gl7cm68gqvcr244nh5p63g8f01y8sl67i")))))) + (define-public meson-python (package (name "meson-python") From ec937a94011bf9d89b3c7154e5036d31a0d9a3ff Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 7 Aug 2025 14:22:40 -0400 Subject: [PATCH 026/129] 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 --- gnu/packages/gl.scm | 7 +++---- gnu/packages/rust-crates.scm | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 0d7e6dceb8b..3b5a5a22fb6 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.1.6") + (version "25.2.0") (source (origin (method url-fetch) @@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "116f712h9nwdmjxph9x3idqd7h70lgfqz1m961yp3n6j77mnjawz")))) + "0kwdpl87v4damasg3rvw9453qbs286vkimjks8qlvlblq0hnnwkw")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. @@ -384,6 +384,7 @@ also known as DXTn or DXTC) for Mesa.") (outputs '("out" "bin")) (arguments (list + #:meson meson-1.8 #:configure-flags #~(list #$@(cond @@ -406,8 +407,6 @@ 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" diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm index 9e96ac63e4e..572f6ece2f0 100644 --- a/gnu/packages/rust-crates.scm +++ b/gnu/packages/rust-crates.scm @@ -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))) From 34bdb9849e3d89c3ed928d4dbd787bdf84fb6b01 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 7 Aug 2025 14:50:21 -0400 Subject: [PATCH 027/129] gnu: libinput: Update to 1.29.0. * gnu/packages/freedesktop.scm (libinput): Update to 1.29.0. Change-Id: Ib54bd0d7202707852694f875c44c84b90589feac --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index de82a763b0b..89a0a0f6ec8 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -586,7 +586,7 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.28.1") + (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 - "1kgdjxgx5dbrx21kp4x2azfffd96lhcry77pbddbpkw4643vkmwj")))) + "1kgr18p7n9bvim9bx24jbr5nwp6icla3bgzfskr04f68mirmx561")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") From 074fa4b9209fc396ed24491e7a308656666d8f97 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 10 Aug 2025 00:05:16 -0400 Subject: [PATCH 028/129] 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 --- gnu/packages/vulkan.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index fa598a99d7f..b0b64f95655 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -499,7 +499,8 @@ API.") "0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb")))) (build-system cmake-build-system) (arguments - `(;; FIXME: Skip most of the tests, because enabling system gtest breaks + `(#:tests? #f ; We don't build the tests, see below. + ;; FIXME: Skip most of the tests, because enabling system gtest breaks ;; the build: . #:configure-flags (list "-DSHADERC_SKIP_TESTS=ON" From 51f36c41b932b9ebefa684aac64a5c27a24b169a Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 11 Aug 2025 21:34:34 -0400 Subject: [PATCH 029/129] 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 --- gnu/packages/video.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4853781a1ba..d062aa9b5c8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1894,7 +1894,8 @@ audio/video codec library.") (setenv "CFLAGS" (string-append "-g -O2" - " -Wno-error=incompatible-pointer-types"))))))) + " -Wno-error=incompatible-pointer-types" + " -Wno-error=int-conversion"))))))) (package-arguments ffmpeg-7))))) (define-public ffmpeg-5 From e0c207194e7bf00a4ea8fb49d9b1419ebed70c90 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 12 Aug 2025 15:16:30 -0400 Subject: [PATCH 030/129] 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 --- gnu/packages/video.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d062aa9b5c8..39755ad980e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1936,8 +1936,12 @@ audio/video codec library.") (replace "sdl2" sdl2-2.0))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg-5) + ((#:modules modules %default-gnu-modules) + `((srfi srfi-1) ,@modules)) ((#:configure-flags flags ''()) - #~(cons "--enable-avresample" #$flags)))))) + #~(cons "--enable-avresample" + (fold delete #$flags '("--enable-libplacebo" + "--enable-libshaderc")))))))) (define-public ffmpeg-for-stepmania (hidden-package From 7e30d4db88749ef6679414682e69dba282ce42cf Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 21 Aug 2025 14:08:43 -0400 Subject: [PATCH 031/129] gnu: mesa: Update to 25.2.1. * gnu/packages/gl.scm (mesa): Update to 25.2.1. Change-Id: I4ee0255e6208b282ccca139c56e051a08170e026 --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 3b5a5a22fb6..7a03bcdd4d0 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.2.0") + (version "25.2.1") (source (origin (method url-fetch) @@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "0kwdpl87v4damasg3rvw9453qbs286vkimjks8qlvlblq0hnnwkw")))) + "192vjqf7g9k8v63cnw89b0n9cs0w2wlk0l7f97h4hpyki4hkf961")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. From 9e44a9d7ff45a2b4d1a6893b72df728a1a66bd8c Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 09:47:45 +0200 Subject: [PATCH 032/129] 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 --- gnu/packages/vulkan.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index b0b64f95655..d4e41358923 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -98,15 +98,17 @@ and for the GLSL.std.450 extended instruction set. (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 From f1b290743e9cdaee5981ad1fada7312b219f2191 Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 09:54:27 +0200 Subject: [PATCH 033/129] 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 --- gnu/packages/vulkan.scm | 45 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index d4e41358923..0a8dfbc0f15 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -132,30 +132,31 @@ parser,disassembler, validator, and optimizer for SPIR-V.") (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: - ;; . - #: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: + ;; . + #: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 From baf0c6949772f48b271e86599921ab95f620d040 Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 09:56:12 +0200 Subject: [PATCH 034/129] 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 --- gnu/packages/vulkan.scm | 51 ++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 0a8dfbc0f15..c430184486f 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -229,32 +229,35 @@ translation between LLVM IR and SPIR-V.") (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 From b7f51e60ba37ac5ca18a9358e7d66286bc955b8b Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 10:26:57 +0200 Subject: [PATCH 035/129] gnu: vulkan-loader: Improve style. * gnu/packages/vulkan.scm (vulkan-loader): Fix max column. Change-Id: I613ef9c8b87200168af3ab4c0379b0c8b2d09c58 Signed-off-by: Maxim Cournoyer --- gnu/packages/vulkan.scm | 50 +++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index c430184486f..15a032538ca 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -394,31 +394,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 From ebc431bb213e9c64a589f03738e09754fc006b1b Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 11:39:13 +0200 Subject: [PATCH 036/129] gnu: vulkan-validationlayers: Improve style. * gnu/packages/vulkan.scm (vulkan-validationlayers): Fix max column. Change-Id: I3a79acbc7c4a36105e27a6dfaba028094a5d5232 Signed-off-by: Maxim Cournoyer --- gnu/packages/vulkan.scm | 56 ++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 15a032538ca..7c69cf214fa 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -631,39 +631,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 From 201518da7283575bf62ed106ed2e289bb9a31a5e Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Fri, 8 Aug 2025 10:28:02 +0200 Subject: [PATCH 037/129] gnu: vulkan-tools: Improve style. * gnu/packages/vulkan.scm (vulkan-tools): Fix max column. Change-Id: Ibae23e8eaed1fa6c3f0ea593b4c64330e4037a94 Signed-off-by: Maxim Cournoyer --- gnu/packages/vulkan.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 7c69cf214fa..a4790d6a684 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -460,11 +460,11 @@ and the ICD.") (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)"))) - (patches (search-patches "vulkan-tools-wayland-1.24.patch")) + (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 "152sl309k2lw38x6r15ddyf55dn1wc26pf1idd73nd5x2ax5bd73")))) From fd815c6c41569b84ef2091fd939c180b8a3435f1 Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Sun, 24 Aug 2025 10:37:26 +0200 Subject: [PATCH 038/129] gnu: shaderc: Improve style. * gnu/packages/vulkan.scm (shaderc)[arguments]: Use G-Expressions. Change-Id: Ifa7b303c173a5093fa7733fa67e09eab1b39d8bd Signed-off-by: Maxim Cournoyer --- gnu/packages/vulkan.scm | 71 ++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index a4790d6a684..8c4df348174 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -507,42 +507,41 @@ API.") "0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; We don't build the tests, see below. - ;; FIXME: Skip most of the tests, because enabling system gtest breaks - ;; the build: . - #: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" - (("\\$") - (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: . + #: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" + (("\\$") + (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 From 76e384e3c1e71fd6dca7e6260fee0c27a775c37f Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Sun, 24 Aug 2025 10:12:07 +0200 Subject: [PATCH 039/129] 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 --- gnu/packages/vulkan.scm | 113 +++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 54 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 8c4df348174..3632b395d08 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2024 James Smith ;;; Copyright © 2025 John Kehayias ;;; Copyright © 2025 Maxim Cournoyer +;;; Copyright © 2025 Cayetano Santos ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,7 +55,7 @@ (define-public spirv-headers (package (name "spirv-headers") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -63,7 +64,7 @@ (commit (string-append "vulkan-sdk-" version)))) (sha256 (base32 - "1ndbzcqq337gs5nkh0yf1lz1n5sdanc06aqqrwl8l9ggdpp2sj3d")) + "11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -86,7 +87,7 @@ and for the GLSL.std.450 extended instruction set. (define-public spirv-tools (package (name "spirv-tools") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -94,7 +95,7 @@ and for the GLSL.std.450 extended instruction set. (url "https://github.com/KhronosGroup/SPIRV-Tools") (commit (string-append "vulkan-sdk-" version)))) (sha256 - (base32 "0s1v894024bmhqjp4pk7706j0vaxm8chxz6nk6vgasrf24wq8v4w")) + (base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -120,7 +121,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.") (define-public spirv-cross (package (name "spirv-cross") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -128,7 +129,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.") (url "https://github.com/KhronosGroup/SPIRV-Cross") (commit (string-append "vulkan-sdk-" version)))) (sha256 - (base32 "1h246sy4hxpb5yw0a34b2bhd5qrrvflqrgr20n0058f6aigggxj6")) + (base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -216,7 +217,7 @@ translation between LLVM IR and SPIR-V.") (define-public glslang (package (name "glslang") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -225,7 +226,7 @@ translation between LLVM IR and SPIR-V.") (commit (string-append "vulkan-sdk-" version)))) (sha256 (base32 - "1b3znvbvbhcnzcab221pj99zs60905fmkhav856f00vflbh4y08z")) + "1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -324,7 +325,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (define-public vulkan-headers/no-loader (package (name "vulkan-headers") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -334,7 +335,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (file-name (git-file-name name version)) (sha256 (base32 - "0mfmdxip5sxf2mc0b7vg80hc7mcc9ygg9mgdjfd113czg1079fvi")))) + "1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. @@ -368,7 +369,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (define-public vulkan-loader (package (name "vulkan-loader") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -378,7 +379,7 @@ Enhanced Subpixel Morphological Anti-Aliasing (file-name (git-file-name name version)) (sha256 (base32 - "1ycwgz012098xhgi8an7jy3n755k5j47v18wpq62sikldz4j7qh9")))) + "0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb")))) (build-system cmake-build-system) (arguments (list @@ -449,46 +450,50 @@ and the ICD.") license:bsd-3)))) (define-public vulkan-tools - (package - (name "vulkan-tools") - (version "1.4.313.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 - "152sl309k2lw38x6r15ddyf55dn1wc26pf1idd73nd5x2ax5bd73")))) - (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 + ;; 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 @@ -604,7 +609,7 @@ shader compilation.") (define-public vulkan-validationlayers (package (name "vulkan-validationlayers") - (version "1.4.313.0") + (version "1.4.321.0") (source (origin (method git-fetch) (uri (git-reference @@ -619,7 +624,7 @@ shader compilation.") ""))) (sha256 (base32 - "1q5nwpl3rinypxl78yz0viw1kvqb70j0a6wgjp89zx1g0bswkaqm")))) + "1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9")))) (build-system cmake-build-system) (inputs (list glslang libxrandr @@ -740,7 +745,7 @@ storage.") (define-public vulkan-utility-libraries (package (name "vulkan-utility-libraries") - (version "1.4.313") + (version "1.4.321.0") (source (origin (method git-fetch) @@ -748,7 +753,7 @@ storage.") (url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries") (commit (string-append "vulkan-sdk-" version)))) (sha256 - (base32 "0gymlk0qz2k2970gyrijvk749zw49ffhc25zxqhzsgxxar8vhq1j")) + (base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments From bd419c25d0d0a3cf7e26b794eef17c59fe160a4c Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Sun, 24 Aug 2025 10:59:35 +0200 Subject: [PATCH 040/129] gnu: vkd3d: Improve style. * gnu/packages/vulkan.scm (vkd3d)[arguments]: Use G-Expressions. [native-inputs]: Modernize. Change-Id: I29d558f777f3bd56e55e8e5872ca7fa291081b0d Signed-off-by: Maxim Cournoyer --- gnu/packages/vulkan.scm | 91 +++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 3632b395d08..2037273d3a9 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -560,51 +560,52 @@ 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 From bfbed144f8f1662fcd4168c1312f9c2dce5b4d2c Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Mon, 25 Aug 2025 09:40:26 +0200 Subject: [PATCH 041/129] 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 --- gnu/packages/vulkan.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 2037273d3a9..91d3e9b8048 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -717,7 +717,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) @@ -728,11 +728,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 From 94d14652d0d58701a5a78d5c3a4a73d41201c728 Mon Sep 17 00:00:00 2001 From: Cayetano Santos Date: Mon, 25 Aug 2025 10:34:02 +0200 Subject: [PATCH 042/129] 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 --- gnu/packages/vulkan.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 91d3e9b8048..5ab1feb4658 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -46,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) @@ -169,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) @@ -178,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: @@ -206,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 From e166ffb8adf4b50eadabe704f2fa480f1b4e9a2c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 4 Sep 2025 11:34:32 +0900 Subject: [PATCH 043/129] gnu: mesa: Update to 25.2.2. * gnu/packages/gl.scm (mesa): Update to 25.2.2. Change-Id: Iad91783d151000f6a7e43ce5d59f4b9b38aedc45 --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 7a03bcdd4d0..255b4526243 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.2.1") + (version "25.2.2") (source (origin (method url-fetch) @@ -324,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.") "mesa-" version ".tar.xz"))) (sha256 (base32 - "192vjqf7g9k8v63cnw89b0n9cs0w2wlk0l7f97h4hpyki4hkf961")))) + "04j41qbc1qnf2iillyz1h5g7c1216x538f2msy7rs1589b6spms3")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. From 6f138f0f1663076f8a59c52418f5163b0ae62d66 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 4 Sep 2025 11:46:56 +0900 Subject: [PATCH 044/129] 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 --- gnu/packages/python-xyz.scm | 3 +- gnu/packages/qt.scm | 2 +- gnu/packages/tor-browsers.scm | 2 +- gnu/packages/video.scm | 515 +++++++++++++++++----------------- 4 files changed, 261 insertions(+), 261 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index f1fb89a2951..003b42a2eda 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13156,8 +13156,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 diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 646ef54357a..c369a618cae 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.") vulkan-headers)) (inputs (list alsa-lib - ffmpeg + ffmpeg-6 glib libxkbcommon libxrandr diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index ddd34a9f3e1..3473829855f 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -240,7 +240,7 @@ Browser.") libxcomposite libxt libffi - ffmpeg-7 + ffmpeg libvpx icu4c pixman diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 39755ad980e..5198a759049 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1644,17 +1644,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to operate properly.") (license license:expat))) -(define-public ffmpeg-7 +(define-public ffmpeg (package (name "ffmpeg") - (version "7.1.1") + (version "8.0") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1c837agaw8ljhjx6ndp2w7hffi2mkb22vnmb8v0fbfqdbqwq8fbk")))) + "13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj")))) (outputs '("out" "debug")) (build-system gnu-build-system) (inputs @@ -1870,9 +1870,9 @@ 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) + (inherit ffmpeg) (version "6.1.2") (source (origin (method url-fetch) @@ -1886,7 +1886,7 @@ audio/video codec library.") "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 @@ -1896,7 +1896,7 @@ audio/video codec library.") (string-append "-g -O2" " -Wno-error=incompatible-pointer-types" " -Wno-error=int-conversion"))))))) - (package-arguments ffmpeg-7))))) + (package-arguments ffmpeg))))) (define-public ffmpeg-5 (package @@ -2009,270 +2009,271 @@ audio/video codec library.") ;;; Custom ffmpeg package used by Jami, which incorporates custom patches. (define-public ffmpeg-jami - (package - (inherit ffmpeg) - (name "ffmpeg-jami") - (source (let ((ffmpeg-origin (package-source ffmpeg))) - (origin - (inherit ffmpeg-origin) - ;; These patches originate come from - ;; . - ;; 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 + ;; . + ;; 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 From 3cb17be21deffb91e0a6a97bfe9ed3f5dacaaba3 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 9 Sep 2025 17:24:32 -0400 Subject: [PATCH 045/129] 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 . * 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 --- gnu/packages/xdisorg.scm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 88d06c98f8c..8a00ba8498d 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -53,7 +53,7 @@ ;;; Copyright © 2021 ikasero ;;; Copyright © 2021 Felix Gruber ;;; Copyright © 2021, 2025 jgart -;;; Copyright © 2022, 2024 John Kehayias +;;; Copyright © 2022, 2024, 2025 John Kehayias ;;; Copyright © 2022 Jai Vetrivelan ;;; Copyright © 2022 Derek Chuank ;;; Copyright © 2022, 2023 Wamm K. D. @@ -902,31 +902,29 @@ typing tool (@code{wtype}, @code{xdotool}, etc.), or via standard output.") (define-public pixman (package (name "pixman") - (version "0.42.2") + (version "0.46.4") (source (origin (method url-fetch) (uri (string-append "https://www.cairographics.org/releases/pixman-" version ".tar.gz")) (sha256 - (base32 "0pk298iqxqr64vk3z6nhjwr6vjg1971zfrjkqy5r9zd2mppq057a")) + (base32 "072rd8sd454rzybmxx90fdzvabzvx0pr57y745qfwnxxqgml976h")) (patches (search-patches "pixman-CVE-2016-5296.patch")))) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - `(#:configure-flags - (list "--disable-static" - "--enable-timers" - "--enable-gnuplot" - ,@(if (target-arm32?) - `("--disable-arm-simd") - '())))) - (native-inputs (list pkg-config)) - (inputs (list libpng zlib)) + (list + #:configure-flags + #~(list "-Dtimers=true" + "-Dgnuplot=true" + #$@(if (target-arm32?) + '("-Darm-simd=false") + '())))) (synopsis "Low-level pixel manipulation library") (description "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterisation.") - (home-page "http://www.pixman.org/") + (home-page "https://www.pixman.org/") (license license:expat))) (define-public libdrm From e991da5eafd4fbe0f4212e25834428f0713c83c3 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 9 Sep 2025 17:34:09 -0400 Subject: [PATCH 046/129] gnu: wget: Ungraft. * gnu/packages/wget.scm (wget): Update to 1.25.0. [replacement]: Remove. (wget/fixed): Remove. Change-Id: Ib3798d67bc293295a0480e2db36de98e1ce7edea --- gnu/packages/wget.scm | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 8e36fea6de9..eec6bea4ed6 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2021 Michael Rohleder +;;; Copyright © 2025 John Kehayias ;;; ;;; 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") From 875e19dda26b71f791a6336c7da369a8f7daa055 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 9 Sep 2025 17:37:36 -0400 Subject: [PATCH 047/129] 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 --- gnu/packages/gtk.scm | 77 ++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 53 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 002bbe17fef..2899b4bc699 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -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,17 @@ 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: + ;; ). + (substitute* "testsuite/reftests/meson.build" + ((" 'flipping-icons.ui',.*") "") + ((" 'gtk-icontheme-sizing.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 +1134,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: - ;; ). - (substitute* "testsuite/reftests/meson.build" - ((" 'flipping-icons.ui',.*") "") - ((" 'gtk-icontheme-sizing.ui',.*") "")))))))))) - (define-public gtk (package (name "gtk") From 1eb1277f56afe4c3f98e63b3e2a1b83405747616 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 9 Sep 2025 17:45:29 -0400 Subject: [PATCH 048/129] 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 --- gnu/packages/gnome.scm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 084f84dfbdd..bff88c49477 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5021,7 +5021,6 @@ files.") (define-public rest (package - (replacement rest/fixed) (name "rest") (version "0.8.1") (source (origin @@ -5041,7 +5040,7 @@ files.") (list `(,glib "bin") gobject-introspection pkg-config)) (propagated-inputs ;; rest-0.7.pc refers to all these. - (list glib libsoup-minimal-2 libxml2)) + (list glib libsoup-minimal-2 libxml2-next-for-grafting)) (home-page "https://www.gtk.org/") (synopsis "RESTful web api query library") (description @@ -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) From 5e34f2ce3575ac309579a8bc05bf24485a7cdb11 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 11 Sep 2025 16:51:08 -0400 Subject: [PATCH 049/129] 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 --- gnu/packages/augeas.scm | 2 +- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/elf.scm | 2 +- gnu/packages/engineering.scm | 3 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/gl.scm | 1 - gnu/packages/glib.scm | 4 +- gnu/packages/gnome.scm | 32 ++--- gnu/packages/gtk.scm | 2 +- gnu/packages/image-processing.scm | 2 +- gnu/packages/libreoffice.scm | 8 +- gnu/packages/mate.scm | 2 +- gnu/packages/messaging.scm | 2 +- .../patches/python-libxml2-utf8.patch | 16 +-- gnu/packages/rdesktop.scm | 3 +- gnu/packages/virtualization.scm | 4 +- gnu/packages/vpn.scm | 2 +- gnu/packages/xml.scm | 110 ++++-------------- 18 files changed, 63 insertions(+), 136 deletions(-) diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index 0b3233e960e..8a784f48175 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm @@ -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") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5d218e6a690..ef285ddf835 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -23600,7 +23600,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") diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 40558a4c6ca..0b435993ef4 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -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 diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 0d5748b3c0d..f398fab48b5 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -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/") diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 89a0a0f6ec8..d5589fba198 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2234,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 diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 255b4526243..ae2abd3bd1f 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -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 diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 8347359a846..acdf9268cda 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -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) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bff88c49477..bca1a8d22ab 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -443,7 +443,7 @@ services.") "/share/gtk-doc/html")))) (native-inputs (list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable pkg-config)) - (propagated-inputs (list glib libsoup-minimal-2 libxml2-next-for-grafting)) + (propagated-inputs (list glib libsoup-minimal-2 libxml2)) (synopsis "Glib library for feeds") (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom, and other formats.") @@ -1223,7 +1223,7 @@ Library reference documentation.") ;; These inputs are required by the pkg-config file. (list glib libsoup - libxml2-next-for-grafting)) + libxml2)) (synopsis "WebDav server implementation using libsoup") (description "PhoDav was initially developed as a file-sharing mechanism for Spice, but it is generic enough to be reused in other projects, @@ -1433,7 +1433,7 @@ a debugging tool, @command{gssdp-device-sniffer}.") gsettings-desktop-schemas ;for ‘org.gnome.system.proxy’. gssdp libsoup - libxml2-next-for-grafting)) + libxml2)) (synopsis "PnP API for GNOME") (description "This package provides GUPnP, an object-oriented framework for creating UPnP devices and control points, written in C using @@ -2018,7 +2018,7 @@ and system administrators.") (inputs (list graphene gtk+ - libxml2-next-for-grafting + libxml2 libxslt poppler python-minimal @@ -2068,7 +2068,7 @@ formats like PNG, SVG, PDF and EPS.") ("json-glib" ,json-glib) ("liboauth" ,liboauth) ("libsoup" ,libsoup-minimal-2) - ("libxml2" ,libxml2-next-for-grafting))) + ("libxml2" ,libxml2))) (home-page "https://wiki.gnome.org/Projects/libgdata") (synopsis "Library for accessing online service APIs") (description @@ -3600,7 +3600,7 @@ XML/CSS rendering engine.") zlib)) (propagated-inputs (list glib - libxml2-next-for-grafting)) + libxml2)) (synopsis "G Structured File Library") (description "Libgsf aims to provide an efficient extensible I/O abstraction for dealing with different structured file formats.") @@ -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/") @@ -5040,7 +5040,7 @@ files.") (list `(,glib "bin") gobject-introspection pkg-config)) (propagated-inputs ;; rest-0.7.pc refers to all these. - (list glib libsoup-minimal-2 libxml2-next-for-grafting)) + (list glib libsoup-minimal-2 libxml2)) (home-page "https://www.gtk.org/") (synopsis "RESTful web api query library") (description @@ -5202,7 +5202,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.") libpsl nghttp2 ;for pkg-config `(,nghttp2 "lib") - libxml2-next-for-grafting + libxml2 sqlite zlib)) (inputs @@ -6010,7 +6010,7 @@ service via the system message bus.") (list gtk+ gdk-pixbuf json-glib - libxml2-next-for-grafting + libxml2 libsoup geocode-glib)) (inputs @@ -6129,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") @@ -8114,7 +8114,7 @@ to display dialog boxes from the commandline and shell scripts.") libxext libxfixes libxkbcommon - libxml2-next-for-grafting + libxml2 libxrandr mesa pango @@ -8940,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 @@ -13877,7 +13877,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 diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 2899b4bc699..e9bdb59964f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -613,7 +613,7 @@ diagrams.") fribidi glib gtk - libxml2-next + libxml2 pango pcre2)) (home-page "https://wiki.gnome.org/Projects/GtkSourceView") diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 9f2f1afd454..520ceeb0d8f 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -815,7 +815,7 @@ the OpenCV-Python library.") libpng (librsvg-for-system) libtiff - libxml2-next + libxml2 libwebp matio openexr diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index a0b3cd353ae..a23b980bdf6 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -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") diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 286252b6ed0..64f92318362 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -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 diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 26ea6d55fe7..65de945b71d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -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.") diff --git a/gnu/packages/patches/python-libxml2-utf8.patch b/gnu/packages/patches/python-libxml2-utf8.patch index e39672faa1b..9c4ca4fdb29 100644 --- a/gnu/packages/patches/python-libxml2-utf8.patch +++ b/gnu/packages/patches/python-libxml2-utf8.patch @@ -6,18 +6,18 @@ that 'itstool' stumbles upon when processing UTF-8 data: Patch by Jan Matejek from . ---- 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 . - 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); diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index d341c59e629..bfb0bb82b55 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -252,8 +252,7 @@ of parts of the Windows API.") linux-pam openssl pixman - python - python-libxml2)) + python)) (native-inputs (append (list bison diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a06082d9503..2f19b50d78c 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1775,7 +1775,7 @@ to integrate other virtualization mechanisms if needed.") `(,glib "bin") vala)) (propagated-inputs ;; ‘Required:’ by the installed .pc files. - (list glib libvirt libxml2-next gobject-introspection)) + (list glib libvirt libxml2 gobject-introspection)) (home-page "https://libvirt.org") (synopsis "GLib wrapper around libvirt") (description "libvirt-glib wraps the libvirt library to provide a @@ -1901,8 +1901,8 @@ virtualization library.") libosinfo libvirt libvirt-glib + libxml2 python-minimal - python-libxml2 python-libvirt python-pycairo python-pygobject diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index f961feab3de..6d07462f4d3 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -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 diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b7482bfbe97..20cb0e0bc85 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2024 Nicolas Graves ;;; Copyright © 2024 gemmaro ;;; Copyright © 2025 Antoine Côté +;;; Copyright © 2025 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -192,15 +193,16 @@ hierarchical form with variable field lengths.") (define-public libxml2 (package (name "libxml2") - (version "2.9.14") + (version "2.14.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0")))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/libxml2/" + (version-major+minor version)"/libxml2-" + version ".tar.xz")) + (sha256 + (base32 + "0fi0jysncjpvhvp29qcx3bydndapwphgkx7ial5kzf7ymyh5ir3w")) + (patches (search-patches "python-libxml2-utf8.patch")))) (build-system gnu-build-system) (outputs '("out" "static" "doc")) (arguments @@ -218,6 +220,13 @@ hierarchical form with variable field lengths.") (string-append "/bin/" file)) ".")) '("config.guess" "config.sub"))))) #~()) + (add-before 'configure 'configure-python + (lambda _ + (substitute* "python/setup.py.in" + ;; The build system ignores C_INCLUDE_PATH & co, so + ;; provide the absolute directory name. + (("/opt/include") + (string-append #$output "/include/libxml2"))))) (add-after 'install 'use-other-outputs (lambda _ (let ((doc (string-append #$output:doc "/share/")) @@ -245,7 +254,7 @@ hierarchical form with variable field lengths.") (native-inputs (append (if (target-loongarch64?) (list config) '()) - (list perl))) + (list perl pkg-config python-minimal))) (native-search-paths (list $SGML_CATALOG_FILES $XML_CATALOG_FILES)) (search-paths native-search-paths) @@ -254,58 +263,6 @@ hierarchical form with variable field lengths.") project (but it is usable outside of the Gnome platform).") (license license:x11))) -(define-public libxml2-next - (package - (inherit libxml2) - (name "libxml2") - (version "2.14.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03")))) - (native-inputs (modify-inputs (package-native-inputs libxml2) - (append pkg-config - python-minimal))))) - -(define-public libxml2-next/fixed - (package - (inherit libxml2) - (properties '((hidden? . #t))) - (name "libxml2") - (version "2.14.5") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/libxml2/" - (version-major+minor version)"/libxml2-" - version ".tar.xz")) - (sha256 - (base32 - "0jylv2kkyzih710blg24al7b43iaqg6xsfn52qy865knagrhdl03")))) - (arguments - (substitute-keyword-arguments (package-arguments libxml2-next) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (add-after 'install 'symlink-hardcoded-lib-for-grafts - (lambda _ - (let ((lib (string-append #$output "/lib/libxml2.so"))) - ;; XXX: When grafting, we need to reproduce the file paths to - ;; the libraries too. - (symlink (string-append lib ".16") - (string-append lib ".2"))))))))) - (native-inputs (modify-inputs (package-native-inputs libxml2) - (append pkg-config - python-minimal))))) - -(define-public libxml2-next-for-grafting - (package - (inherit libxml2) - (replacement libxml2-next/fixed) - (properties '((hidden? . #t))))) - (define-public libxml2-xpath0 (package/inherit libxml2 (name "libxml2-xpath0") @@ -320,34 +277,7 @@ provides an @code{--xpath0} option to @command{xmllint} that enables it to output XPath results with a null delimiter."))) (define-public python-libxml2 - (package/inherit libxml2 - (name "python-libxml2") - (source (origin - (inherit (package-source libxml2)) - (patches - (append (search-patches "python-libxml2-utf8.patch") - (origin-patches (package-source libxml2)))))) - (build-system pyproject-build-system) - (outputs '("out")) - (arguments - (list - ;; XXX: Tests are specified in 'Makefile.am', but not in 'setup.py'. - #:tests? #f - #:phases - #~(modify-phases %standard-phases - (add-before 'build 'configure - (lambda* (#:key inputs #:allow-other-keys) - (chdir "python") - (let ((libxml2-headers (search-input-directory - inputs "include/libxml2"))) - (substitute* "setup.py" - ;; The build system ignores C_INCLUDE_PATH & co, so - ;; provide the absolute directory name. - (("/opt/include") - (dirname libxml2-headers))))))))) - (native-inputs (list python-setuptools)) - (inputs (list libxml2)) - (synopsis "Python bindings for the libxml2 library"))) + (deprecated-package "python-libxml2" libxml2)) (define-public libxlsxwriter (package @@ -1256,7 +1186,7 @@ XSL-T processor. It also performs any necessary post-processing.") "1shk40mpaqaf05skgyxa7qxgcarjd6i1fadn2sk0b8lakfv96bnq")))) (build-system gnu-build-system) (propagated-inputs ; according to xmlsec1.pc - (list libxml2-next libxslt)) + (list libxml2 libxslt)) (inputs (list gnutls libgcrypt libltdl)) (native-inputs From b0b8ecbfffc9fd92893d12c7fb6f5727ef0d9112 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 11 Sep 2025 22:13:53 -0400 Subject: [PATCH 050/129] gnu: libx11: Update to 1.8.12. * gnu/packages/xorg.scm (libx11): Update to 1.8.12. Change-Id: I42986033bde1534e09a0f027c3599ed4142ff9c0 --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index c3c3a70339d..30a7b5e9d1a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5759,7 +5759,7 @@ Wayland.") (define-public libx11 (package (name "libx11") - (version "1.8.10") + (version "1.8.12") (source (origin (method url-fetch) @@ -5767,7 +5767,7 @@ Wayland.") version ".tar.xz")) (sha256 (base32 - "0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb")))) + "16lspc3bw2pg3jal7zyq6mxmxmmaax0fz6lgh1n4skqjn2dny0ps")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML From b28307bdf9edf12af22f96e43313ccbd6d8aa141 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Fri, 12 Sep 2025 17:09:54 -0400 Subject: [PATCH 051/129] 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 --- gnu/packages/base.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 51a06c5413e..2b3367d5b2b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -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 From 12d1567fcb1967800ad5521e0f9b14c4c94b262c Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Fri, 12 Sep 2025 17:12:47 -0400 Subject: [PATCH 052/129] 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 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 --- gnu/local.mk | 1 - .../patches/libxslt-generated-ids.patch | 173 ------------------ gnu/packages/xml.scm | 5 +- 3 files changed, 2 insertions(+), 177 deletions(-) delete mode 100644 gnu/packages/patches/libxslt-generated-ids.patch diff --git a/gnu/local.mk b/gnu/local.mk index 84afb74e70f..513f2c0eb65 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1786,7 +1786,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 \ diff --git a/gnu/packages/patches/libxslt-generated-ids.patch b/gnu/packages/patches/libxslt-generated-ids.patch deleted file mode 100644 index 1cd2363d6aa..00000000000 --- a/gnu/packages/patches/libxslt-generated-ids.patch +++ /dev/null @@ -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 */ - }; - - /** diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 20cb0e0bc85..5dec5d157a7 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -324,7 +324,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") (define-public libxslt (package (name "libxslt") - (version "1.1.37") + (version "1.1.43") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources" @@ -332,8 +332,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") "/libxslt-" version ".tar.xz")) (sha256 (base32 - "1d1s2bk0m6d7bzml9w90ycl0jlpcy4v07595cwaddk17h3f2fjrs")) - (patches (search-patches "libxslt-generated-ids.patch")))) + "0fhqy01x99iia8306czakxza4spzyn88w4bin4sw5bx57hw6ngas")))) (build-system gnu-build-system) (arguments (list #:phases From cff4b492120cd9d7916efd84799bde9f6f037b42 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Fri, 12 Sep 2025 17:18:50 -0400 Subject: [PATCH 053/129] 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 . * gnu/packages/autotools.scm (automake)[arguments]<#:phases>: Skip some tests. Change-Id: I87099386483efdbb62e42251298f0995f3967179 --- gnu/packages/autotools.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 7c36ff22c94..84f2444004e 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020, 2023, 2024, 2025 Janneke Nieuwenhuizen ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2022 Marius Bakke +;;; Copyright © 2025 John Kehayias ;;; ;;; 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) From 6b77af7b9bcde40316e4c945632b83f4ad22bf31 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 16 Sep 2025 14:52:54 -0400 Subject: [PATCH 054/129] gnu: python-lxml: Update to 6.0.1. * gnu/packages/xml.scm (python-lxml): Update to 6.0.1. Change-Id: Iab60f97a74c804e17fd2f2adf326d8a098c06ef0 --- gnu/packages/xml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 5dec5d157a7..e0415ece471 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1866,13 +1866,13 @@ because lxml.etree already has its own implementation of XPath 1.0.") (define-public python-lxml (package (name "python-lxml") - (version "5.2.2") + (version "6.0.1") (source (origin (method url-fetch) (uri (pypi-uri "lxml" version)) (sha256 - (base32 "11yvrzlswlh81z6lpmds2is2jd3wkigpwj6mcfcaggl0h64w8bdv")))) + (base32 "14064h0pxdsx36nhyjzrw0v16ygz977qf6l0ydnh5p97pwp8hfib")))) (build-system pyproject-build-system) (arguments `(#:phases (modify-phases %standard-phases From f24bad2890bce124faa14f642463af42e20a54cd Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 13 Sep 2025 01:56:32 -0400 Subject: [PATCH 055/129] 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 --- gnu/packages/documentation.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index d9a97a9b0fa..b18e62e3db9 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -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 + ;; . + "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"))) From 730f73121da35b5306d3a526bfd33af1cf2e9d1b Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 13 Sep 2025 14:49:55 -0400 Subject: [PATCH 056/129] 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 --- gnu/local.mk | 1 - gnu/packages/cups.scm | 6 +- ...minimal-Address-PPD-injection-issues.patch | 529 ------------------ 3 files changed, 3 insertions(+), 533 deletions(-) delete mode 100644 gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch diff --git a/gnu/local.mk b/gnu/local.mk index 513f2c0eb65..2f0acc8257f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1136,7 +1136,6 @@ 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/cura-engine-gcc-14.patch \ %D%/packages/patches/curl-CVE-2024-8096.patch \ %D%/packages/patches/curl-use-ssl-cert-env.patch \ diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index fcc63f3cad5..7f9cedd2f24 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2025 Lukas Gradl ;;; Copyright © 2025 Antoine Côté ;;; Copyright © 2024 Janneke Nieuwenhuizen +;;; Copyright © 2025 John Kehayias ;;; ;;; 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,7 @@ 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")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch b/gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch deleted file mode 100644 index b6cf94c0854..00000000000 --- a/gnu/packages/patches/cups-minimal-Address-PPD-injection-issues.patch +++ /dev/null @@ -1,529 +0,0 @@ -From 373924d728b61cf6dec9c8a1a1edeb4b9f342529 Mon Sep 17 00:00:00 2001 -From: Tobias Geerinckx-Rice -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: \"<>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: \"<>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 - From 4fb51864d859e8a26183d1769fe4697e5d18decb Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 14 Sep 2025 17:49:37 -0400 Subject: [PATCH 057/129] 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 --- gnu/packages/terminals.scm | 2 +- gnu/packages/xdisorg.scm | 69 ++++++++++++-------------------------- 2 files changed, 23 insertions(+), 48 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 7d9b2db9406..8021652dbcd 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -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 diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 8a00ba8498d..82ed070d402 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -633,14 +633,16 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "1.6.0") + (version "1.11.0") (source (origin - (method url-fetch) - (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" - version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/xkbcommon/libxkbcommon") + (commit (string-append "xkbcommon-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0awwz5pg9x5bj0d7dpg4a7bd4gl6k55mlpxwb12534fkrpn19p0f")))) + "1swa6rf63c0wi0qq5r661g63yk2iwa9l66148078xkrwcf05sp91")))) (outputs '("out" "doc")) (build-system meson-build-system) (inputs @@ -652,12 +654,19 @@ avoiding password prompts when X11 forwarding has already been setup.") xkeyboard-config)) (native-inputs (append - (list bison doxygen pkg-config python - ;; wayland-scanner is required at build time. - wayland) - (if (%current-target-system) - (list pkg-config-for-build) - '()))) + (list bison + doxygen + pkg-config + python + ;; wayland-scanner is required at build time. + wayland + ;; Xvfb for tests. + xorg-server-for-tests + ;; xkbcomp for tests. + xkbcomp) + (if (%current-target-system) + (list pkg-config-for-build) + '()))) (arguments (list #:configure-flags @@ -666,7 +675,8 @@ avoiding password prompts when X11 forwarding has already been setup.") %build-inputs "share/X11/xkb")) (string-append "-Dx-locale-root=" (search-input-directory - %build-inputs "share/X11/locale"))) + %build-inputs "share/X11/locale")) + "-Denable-docs=true") #:phases #~(modify-phases %standard-phases (add-after 'install 'move-doc @@ -695,41 +705,6 @@ X11 (yet).") "See 'COPYING' in the distribution.")) (properties '((cpe-name . "xkbcommon"))))) -(define-public libxkbcommon-1.5 - (package - (inherit libxkbcommon) - (version "1.5.0") - (source (origin - (inherit (package-source libxkbcommon)) - (method url-fetch) - (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" - version ".tar.xz")) - (sha256 - (base32 - "05z08rpa464x8myjxddhix7jp9jcmakd7xrybx4hz8dwpg2123sn")))))) - -(define-public libxkbcommon-1.8 - (package - (inherit libxkbcommon) - (version "1.8.1") - (source (origin - (inherit (package-source libxkbcommon)) - (method git-fetch) - (uri (git-reference - (url "https://github.com/xkbcommon/libxkbcommon") - (commit (string-append "xkbcommon-" version)))) - (file-name (git-file-name (package-name libxkbcommon) version)) - (sha256 - (base32 - "0fz6mf99lyp7x6g6v33210hhpykbg32fjmckyvxfpd805cza0xrj")))) - (arguments - (substitute-keyword-arguments (package-arguments libxkbcommon) - ((#:configure-flags flags #~(list)) - #~(cons "-Denable-docs=true" #$flags)))) - (native-inputs (modify-inputs (package-native-inputs libxkbcommon) - (append xorg-server ;; Xvfb for tests - xkbcomp))))) ;; xkbcomp for tests - (define-public libfakekey (package (name "libfakekey") From 1a4baddc0b6af2b6abfc8b51c10042dac0d40765 Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Tue, 1 Jul 2025 16:28:47 +0200 Subject: [PATCH 058/129] 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 --- gnu/local.mk | 1 + gnu/packages/cups.scm | 3 +- .../cups-relax-root-ownership-check.patch | 34 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/cups-relax-root-ownership-check.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2f0acc8257f..5300d3fbcbf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1136,6 +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-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 \ diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 7f9cedd2f24..5bed0580316 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -332,7 +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 "1dk5salizxy1qm19gw93ffdd34hsn1cd4s57nwl7nfhwwirkiri2")))) + (base32 "1dk5salizxy1qm19gw93ffdd34hsn1cd4s57nwl7nfhwwirkiri2")) + (patches (search-patches "cups-relax-root-ownership-check.patch")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/patches/cups-relax-root-ownership-check.patch b/gnu/packages/patches/cups-relax-root-ownership-check.patch new file mode 100644 index 00000000000..f24461153d8 --- /dev/null +++ b/gnu/packages/patches/cups-relax-root-ownership-check.patch @@ -0,0 +1,34 @@ +From 943e44dafa192b54fadcbb24f5f87d62a22c9f84 Mon Sep 17 00:00:00 2001 +From: Sergey Trofimov +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 From d69a4706aa870816bd7b7c9891df4a3ad29534df Mon Sep 17 00:00:00 2001 From: Dariqq Date: Sat, 19 Jul 2025 07:19:37 +0000 Subject: [PATCH 059/129] 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 fe8dded27f15b7052a4161be4690f6d943b93aff) --- guix/build/meson-build-system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm index d11a5d8e18e..b84a77c0f59 100644 --- a/guix/build/meson-build-system.scm +++ b/guix/build/meson-build-system.scm @@ -64,6 +64,7 @@ includedir "/include")) '()) ,(string-append "--buildtype=" build-type) + "--wrap-mode=nofallback" ,(string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref outputs "out") "/lib") ,(string-append "-Dcpp_link_args=-Wl,-rpath=" From 2a973bb9d6ab42324f0986ac0c324afe7b002cb0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 28 Jul 2025 19:17:24 +0900 Subject: [PATCH 060/129] 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 d9b9670b0573cdfba93afbb0ea8453d164a73ac7) --- guix/build/meson-build-system.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm index b84a77c0f59..d8be1f3faa2 100644 --- a/guix/build/meson-build-system.scm +++ b/guix/build/meson-build-system.scm @@ -76,12 +76,12 @@ (chdir build-dir) (apply invoke "meson" "setup" args))) -(define* (build #:key parallel-build? - #:allow-other-keys) +(define* (build #:key parallel-build? #:allow-other-keys) "Build a given meson package." - (invoke "ninja" "-j" (if parallel-build? - (number->string (parallel-job-count)) - "1"))) + (invoke "ninja" "--verbose" + "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1"))) (define* (check #:key tests? test-options parallel-tests? #:allow-other-keys) From 6d68d18446d5af3b2965bef96c143e01f1d494c5 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Mon, 23 Jun 2025 20:05:01 +0100 Subject: [PATCH 061/129] 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 Co-authored-by: Dariqq Change-Id: I31932f24d1a54b8c79987296daaeb5a5285a8344 Signed-off-by: Liliana Marie Prikler Co-authored-by: John Kehayias (cherry picked from commit 3bcc621b2f4be2f75aaf2d8fa175f4f8df4f5688) --- gnu/packages/build-tools.scm | 33 +++++++++++---------------------- gnu/packages/gl.scm | 1 - 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 74c74851787..62b383179db 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -309,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/" @@ -317,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 @@ -328,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 @@ -345,19 +347,6 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) -(define-public meson-1.8 - (package - (inherit meson) - (version "1.8.3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mesonbuild/meson/" - "releases/download/" version "/meson-" - version ".tar.gz")) - (sha256 - (base32 - "1gvs2mm6z2b4pgsv1d9gl7cm68gqvcr244nh5p63g8f01y8sl67i")))))) - (define-public meson-python (package (name "meson-python") diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index ae2abd3bd1f..fdeaee7e79d 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -383,7 +383,6 @@ also known as DXTn or DXTC) for Mesa.") (outputs '("out" "bin")) (arguments (list - #:meson meson-1.8 #:configure-flags #~(list #$@(cond From 6a5eb13d31ea0c15e382967ed1827141cc21d433 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Wed, 17 Sep 2025 23:20:37 -0400 Subject: [PATCH 062/129] gnu: mesa: Update to 25.2.3. * gnu/packages/gl.scm (mesa): Update to 25.2.3. Change-Id: I28cee586fc49ba5aad9fa362260357e96d76977f --- gnu/packages/gl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index fdeaee7e79d..4214f102a8d 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -314,7 +314,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "25.2.2") + (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 - "04j41qbc1qnf2iillyz1h5g7c1216x538f2msy7rs1589b6spms3")))) + "1y5lj9zy2hfvx9ji1rvsjapmzap7mpp5i3pf2yfcpmpica2v5mpj")))) (build-system meson-build-system) (propagated-inputs ;; The following are in the Requires.private field of gl.pc. From 6dffabe40f2a3bd4cfc34ce87796d4bc1ada6516 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 4 Sep 2025 18:03:53 +0200 Subject: [PATCH 063/129] mesa: Re-enable dependency fallbacks. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gl.scm (mesa)[#:configure-flags]: Add “--wrap-mode=nodownload”. (cherry picked from commit f0b058a54140fec3d2bb35a86496929d04a833c1) --- gnu/packages/gl.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 4214f102a8d..60c3a094f4b 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -410,6 +410,7 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink")) "-Dgles2=enabled" "-Dgbm=enabled" "-Dshared-glapi=enabled" + "--wrap-mode=nodownload" ; XXX: disable #$@(cond ((target-x86-32?) From a9abdb81eea209f3e1ba6a629f47870cf3e23ef2 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 01:24:42 -0400 Subject: [PATCH 064/129] 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 --- gnu/local.mk | 1 + gnu/packages/inkscape.scm | 2 ++ gnu/packages/patches/inkscape-libxml2.patch | 33 +++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 gnu/packages/patches/inkscape-libxml2.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5300d3fbcbf..23c595f38cf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1603,6 +1603,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 \ diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index b1b03928d06..a06e61294f1 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Boris A. Dekshteyn ;;; Copyright © 2020 Ekaitz Zarraga ;;; Copyright © 2023, 2024 Efraim Flashner +;;; Copyright © 2025 John Kehayias ;;; ;;; 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 diff --git a/gnu/packages/patches/inkscape-libxml2.patch b/gnu/packages/patches/inkscape-libxml2.patch new file mode 100644 index 00000000000..dc5b0f53460 --- /dev/null +++ b/gnu/packages/patches/inkscape-libxml2.patch @@ -0,0 +1,33 @@ +From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001 +From: Christian Hesse +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 ++#include + #include + #include + +-- +GitLab + From f5ac2ac7845961a6d1d54661238fcba407b68cf1 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 15:08:00 -0400 Subject: [PATCH 065/129] 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 --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 5 +-- .../patches/gtk-doc-mkhtml-test-fix.patch | 33 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 23c595f38cf..ba9d20b15b0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1553,6 +1553,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ + %D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \ %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index e9bdb59964f..f36ce2e791b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -36,7 +36,7 @@ ;;; Copyright © 2023 Sergiu Ivanov ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen -;;; Copyright © 2024 John Kehayias +;;; Copyright © 2024, 2025 John Kehayias ;;; Copyright © 2025 Florian Pelz ;;; Copyright © 2025 Remco van 't Veer ;;; @@ -2341,7 +2341,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 diff --git a/gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch b/gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch new file mode 100644 index 00000000000..b6adbbba8e7 --- /dev/null +++ b/gnu/packages/patches/gtk-doc-mkhtml-test-fix.patch @@ -0,0 +1,33 @@ +From 951743698610eaaa0cc9030f7d7d02437419ac24 Mon Sep 17 00:00:00 2001 +From: Neil Hanlon +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 +--- + 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 + From a9ad24eb9a4ad118908a86e6828531d7a8165f1e Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 15:37:49 -0400 Subject: [PATCH 066/129] gnu: mariadb: Update to 10.11.14. * gnu/packages/databases.scm (mariadb): Update to 10.11.14. Change-Id: Iea635acff6b89f9be23f0ce4ba255ef322eb8643 --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 547016c85ab..c5d90d900d2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -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 From 958b9db1cc2d40e7f331bc1307f7483230798373 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 17:38:53 -0400 Subject: [PATCH 067/129] 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 --- gnu/packages/gnome.scm | 2 +- gnu/packages/xml.scm | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bca1a8d22ab..31ff6dcb0d5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -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)) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index e0415ece471..2b38ed9d03f 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -189,7 +189,6 @@ binary extension of XML for the purpose of storing and manipulating data in a hierarchical form with variable field lengths.") (license license:lgpl2.1))) -;; Note: Remember to check python-libxml2 when updating this package. (define-public libxml2 (package (name "libxml2") @@ -263,6 +262,24 @@ hierarchical form with variable field lengths.") project (but it is usable outside of the Gnome platform).") (license license:x11))) +;; This is an old version (the most recent that works) of libxml2 solely for +;; building librsvg-2.40. +;; XXX: Remove once Rust (and thus newer librsvg) is supported on all +;; platforms. +(define-public libxml2-2.11 + (hidden-package + (package + (inherit libxml2) + (version "2.11.9") + (source (origin + (inherit (package-source libxml2)) + (uri (string-append "mirror://gnome/sources/libxml2/" + (version-major+minor version)"/libxml2-" + version ".tar.xz")) + (sha256 + (base32 + "17w0a622466k2hi5nln276la6rzfr9xaip3lqj71hmyvxyhmf0bq"))))))) + (define-public libxml2-xpath0 (package/inherit libxml2 (name "libxml2-xpath0") From 33a360ddae0d058d4387c5fe3c275ad88d6ac2bc Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sat, 20 Sep 2025 23:37:04 -0400 Subject: [PATCH 068/129] 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 --- gnu/packages/gtk.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f36ce2e791b..b1193ff4205 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1107,7 +1107,12 @@ application suites.") ;; ). (substitute* "testsuite/reftests/meson.build" ((" 'flipping-icons.ui',.*") "") - ((" 'gtk-icontheme-sizing.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)) From dcc14005b3dc348b4823c6e677c5668d4cbbd55d Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 21 Sep 2025 12:03:14 -0400 Subject: [PATCH 069/129] gnu: liblangtag: Update to 0.6.7. * gnu/packages/libreoffice.scm (liblangtag): Update to 0.6.7. Change-Id: I53a382d3c5784240a941c85f3efc29612655b4df --- gnu/packages/libreoffice.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index a23b980bdf6..60fcac40691 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -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)) From f79cc8d62b43fadc339844604e61672782bc8b0b Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 21 Sep 2025 15:16:32 -0400 Subject: [PATCH 070/129] 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 --- gnu/local.mk | 1 + gnu/packages/patches/raptor2-libxml2.patch | 30 ++++++++++++++++++++++ gnu/packages/rdf.scm | 3 ++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/raptor2-libxml2.patch diff --git a/gnu/local.mk b/gnu/local.mk index ba9d20b15b0..4e11f281f8d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2227,6 +2227,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 \ diff --git a/gnu/packages/patches/raptor2-libxml2.patch b/gnu/packages/patches/raptor2-libxml2.patch new file mode 100644 index 00000000000..605301ca0fd --- /dev/null +++ b/gnu/packages/patches/raptor2-libxml2.patch @@ -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 +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 */ + diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index ad6ec7921e5..609cae6d50b 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -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)) From 049e2bb30f3a104001218466f7b2202de0881a35 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 21 Sep 2025 15:30:17 -0400 Subject: [PATCH 071/129] 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 --- gnu/local.mk | 1 + gnu/packages/libreoffice.scm | 21 ++++++++++--- .../patches/libzmf-doxygen-1.14.patch | 30 +++++++++++++++++++ 3 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/libzmf-doxygen-1.14.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4e11f281f8d..306c21e0ec3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1676,6 +1676,7 @@ dist_patch_DATA = \ %D%/packages/patches/librewolf-use-system-wide-dir.patch \ %D%/packages/patches/libvirt-add-install-prefix.patch \ %D%/packages/patches/libvirt-respect-modules-path.patch \ + %D%/packages/patches/libzmf-doxygen-1.14.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/lightdm-arguments-ordering.patch \ %D%/packages/patches/lightdm-vnc-ipv6.patch \ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 60fcac40691..24edbfba4de 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -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 diff --git a/gnu/packages/patches/libzmf-doxygen-1.14.patch b/gnu/packages/patches/libzmf-doxygen-1.14.patch new file mode 100644 index 00000000000..46d05a2549d --- /dev/null +++ b/gnu/packages/patches/libzmf-doxygen-1.14.patch @@ -0,0 +1,30 @@ +From 48f94abff2fcc4943626a62c6180c60862288b08 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fridrich=20=C5=A0trba?= +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 + From ad562b78c3876786c01d79e32e87e8c43661d8fb Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 28 Jun 2025 09:52:08 +0200 Subject: [PATCH 072/129] gnu: gstreamer-docs: Update to 1.26.3. * gnu/packages/gstreamer.scm (gstreamer-docs): Update to 1.26.3. (cherry picked from commit 413d5f948b0fcfb1f69757599af77df37389bd21) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index f023947f97f..76bc3bcb821 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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)) From 43ab261e308a303b7b0d8fa217fcfc28e74790b7 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:42:03 +0200 Subject: [PATCH 073/129] gnu: gstreamer: Update to 1.26.3. * gnu/packages/gstreamer.scm (gstreamer): Update to 1.26.3. (cherry picked from commit 27ae993a066437e873a6adc3bb4d70e288659ec7) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 76bc3bcb821..461512be6cb 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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) From e641e26162c4f237c2ff79e2481b6bd361b5eb86 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:42:15 +0200 Subject: [PATCH 074/129] 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 8c82fb2fa3021b029e969529747668484320dae6) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 461512be6cb..3fbeb6390e5 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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 From 9a6c7d33cd1183807a80d5ea44753680ebba9af2 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:42:23 +0200 Subject: [PATCH 075/129] 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 e154bdc69bc98acf702b5c45925f0aa96d99e4fa) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 3fbeb6390e5..f339cc13843 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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 From 6603397aa311751ee184be673bd82cc852c9c5c8 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:42:33 +0200 Subject: [PATCH 076/129] gnu: gst-plugins-bad: Update to 1.26.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 82e2d85db5b1ee8cf617d2e4302a350ea6f08cf6) --- gnu/packages/gstreamer.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index f339cc13843..6e5cbb2ab90 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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. From e404ef8a54a83a539cc2c472e10015b2980f2e7e Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:43:27 +0200 Subject: [PATCH 077/129] 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 2ecf2f0892dbc7e593b1047bd67a3dd75ca30b0f) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 6e5cbb2ab90..ad71e68a082 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -959,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) @@ -967,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 From 00372cebceaadf8635f0ea1f06f2a98ebe6e3ef4 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:43:37 +0200 Subject: [PATCH 078/129] gnu: gst-libav: Update to 1.26.3. * gnu/packages/gstreamer.scm (gst-libav): Update to 1.26.3. (cherry picked from commit 2c9e1edfe411613d2ccb2e7728709ba4eb61a2bb) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index ad71e68a082..107c72a03ff 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -1016,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) @@ -1025,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)) From f727493e7e58c7c5dc7611912580d3891c5ba0d6 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 10:43:44 +0200 Subject: [PATCH 079/129] 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 64c4c8d384c868a0a07966019dc36fc356ecad92) --- gnu/packages/gstreamer.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 107c72a03ff..bfe055966e0 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -1039,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 @@ -1047,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 From 7d7c26f56580cb16c1da2d08fb384a83cdb67972 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 12:36:03 +0200 Subject: [PATCH 080/129] gnu: Add gst-rtsp-server. * gnu/packages/gstreamer.scm (gst-rtsp-server): New variable. (cherry picked from commit 2605aa6323351428b38115fb21d335b806fc70e9) --- gnu/packages/gstreamer.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index bfe055966e0..4dcf49eef45 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -1106,6 +1106,41 @@ 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") From 878bdee0fd3b319538b0a300ff1d61e97305f68b Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 12 Apr 2025 12:36:13 +0200 Subject: [PATCH 081/129] 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 71c8e360f63fa30196bdf84acf250689ab90e65f) --- gnu/packages/gstreamer.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 4dcf49eef45..7f8e6c159ac 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -1144,7 +1144,7 @@ RTSP connections and messages.") (define-public python-gst (package (name "python-gst") - (version "1.24.9") + (version "1.26.3") (source (origin (method url-fetch) (uri (string-append @@ -1152,7 +1152,7 @@ RTSP connections and messages.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "0bplhfnvsi3l9fmfb346n2dvzi1jrxqpp4kcwiwsrjrlgic1vrl0")))) + "04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk")))) (build-system meson-build-system) (arguments (list @@ -1168,7 +1168,10 @@ RTSP connections and messages.") (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 From 610ba732cd73ffb500abcd686e40ed023f33c914 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 21 Sep 2025 20:36:17 -0400 Subject: [PATCH 082/129] gnu: tracker: Fix build (re-enable dependency fallbacks). * gnu/packages/gnome.scm (tracker)[arguments]<#:configure-flags>: Add "--wrap-mode=nodownload". Change-Id: I84a7cfb5cd301cde395e82863283e23bb364ac70 --- gnu/packages/gnome.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 31ff6dcb0d5..6d5c55d0fd4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9718,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 From 63e393e4ac57177c786fdbad4493d8fc5584d8c5 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 22 Sep 2025 00:46:58 -0400 Subject: [PATCH 083/129] 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 --- gnu/local.mk | 1 + .../patches/libosinfo-libxml2-fix.patch | 83 +++++++++++++++++++ gnu/packages/virtualization.scm | 3 +- 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libosinfo-libxml2-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 306c21e0ec3..349843567b7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1749,6 +1749,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 \ diff --git a/gnu/packages/patches/libosinfo-libxml2-fix.patch b/gnu/packages/patches/libosinfo-libxml2-fix.patch new file mode 100644 index 00000000000..71d620532c3 --- /dev/null +++ b/gnu/packages/patches/libosinfo-libxml2-fix.patch @@ -0,0 +1,83 @@ +From 0adf38535637ec668e658d43f04f60f11f51574f Mon Sep 17 00:00:00 2001 +From: Roman Bogorodskiy +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 +--- + 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 + diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 2f19b50d78c..dc0a1bcc331 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -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 From 2c439691a6be332caf3a0067601b7db49ba1a52e Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 22 Sep 2025 22:37:12 -0400 Subject: [PATCH 084/129] 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 --- gnu/local.mk | 1 + gnu/packages/emacs.scm | 3 ++- .../patches/emacs-zoom-image-test-fix.patch | 25 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/emacs-zoom-image-test-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 349843567b7..7927ed21169 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 776c11a350f..5a7af4ea62c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -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" diff --git a/gnu/packages/patches/emacs-zoom-image-test-fix.patch b/gnu/packages/patches/emacs-zoom-image-test-fix.patch new file mode 100644 index 00000000000..b47cc4f800d --- /dev/null +++ b/gnu/packages/patches/emacs-zoom-image-test-fix.patch @@ -0,0 +1,25 @@ +From 462a541db904405ede8446c48ba0c71ad41c544d Mon Sep 17 00:00:00 2001 +From: Eli Zaretskii +Date: Thu, 17 Jul 2025 19:34:50 +0300 +Subject: [PATCH] ; * test/lisp/net/shr-tests.el (shr-test/zoom-image): Fix + (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 "" alt) ">"))) ++ (insert (format " Date: Tue, 23 Sep 2025 14:23:19 +0800 Subject: [PATCH 085/129] 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 --- gnu/packages/gimp.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index d5da671ada6..89fa08ca316 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -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 _ From d89c360134c9ee2f681a021af5a7e246b88a50eb Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 25 Sep 2025 12:23:54 -0400 Subject: [PATCH 086/129] 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 --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 003b42a2eda..2b5d9477084 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17667,7 +17667,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 From d186087f969ded61235ea6704f4613ddeaebebdb Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 12 Jun 2025 12:30:35 +0200 Subject: [PATCH 087/129] 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 --- gnu/local.mk | 1 + ...for-plugins-in-SANE_BACKEND_LIB_PATH.patch | 25 +++++++++++++++++++ gnu/packages/scanner.scm | 16 ++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 gnu/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch diff --git a/gnu/local.mk b/gnu/local.mk index 7927ed21169..6c83a91b29d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2266,6 +2266,7 @@ dist_patch_DATA = \ %D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \ %D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \ %D%/packages/patches/sajson-build-with-gcc10.patch \ + %D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ diff --git a/gnu/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch b/gnu/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch new file mode 100644 index 00000000000..aef4d152743 --- /dev/null +++ b/gnu/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch @@ -0,0 +1,25 @@ +From 324ad2e5b5d4b08fb682fa05d5baaaf087d13f5c Mon Sep 17 00:00:00 2001 +From: Sergey Trofimov +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 + diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 259e378b658..b99e60a6c59 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -48,6 +48,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix search-paths) #:use-module (guix utils)) (define-public sane-airscan @@ -115,6 +116,8 @@ both WSD and eSCL.") (file-name (git-file-name name version)) (sha256 (base32 "1fb6shx9bz0svcyasmyqs93rbbwq7kzg6l0h1zh3kjvcwhchyv72")) + (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 +189,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 . ;; Then work around "Throw to key `decoding-error' ..." by using sed. @@ -197,6 +205,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") From 9f1105ec506ee28c0e25aaed85dff5b85976b40f Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Wed, 18 Jun 2025 11:23:20 +0200 Subject: [PATCH 088/129] 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 --- gnu/packages/cups.scm | 4 ++-- gnu/packages/scanner.scm | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 5bed0580316..7035e52a829 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -752,7 +752,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 @@ -790,7 +790,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"))) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index b99e60a6c59..96857c471ad 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -42,6 +42,7 @@ #: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) @@ -104,9 +105,10 @@ 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") + (name "sane") (version "1.3.1") (source (origin (method git-fetch) @@ -226,16 +228,16 @@ package contains the library, but no drivers.") ;; 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 ("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) @@ -304,7 +306,7 @@ package contains the library and drivers."))) "/lib/udev/rules.d"))))))) (inputs (list boost eudev - sane-backends-minimal + sane libusb libjpeg-turbo imagemagick From ff1b1387dd28ba425a2cb5fa5ec8b7e573491402 Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Wed, 18 Jun 2025 11:15:34 +0200 Subject: [PATCH 089/129] 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 --- doc/guix.texi | 56 ++++++++++++++++++++++++++++------------ gnu/services/desktop.scm | 46 ++++++++++++++++++++++++++++++--- 2 files changed, 83 insertions(+), 19 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9aadad4c2ea..cad210d2930 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 76533b1a762..83132480fb2 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -80,8 +80,10 @@ #:use-module (gnu packages nfs) #:use-module (gnu packages enlightenment) #:use-module (guix deprecation) + #:use-module (guix i18n) #:use-module (guix records) #:use-module (guix packages) + #:use-module (guix search-paths) #:use-module (guix store) #:use-module (guix ui) #:use-module (guix utils) @@ -147,6 +149,11 @@ accountsservice-service ; deprecated cups-pk-helper-service-type + + sane-configuration + sane-configuration? + sane-configuration-backends + sane-configuration-sane sane-service-type gnome-desktop-configuration @@ -1681,6 +1688,33 @@ accountsservice web site} for more information." ;; The '60-libsane.rules' udev rules refers to the "scanner" group. (list (user-group (name "scanner") (system? #t)))) +(define (non-empty-list-of-packages? val) + (and (not (null? val)) (list-of-packages? val))) + +(define-configuration/no-serialization sane-configuration + (sane + (package sane) + "The package that provides the SANE library.") + (backends + (non-empty-list-of-packages (list sane-backends)) + "A list of packages containing SANE backends.")) + +(define (sane-search-paths config) + (match-record config (sane backends) + (let ((backend-union (directory-union "sane-backends" backends))) + (map (match-lambda + (($ variable (files)) + (cons variable (file-append backend-union "/" files)))) + (package-native-search-paths sane))))) + +(define* (lift-sane-configuration config #:key warn?) + (if (sane-configuration? config) + config + (begin + (when warn? + (warning (G_ "'sane' service now expects a 'sane-configuration' record~%"))) + (sane-configuration (backends (list config)))))) + (define sane-service-type (service-type (name 'sane) @@ -1688,9 +1722,15 @@ accountsservice web site} for more information." "This service provides access to scanners @i{via} @uref{http://www.sane-project.org, SANE} by installing the necessary udev rules.") - (default-value sane-backends-minimal) + (default-value (sane-configuration)) (extensions - (list (service-extension udev-service-type list) + (list (service-extension udev-service-type + (lambda (c) + (sane-configuration-backends + (lift-sane-configuration c #:warn? #t)))) + (service-extension session-environment-service-type + (lambda (c) + (sane-search-paths (lift-sane-configuration c)))) (service-extension account-service-type (const %sane-accounts)))))) @@ -2445,7 +2485,7 @@ applications needing access to be root.") ;; Add udev rules for MTP devices so that non-root users can access ;; them. (simple-service 'mtp udev-service-type (list libmtp)) - ;; Add udev rules for scanners. + ;; Add udev rules and default backends for scanners. (service sane-service-type) ;; Add polkit rules, so that non-root users in the wheel group can ;; perform administrative tasks (similar to "sudo"). From 2c48201171460f704ec1f329f246050d5fb375a8 Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 12 Jun 2025 12:39:42 +0200 Subject: [PATCH 090/129] gnu: hplip: Make SANE backend truly pluggable. * gnu/packages/cups.scm (hplip)[#:phases] : Fix dynamic loading. Change-Id: I5ae3edabf8ccb87d547990f641fe42d2260e9080 --- gnu/packages/cups.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 7035e52a829..ad9779cb2e6 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -704,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" From 6ff6fc52c91749371fe20ced3b1a5524bbdf168f Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 12 Jun 2025 14:17:54 +0200 Subject: [PATCH 091/129] 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 --- gnu/packages/scanner.scm | 22 +--------------------- gnu/services/desktop.scm | 7 ++++++- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 96857c471ad..b5796a592c8 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -224,15 +224,11 @@ 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 (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))) @@ -247,22 +243,6 @@ package contains the library, but no drivers.") ;; (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") diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 83132480fb2..1fff153a400 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1712,7 +1712,12 @@ accountsservice web site} for more information." config (begin (when warn? - (warning (G_ "'sane' service now expects a 'sane-configuration' record~%"))) + (warning (G_ "'sane' service now expects a 'sane-configuration' record~%")) + + (when (eq? config sane-backends) + (warning (G_ "'sane-backends' does not include 'hplip' backend anymore. Add it +explicitly when needed.~%")))) + (sane-configuration (backends (list config)))))) (define sane-service-type From d087319ecec0a3e9ee526145df6829667a6eb01d Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 12 Jun 2025 14:40:30 +0200 Subject: [PATCH 092/129] gnu: scanbd: Format inputs. * gnu/packages/scanner.scm (scanbd)[inputs]: Use new format. Change-Id: I82d4d013b93cf445056bfe3a0c78addef367b0db --- gnu/packages/scanner.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index b5796a592c8..9251ef91489 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -348,11 +348,7 @@ standard.") (native-inputs (list pkg-config)) (inputs - `(("dbus" ,dbus) - ("libconfuse" ,libconfuse) - ("sane-backends" ,sane-backends) - ("udev" ,eudev) - ("zlib" ,zlib))) + (list dbus libconfuse sane-backends eudev zlib)) (home-page "https://scanbd.sourceforge.io") (synopsis "Configurable scanner button monitor") (description "Scanbd stands for scanner button daemon. It regularly polls From db64e4e073c583a69b830d762758b6514fb77c7f Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 12 Jun 2025 14:05:45 +0200 Subject: [PATCH 093/129] 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 --- gnu/packages/gnome.scm | 6 +++--- gnu/packages/hardware.scm | 2 +- gnu/packages/kde.scm | 2 +- gnu/packages/libreoffice.scm | 2 +- gnu/packages/ocr.scm | 2 +- gnu/packages/python-xyz.scm | 2 +- gnu/packages/scanner.scm | 6 +++--- gnu/packages/wine.scm | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6d5c55d0fd4..63b65d42482 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5791,7 +5791,7 @@ output devices.") docbook-xsl gtk-doc/stable libxslt - sane-backends + sane vala))))) ;for VAPI, needed by simple-scan (define-public geoclue @@ -7230,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 @@ -13993,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") diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index cdf5f6d5463..0f8f5e7809b 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -476,7 +476,7 @@ sharing.") procps psmisc ;for pstree rpm - sane-backends + sane smartmontools sysstat upower diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 3dde1505a27..20641d8cf36 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -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 diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 24edbfba4de..a372793c6a6 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1190,7 +1190,7 @@ commonly called @code{ftoa} or @code{dtoa}.") python-lxml qrcodegen-cpp redland - sane-backends + sane unixodbc unzip vigra diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm index cc7c6ba665c..bfb32b36e53 100644 --- a/gnu/packages/ocr.scm +++ b/gnu/packages/ocr.scm @@ -213,7 +213,7 @@ default. To add support for more languages, the leptonica podofo poppler-qt5 - sane-backends + sane qtbase-5 qtspell quazip-5 diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2b5d9477084..b670c776790 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -35555,7 +35555,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 diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 9251ef91489..1ab869499bb 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -81,7 +81,7 @@ libjpeg-turbo libpng 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 @@ -348,7 +348,7 @@ standard.") (native-inputs (list pkg-config)) (inputs - (list dbus libconfuse sane-backends eudev 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 @@ -429,7 +429,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") diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index df1796f7808..e9f9311db7d 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -185,7 +185,7 @@ integrate Windows applications into your desktop.") libgphoto2 openldap samba - sane-backends + sane libpcap libusb libice From 0df6bbf58cb3b362d5055d3a47abcb9758ce7403 Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Thu, 18 Sep 2025 21:45:39 +0200 Subject: [PATCH 094/129] gnu: sane-airscan: Update to 0.99.36. * gnu/packages/scanner.scm (sane-airscan): Update to 0.99.36. Change-Id: I1e5227d2ff2e4578531bcb7051ad9d7f94d3b323 --- gnu/packages/scanner.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 1ab869499bb..6d69917ac9b 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -55,7 +55,7 @@ (define-public sane-airscan (package (name "sane-airscan") - (version "0.99.27") + (version "0.99.36") (source (origin (method git-fetch) @@ -64,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 @@ -80,6 +80,7 @@ gnutls libjpeg-turbo libpng + libtiff libxml2 sane)) (home-page "https://github.com/alexpevzner/sane-airscan") From afcc9734d42c76b1509b7f4f4fad17b01f672d75 Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Fri, 19 Sep 2025 08:28:08 +0200 Subject: [PATCH 095/129] gnu: sane: Update to 1.4.0. * gnu/packages/scanner.scm (sane): Update to 1.4.0. Change-Id: I6c0d98de464c38d5c326a7f8346ca03a2be6a34c --- gnu/packages/scanner.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 6d69917ac9b..3cbfa227175 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -110,7 +110,7 @@ both WSD and eSCL.") (define-public sane (package (name "sane") - (version "1.3.1") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -118,7 +118,7 @@ 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))) From 3eb7f36f4d76746fe1069a1d8b8a84e2f9bc4b5b Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Thu, 25 Sep 2025 23:18:20 -0400 Subject: [PATCH 096/129] gnu: python-beautifulsoup4: Update to 4.13.5. * gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.13.5. Change-Id: Ie1786b0b16b4332ea6295a3ecea83540dbab82cc --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b670c776790..ad39e351f7b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15653,14 +15653,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 From babd4f920aee62b1353fa594b4926119c13070b6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 17:06:21 +0900 Subject: [PATCH 097/129] 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 --- gnu/packages/music.scm | 68 ++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c789ae54fa2..ca3f1f45a9d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -6090,40 +6090,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 From 733584d44fd8d9497c026e36ab5cb1ae62f371f1 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 10:36:08 +0200 Subject: [PATCH 098/129] 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)[patches]: Apply it. Change-Id: Id48bf513e6c80b59ae2bb167e7e98e41d5efad6f Signed-off-by: John Kehayias --- gnu/local.mk | 1 + .../patches/mpv-0.40.0-fix-ffmpeg-8.0.patch | 40 +++++++++++++++++++ gnu/packages/video.scm | 5 ++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6c83a91b29d..45cf60d520c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1871,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 \ diff --git a/gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch b/gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch new file mode 100644 index 00000000000..847bba95708 --- /dev/null +++ b/gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch @@ -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?= +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); + } diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5198a759049..9c651f4d4f8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2700,7 +2700,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 From cb29f53da48bee8251f5584232980208f736e01d Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Fri, 26 Sep 2025 17:46:08 -0400 Subject: [PATCH 099/129] gnu: r-xml2: Update to 1.4.0. * gnu/packages/cran.scm (r-xml2): Update to 1.4.0. Change-Id: I4ec43f8e2b660086c16bd3c4479d071ee0fbec9d --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c0a13082aff..9fae9575e85 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -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")))) From 728a0a1e6c64dfbe8b0efa21d21e723bcf7d4603 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 17:22:15 +0900 Subject: [PATCH 100/129] 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 --- gnu/packages/python-xyz.scm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ad39e351f7b..49a9d644fdc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -17610,16 +17610,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") @@ -17646,14 +17644,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: From 947eda0abaaa86977dd928ed85658e4ab4423549 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 26 Aug 2025 16:22:40 +0900 Subject: [PATCH 101/129] gnu: harfbuzz: Update to 11.4.4. * gnu/packages/gtk.scm (harfbuzz): Update to 11.4.4. Change-Id: I0716fcaee731e062a250b5c9d4a04a433f2310b0 --- gnu/packages/fontutils.scm | 2 +- gnu/packages/gtk.scm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 997fb3c3ded..309451d83c9 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019, 2020, 2022 Marius Bakke ;;; Copyright © 2020 Roel Janssen ;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou -;;; Copyright © 2021-2024 Maxim Cournoyer +;;; Copyright © 2021-2025 Maxim Cournoyer ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Eric Bavier ;;; Copyright © 2022 Felipe Balbi diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b1193ff4205..8f151416695 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -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 From df5e971801f42d540eab9138775285460c4e09f2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 18:11:37 +0900 Subject: [PATCH 102/129] gnu: python-unicodedata2: Update to 16.0.0. * gnu/packages/python-xyz.scm (python-unicodedata2): Update to 16.0.0. Change-Id: Ia3edef9c5ada75b2c85727be3b55db4ab2bc7b44 --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 49a9d644fdc..654d4ab932b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21053,13 +21053,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") From 615efa47f2164ecb2c4815c12000c197c41f14c6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 21:52:46 +0900 Subject: [PATCH 103/129] 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 --- gnu/packages/graphics.scm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 06c9eeac42c..fc151da6f8d 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020, 2021, 2025 Nicolas Goaziou ;;; Copyright © 2020 Raghav Gururajan -;;; Copyright © 2020-2024 Maxim Cournoyer +;;; Copyright © 2020-2025 Maxim Cournoyer ;;; Copyright © 2020 Gabriel Arazas ;;; Copyright © 2021 Antoine Côté ;;; Copyright © 2021 Andy Tai @@ -1224,14 +1224,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: + ;; ). + #: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 +1259,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 From fe875d5317efb5b0c2b6348b349b7bf5062a1ca3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 21:54:42 +0900 Subject: [PATCH 104/129] 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 --- gnu/packages/fontutils.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 309451d83c9..22b34c324ef 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -708,13 +708,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 +726,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 From 75b2594014fd240c1354e665c707bc13292d2fac Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 21:55:27 +0900 Subject: [PATCH 105/129] 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 --- gnu/packages/fontutils.scm | 76 +++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 22b34c324ef..b6087bfb435 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -1953,51 +1953,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 application’s 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 From c254d4a5e1b43501784d36b419cfe9bbca3c30f2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 26 Sep 2025 22:21:45 +0900 Subject: [PATCH 106/129] gnu: python-ufolib2: Update to 0.18.1. * gnu/packages/fontutils.scm (python-ufolib2): Update to 0.18.1. Change-Id: I598c2589f515cd4b0eef733b84491b64d77258ab --- gnu/packages/fontutils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index b6087bfb435..b9dc40ce6b5 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -1924,13 +1924,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 From fdaea945c9297d5bb972d31c941cd5b64dc77162 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 00:34:56 +0900 Subject: [PATCH 107/129] 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 --- gnu/packages/xml.scm | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 2b38ed9d03f..ed0b1743c91 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1921,19 +1921,13 @@ libxml2 and libxslt.") (sha256 (base32 "03l86qr5xzvz0jcbk669sj8nbw1fjshmf0b7l83gl5cfnx81wm5i")))) (arguments - (list #:phases + (list #:tests? #f ;some tests fail with newer libxml2 + #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-gcc-14-strictness (lambda _ (setenv "CFLAGS" - "-Wno-error=incompatible-pointer-types"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (substitute* "src/lxml/tests/test_elementtree.py" - ;; AssertionError: Lists differ: [] != [('end', 'element')] - (("def test_simple_xml") "def _do_not_test_simple_xml")) - (invoke "make" "test")))))))))) + "-Wno-error=incompatible-pointer-types"))))))))) (define-deprecated python-lxml-4.7 python-lxml) (export python-lxml-4.7) From 1ed02526453c4db8f6be4f547048991c3e6860a3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 00:36:09 +0900 Subject: [PATCH 108/129] 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 --- gnu/packages/fontutils.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index b9dc40ce6b5..fffe03d4349 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -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 From 5eccc6e725e29d82411e426778321471dfcaa2c1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 00:37:16 +0900 Subject: [PATCH 109/129] gnu: python-cffsubr: Update to 0.3.0. * gnu/packages/fontutils.scm (python-cffsubr): Update to 0.3.0. Change-Id: I452751aa6f2eea2cb4332f6d162b06d10d7c411e --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index fffe03d4349..474770b30e0 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -471,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) @@ -479,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 From 282c1098d112f0d05e251c1d324396e200ec1ab4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 00:39:02 +0900 Subject: [PATCH 110/129] gnu: python-afdko: Update to 4.0.2. * gnu/packages/fontutils.scm (python-afdko): Update to 4.0.2. Change-Id: I4c05f1100d80cbbd2b542cbdc537d7ab8373847a --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 474770b30e0..d3bd20ba2c3 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -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 From 9bf3b6e335bfc24e5675385a460714640279984f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 01:05:31 +0900 Subject: [PATCH 111/129] gnu: python-cu2qu: Update to 1.6.7.post2. * gnu/packages/fontutils.scm (python-cu2qu): Update to 1.6.7.post2. Change-Id: I1dd2a69912ac8c64dfd349695ee0713e51aefd33 --- gnu/packages/fontutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index d3bd20ba2c3..3bd48987fbb 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -561,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. From 09d546dc55626ef6671657befecbfa342c2e9413 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 01:13:43 +0900 Subject: [PATCH 112/129] 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 --- gnu/packages/fontutils.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 3bd48987fbb..7e25c231ca8 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -593,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 From 610bbfb4dbbe0f17194a86641477dc1894516a9e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 27 Sep 2025 10:25:00 +0900 Subject: [PATCH 113/129] gnu: gupnp-av: Update to 0.14.4. * gnu/packages/gnome.scm (gupnp-av): Update to 0.14.4. Change-Id: I13cce944540f84f36d888e2266fb70728efecf2e --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 63b65d42482..8f9e18561b0 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -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 From 314cb4319ee3a01179497b60f5b3e068d49717a3 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 19:03:31 +0200 Subject: [PATCH 114/129] gnu: Add wlroots-0.18. * gnu/packages/wm.scm (wlroots-0.18): New variable. Change-Id: I01eda336601fc26a03bb76c407caf95dd4b97a55 Signed-off-by: John Kehayias --- gnu/packages/wm.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 5130bf99a3e..fc16df54eb2 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2162,6 +2162,20 @@ Wayland compositor") modules for building a Wayland compositor.") (license license:expat))) ; MIT license +(define-public wlroots-0.18 + (package + (inherit wlroots) + (version "0.18.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/wlroots/wlroots") + (commit version))) + (file-name (git-file-name "wlroots" version)) + (sha256 + (base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw")))))) + (define-public wlroots-0.17 (package (inherit wlroots) From 5da6508f7e1a3fa3cb26e21d59737eb29cb9bba5 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:58:52 +0200 Subject: [PATCH 115/129] gnu: Add wlroots-0.19. * gnu/packages/wm.scm (wlroots-0.19): New variable. Change-Id: Iabd13690e9cafdcf876f4f3d18530fb3d75ae21f Signed-off-by: John Kehayias --- gnu/packages/wm.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index fc16df54eb2..8d77a96ef64 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2162,6 +2162,22 @@ Wayland compositor") modules for building a Wayland compositor.") (license license:expat))) ; MIT license +;; Allow packages refering to stable wlroots version, because +;; wlroots updates are backward incompatible. +(define-public wlroots-0.19 + (package + (inherit wlroots) + (version "0.19.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/wlroots/wlroots") + (commit version))) + (file-name (git-file-name "wlroots" version)) + (sha256 + (base32 "1w3nlrvy7625jh4f0l923f7irywzfdashcw5hbf8jq9kpjhpm323")))))) + (define-public wlroots-0.18 (package (inherit wlroots) From 299d8b286616c143a04e80e003e57664cc7657ad Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:58:56 +0200 Subject: [PATCH 116/129] 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 --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9c651f4d4f8..a94dcf1460f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3012,7 +3012,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") From 3f1b4b63a4dda5ec4d325cb3e4650086cfaef22c Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:58:57 +0200 Subject: [PATCH 117/129] 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 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 8d77a96ef64..79d0288296d 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -243,7 +243,7 @@ the leaves of a full binary tree.") (native-inputs (list pkg-config scdoc ;; for wayland-scanner wayland)) - (inputs (list wayland wlroots libxkbcommon)) + (inputs (list wayland wlroots-0.18 libxkbcommon)) (home-page "https://github.com/cage-kiosk/cage") (synopsis "Wayland kiosk") (description "This package provides a Wayland @dfn{kiosk}, which runs a From 5302779055de96be12fc0b2cfec545ac7f351a0c Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:58:58 +0200 Subject: [PATCH 118/129] gnu: fnott: Remove wlroots input. * gnu/packages/wm.scm (fnott)[inputs]: Remove wlroots. Change-Id: Id1ea1d5c30539965dfe980cdb899db81e45a00c1 Signed-off-by: John Kehayias --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 79d0288296d..06f743caec4 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1472,7 +1472,7 @@ the XDG Autostart specification.") tllist scdoc)) (inputs - (list wlroots wayland fcft dbus libpng)) + (list wayland fcft dbus libpng)) (home-page "https://codeberg.org/dnkl/fnott") (synopsis "Keyboard driven and lightweight Wayland notification daemon") (description "Fnott is a keyboard driven and lightweight notification daemon From 373d2f76b72ba0f182cfe40406d61ee7eab52f56 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:58:59 +0200 Subject: [PATCH 119/129] 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 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 06f743caec4..ca8f655063c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1909,7 +1909,7 @@ started automatically on the first call via D-Bus.") (native-inputs (list pkg-config)) (inputs - (list wlroots)) + (list wlroots-0.18)) (home-page "https://codeberg.org/dwl/dwl") (synopsis "Dynamic window manager for Wayland") (description From f0b92a3ce9d62cf2b5ae63a8537aa64974cc3421 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:59:01 +0200 Subject: [PATCH 120/129] 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 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index ca8f655063c..a5f4a2f8839 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2379,7 +2379,7 @@ narrow the items to those matching the tokens in the input.") scenefx swaybg wayland - wlroots)) + wlroots-0.18)) (home-page "https://github.com/WillPower3309/swayfx") (synopsis "Sway Fork with extra options and effects") (description From 226ff9fca737f4874b08cac0fe7870b3f2149033 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:59:02 +0200 Subject: [PATCH 121/129] 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 --- gnu/packages/wm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index a5f4a2f8839..954b28581ed 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -3826,7 +3826,7 @@ read and write, and compatible with JSON.") (define-public labwc (package (name "labwc") - (version "0.8.4") + (version "0.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -3835,7 +3835,7 @@ read and write, and compatible with JSON.") (file-name (git-file-name name version)) (sha256 (base32 - "1wbza00y2xf2zn34q5c8g5k2dn2xjzbbqmsnjv6c90mh2bbk1q95")))) + "0p475vjn9gg314spf89di6i1l2lr9xx59mz4hq4shvbh64hr48pi")))) (build-system meson-build-system) (native-inputs (list pkg-config gettext-minimal scdoc)) @@ -3848,7 +3848,7 @@ read and write, and compatible with JSON.") libxcb libxml2 pango - wlroots)) + wlroots-0.19)) (home-page "https://labwc.github.io") (synopsis "Window-stacking compositor for Wayland") (description From 944e93a90c2e935c243296f143a21c254b3f9154 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:59:03 +0200 Subject: [PATCH 122/129] 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 --- gnu/packages/wm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 954b28581ed..b40588cb9bb 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -4514,7 +4514,7 @@ battery efficient---polling is only done when absolutely necessary.") (define-public wideriver (package (name "wideriver") - (version "1.2.0") + (version "1.3.1") (source (origin (method git-fetch) @@ -4523,7 +4523,7 @@ battery efficient---polling is only done when absolutely necessary.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "16i0mzgxn32nrh5ajn0kb4xdwmsjg03amhasxhwyvspar5y4flhg")))) + (base32 "1ljl1finfajinvrj073dbwk9vm352jwr6rm9vn5fkrqi296s1n8x")))) (build-system gnu-build-system) (arguments (list @@ -4534,7 +4534,7 @@ battery efficient---polling is only done when absolutely necessary.") #:phases #~(modify-phases %standard-phases (delete 'configure)))) ; no configure script (native-inputs (list pkg-config cmocka)) - (inputs (list wayland wayland-protocols wlroots)) + (inputs (list wayland wayland-protocols)) (home-page "https://github.com/alex-courtis/wideriver") (synopsis "A set of riverWM layouts") (description From 952ba045ccb1042936ab65a11d87c64a37d12f75 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:59:04 +0200 Subject: [PATCH 123/129] 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 --- gnu/packages/zig-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/zig-xyz.scm b/gnu/packages/zig-xyz.scm index e24c8f519f2..9665a56a2dc 100644 --- a/gnu/packages/zig-xyz.scm +++ b/gnu/packages/zig-xyz.scm @@ -445,7 +445,7 @@ interface.") `(,@args #:install-source? #f)) (chdir "..")))))) (propagated-inputs - (list wlroots + (list wlroots-0.18 zig-pixman zig-wayland zig-xkbcommon)) From b7b468ee31c9b03db73ae7b0b4a6952f43144b9f Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 19:11:44 +0200 Subject: [PATCH 124/129] 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 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index b40588cb9bb..b3de9414c6b 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2340,7 +2340,7 @@ narrow the items to those matching the tokens in the input.") pcre2 swaybg wayland - wlroots)) + wlroots-0.18)) (native-inputs (cons* linux-pam mesa pkg-config scdoc wayland-protocols (if (%current-target-system) From d74bfe66c16ab3436409c69daa3480eaaac5b912 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 19:11:46 +0200 Subject: [PATCH 125/129] 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 --- gnu/packages/wm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index b3de9414c6b..df304aa028f 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -4585,7 +4585,7 @@ configure input, and customize Wayfire plugins.") mesa libxkbcommon libdrm - wlroots)) + wlroots-0.18)) (home-page "https://github.com/wlrfx/scenefx") (synopsis "Drop-in replacement for the wlroots scene API") (description From 23aa0bedd51e6742c388d2f0f0c698f0b28fbea7 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 26 Sep 2025 18:59:00 +0200 Subject: [PATCH 126/129] 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 --- gnu/packages/wm.scm | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index df304aa028f..637a4aeb4ae 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2104,7 +2104,7 @@ XDG-Output for wlclock to work.") (define-public wlroots (package (name "wlroots") - (version "0.18.2") + (version "0.19.1") (source (origin (method git-fetch) @@ -2113,7 +2113,7 @@ XDG-Output for wlclock to work.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1l1c4m8m1h8rl00y9yi6qjma5m3lhai9hqv5578q69yg2dcwraxw")))) + (base32 "1w3nlrvy7625jh4f0l923f7irywzfdashcw5hbf8jq9kpjhpm323")))) (build-system meson-build-system) (arguments (list #:phases @@ -2164,19 +2164,7 @@ modules for building a Wayland compositor.") ;; Allow packages refering to stable wlroots version, because ;; wlroots updates are backward incompatible. -(define-public wlroots-0.19 - (package - (inherit wlroots) - (version "0.19.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.freedesktop.org/wlroots/wlroots") - (commit version))) - (file-name (git-file-name "wlroots" version)) - (sha256 - (base32 "1w3nlrvy7625jh4f0l923f7irywzfdashcw5hbf8jq9kpjhpm323")))))) +(define-public wlroots-0.19 wlroots) (define-public wlroots-0.18 (package From d6d05a68b8dfd317744c042b809e7871bea7fa54 Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Sat, 27 Sep 2025 21:42:13 -0700 Subject: [PATCH 127/129] gnu: librewolf: Use ffmpeg-6. Fixes guix/guix#3038. * gnu/packages/librewolf.scm (librewolf): Replace ffmpeg with ffmpeg-6. Change-Id: I8aef1b8102e6aff9f9dc4513c7169507efdec16b --- gnu/packages/librewolf.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm index ff34cff736c..f041d76f7aa 100644 --- a/gnu/packages/librewolf.scm +++ b/gnu/packages/librewolf.scm @@ -626,7 +626,7 @@ cups dbus-glib freetype - ffmpeg + ffmpeg-6 gdk-pixbuf glib gtk+ From 06c9fd8cf6e21b9002f97693f6e3db2750302ef7 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 28 Sep 2025 13:07:02 -0400 Subject: [PATCH 128/129] 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 --- gnu/packages/video.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index a94dcf1460f..f49c2a47c11 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -74,6 +74,7 @@ ;;; Copyright © 2025 Sharlatan Hellseher ;;; Copyright © 2025 VnPower ;;; Copyright © 2025 Zhu Zihao +;;; Copyright © 2025 John Kehayias ;;; ;;; This file is part of GNU Guix. ;;; @@ -1910,16 +1911,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 @@ -1932,16 +1939,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) - ((#:modules modules %default-gnu-modules) - `((srfi srfi-1) ,@modules)) ((#:configure-flags flags ''()) #~(cons "--enable-avresample" - (fold delete #$flags '("--enable-libplacebo" - "--enable-libshaderc")))))))) + (fold delete #$flags '("--enable-libshaderc")))))))) (define-public ffmpeg-for-stepmania (hidden-package From b17e20f60bd2cf6e8e196916e7b1cad8b069f1ec Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Sun, 28 Sep 2025 14:39:13 -0400 Subject: [PATCH 129/129] 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 --- gnu/packages/python-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 654d4ab932b..b0416bb861b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6088,7 +6088,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))