summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm38
-rw-r--r--gnu/packages/aidc.scm23
-rw-r--r--gnu/packages/android.scm18
-rw-r--r--gnu/packages/apl.scm82
-rw-r--r--gnu/packages/apple.scm59
-rw-r--r--gnu/packages/aspell.scm44
-rw-r--r--gnu/packages/astronomy.scm1038
-rw-r--r--gnu/packages/audio.scm36
-rw-r--r--gnu/packages/benchmark.scm4
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/bootloaders.scm100
-rw-r--r--gnu/packages/browser-extensions.scm4
-rw-r--r--gnu/packages/calendar.scm5
-rw-r--r--gnu/packages/code.scm83
-rw-r--r--gnu/packages/commencement.scm13
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/crypto.scm100
-rw-r--r--gnu/packages/databases.scm30
-rw-r--r--gnu/packages/debug.scm14
-rw-r--r--gnu/packages/dezyne.scm4
-rw-r--r--gnu/packages/dico.scm95
-rw-r--r--gnu/packages/dictionaries.scm80
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/direct-connect.scm87
-rw-r--r--gnu/packages/django.scm30
-rw-r--r--gnu/packages/electronics.scm136
-rw-r--r--gnu/packages/emacs-xyz.scm24
-rw-r--r--gnu/packages/emulators.scm197
-rw-r--r--gnu/packages/engineering.scm16
-rw-r--r--gnu/packages/fcitx5.scm29
-rw-r--r--gnu/packages/finance.scm16
-rw-r--r--gnu/packages/firmware.scm10
-rw-r--r--gnu/packages/fonts.scm128
-rw-r--r--gnu/packages/fpga.scm95
-rw-r--r--gnu/packages/games.scm74
-rw-r--r--gnu/packages/gcc.scm21
-rw-r--r--gnu/packages/gimp.scm4
-rw-r--r--gnu/packages/golang-web.scm95
-rw-r--r--gnu/packages/golang-xyz.scm82
-rw-r--r--gnu/packages/guile-xyz.scm131
-rw-r--r--gnu/packages/hardware.scm89
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/haskell-crypto.scm12
-rw-r--r--gnu/packages/image-processing.scm23
-rw-r--r--gnu/packages/lesstif.scm23
-rw-r--r--gnu/packages/librewolf.scm28
-rw-r--r--gnu/packages/linphone.scm781
-rw-r--r--gnu/packages/linux.scm329
-rw-r--r--gnu/packages/lisp-xyz.scm76
-rw-r--r--gnu/packages/llvm.scm9
-rw-r--r--gnu/packages/lua.scm98
-rw-r--r--gnu/packages/lxde.scm298
-rw-r--r--gnu/packages/lxqt.scm125
-rw-r--r--gnu/packages/machine-learning.scm27
-rw-r--r--gnu/packages/mate.scm50
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/mes.scm64
-rw-r--r--gnu/packages/messaging.scm65
-rw-r--r--gnu/packages/mpi.scm105
-rw-r--r--gnu/packages/music.scm40
-rw-r--r--gnu/packages/networking.scm36
-rw-r--r--gnu/packages/nss.scm73
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/gimp-fix-metadata-editor.patch25
-rw-r--r--gnu/packages/patches/gimp-fix-tiff-load.patch25
-rw-r--r--gnu/packages/patches/ispell-for-linphone-cmake.patch43
-rw-r--r--gnu/packages/patches/liblinphone-jsoncpp.patch82
-rw-r--r--gnu/packages/patches/linphone-desktop-cmake-belcard.patch39
-rw-r--r--gnu/packages/patches/linphone-desktop-cmake-find-modules.patch422
-rw-r--r--gnu/packages/patches/linphone-desktop-ispell.patch24
-rw-r--r--gnu/packages/patches/linphone-desktop-qtkeychain.patch36
-rw-r--r--gnu/packages/patches/linphone-desktop-without-sdk.patch214
-rw-r--r--gnu/packages/patches/linuxdcpp-openssl-1.1.patch26
-rw-r--r--gnu/packages/patches/lxsession-potfiles-ignore.patch15
-rw-r--r--gnu/packages/patches/mediastreamer2-cmake-findgsm.patch63
-rw-r--r--gnu/packages/patches/mswebrtc-b64-refactor.patch949
-rw-r--r--gnu/packages/patches/mswebrtc-cmake.patch626
-rw-r--r--gnu/packages/patches/nss-3.115-disable-broken-tests.patch34
-rw-r--r--gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch13
-rw-r--r--gnu/packages/patches/nyacc-binary-literals.patch29
-rw-r--r--gnu/packages/patches/qemu-disable-bios-tables-test.patch43
-rw-r--r--gnu/packages/patches/qemu-disable-migration-test.patch57
-rw-r--r--gnu/packages/patches/qemu-fix-test-virtio-version.patch29
-rw-r--r--gnu/packages/patches/qemu-glibc-2.41.patch52
-rw-r--r--gnu/packages/patches/soci-mysql-ddl-types.patch15
-rw-r--r--gnu/packages/patches/zig-0.15-fix-runpath.patch122
-rw-r--r--gnu/packages/pdf.scm49
-rw-r--r--gnu/packages/pep.scm342
-rw-r--r--gnu/packages/photo.scm61
-rw-r--r--gnu/packages/prolog.scm6
-rw-r--r--gnu/packages/python-build.scm16
-rw-r--r--gnu/packages/python-compression.scm22
-rw-r--r--gnu/packages/python-xyz.scm433
-rw-r--r--gnu/packages/python.scm13
-rw-r--r--gnu/packages/qt.scm11
-rw-r--r--gnu/packages/radio.scm2
-rw-r--r--gnu/packages/simulation.scm45
-rw-r--r--gnu/packages/suckless.scm296
-rw-r--r--gnu/packages/tcl.scm26
-rw-r--r--gnu/packages/telephony.scm36
-rw-r--r--gnu/packages/tls.scm31
-rw-r--r--gnu/packages/tor-browsers.scm46
-rw-r--r--gnu/packages/version-control.scm245
-rw-r--r--gnu/packages/virtualization.scm9
-rw-r--r--gnu/packages/web.scm43
-rw-r--r--gnu/packages/wget.scm12
-rw-r--r--gnu/packages/xfce.scm2
-rw-r--r--gnu/packages/xorg.scm2
-rw-r--r--gnu/packages/zig.scm182
109 files changed, 6492 insertions, 3843 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 2e10b5bdc0..a2778cc84b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -217,14 +217,14 @@
(define-public aide
(package
(name "aide")
- (version "0.19.1")
+ (version "0.19.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/aide/aide/releases/download/v"
version "/aide-" version ".tar.gz"))
(sha256
- (base32 "0lhbx7ilwzpfl77vi7b6cklhgzk1iwyfp4fvvgvlmmq30igvzy3d"))))
+ (base32 "1i3lbsw1mhsnq54bx48zikdiph1ihxn021ca7kmys4b1yh2jnxi3"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--with-posix-acl"
@@ -575,7 +575,7 @@ interface and is based on GNU Guile.")
(if (or (target-arm?)
(target-riscv64?))
guile-fibers-1.1
- guile-fibers))))
+ guile-fibers-1.3)))) ;pinned version to avoid rebuilds
(inputs (modify-inputs (package-inputs shepherd-0.9)
(replace "guile-fibers"
(this-package-native-input "guile-fibers"))))))
@@ -2922,7 +2922,7 @@ system is under heavy load.")
(define-public stress-ng
(package
(name "stress-ng")
- (version "0.18.04")
+ (version "0.19.03")
(source
(origin
(method git-fetch)
@@ -2931,7 +2931,7 @@ system is under heavy load.")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "100w4qkrzpg7jjl4dw0c376xi811qnjmlbffiy43i945f9vl3dc7"))))
+ (base32 "1phrmjvvjn55pyfljfkk604d8q8wn17l416v91hskj98v7b7yhck"))))
(build-system gnu-build-system)
(arguments
;; XXX The test suite seems to cause instability on the VisionFive 2
@@ -3015,7 +3015,7 @@ environment variable is set and output is to tty.")
(define-public lr
(package
(name "lr")
- (version "1.6")
+ (version "2.0")
(source
(origin
(method git-fetch)
@@ -3024,14 +3024,14 @@ environment variable is set and output is to tty.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qixmvxikyz02348xc0a718m9b1pzcazvf36rjbdk6ayn66g9hsd"))))
+ (base32 "05k971vf6080igfila8iav5d4j7sgh301123yng9lvsmr8frf8mf"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; There are no tests.
- #:make-flags (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases (modify-phases %standard-phases
- (delete 'configure))))
+ (list #:tests? #f ; There are no tests.
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure))))
(synopsis "Tool to generate customized file listings")
(description
"lr is a tool for generating file listings, which includes the best
@@ -4639,7 +4639,7 @@ information tool.")
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.50.2")
+ (version "2.51.1")
(source
(origin
(method git-fetch)
@@ -4648,7 +4648,7 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "17pasb0cckp9pjjcmfi07lfmsg5wf59gynxq7m5w57jlzq10k3vm"))
+ (base32 "1c5z1mgpgm8nzxkdjfh0412zdnv1f8i1vvic2h5v99f9cmdjwr25"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4666,15 +4666,7 @@ information tool.")
"/share/hwdata/pci.ids")
(string-append "-DCUSTOM_AMDGPU_IDS_PATH="
#$(this-package-input "libdrm")
- "/share/libdrm/amdgpu.ids"))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-yyjson
- (lambda _
- ;; workaround for https://github.com/fastfetch-cli/fastfetch/pull/1904
- (substitute* "src/util/FFstrbuf.h"
- (("\"3rdparty/yyjson/yyjson.h\"")
- "<yyjson.h>")))))))
+ "/share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
hwdata
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index d8aa9ab2f9..5d1ead9bcc 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -122,29 +122,6 @@ integration of this capability into your own programs.")
(home-page "https://github.com/zxing-cpp/zxing-cpp")
(license license:asl2.0)))
-;;; This older variant is kept for kaidan, liblinphone and yosys-clang.
-(define-public zxing-cpp-1.2a
- ;; Use the master branch as it includes unreleased build system improvements
- ;; allowing to use system libraries (instead of attempting to fetch them
- ;; from the Internet).
- (let ((revision "0")
- (commit "00783db7aa3bcf8620a301854ac71c0ceaaca0c1"))
- (package/inherit zxing-cpp
- (name "zxing-cpp")
- (version (git-version "1.2.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/zxing-cpp/zxing-cpp")
- (commit commit)))
- (patches (search-patches "zxing-cpp-1.2.0-gcc-14.patch"))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1yl2cpaqiv1g4nq9v0xfj1vd5faz55k4541vz6hsffvcxgn9nmc5"))))
- (arguments '(#:configure-flags '()))
- (native-inputs (list fmt-8 googletest)))))
-
;;; This older variant is kept for gst-plugins-bad (see:
;;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1684).
(define-public zxing-cpp-1.2
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index f9bc43f952..c884c1561c 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -1358,7 +1358,23 @@ mounted via FUSE.")
#:tests? #f ; no tests provided upstream
#:phases
;; There is no configure step.
- #~(modify-phases %standard-phases (delete 'configure))))
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-calloc-order
+ ;; As of the 1.1.5 release, the calloc argument order is
+ ;; wrong, and GCC 14 recognises this. We correct it here.
+ ;; When updating this package, remove these patches
+ ;; (fixed in master).
+ (lambda _
+ (substitute* "backed_block.cpp"
+ (("calloc[(]sizeof[(]struct backed_block_list[)], 1[)]")
+ "calloc(1, sizeof(struct backed_block_list))"))
+ (substitute* "simg2simg.cpp"
+ (("calloc[(]sizeof[(]struct sparse_file[*][)], files[)]")
+ "calloc(files, sizeof(struct sparse_file*))"))
+ (substitute* "sparse.cpp"
+ (("calloc[(]sizeof[(]struct sparse_file[)], 1[)]")
+ "calloc(1, sizeof(struct sparse_file))")))))))
(inputs (list zlib))
(home-page "https://github.com/anestisb/android-simg2img")
(synopsis "Convert Android sparse images to raw ext4 images")
diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm
index 5d159a90ef..3312ce2fb5 100644
--- a/gnu/packages/apl.scm
+++ b/gnu/packages/apl.scm
@@ -28,12 +28,10 @@
#:use-module (guix svn-download)
#:use-module (guix gexp)
#:use-module (guix packages)
- #:use-module (guix build-system font)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
- #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages java)
#:use-module (gnu packages maths)
@@ -86,86 +84,6 @@
an implementation of the ISO standard 13751.")
(license license:gpl3+))))
-(define-public font-apl2741-unicode
- (let ((commit "1e11efae38e5095bfe49a786b111d563e83dad03"))
- (package
- (name "font-apl2741-unicode")
- (version "1668049300")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/abrudz/APL2741.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0i1yk1x99lr2swlbq9r7dny5w70zwiwi8lpfcw4n7k7pfbw0xh7y"))))
- (build-system trivial-build-system)
- (native-inputs (list fontforge))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((source (assoc-ref %build-inputs "source"))
- (out (assoc-ref %outputs "out"))
- (dest (string-append out "/share/fonts/truetype"))
- (fontforge (string-append
- (assoc-ref %build-inputs "fontforge")
- "/bin/fontforge")))
- (mkdir-p dest)
- (invoke fontforge "-lang=ff" "-c" "Open($1); Generate($2)"
- (string-append source "/APL2741.sfd")
- (string-append dest "/APL2741.ttf"))))))
- (synopsis "APL2741 Unicode font")
- (home-page "https://abrudz.github.io/APL2741/")
- (description "APL font based on Adrian Smith's IBM Selectric APL2741
-golf-ball font. It supports most special characters used by popular APL
-implementations, some additional mathematical and typographical symbols,
-single line drawing characters, as well as the full Unicode APL range,
-including both uppercase and lowercase underscored alphabets, as-of-yet unused
-symbols, and almost all Latin-1 accented letters.")
- (license license:unlicense))))
-
-(define-public font-apl333
- (package
- (name "font-apl333")
- ;; Version number as for apl-385, last modified 2013-04-20.
- (version "20130420")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://apl385.com/fonts/" "apl333.zip"))
- (sha256
- (base32 "0yn0ha7d14vp4ma3lxbc9kpyrn20m7brjisr6w55c9mi24w9v3a5"))))
- (build-system font-build-system)
- (home-page "https://apl385.com/fonts/index.htm")
- (synopsis "Variable-width APL font inspired by Comic Sans Serif")
- (description
- "Variable-width version of Adrian Smith's APL385 font developed with APL
-software vendors in the late 1980s.")
- (license license:public-domain)))
-
-(define-public font-apl385
- (package
- (name "font-apl385")
- ;; No version number or release, unzipping source and checking file times
- ;; shows the font file was last modified on 2016-08-21.
- (version "20160821")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://apl385.com/fonts/" "apl385.zip"))
- (sha256
- (base32 "132qfsnx0v6qf8x8iy3flivv449nz42nnpkwjysmz65w6wqxpk1g"))))
- (build-system font-build-system)
- (home-page "https://apl385.com/fonts/index.htm")
- (synopsis "Monospaced APL font inspired by Comic Sans Serif")
- (description
- "Adrian Smith's monospaced APL font developed with APL software vendors
-in the late 1980s.")
- (license license:public-domain)))
-
(define-public dzaima-apl
(package
(name "dzaima-apl")
diff --git a/gnu/packages/apple.scm b/gnu/packages/apple.scm
deleted file mode 100644
index b59eee1802..0000000000
--- a/gnu/packages/apple.scm
+++ /dev/null
@@ -1,59 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2022 B. Wilson <elaexuotee@wilsonb.com>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages apple)
- #:use-module (gnu packages bison)
- #:use-module (guix build-system gnu)
- #:use-module (guix packages)
- #:use-module (guix git-download)
- #:use-module ((guix licenses) #:prefix license:))
-
-(define-public apple-bash
- (package
- (name "apple-bash")
- (version "125")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/apple-oss-distributions/bash.git")
- (commit (string-append "bash-" version))))
- (sha256
- (base32 "1d4s1z57yiyhgb6i22kb9al31j1fv9a4rp1bb747ny6grdvc4919"))
- (file-name (git-file-name name version))))
- (build-system gnu-build-system)
- (native-inputs (list bison))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda _
- ;; An XCode project wraps the actual bash source.
- (chdir "bash-3.2")
- ;; The xlocale.h header was removed in glibc 2.26.
- (substitute* "lib/glob/smatch.c"
- (("xlocale.h") "locale.h"))
- ;; EBADEXEC is XNU-specific.
- (substitute* "execute_cmd.c"
- (("EBADEXEC") "ENOEXEC")))))))
- (home-page "https://github.com/apple-oss-distributions/bash/")
- (synopsis "Bash used on Apple macOS systems")
- (description
- "This is the version of Bash, forked from GNU Bash 3.2, released on Apple
-macOS systems.")
- (license license:gpl2+)))
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index ffb13025f3..8c192b1604 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,9 @@
(define-module (gnu packages aspell)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (guix utils)
@@ -438,3 +442,43 @@ dictionaries, including personal ones.")
European languages.")
(home-page "https://www.cs.hmc.edu/~geoff/ispell.html")
(license bsd-3)))
+
+;;; This is basically ispell but built with CMake, and which provides a CMake
+;;; config file.
+(define-public ispell-for-linphone
+ (let ((commit "05574fe160222c3d0b6283c1433c9b087271fad1")
+ (revision "0"))
+ (package
+ (inherit ispell)
+ (name "ispell-for-linphone")
+ ;; The version is captured in the ISPELL_VERSION variable in the
+ ;; CMakeLists.txt file at the root of the project.
+ (version (git-version "3.4.05" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.linphone.org/BC/public/external/ispell")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0shwbms6y0i18n2qnvjlbwfmzk5rydlp7wbf4dl1rn74r244p132"))
+ (patches (search-patches "ispell-for-linphone-cmake.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments ispell)
+ ((#:modules _ ''())
+ '((guix build cmake-build-system)
+ (guix build utils)
+ (srfi srfi-26)))
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-before 'configure 'really-configure
+ (assoc-ref %standard-phases 'configure))
+ (add-after 'configure 'install-headers
+ (lambda _
+ (let ((include-dir (string-append #$output "/include/ISpell")))
+ (with-directory-excursion "../source"
+ (for-each (cut install-file <> include-dir)
+ '("config.h" "defhash.h" "ispell.h"
+ "libispell.h" "local.h")))))))))))))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 5e5120ee92..1051fde7cb 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2024-2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Vasilii Smirnov <vasilii.smirnov@mailbox.org>
;;; Copyright © 2025 Daniel Ziltener <dziltener@lyrion.ch>
+;;; Copyright © 2025 Hugo Buddelmeijer <hugo@buddelmeijer.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,7 +138,7 @@
(define-public alfa
(package
(name "alfa")
- (version "2.2")
+ (version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -145,7 +146,7 @@
(commit (string-append "v" version))))
(sha256
(base32
- "0aqxqar36822mh373awsl79j7zn8vik4yddyydsxv0c76gn4i2k3"))
+ "1wi7pjra49qyyz8qz2qcgjcjck16ld0zczavxqn2xksdx1p99ajs"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -279,7 +280,7 @@ wide set of telescopes.")
(define-public astroterm
(package
(name "astroterm")
- (version "1.0.8")
+ (version "1.0.9")
(source
(origin
(method git-fetch)
@@ -288,7 +289,7 @@ wide set of telescopes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10y776rh6ww1zjk96cd497ipbr54q0wdd1g7ybsrffdbrzc6l8jx"))))
+ (base32 "03vrprrahhfp7jbl1apmpxmv05fb8lw469fnsnq7sajdhc3waifx"))))
(build-system meson-build-system)
(arguments
(list
@@ -631,7 +632,8 @@ accurately in real time at any rate desired.")
(arguments
(list
#:configure-flags
- #~(list (string-append "--with-bzip2=" #$(this-package-input "bzip2")))
+ #~(list "--enable-reentrant"
+ (string-append "--with-bzip2=" #$(this-package-input "bzip2")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -743,6 +745,54 @@ learning framework primarily developed and used for astronomical data
analysis.")
(license license:asl2.0)))
+(define-public cpl
+ (package
+ (name "cpl")
+ (version "7.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "083ppsa6ifc52m0s4ww4l9cajnh2f0y3s5bxaq31drihhrd2c355"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; pycpl expects to find a lib/esopipes-plugins directory. This is
+ ;; overruled by the PYESOREX_PLUGIN_DIR search path, but the default
+ ;; directory is still consulted and therefor needs to exist.
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'create-plugins-directory
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/esopipes-plugins")))))))
+ (native-inputs
+ (list automake
+ autoconf
+ libtool
+ pkg-config
+ perl))
+ (inputs
+ (list cfitsio
+ wcslib
+ fftw
+ fftwf))
+ (home-page "https://www.eso.org/sci/software/cpl/")
+ (synopsis "Common Pipeline Library for astronomical data reduction")
+ (description
+ "The @acronym{CPL, Common Pipeline Library} comprises a set of ISO-C
+libraries that provide a comprehensive, efficient and robust software toolkit
+to develop astronomical data-reduction tasks (known as recipes). These
+data-reduction tasks can then be executed manually by a user, or can be
+triggered in an automated data-reduction framework (known as pipelines) which
+are used at @acronym{ESO, European Southern Observatory} to monitor the health
+status of @acronym{VLT, Very Large Telescope} instruments, for quick-look data
+processing at the observatory, and the creation of data products available
+from the ESO archive facility.")
+ (license license:gpl2+)))
+
(define-public erfa
(package
(name "erfa")
@@ -768,6 +818,45 @@ Standards of Fundamental Astronomy} library published by the @acronym{IAU,
International Astronomical Union}.")
(license license:bsd-3)))
+(define-public esorex
+ (package
+ (name "esorex")
+ (version "3.13.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/esorex/esorex-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1mkxjm2rnmviqfblnr4wwb3simvs7f5dly66qylvdfynvg3gk2d9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list automake
+ autoconf
+ libtool
+ pkg-config
+ perl))
+ (inputs
+ (list cfitsio
+ wcslib
+ cpl))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "ESOREX_PLUGIN_DIR")
+ (files '("lib/esopipes-plugins")))))
+ (home-page "https://www.eso.org/sci/software/cpl/esorex.html")
+ (synopsis "The European Southern Observatory Recipe Execution Tool")
+ (description
+ "EsoRex is the @acronym{European Southern Observatory,ESO} Recipe
+Execution Tool. It can list, configure and execute @acronym{Common Pipeline
+Library,CPL}-based recipes from the command line.")
+ ;; Set a rerlease-monitoring-url because the ftp directory includes
+ ;; prereleases that should not be refreshed to.
+ (properties `((release-monitoring-url
+ . "https://www.eso.org/sci/software/cpl/download.html")))
+ (license license:gpl2+)))
+
(define-public eye
(package
(name "eye")
@@ -798,6 +887,82 @@ applications of EyE include adaptive filtering, feature detection and cosmetic
corrections.")
(license license:cecill)))
+(define-public ginga
+ (package
+ (name "ginga")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ginga" version))
+ (sha256
+ (base32 "0wv8fb8p8icsvkh2rn8jcxxx33kgac36gm9xqbgpm2z7z6m4haa7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001
+ #:test-flags #~(list "-k" "not test_fwhm")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home
+ (lambda _
+ ;; Relax matplotlib warning: ... because the default path
+ ;; (/homeless-shelter/.config/matplotlib) is not a writable
+ ;; directory ...
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list python-attrs
+ python-pytest-doctestplus
+ python-pytest-astropy
+ python-pytest-astropy-header
+ python-setuptools-next))
+ (inputs
+ (list python-astropy
+ python-numpy
+ python-packaging
+ python-pillow
+ python-puremagic
+ python-pyyaml
+ python-qtpy
+ ;; [recomended]
+ opencv
+ python-astroquery
+ python-dateutil
+ python-exif-read
+ python-matplotlib
+ python-photutils
+ python-pillow-heif
+ python-scipy
+ ;; [qt6]
+ python-pyqt-6
+ ;; [pyside6]
+ python-pyside-6
+ ;; [tk,web]
+ python-pycairo
+ python-tornado))
+ (home-page "https://ejeschke.github.io/ginga/")
+ (synopsis "Scientific image viewer and toolkit for FITS files")
+ (description
+ "Ginga is a toolkit designed for building viewers for scientific image
+data in Python, visualizing 2D pixel data in numpy arrays. It can view
+astronomical data such as contained in files based on the FITS (Flexible Image
+Transport System) file format. It is written and is maintained by software
+engineers at the National Astronomical Observatory of Japan (NAOJ), the Space
+Telescope Science Institute (STScI), and other contributing entities.
+
+The Ginga toolkit centers around an image display object which supports
+zooming and panning, color and intensity mapping, a choice of several
+automatic cut levels algorithms and canvases for plotting scalable geometric
+forms. In addition to this widget, a general purpose \"reference\" FITS
+viewer is provided, based on a plugin framework. A fairly complete set of
+standard plugins are provided for features that we expect from a modern FITS
+viewer: panning and zooming windows, star catalog access, cuts, star
+pick/FWHM, thumbnails, etc.")
+(license license:bsd-3)))
+
+(define-public ginga-qt5
+ (deprecated-package "ginga-qt5" ginga))
+
(define-public glnemo2
(package
(name "glnemo2")
@@ -1093,7 +1258,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit,
(define-public indi
(package
(name "indi")
- (version "2.1.4")
+ (version "2.1.5")
(source
(origin
(method git-fetch)
@@ -1102,7 +1267,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit,
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "18rrp8mp0j126c1v3rpksyjkacq86520qmq4r5bkl78yf9dfxq3i"))))
+ (base32 "03qr5kvjr9dy8pwppn74mblkjxvm1nksbw2d9xinva8x4lxv8pry"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1714,20 +1879,22 @@ model-fitting photometry or morphological analyses.")
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count))))
#:phases
#~(modify-phases %standard-phases
+ ;; It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home
(lambda _
;; E PermissionError: [Errno 13] Permission denied:
;; '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-astropy
python-pytest-cov
python-pytest-doctestplus
python-pytest-xdist
- python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-next
+ python-setuptools-scm-next))
(propagated-inputs
(list python-sunpy))
(home-page "https://aia.lmsal.com/")
@@ -1805,13 +1972,13 @@ Main features:
(define-public python-asdf
(package
(name "python-asdf")
- (version "4.3.0")
+ (version "4.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asdf" version))
(sha256
- (base32 "0z88vzk3z9cdfafv8rbw4l6kz6panxamd21zafs6hj0w3zxpa7cn"))))
+ (base32 "0gincjs1vn6wxryazbkgmxy45cn1azb2yphj7nwg05yjwccn257p"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1870,8 +2037,21 @@ implementation of the ASDF Standard.")
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 4419 passed, 1 skipped
#:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #~(list "--numprocesses" (number->string (parallel-job-count))
+ "-k" (string-join
+ ;; AttributeError: 'AsdfFile' object has no attribute
+ ;; '_open_impl'
+ (list "not test_legacy_icrs_deseialize"
+ "test_read_examples[example0]"
+ "test_read_examples[example1]"
+ "test_read_examples[example2]"
+ "test_read_examples[example3]"
+ "test_read_examples[example4]"
+ "test_read_examples[example5]"
+ "test_read_examples[example6]")
+ " and not "))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-home-env
@@ -1889,7 +2069,7 @@ implementation of the ASDF Standard.")
python-asdf-coordinates-schemas
python-asdf-standard
python-asdf-transform-schemas
- python-astropy
+ python-astropy-minimal
python-numpy
python-packaging))
(home-page "https://github.com/astropy/asdf-astropy")
@@ -2425,13 +2605,13 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
(define-public python-astropy
(package
(name "python-astropy")
- (version "7.0.1")
+ (version "7.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astropy" version))
(sha256
- (base32 "0q74735xzrvxxpjv3sa8w68sfnziw1jilr70qba7qhxj8fsfwbrr"))
+ (base32 "1iakikzhw173djb2p24229ndpvzpbcanyg9h4k7viccm48r59wn8"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2447,6 +2627,7 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 29347 passed, 373 skipped, 233 xfailed, 32 warnings
#:test-flags
#~(list "--pyargs" "astropy"
;; XXX: Tests are not thread save when they are more than 8.
@@ -2486,37 +2667,56 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
pkg-config
python-cython-3
python-extension-helpers
- python-ipython
python-objgraph
- python-pandas
python-pytest
python-pytest-astropy
python-pytest-astropy-header
- python-pytest-mpl
+ python-pytest-doctestplus
python-pytest-xdist
- python-scikit-image
- python-setuptools
- python-setuptools-scm
+ python-setuptools-scm-next
python-sgp4
python-skyfield
- python-threadpoolctl
- python-timezonefinder
- python-wheel))
+ python-threadpoolctl))
(inputs
- (list expat wcslib))
+ (list expat
+ wcslib))
(propagated-inputs
(list python-astropy-iers-data
- python-configobj
- python-h5py
- python-jplephem
- python-matplotlib
+ python-configobj ;to replace custom module
python-numpy
python-packaging
- python-ply
- python-pyarrow
+ python-ply ;to replace custom module
python-pyerfa
python-pyyaml
- python-scipy))
+ ;; [recommended]
+ python-matplotlib
+ python-scipy
+ ;; [jupyter]
+ ;; python-ipydatagrid ;no packaged
+ python-ipykernel
+ python-ipython
+ python-ipywidgets
+ python-jupyter-core
+ python-pandas
+ ;; [optional]
+ python-asdf
+ python-asdf-astropy
+ python-beautifulsoup4
+ python-bleach
+ python-bottleneck
+ python-certifi
+ python-dask
+ python-fsspec
+ python-h5py
+ python-html5lib
+ python-jplephem
+ python-mpmath
+ python-pandas
+ python-pyarrow
+ python-pytz
+ python-s3fs
+ python-sortedcontainers
+ python-uncompresspy))
(home-page "https://www.astropy.org/")
(synopsis "Core package for Astronomy in Python")
(description
@@ -2586,13 +2786,13 @@ astronomy and astrophysics.")
(define-public python-astropy-iers-data
(package
(name "python-astropy-iers-data")
- (version "0.2025.7.21.0.41.39")
+ (version "0.2025.8.18.0.40.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astropy_iers_data" version))
(sha256
- (base32 "14qa0h3jx5iawmb0cpwak1wna0jhjsi18zm4wmdicyb9kly7b0p4"))))
+ (base32 "1srqhva7snjaygfji4947q4lxhdqph1l97lxjvk4s8ls5w32yrhc"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; no tests
@@ -2627,13 +2827,15 @@ celestial-to-terrestrial coordinate transformations.")
pkg-config
python-cython-3
python-extension-helpers
- python-setuptools
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm-next))
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-astropy)
- (delete python-matplotlib
- python-scipy)))))
+ (list python-astropy-iers-data
+ python-configobj ;to replace custom module
+ python-numpy
+ python-packaging
+ python-ply ;to replace custom module
+ python-pyerfa
+ python-pyyaml))))
(define-public python-astroquery
(package
@@ -2780,44 +2982,32 @@ aim of simplifying and streamlining data conversion and standardization.")
(define-public python-bayesicfitting
(package
(name "python-bayesicfitting")
- (version "3.2.3")
+ (version "3.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dokester/BayesicFitting")
- (commit (string-append "v" version))))
+ (url "https://github.com/dokester/BayesicFitting")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0q7s7glf4b46vln67x7ggbpkbi4anyh3f3ldwafc2hggsrmx683q"))))
+ (base32 "1fdxrmcbjfpvz1czmvq4kz2scdiw77kyzsgv6c0isijk1hckgcik"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; XXX: To run full tests suite is quite expansive, select the one which
+ ;; is mentioned in <BayesicFitting/test/testall.csh>.
#:test-flags #~(list "-m" "unittest"
"discover"
- "-p" "Test*.py"
+ "-p" "TestUserModel.py"
"--top-level-directory" ".")
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Some tests fail for some reason. Disable those tests for now.
- (add-before 'check 'disable-failing-tests
- (lambda _
- (substitute* "BayesicFitting/test/TestNestedSampler.py"
- ;; Fails with "AssertionError: False is not true".
- (("def test3")
- "def _test3")
- ;; Fails with "Thread Error" exception.
- (("def test1")
- "def _test1"))
- (substitute* "BayesicFitting/test/TestPhantomSampler.py"
- ;; Fails with "Thread Error" exception.
- (("def test1")
- "def _test1"))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
- (chdir "BayesicFitting/test")
- (apply invoke "python" test-flags)))))))
+ (with-directory-excursion "BayesicFitting/test"
+ (apply invoke "python" test-flags))))))))
(native-inputs
(list python-setuptools
python-wheel))
@@ -2827,7 +3017,7 @@ aim of simplifying and streamlining data conversion and standardization.")
python-matplotlib
python-numpy
python-scipy))
- (home-page "https://www.bayesicfitting.nl")
+ (home-page "https://dokester.github.io/BayesicFitting/")
(synopsis "Python Toolbox for Astronimical Bayesian fitting")
(description
"The BayesicFitting package is a python version of the the fitter classes
@@ -3012,7 +3202,7 @@ bad pixel tracking throughout the reduction process.")
(define-public python-cdflib
(package
(name "python-cdflib")
- (version "1.3.4")
+ (version "1.3.6")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@@ -3021,7 +3211,7 @@ bad pixel tracking throughout the reduction process.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1j0q0mgs6y5zyf3sjz49msp471kwl1la4rabga5pbyzfwfmxlihj"))))
+ (base32 "1rlzmwnlz77n8c62h050jc2njy10bfby671p3w7y6r6y6642xrdi"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
@@ -3037,16 +3227,17 @@ bad pixel tracking throughout the reduction process.")
python-pytest
python-pytest-cov
python-pytest-remotedata
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
- python-wheel
python-xarray))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/MAVENSDC/cdflib")
(synopsis "Python library to deal with NASA's CDF astronmical data format")
- (description "This package provides a Python @acronym{CDF, Computable
-Document Format} reader toolkit.
+ (description
+ "This package provides a Python @acronym{CDF, Computable Document Format}
+reader toolkit.
+
It provides the following functionality:
@itemize
@item Ability to read variables and attributes from CDF files
@@ -3464,7 +3655,7 @@ files and provide related services.")
(define-public python-czml3
(package
(name "python-czml3")
- (version "2.3.5")
+ (version "2.3.6")
(source
(origin
(method git-fetch)
@@ -3475,7 +3666,7 @@ files and provide related services.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1c2nw1rdllla76z8gkfv2a1dqc302cayhhkqn3xn4b0vgsn1z1k2"))))
+ (base32 "1b8zsbixa0n1zqjs497i0f3v7fr0vgj7jxqdsiqg0g5l66gq0c4f"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -3499,13 +3690,13 @@ Cesium.")
(define-public python-dkist
(package
(name "python-dkist")
- (version "1.14.0")
+ (version "1.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dkist" version))
(sha256
- (base32 "061hgrg69cpnn2j6gaivjbkxwiz6rpmyf6igxq58h82g4r7yl6ya"))))
+ (base32 "0j5jxf624s746syam472k2xz3m77p66z9d7c8rz19f0xv3792xql"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3515,6 +3706,8 @@ Cesium.")
"--deselect=dkist/net/tests/test_client.py::test_fetch_with_headers")
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp"))))))
@@ -3532,12 +3725,16 @@ Cesium.")
python-pytest-mpl
python-pytest-remotedata
python-pytest-xdist
- python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-next
+ python-setuptools-scm-next))
(propagated-inputs
(list python-aiohttp
python-asdf
+ python-asdf-astropy
+ python-asdf-coordinates-schemas
+ python-asdf-standard
+ python-asdf-transform-schemas
+ python-asdf-wcs-schemas
python-astropy
python-dask
python-globus-sdk
@@ -3545,6 +3742,7 @@ Cesium.")
python-matplotlib
python-ndcube
python-numpy
+ python-packaging
python-parfive
python-platformdirs
python-sunpy
@@ -3559,7 +3757,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(define-public python-drizzle
(package
(name "python-drizzle")
- (version "2.1.0")
+ (version "2.1.1")
(source
(origin
(method git-fetch) ;no test data in PyPI archive
@@ -3568,7 +3766,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1adp5bhzgrw0csn5wvpij7hzm5wh3zr4nkvpq0a8lb93ifk6k5gh"))))
+ (base32 "0s2vydy3fp6hvlzxdhx6my4js3vc7vpvy3hpgj4kjkl0r47s9vpx"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3586,8 +3784,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
python-gwcs
python-pytest
python-setuptools-next
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/spacetelescope/drizzle")
@@ -3701,19 +3898,21 @@ used with local NetDRMS sites.")
(define-public python-dust-extinction
(package
(name "python-dust-extinction")
- (version "1.5")
+ (version "1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dust_extinction" version))
(sha256
- (base32 "0f0g6gh4kj83xfv0cdp30dahs80pnhsj7c6ryz3f59qf6d5zqard"))))
+ (base32 "01iap2k49izn53v23kwkkpr5j5xhgk79xlwx6cb6h5ng29274nq5"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-pytest-astropy
- python-wheel))
+ (list python-pytest
+ python-pytest-doctestplus
+ python-setuptools-next))
(propagated-inputs
- (list python-astropy python-scipy))
+ (list python-astropy
+ python-scipy))
(home-page "http://dust-extinction.readthedocs.io/")
(synopsis "Interstellar Dust Extinction Models")
(description
@@ -3721,6 +3920,49 @@ used with local NetDRMS sites.")
implemented using the astropy.modeling framework.")
(license license:bsd-3)))
+(define-public python-edps
+ (package
+ (name "python-edps")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/edps/edps-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0wigb3ni663a8fp9wdsnlbg789y2898j3x523isb68mnq72fqblw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f)) ;no tests in tarball
+ (native-inputs
+ (list python-pytest
+ python-setuptools-next))
+ (propagated-inputs
+ (list python-astropy
+ python-fastapi
+ python-networkx
+ python-pyyaml
+ python-requests
+ python-uvicorn
+ python-tinydb
+ python-frozendict
+ python-jinja2
+ python-pydantic-2
+ python-psutil))
+ (home-page "https://www.eso.org/sci/software/edps.html")
+ (synopsis "ESO's Data Processing System")
+ (description
+ "@acronym{European Southern Observatory Data Processing System EDPS} is a
+system to automatically organise data from ESO instruments for pipeline
+processing and running the pipeline on these data. It is used for quality
+control at ESO. The current public release is a beta version without a GUI.
+A GUI is being developed and the system is meant to eventually replace the
+older EsoReflex environment.")
+ (properties '((upstream-name . "edps")))
+ (license license:bsd-3)))
+
(define-public python-ephem
(package
(name "python-ephem")
@@ -3780,7 +4022,7 @@ tools for astronomers.")
(define-public python-extinction
(package
(name "python-extinction")
- (version "0.4.7")
+ (version "0.4.8")
(source
(origin
(method git-fetch) ; No tests in PyPI
@@ -3789,7 +4031,7 @@ tools for astronomers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04k9mfbijf2nwzhh9sxpkswxk7077d7gbc6nq4hjb51h8rslcjg2"))))
+ (base32 "1dcb4c1rjv0msb3kagpgrj2xlb5spv8j76giy14vxkvz33lm4pz7"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3797,8 +4039,7 @@ tools for astronomers.")
(native-inputs
(list python-cython
python-pytest
- python-setuptools
- python-wheel))
+ python-setuptools-next))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/sncosmo/extinction")
@@ -3943,79 +4184,17 @@ Python.")
(license license:bsd-2)))
(define-public python-ginga
- (package
+ (package/inherit ginga
(name "python-ginga")
- (version "5.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ginga" version))
- (sha256
- (base32 "04ag7v2srpl0scd3x27bbzkpfih98rrxhqvrsxy03l84g3zzrj6k"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001
- #:test-flags #~(list "-k" "not test_fwhm")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'set-home
- (lambda _
- ;; Relax matplotlib warning: ... because the default path
- ;; (/homeless-shelter/.config/matplotlib) is not a writable
- ;; directory ...
- (setenv "HOME" "/tmp"))))))
- (native-inputs
- (list python-attrs
- python-docutils
- python-pytest-astropy
- python-pytest-astropy-header
- python-tornado))
+ (inputs '())
(propagated-inputs
- (list opencv
- python-astropy
- python-astroquery
- python-dateutil
- python-exif-read
- python-fitsio
- python-magic
- python-matplotlib
+ (list python-astropy
python-numpy
python-packaging
- python-photutils
python-pillow
python-puremagic
python-pyyaml
- python-qtpy
- python-scipy
- python-tomli))
- (home-page "https://ejeschke.github.io/ginga/")
- (synopsis "Scientific image viewer and toolkit for FITS files")
- (description
- "Ginga is a toolkit designed for building viewers for scientific image
-data in Python, visualizing 2D pixel data in numpy arrays. It can view
-astronomical data such as contained in files based on the FITS (Flexible Image
-Transport System) file format. It is written and is maintained by software
-engineers at the National Astronomical Observatory of Japan (NAOJ), the Space
-Telescope Science Institute (STScI), and other contributing entities.
-
-The Ginga toolkit centers around an image display object which supports
-zooming and panning, color and intensity mapping, a choice of several
-automatic cut levels algorithms and canvases for plotting scalable geometric
-forms. In addition to this widget, a general purpose \"reference\" FITS
-viewer is provided, based on a plugin framework. A fairly complete set of
-standard plugins are provided for features that we expect from a modern FITS
-viewer: panning and zooming windows, star catalog access, cuts, star
-pick/FWHM, thumbnails, etc.")
-(license license:bsd-3)))
-
-(define-public ginga-qt5
- (package/inherit python-ginga
- (name "ginga-qt5")
- (inputs
- (modify-inputs (package-inputs python-ginga)
- (prepend python-pyqt)))
- (synopsis "Qt5 image viewer build based on python-ginga library")))
+ python-qtpy))))
(define-public python-glue-astronomy
(package
@@ -4064,19 +4243,19 @@ astronomy-specific functionality")
(define-public python-glue-core
(package
(name "python-glue-core")
- (version "1.22.2")
+ (version "1.23.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "glue_core" version))
(sha256
- (base32 "0abv3snac3i78mc3ai29hbpamfqhig5ldlb9jpnn4sxpm2p7s5rc"))))
+ (base32 "0g79gw6ffz4bsby5kazv9a1mbrwa6b75kkal2bi2wjwz855nqsh6"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-mpl
- python-setuptools-scm
- python-wheel))
+ python-setuptools-next
+ python-setuptools-scm-next))
(propagated-inputs
(list python-astrodendro
python-astropy
@@ -4107,16 +4286,16 @@ across many files.")
(define-public python-glue-qt
(package
(name "python-glue-qt")
- (version "0.3.3")
+ (version "0.4.0")
(source
(origin
(method git-fetch) ; no fresh release PyPI
(uri (git-reference
- (url "https://github.com/glue-viz/glue-qt")
- (commit (string-append "v" version))))
+ (url "https://github.com/glue-viz/glue-qt")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14qzxszpzjz57bl75ybj8jlx73cd8lsgbb8id9gx4anq9sydzgqj"))))
+ (base32 "1ay0y0g2vgy2mn1dk9yxim0449lnny9fd7lplqqwy9vxhkh4gnxp"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4125,17 +4304,16 @@ across many files.")
(add-before 'build 'set-env-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
- (add-before 'check 'prepare-x
- (lambda _
- (system "Xvfb &")
- (setenv "DISPLAY" ":0")
- (setenv "HOME" "/tmp"))))))
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb &")
+ (setenv "DISPLAY" ":0")
+ (setenv "HOME" "/tmp"))))))
(native-inputs
(list python-objgraph
python-pytest
- python-setuptools
- python-setuptools-scm
- python-wheel
+ python-setuptools-next
+ python-setuptools-scm-next
xorg-server-for-tests))
(propagated-inputs
(list python-astropy
@@ -4234,16 +4412,21 @@ specifically pulsar timing array signals.")
(define-public python-gwcs
(package
(name "python-gwcs")
- (version "0.25.1")
+ (version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gwcs" version))
(sha256
- (base32 "0zr2mmad7qk1almw3kc3xqdhfkxbjg7yfc5a9cif4l0m8r11gr0x"))))
+ (base32 "12hs7qa03blpxp2i97n3wckvih7zcmpm4k4ia0p3hird49qq7l44"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 1021 passed, 10 skipped, 1 deselected, 9 warnings
+ #:test-flags
+ ;; XXX: This is worth checking out more closely:
+ ;; Not equal to tolerance rtol=1e-07, atol=0.
+ #~(list "-k" "not test_fitswcs_imaging[fits_wcs_imaging_simple2]")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
@@ -4254,10 +4437,8 @@ specifically pulsar timing array signals.")
(native-inputs
(list python-pytest
python-pytest-astropy
- python-pyyaml
python-setuptools-next
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-scm-next))
(propagated-inputs
(list python-asdf
python-asdf-astropy
@@ -4453,7 +4634,7 @@ scheme and builds with the HEALPix C++ library.")
python-setuptools
python-wheel))
(propagated-inputs
- (list python-astropy
+ (list python-astropy-6
python-emcee
python-h5py
python-lenstronomy
@@ -4555,17 +4736,18 @@ observationally-derived galaxy merger catalogs.")
(define-public python-irispy-lmsal
(package
(name "python-irispy-lmsal")
- (version "0.3.0")
+ (version "0.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "irispy_lmsal" version))
(sha256
- (base32 "0pqwgg89qq75nz7201535ixkcjqbqbdv3qmhcig2h2ah9fpcfpyy"))))
+ (base32 "037ip97kb5sq98shgw4d1c5x7lpbzksampfw7d97x59zbvbmvwhn"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
+ ;; See: <https://github.com/LM-SAL/irispy-lmsal/issues/83>.
;; Expected:
;; np.float64(0.33)
;; Got:
@@ -4573,6 +4755,8 @@ observationally-derived galaxy merger catalogs.")
#~(list "--deselect=irispy/obsid.py::irispy.obsid.ObsID")
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home
(lambda _
;; E PermissionError: [Errno 13] Permission denied:
@@ -4580,10 +4764,10 @@ observationally-derived galaxy merger catalogs.")
(setenv "HOME" "/tmp"))))))
(native-inputs
(list ffmpeg
+ python-pooch
python-pytest-astropy
- python-setuptools
- python-setuptools-scm
- python-wheel))
+ python-setuptools-next
+ python-setuptools-scm))
(propagated-inputs
(list python-dkist
python-mpl-animators
@@ -4670,6 +4854,8 @@ milliarcsecond).")
(substitute* "pyproject.toml"
;; drizzle>=2.0.1,<2.1.0
((">=2.0.1,<2.1.0") ">=2.0.1")
+ ;; stcal>=1.14.1,<1.15.0
+ ((">=1.14.1,<1.15.0") "")
;; scipy>=1.14.1
(("1.14.1") "1.12.0")
;; XXX: Can't detect opencv-python version. The input opencv
@@ -4894,6 +5080,7 @@ astronomical tables
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 1338 passed, 350 warnings
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
;; TypeError: SparseSolverBase.__init__() got an
@@ -4922,9 +5109,14 @@ astronomical tables
;; TypeError: SLIT_Starlets.function_2d() got an
;; unexpected keyword argument 'n_pix_x'
"test_pixelbased_modelling"
- ;; AssertionError: Arrays are not almost equal to 1
- ;; decimals ACTUAL: 0.8382375738251702
- "test_run_fit")
+ ;; XXX: These are precision errors in tests which
+ ;; need to be checked properly: AssertionError:
+ ;; Arrays are not almost equal ...
+ "test_run_fit"
+ "test_multiplane"
+ ;; ModuleNotFoundError: No module named
+ ;; 'astropy.cosmology._utils'
+ "test_short_and_laconic")
" and not "))))
(native-inputs
(list python-colossus
@@ -5267,7 +5459,7 @@ Carlo.")
(build-system pyproject-build-system)
(arguments
(list
- ;; 393 passed, 7 skipped, 31 deselected, 10 xfailed
+ ;; tests: 393 passed, 7 skipped, 10 xfailed
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"-k" (string-join
@@ -5296,7 +5488,8 @@ Carlo.")
;; Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-dask
+ (list nss-certs-for-test
+ python-dask
python-pytest
python-pytest-astropy
python-pytest-mpl
@@ -5437,7 +5630,7 @@ of astronomical sources.")
(define-public python-pint-pulsar
(package
(name "python-pint-pulsar")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method git-fetch) ; no tests data in the PyPI tarball
@@ -5446,7 +5639,7 @@ of astronomical sources.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0n66z7v30q1981hx4q5vy3mibrh453gak8dd938038r5mwddya3f"))))
+ (base32 "0522p1gns52vzgj1l89s1s3idi40910hv4dpbhy4r1ijmwfb3kdg"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -5662,6 +5855,39 @@ position-frequency slice.")
(list python-setuptools
python-wheel)))))
+(define-public python-pycpl
+ (package
+ (name "python-pycpl")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/pycpl/pycpl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0kfzx4k8z2k0ms6q8f16wqr120drd8fqrw9qpnks419pyc8cr5xp"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list cmake-minimal
+ pybind11
+ python-pandas
+ python-pytest
+ python-scipy
+ python-setuptools-next))
+ (inputs
+ (list cpl))
+ (propagated-inputs
+ (list python-astropy))
+ (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/")
+ (synopsis "Python bindings for ESO's CPL")
+ (description
+ "PyCPL provides Python3 language bindings for the complete programming
+API of the @acronym{European Southern Observatory, ESO} @acronym{Common
+Pipeline Library, CPL} toolkit, including the CPL plugin interface.")
+ (properties '((upstream-name . "pycpl")))
+ (license license:bsd-3)))
+
(define-public python-pyerfa
(package
(name "python-pyerfa")
@@ -5712,21 +5938,54 @@ Astronomical Union (IAU). All C routines are wrapped as Numpy universal
functions, so that they can be called with scalar or array inputs.")
(license license:bsd-3)))
+(define-public python-pyesorex
+ (package
+ (name "python-pyesorex")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/pyesorex/pyesorex-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ynb9q9aj51mdva1b76fkz7mlw5q8nlfs8f5f70bhila8iincjca"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools-next))
+ (propagated-inputs
+ (list python-pycpl))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "PYESOREX_PLUGIN_DIR")
+ (files '("lib/esopipes-plugins")))))
+ (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/")
+ (synopsis "Alternative Python CLI for ESO's Rex")
+ (description
+ "PyEsoRex is a command line tool which can serve as a drop-in replacement
+of EsoRex, which can execute both, existing pipeline recipes implemented using
+the @acronym{Common Pipeline Library, CPL} C API, and recipes implemented
+using the PyCPL Python API.")
+ (properties '((upstream-name . "pyesorex")))
+ (license license:bsd-3)))
+
(define-public python-pyhalo
(package
(name "python-pyhalo")
- (version "1.4.1")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyhalo" version))
(sha256
- (base32 "06zdcr82fzzn6zkjralmv9qv7qjyjkni1p1rg60bvl8h013v3xp6"))))
+ (base32 "1yh5acjiwkfm4sjiydksg9187k3lwsads1p9zy0ck7wb6jwxrj81"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; ValueError: The truth value of an array with more than one element is
- ;; ambiguous. Use a.any() or a.all()
+ ;; tests: 194 passed, 3 deselected, 119 warnings
+ ;; ValueError: The truth value of an array with more than one element
+ ;; is ambiguous. Use a.any() or a.all()
#:test-flags #~(list "-k" "not test_vmax")
#:phases
#~(modify-phases %standard-phases
@@ -6060,6 +6319,8 @@ end products of specific X-ray observatories.")
#~(list "--numprocesses" (number->string (parallel-job-count)))
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home-env
(lambda _
;; Tests require HOME to be set.
@@ -6120,102 +6381,103 @@ PSF} describing how the optical system spreads light from sources.")
(license license:expat)))
(define-public python-romancal
- ;; The compatible version is not released yet, use the latest commit.
- (let ((commit "ae864a407fc16001d3a0370779caa381f994f718")
- (revision "0"))
- (package
- (name "python-romancal")
- (version (git-version "0.19.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spacetelescope/romancal")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0dxgwy6qva8ss7xb6hlkck6kysikgmn0byprvj4kx1l82gm1sk0g"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--color=no"
- "--numprocesses" (number->string (min 8 (parallel-job-count)))
- ;; XXX: Tests requiring network access or additional setup,
- ;; check how to run them locally.
- "--ignore=romancal/assign_wcs/tests/test_wcs.py"
- "--ignore=romancal/dark_current/tests/test_dark.py"
- "--ignore=romancal/dq_init/tests/test_dq_init.py"
- "--ignore=romancal/flatfield/tests/test_flatfield.py"
- "--ignore=romancal/flux/tests/test_flux_step.py"
- "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py"
- "--ignore=romancal/linearity/tests/test_linearity.py"
- "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py"
- "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py"
- "--ignore=romancal/photom/tests/test_photom.py"
- "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py"
- "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py"
- "--ignore=romancal/refpix/tests/test_step.py"
- "--ignore=romancal/resample/tests/test_resample.py"
- "--ignore=romancal/saturation/tests/test_saturation.py"
- "--ignore=romancal/skycell/tests/test_skycell.py"
- "--ignore=romancal/skycell/tests/test_skycell_match.py"
- "--ignore=romancal/skymatch/tests/test_skymatch.py"
- "--ignore=romancal/source_catalog/tests/test_psf.py"
- "--ignore=romancal/source_catalog/tests/test_source_catalog.py"
- "--ignore=romancal/stpipe/tests/test_core.py"
- "--ignore=romancal/tweakreg/tests/test_tweakreg.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- ;; XXX: scipy >=1.14.1
- ((" >=1.14.1") ""))))
- (add-before 'build 'set-version
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
- #$(version-major+minor+point version)))))))
- (native-inputs
- (list nss-certs-for-test
- python-ci-watson
- python-deepdiff
- ;; python-edp ;not packaged
- python-pytest
- python-pytest-astropy
- python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm
- python-stpreview
- python-wheel))
- (propagated-inputs
- (list python-asdf
- python-asdf-astropy
- python-astropy
- python-crds
- python-drizzle
- python-gwcs
- python-jsonschema
- python-numpy
- python-pandas
- python-photutils
- python-pyarrow
- python-pyparsing
- python-requests
- python-roman-datamodels
- python-scipy
- python-spherical-geometry
- python-stcal
- python-stpipe
- python-stpsf
- python-stsci-imagestats
- python-tweakwcs))
- (home-page "https://github.com/spacetelescope/romancal")
- (synopsis "Nancy Grace Roman Space Telescope observations processing library")
- (description
- "This package implements a functionality for calibration of science
+ (package
+ (name "python-romancal")
+ (version "0.20.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spacetelescope/romancal")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16aa8ylq6281k1z3yz0lzbw0ca9l7fgci1s14jqd9ymcmssnf4q4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--color=no"
+ "--numprocesses" (number->string (min 8 (parallel-job-count)))
+ ;; XXX: Tests requiring network access or additional setup,
+ ;; check how to run them locally.
+ "--ignore=romancal/assign_wcs/tests/test_wcs.py"
+ "--ignore=romancal/dark_current/tests/test_dark.py"
+ "--ignore=romancal/dq_init/tests/test_dq_init.py"
+ "--ignore=romancal/flatfield/tests/test_flatfield.py"
+ "--ignore=romancal/flux/tests/test_flux_step.py"
+ "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py"
+ "--ignore=romancal/linearity/tests/test_linearity.py"
+ "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py"
+ "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py"
+ "--ignore=romancal/photom/tests/test_photom.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py"
+ "--ignore=romancal/refpix/tests/test_step.py"
+ "--ignore=romancal/resample/tests/test_resample.py"
+ "--ignore=romancal/saturation/tests/test_saturation.py"
+ "--ignore=romancal/skycell/tests/test_skycell.py"
+ "--ignore=romancal/skycell/tests/test_skycell_match.py"
+ "--ignore=romancal/skymatch/tests/test_skymatch.py"
+ "--ignore=romancal/source_catalog/tests/test_psf.py"
+ "--ignore=romancal/source_catalog/tests/test_source_catalog.py"
+ "--ignore=romancal/stpipe/tests/test_core.py"
+ "--ignore=romancal/tweakreg/tests/test_tweakreg.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ;; XXX: scipy >=1.14.1
+ ((" >=1.14.1") "")
+ (("stsci.imagestats >= 1.8.3")
+ ;; Cant' find the version even if it's added.
+ "stsci.imagestats"))))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(version-major+minor+point version)))))))
+ (native-inputs
+ (list nss-certs-for-test
+ python-ci-watson
+ python-deepdiff
+ ;; python-edp ;not packaged
+ python-pytest
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools-next
+ python-setuptools-scm
+ python-stpreview))
+ (propagated-inputs
+ (list python-asdf
+ python-asdf-astropy
+ python-astropy
+ python-crds
+ python-drizzle
+ python-gwcs
+ python-jsonschema
+ python-numpy
+ python-pandas
+ python-photutils
+ python-pyarrow
+ python-requests
+ python-roman-datamodels
+ python-scipy
+ python-spherical-geometry
+ python-stcal
+ python-stpipe
+ python-stsci-imagestats
+ python-tweakwcs
+ ;; [sdp]
+ python-pysiaf
+ ;; python-roman-photoz ;not packaged
+ python-stpreview))
+ (home-page "https://github.com/spacetelescope/romancal")
+ (synopsis "Nancy Grace Roman Space Telescope observations processing library")
+ (description
+ "This package implements a functionality for calibration of science
observations from the Nancy Grace Roman Space Telescope.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public python-sbpy
(package
@@ -6341,17 +6603,24 @@ library with bug fixtures.")
(define-public python-sgp4
(package
(name "python-sgp4")
- (version "2.24")
+ (version "2.25")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sgp4" version))
(sha256
- (base32 "0ll3gxjf697llh6nvisxnj2h4hl23nq1m24ymsykz8kf4ygj8man"))))
+ (base32 "0x06mxdmk2rsbp7ymjvvbj8pwkf4y2w6g8p0znw9zmi5rinxr7p1"))))
(build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "sgp4.tests")))))))
(native-inputs
- (list python-setuptools
- python-wheel))
+ (list python-setuptools-next))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/brandon-rhodes/python-sgp4")
@@ -6702,13 +6971,13 @@ but has evolved to support other missions as well.")
(define-public python-space-dolphin
(package
(name "python-space-dolphin")
- (version "1.1.2")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "space_dolphin" version))
(sha256
- (base32 "0qxpb6ss0w4f6mnisri3i3a5g5dfa12a7iimdchzqql7r53x7xiq"))))
+ (base32 "0qsdaqbdf51ai54w4d483bf9kxjjcsr5fiqs861z7k7s7zrjms0r"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7149,13 +7418,13 @@ of axis order, spatial projections, and spectral units that exist in the wild.
(define-public python-specutils
(package
(name "python-specutils")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "specutils" version))
(sha256
- (base32 "0ngq4r7awkbwdbi7a8isj6iw66xk3s26yjp0c0qvl6wvf9hby59r"))))
+ (base32 "02yf0s0qcwhj7qn0l3glvdlap4pr15s4hm2ki14py2k5sfv8j0ab"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7187,10 +7456,9 @@ of axis order, spatial projections, and spectral units that exist in the wild.
(native-inputs
(list python-matplotlib
python-pytest-astropy
- python-setuptools
+ python-setuptools-next
python-setuptools-scm
- python-spectral-cube
- python-wheel))
+ python-spectral-cube))
(propagated-inputs
(list python-asdf
python-asdf-astropy
@@ -7377,13 +7645,13 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
(define-public python-stcal
(package
(name "python-stcal")
- (version "1.14.1")
+ (version "1.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stcal" version))
(sha256
- (base32 "1y3w1nlb4f56f9w7ql1al35mj2xv53cagrnpqknl1kh6r6qg7pqj"))))
+ (base32 "0q27dw3gsv03kik63rclpg0si8qb2k7l8lhszi2b1948kb0spwnn"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7900,13 +8168,13 @@ implementation package such as asdf-astropy.")
(define-public python-rad
(package
(name "python-rad")
- (version "0.26.0")
+ (version "0.27.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rad" version))
(sha256
- (base32 "0vxkjsj9bdl84076lbric4jn531jv46i2wwfxak50i5mik8r7zjg"))))
+ (base32 "04vzqkcw6la5n2jw92khmqnizs2nf5vb27nknn3c6wj1jwfwl6bv"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7925,8 +8193,7 @@ implementation package such as asdf-astropy.")
python-pytest-doctestplus
python-semantic-version
python-setuptools-next
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-asdf
python-asdf-astropy))
@@ -8023,16 +8290,17 @@ channels
(define-public python-roman-datamodels
(package
(name "python-roman-datamodels")
- (version "0.26.0")
+ (version "0.27.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "roman_datamodels" version))
(sha256
- (base32 "0kiv139q6q3pjlalb16nqcyib8hmd9svr4y24s7g0as08x09d7zl"))))
+ (base32 "1631jpv7mcrcka6bfxp04ih43wlm9pmqsqxckqyv6y9jgsipjxy3"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 4185 passed, 1 skipped, 1 xfailed
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count)))
#:phases
@@ -8141,20 +8409,19 @@ task}.")
(define-public python-stsci-skypac
(package
(name "python-stsci-skypac")
- (version "1.0.10")
+ (version "1.0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stsci_skypac" version))
(sha256
- (base32 "0amfknfxzrmia0d8x83i9h2v5760ynvfgfs0kzpb1ib0vyaci671"))))
+ (base32 "1pfgcgcgwvlil4m0v7d6raya70s74knimfh8yn634kapf24xxy1k"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; no tests in PyPI or git
(native-inputs
- (list python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ (list python-setuptools-next
+ python-setuptools-scm-next))
(propagated-inputs
(list python-astropy
python-numpy
@@ -8379,7 +8646,8 @@ Telescope, HST}).")
;; For tests: Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-dask
+ (list nss-certs-for-test
+ python-dask
python-pytest-astropy
python-pytest-mpl
python-pytest-xdist
@@ -8422,16 +8690,16 @@ Telescope, HST}).")
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-arraydiff
python-pytest-doctestplus
python-pytest-xdist
python-reproject
- python-setuptools
+ python-setuptools-next
python-setuptools-scm-next
python-streamtracer
- python-sympy
- python-wheel))
+ python-sympy))
(propagated-inputs
(list python-astropy
python-numpy
@@ -8510,23 +8778,30 @@ SunPy.")
(define-public python-sunpy
(package
(name "python-sunpy")
- (version "6.1.1")
+ (version "7.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sunpy" version))
(sha256
- (base32 "1nqk5q4gd7w59zsps8gyzh6r1mmpzia0z5494za6na5vn2qsc2f6"))))
+ (base32 "1q7z74jf9r65clrq7g6mqqap6455krfp4mxbjs3039jk5gs8d47m"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 2439 passed, 3 xfailed, 35 warnings
#:test-flags
#~(list "--pyargs" "sunpy"
"--numprocesses" (number->string (min 8 (parallel-job-count)))
- ;; Test introduces a time bomb and fails with error: ValueError:
+ "-m" "not remote_data"
+ ;; [1] Test introduces a time bomb and fails with error: ValueError:
;; interpolating from IERS_Auto using predictive values that are
;; more than 30.0 days old.
- "-k" "not test_print_params")
+ ;; [2,3] Failed: DID NOT RAISE <class 'ModuleNotFoundError'>
+ "-k" (string-join
+ (list "not test_print_params" ;1
+ "test_main_nonexisting_module" ;2
+ "test_main_stdlib_module") ;3
+ " and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-test-files
@@ -8546,20 +8821,19 @@ SunPy.")
(with-directory-excursion "/tmp"
(apply invoke "pytest" "-vv" test-flags))))))))
(native-inputs
- (list opencv ; For tests, includes OpenCV-Python
+ (list nss-certs-for-test
+ opencv ; For tests, includes OpenCV-Python
python-aiohttp
python-extension-helpers
python-hvpy
python-jplephem
;; python-mplcairo ; Not packed yet in Guix
- python-packaging
python-pytest-astropy
python-pytest-mock
python-pytest-mpl
python-pytest-xdist
- python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-next
+ python-setuptools-scm-next))
(propagated-inputs
(list python-asdf
python-asdf-astropy
@@ -8576,10 +8850,12 @@ SunPy.")
python-matplotlib
python-mpl-animators
python-numpy
+ python-packaging
python-pandas
python-parfive
python-pyerfa
python-reproject
+ python-requests-next
python-scikit-image
python-scipy
;; python-spiceypy ; Not packed yet in Guix, long journey.
@@ -8610,7 +8886,8 @@ to the SolarSoft data analysis environment.")
python-fsspec
python-mpl-animators
python-parfive
- python-pyerfa)))))
+ python-pyerfa
+ python-requests-next)))))
(define-public python-sunpy-soar
(package
@@ -8653,13 +8930,16 @@ to the SolarSoft data analysis environment.")
" and not "))
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home-env
(lambda _
;; Tests require HOME to be set.
;; Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-doctestplus
python-responses
python-setuptools
@@ -8680,31 +8960,20 @@ to the SolarSoft data analysis environment.")
(define-public python-sunraster
(package
(name "python-sunraster")
- (version "0.6.0")
+ (version "0.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sunraster" version))
(sha256
- (base32 "1nyrhn7if7xpl97k6nzsxymdi6b77n61xlh1il3m58rdrjyp5q81"))))
+ (base32 "0a1w7958n4m1qm59x6y00a0p45b5drnj1ippwl7gvszbwamhr2gr"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"--ignore=docs/data_types/raster.rst"
- "--ignore=docs/data_types/spectrogram.rst"
- "-k" (string-join
- ;; XXX: Reported upstream:
- ;; <https://github.com/sunpy/sunraster/issues/281>
- (list "not test_apply_exposure_time_correction"
- "test_ndcube_components_after_slicing"
- "test_read_spice_l2_fits_multiple_files_dumbbells"
- "test_read_spice_l2_fits_multiple_rasters_multiple_windows"
- "test_read_spice_l2_fits_multiple_rasters_single_window"
- "test_read_spice_l2_fits_multiple_sns_multiple_windows"
- "test_read_spice_l2_fits_single_file_dumbbells")
- " and not "))
+ "--ignore=docs/data_types/spectrogram.rst")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
@@ -8713,14 +8982,14 @@ to the SolarSoft data analysis environment.")
;; '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-astropy
python-pytest-doctestplus
python-pytest-xdist
python-setuptools-next
python-setuptools-scm-next
- python-sunpy-minimal
- python-wheel))
+ python-sunpy-minimal))
(propagated-inputs
(list python-astropy
python-ndcube
@@ -9573,23 +9842,18 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(license license:gpl3+)))
(define-public stellarium
- ;; XXX: 25.1 does not provide option to build with system MD4C, see
- ;; <https://github.com/Stellarium/stellarium/issues/4267>, using the latest
- ;; commit.
- (let ((commit "045915b9dca754f6eec1bdc311428eb3e98d1002")
- (revision "2"))
- (package
+ (package
(name "stellarium")
- (version (git-version "25.1" revision commit))
+ (version "25.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Stellarium/stellarium")
- (commit commit)))
+ (url "https://github.com/Stellarium/stellarium")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1nrjfa1aq0inrbr66w8n8lqjkn0nsssjfl0dfrc4maynjp63gqkq"))))
+ (base32 "0fxdvybdcnlkjkyx1kqc7gg7p55qd4h1ri0mmn1xj2g5fxsbs0nr"))))
(build-system qt-build-system)
;; TODO: Complete documentation build and split into dedicated outputs.
(arguments
@@ -9598,11 +9862,11 @@ deconvolution). Such post-processing is not performed by Stackistry.")
#:tests? #f
#:configure-flags
#~(list "-DENABLE_GPS=1"
- ;; TODO: Enable when all of the dependencies are available for Qt6.
- "-DENABLE_QT6=0"
"-DENABLE_TESTING=0"
(string-append "-DCMAKE_CXX_FLAGS=-isystem "
- #$(this-package-input "qtserialport") "/include/qt5"))
+ #$(this-package-input "qtpositioning") "/include/qt6"
+ " -isystem "
+ #$(this-package-input "qtserialport") "/include/qt6"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-offscreen-display
@@ -9610,24 +9874,25 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp"))))))
(inputs
- (list calcmysky-qt5
+ (list calcmysky
+ eigen
+ glm
gpsd
indi
libnova
md4c
nlopt
openssl
- qtbase-5
- qtcharts-5
- qtlocation-5
- qtmultimedia-5
+ qtbase
+ qtcharts
+ qtlocation
+ qtmultimedia
qtpositioning
- qtscript-5
- qtserialport-5
+ qtserialport
qttranslations
- qtwayland-5
- qtwebengine-5
- qxlsx-qt5
+ qtwayland
+ qtwebengine
+ qxlsx
zlib))
(native-inputs
(list doxygen
@@ -9636,7 +9901,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
mesa
perl
python-wrapper
- qttools-5))
+ qttools))
(home-page "https://stellarium.org/")
(synopsis "3D sky viewer")
(description
@@ -9644,7 +9909,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
3D, just like what you see with the naked eye, binoculars, or a telescope. It
can be used to control telescopes over a serial port for tracking celestial
objects.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public stuff
;; XXX: No version tag available in GitHub.
@@ -9927,7 +10192,7 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(define-public uraniborg
(package
(name "uraniborg")
- (version "0.0.8")
+ (version "0.0.10")
(source
(origin
(method git-fetch)
@@ -9936,23 +10201,23 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jr4sj42cg1b1n74yag1a4rbysk53s9a3qbd3sg5qaabvjs534v1"))))
+ (base32 "0bz2k2x06nyvhr9v4z6f21cf29pqsj9m4qyn8sdbl421wsqj31wg"))))
(build-system go-build-system)
(arguments
(list
- #:tests? #f ; XXX: tests require some config files which are not in Git
#:install-source? #f
#:import-path "bitbucket.org/dpnash/uraniborg"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-config
- ;; TODO: This might be patched in the upstream, see
- ;; <https://codeberg.org/astronexus/uraniborg/issues/1>.
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "consts.go"
- (("config/") (string-append #$output "/etc/uraniborg/"))
- (("data/") (string-append #$output "/share/uraniborg/data/")))
+ (("DEFAULT_BASE_DIR = \".\"") (format #f "DEFAULT_BASE_DIR = ~s" #$output))
+ (("\"config\"") (format #f "~s" "etc/uraniborg"))
+ (("\"data\"") (format #f "~s" "share/uraniborg/data"))
+ (("\"charts\"") (format #f "~s" "share/uraniborg/charts"))
+ (("\"fonts\"") (format #f "~s" "share/uraniborg/fonts")))
(substitute* (find-files "config" ".*\\.yaml$")
(("fonts/") (string-append #$output "/share/uraniborg/fonts/"))))))
(add-after 'install 'install-runtime-files
@@ -9960,11 +10225,19 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(with-directory-excursion (string-append "src/" import-path)
(let ((etc (string-append #$output "/etc/uraniborg"))
(data (string-append #$output "/share/uraniborg/data"))
+ (charts (string-append #$output "/share/uraniborg/charts"))
(fonts (string-append #$output "/share/uraniborg/fonts")))
(copy-recursively "config" etc)
+ (copy-recursively "charts" charts)
(copy-recursively "fonts" fonts)
- (system* "gunzip" "data/athyg_32_subset.csv.gz")
- (install-file "data/athyg_32_subset.csv" data))))))))
+ (system* "gunzip" "data/athyg_33_subset.csv.gz")
+ (install-file "data/athyg_33_subset.csv" data)))))
+ (delete 'check)
+ (add-after 'install-runtime-files 'post-install-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
(native-inputs
(list go-codeberg-org-astronexus-brahe
go-dario-cat-mergo
@@ -9983,7 +10256,10 @@ from the HYG catalog.
@code{uraniborg} lets you view the sky from both the solar system and from any
star in the AT-HYG catalog with a known distance (over 2.5 million stars
-currently).")
+currently).
+
+Base directory containing custom config, data, charts and fonts may be
+adjusted with command line option @code{-b}, by default set to store path.")
(license (list license:asl2.0 ;; Roboto fonts
license:silofl1.1 ;; Noto Sans fonts
license:gpl3+))))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 066621037e..e01d0def8f 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016–2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
-;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
@@ -1922,7 +1922,7 @@ synthesis.")
(define-public snapcast
(package
(name "snapcast")
- (version "0.29.0")
+ (version "0.32.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1931,21 +1931,21 @@ synthesis.")
(file-name (git-file-name name version))
(sha256
(base32
- "1960xp54vsndj9vvc03kx9kg9phdchdgrfghhvcp2b0nfq2qcqqm"))))
+ "06hllji1621f29g6ymbysi1vkndjsrwj63f5ph30f6kvv3c8sqx4"))))
(build-system cmake-build-system)
- (arguments
- '(#:tests? #f)) ; no included tests
+ (arguments '(#:tests? #f)) ;no included tests
(inputs
- (list boost
- libvorbis
- soxr
- alsa-lib
+ (list alsa-lib
avahi
- pulseaudio
+ boost
+ expat
flac
- opus))
- (native-inputs
- (list pkg-config))
+ libvorbis
+ openssl
+ opus
+ pulseaudio
+ soxr))
+ (native-inputs (list pkg-config))
(home-page "https://github.com/badaix/snapcast")
(synopsis "Synchronous multiroom audio player")
(description
@@ -6479,16 +6479,16 @@ workstations as well as consumer software such as music players.")
(define-public redkite
(package
(name "redkite")
- (version "1.3.1") ;marked unmaintained as of Oct. 2021
+ (version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/free-sm/redkite")
+ (url "https://github.com/quamplex/redkite")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1zb2k2a4m7z2ravqrjn8fq8lic20wbr2m8kja3p3113jsk7j9zvd"))))
+ (base32 "1xn7vnv7zszy0f1ynxd7qn0131w0gmk3rp3my4xjh143dhck4q4b"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
@@ -6496,13 +6496,13 @@ workstations as well as consumer software such as music players.")
(list cairo))
(native-inputs
(list pkg-config))
- (synopsis "Small GUI toolkit")
+ (synopsis "Lightweight graphics widget toolkit for embedded GUI")
(description "Redkite is a small GUI toolkit developed in C++17 and
inspired from other well known GUI toolkits such as Qt and GTK. It is
minimal on purpose and is intended to be statically linked to applications,
therefore satisfying any requirements they may have to be self contained,
as is the case with audio plugins.")
- (home-page "https://gitlab.com/geontime/redkite")
+ (home-page "https://github.com/quamplex/redkite")
(license license:gpl3+)))
(define-public carla
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index c20722245f..6f705e760c 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -233,7 +233,7 @@ This can give a much better understanding of the command's performance.")
(define-public benchmark
(package
(name "benchmark")
- (version "1.5.6")
+ (version "1.9.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -242,7 +242,7 @@ This can give a much better understanding of the command's performance.")
(file-name (git-file-name name version))
(sha256
(base32
- "030g4d8vpn2442dsap0qw86lsw7xfl36k0x0x9bn0vvm11qvjn8c"))))
+ "05b5sf0dmgr5s9dbvasg8rndh754kkc4chni6ynqa1h8m5q0kg1z"))))
(build-system cmake-build-system)
(native-inputs
`(("googletest-source" ,(package-source googletest))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 1b381f1bb8..a7135759f9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7162,7 +7162,7 @@ bases are detected.")
(define-public trinityrnaseq
(package
(name "trinityrnaseq")
- (version "2.13.2")
+ (version "2.15.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7172,7 +7172,7 @@ bases are detected.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qszrxqbx4q5pavpgm4rkrh1z1v1mf7qx83vv3fnlqdmncnsf1gv"))))
+ "06qvxy6wvvjpn1mkg8m78syyn98xj76569gpl2jbc9q036i56kh8"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c4b721c9f5..94d49e1458 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -2154,3 +2154,103 @@ the features of iPXE without the hassle of reflashing.")
"-o" (string-append firmware
"/efi-" name ".rom")))))
'#$roms)))))))))))
+
+(define-public refind
+ (package
+ (name "refind")
+ (version "0.14.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/refind/" version
+ "/refind-src-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w682p0j59apjcy26xzzhv70fyd8nqjs47i8cz2qcsx71pl3rngp"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively
+ "refind/tools_x64/gptsync_x64.efi")))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc"))
+ (native-inputs
+ (list binutils))
+ (inputs
+ (list gnu-efi))
+ (arguments
+ (list #:tests? #f ; no tests
+ #:make-flags
+ #~(list ;; Make build reproducible.
+ ;; Also disables secure boot anti-rollback protection.
+ ;; Otherwise, "objcopy --add-section" would change the
+ ;; timestamp inside the EFI file.
+ "OMIT_SBAT=1"
+ (string-append "AR=" #$(ar-for-target))
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "LD=" #$(ld-for-target))
+ (string-append "EFIINC=" (assoc-ref %build-inputs "gnu-efi")
+ "/include/efi")
+ (string-append "GNUEFILIB=" (assoc-ref %build-inputs "gnu-efi")
+ "/lib")
+ (string-append "EFILIB=" (assoc-ref %build-inputs "gnu-efi")
+ "/lib")
+ (string-append "EFICRT0=" (assoc-ref %build-inputs "gnu-efi")
+ "/lib")
+ (string-append "OBJCOPY=" (assoc-ref %build-inputs "binutils")
+ "/bin/objcopy"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'build 'build-fs
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (apply invoke "make" "fs" make-flags)))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out-sbin (string-append #$output "/sbin"))
+ (out-share
+ (string-append #$output "/share/refind-"
+ #$version))
+ (out-share-refind
+ (string-append out-share "/refind")))
+ (mkdir-p out-share)
+ (copy-recursively "banners"
+ (string-append out-share "/banners"))
+ (copy-recursively "fonts"
+ (string-append out-share "/fonts"))
+ (for-each (lambda (name)
+ (copy-recursively name
+ (string-append
+ out-share-refind "/"
+ name)))
+ (find-files "." "^drivers_" #:directories? #t))
+ (copy-recursively "icons"
+ (string-append out-share-refind "/icons"))
+ ;(copy-recursively "keys" "/etc/refind.d")
+ (install-file "mkrlconf" out-sbin)
+ (install-file "mvrefind" out-sbin)
+ (install-file "refind-sb-healthcheck" out-sbin)
+ (install-file "refind-install" out-share)
+ (install-file "refind-mkdefault" out-sbin)
+ (install-file "refind.conf-sample" out-share-refind)
+ (for-each
+ (lambda (name)
+ (install-file name
+ (string-append #$output "/share/man/man8")))
+ (find-files "docs/man" "[.]8$"))
+ (for-each (lambda (f)
+ (install-file f out-share-refind))
+ (find-files "refind" "refind.*\\.efi$")))))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out-doc
+ (string-append #$output:doc "/share/doc/refind-"
+ #$version)))
+ (copy-recursively "docs/refind"
+ (string-append out-doc "/refind"))
+ (copy-recursively "docs/Styles"
+ (string-append out-doc "/Styles"))))))))
+ (synopsis "rEFInd boot manager")
+ (description "This package provides a boot manager that is an EFI
+program.")
+ (home-page "https://www.rodsbooks.com/refind/")
+ (license license:gpl3+)))
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 934466f951..5fc5d385d0 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -328,7 +328,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript
(package
(name "noscript")
- (version "13.0.8")
+ (version "13.0.9")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
@@ -336,7 +336,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
".xpi"))
(sha256
(base32
- "1p6jrz22jjzcqlbza2v8nix2sx9xjgl43vmm43hwrf9w13z8r5wx"))))
+ "1xbisx3xqak9aj7nb2lh94an6yfldsl6a2g2qc87vxi1zwdbcnjj"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index da8b558c6f..ae3047f13b 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -278,7 +279,7 @@ command-line interface} and a @acronym{TUI, textual user interface} named
(define-public remind
(package
(name "remind")
- (version "5.0.5")
+ (version "6.0.1")
(source
(origin
(method url-fetch)
@@ -289,7 +290,7 @@ command-line interface} and a @acronym{TUI, textual user interface} named
".")
".tar.gz"))
(sha256
- (base32 "0yc0lfrl0zzc1bn5fkigararg44bdryis7vjnm8vzs21as9r0dbz"))))
+ (base32 "01zhs8lgncpm1229s7b49fhnwwnxyyan845gb47ppkfn03vvc187"))))
(properties
`((output-synopsis "tcl" "graphical front-end to Remind calendar program")))
(build-system gnu-build-system)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 7d081e3e3f..d508f37730 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -15,7 +15,6 @@
;;; Copyright © 2020, 2021, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 lu hui <luhuins@163.com>
-;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
@@ -950,88 +949,6 @@ extensions over the standard utility.")
(properties '((lint-hidden-cves . ("CVE-2023-40305"
"CVE-2024-0911")))))))
-(define-public cdecl
- (package
- (name "cdecl")
- (version "2.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.ibiblio.org/pub/linux/devel/lang/c/cdecl-"
- version ".tar.gz"))
- (sha256
- (base32 "0dm98bp186r4cihli6fmcwzjaadgwl1z3b0zdxfik8h7hkqawk5p"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags
- ,#~(list "LIBS=-lreadline"
- (string-append "BINDIR=" #$output "/bin")
- (string-append "MANDIR=" #$output "/share/man/man1"))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; No configure script.
- (add-after 'unpack 'fix-build
- (lambda _
- (substitute* "Makefile"
- (("lex cdlex.l")
- "flex cdlex.l"))
- (substitute* "cdecl.c"
- ;; Fix "error: conflicting types for ‘getline’".
- (("char \\* getline\\(\\)")
- "char * our_getline(void)")
- (("char \\* getline \\(\\)")
- "char * our_getline(void)")
- (("line = getline\\(\\)")
- "line = our_getline()")
- ;; Fix "error: conflicting types for ‘getopt’".
- (("int getopt\\(int,char \\*\\*,char \\*\\);")
- "")
- ;; Fix invalid use of "restrict" as a variable name.
- (("i, j, restrict")
- "i, j, restriction")
- (("restrict =")
- "restriction =")
- ;; Fix "warning: implicit declaration of function ‘add_history’".
- (("# include <readline/readline.h>" all)
- (string-append all "\n# include <readline/history.h>"))
- ;; Fix "warning: implicit declaration of function ‘dotmpfile_from_string’".
- (("void setprogname\\(char \\*\\);" all)
- (string-append all "\nint dotmpfile_from_string(char *);"))
- ;; Fix "warning: implicit declaration of function ‘completion_matches’".
- (("matches = completion_matches\\(text, command_completion\\);")
- "matches = rl_completion_matches(text, command_completion);")
- (("char \\* command_completion\\(char \\*, int\\);")
- "char * command_completion(const char *, int);")
- (("char \\* command_completion\\(char \\*text, int flag\\)")
- "char * command_completion(const char *text, int flag)")
- ;; Fix "warning: ‘CPPFunction’ is deprecated".
- (("rl_attempted_completion_function = \\(CPPFunction \\*\\)attempt_completion;")
- "rl_attempted_completion_function = (rl_completion_func_t *)attempt_completion;")
- ;; Fix "warning: ‘Function’ is deprecated".
- (("rl_completion_entry_function = \\(Function \\*\\)keyword_completion;")
- "rl_completion_entry_function = (rl_compentry_func_t *)keyword_completion;"))
- ;; Fix typo in man page.
- (substitute* "cdecl.1"
- (("<storage>\t::= auto \\| extern \\| register \\| auto")
- "<storage>\t::= auto | extern | register | static"))))
- (add-before 'install 'create-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (man (string-append out "/share/man/man1")))
- (mkdir-p bin)
- (mkdir-p man)))))
- #:tests? #f)) ; No "check" target.
- (native-inputs (list bison flex))
- (inputs (list readline))
- (home-page "https://www.ibiblio.org/pub/linux/devel/lang/c/")
- (synopsis "Turn English phrases into C or C++ declarations and vice versa")
- (description "@code{cdecl} is a program that turns English-like phrases into C
-declarations. It can also translate C into pseudo-English. It also handles
-type casts and C++. It has command-line editing and history with the GNU
-Readline library.")
- (license license:public-domain)))
-
(define-public sourcetrail
(package
(name "sourcetrail")
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 1971417a95..90cb365c42 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3750,17 +3750,8 @@ is the GNU Compiler Collection.")
;; automatically "redirects" them to 'gcc-toolchain'.
(deprecated-package "gcc" gcc-toolchain))
-
-(define-public gdc-toolchain-10
- (package (inherit (make-gcc-toolchain gdc-10))
- (synopsis "Complete GCC tool chain for D lang development")
- (description "This package provides a complete GCC tool chain for
-D lang development to be installed in user profiles. This includes
-gdc, as well as libc (headers and binaries, plus debugging symbols
-in the @code{debug} output), and binutils.")))
-
-(define-public gdc-toolchain-11
- (package (inherit (make-gcc-toolchain gdc-11))
+(define-public gdc-toolchain
+ (package (inherit (make-gcc-toolchain gdc))
(synopsis "Complete GCC tool chain for D lang development")
(description "This package provides a complete GCC tool chain for
D lang development to be installed in user profiles. This includes
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index e060795da9..a12dcb9d91 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -2041,8 +2041,10 @@ other values of screen objects, by setting their values as the tween starting
point and then, after each tween step, plugging back the result.")
(license license:expat)))
-;;; This older LTS release is kept for tensorflow.
(define-public abseil-cpp-20200923.3
+ ;; "guix refresh -l" shows no dependents of this package, but by input
+ ;; rewriting, grpc-1.16.1 depends on it;
+ ;; in turn this is an input to hyperledger-iroha and tensorflow.
(package
(name "abseil-cpp")
(version "20200923.3")
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index e85017ee2d..2459f2695f 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Allan Adair <allan@adair.no>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2024-2025 Maxim Cournoyer <maxim@guixoic.coop>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
@@ -137,55 +137,59 @@ fast, secure, parallelizable, capable of incremental updates.")
(license (list license:asl2.0 license:cc0)))) ; dual licensed
(define-public libdecaf
- (package
- (name "libdecaf")
- (version "1.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.code.sf.net/p/ed448goldilocks/code")
- (commit
- (string-append "v" version))))
- (file-name
- (git-file-name name version))
- (sha256
- (base32 "1ajgmyvc6a4m1h2hg1g4wz7ibx10x1xys9m6ancnmmf1f2srlfly"))))
- (build-system cmake-build-system)
- (outputs '("out" "python" "doc"))
- (arguments
- `(#:configure-flags '("-DENABLE_STATIC=OFF")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-python-binding
- (lambda _
- (substitute* "python/setup.py"
- (("gmake")
- "make")
- (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'")
- "'..', '..', 'build', 'src', 'libdecaf.so'"))))
- (add-after 'install 'install-python-binding
- (lambda* (#:key outputs #:allow-other-keys)
- (with-directory-excursion "../source/python"
- (invoke "python" "setup.py" "install"
- (string-append "--prefix=" (assoc-ref outputs "python"))
- "--root=/"))))
- (add-after 'install-python-binding 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "make" "doc")
- (let* ((doc (assoc-ref outputs "doc"))
- (dest (string-append doc "/share/doc")))
- (copy-recursively "doc" dest)))))))
- (native-inputs
- `(("dot" ,graphviz)
- ("doxygen" ,doxygen)
- ("python" ,python-wrapper)))
- (synopsis "Decaf Elliptic Curve Library")
- (description "The libdecaf library is an implementation of elliptic curve
+ ;; The 1.0.2 release fails due to some compiler warning treated as an error
+ ;; (see: https://sourceforge.net/p/ed448goldilocks/tickets/16/). Use the
+ ;; latest commit available.
+ (let ((commit "e5cc6240690d3ffdfcbdb1e4e851954b789cd5d9")
+ (revision "0"))
+ (package
+ (name "libdecaf")
+ (version (git-version "1.0.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.code.sf.net/p/ed448goldilocks/code")
+ (commit commit)))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32
+ "1gxf503cnmgsv7s0dm82rrizjhifdhdh42sfvbfsdj55syjnv1p2"))))
+ (build-system cmake-build-system)
+ (outputs '("out" "python" "doc"))
+ (arguments
+ (list #:imported-modules (append %cmake-build-system-modules
+ %python-build-system-modules)
+ #:modules '((guix build cmake-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:configure-flags #~(list "-DENABLE_STATIC=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-python-binding
+ (lambda _
+ (substitute* "python/setup.py"
+ (("gmake")
+ "make")
+ (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'")
+ "'..', '..', 'build', 'src', 'libdecaf.so'"))))
+ (add-after 'unpack 'ensure-no-mtimes-pre-1980
+ (assoc-ref python:%standard-phases 'ensure-no-mtimes-pre-1980))
+ (add-after 'install 'install-python-binding
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion "../source/python"
+ (invoke "python" "setup.py" "install"
+ (string-append
+ "--prefix="
+ (python:site-packages inputs outputs)))))))))
+ (native-inputs (list python-minimal-wrapper))
+ (synopsis "Decaf Elliptic Curve Library")
+ (description "The libdecaf library is an implementation of elliptic curve
cryptography using the Montgomery and Edwards curves Curve25519, Ed25519,
Ed448-Goldilocks and Curve448, using the Decaf encoding.")
- (home-page "https://ed448goldilocks.sourceforge.net/")
- (license (list license:expat ;library
- license:bsd-2)))) ;python bindings
+ (home-page "https://ed448goldilocks.sourceforge.net/")
+ (license (list license:expat ;library
+ license:bsd-2))))) ;python bindings
(define-public libsodium
(package
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 1500fbe145..a8196648f6 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -5803,24 +5803,26 @@ The drivers officially supported by @code{libdbi} are:
(file-name (git-file-name name version))
(sha256
(base32
- "12aq7pama96l2c1kmfkclb4bvrsxs9a8ppgk5gmzw45w2lg35i0y"))))
+ "12aq7pama96l2c1kmfkclb4bvrsxs9a8ppgk5gmzw45w2lg35i0y"))
+ (patches (search-patches "soci-mysql-ddl-types.patch"))))
(build-system cmake-build-system)
(propagated-inputs
;; Headers of soci has include-references to headers of these inputs.
- `(("firebird" ,firebird)
- ("postgresql" ,postgresql)
- ("sqlite" ,sqlite)
- ("odbc" ,unixodbc)
- ("boost" ,boost)
- ("mariadb:dev" ,mariadb "dev")))
+ (list firebird
+ postgresql
+ sqlite
+ unixodbc
+ boost
+ `(,mariadb "dev")))
(arguments
- `(#:configure-flags
- ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs it.
- (list "-DCMAKE_CXX_STANDARD=17"
- "-DSOCI_LIBDIR=lib"
- ;; This is for relocation when linking statically
- "-DCMAKE_CXX_FLAGS=-fPIE")
- #:tests? #f)) ; may require running database management systems
+ (list #:configure-flags
+ ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs
+ ;; it.
+ #~(list "-DCMAKE_CXX_STANDARD=17"
+ "-DSOCI_LIBDIR=lib"
+ ;; This is for relocation when linking statically
+ "-DCMAKE_CXX_FLAGS=-fPIE")
+ #:tests? #f)) ; may require running database management systems
(synopsis "C++ Database Access Library")
(description
"SOCI is an abstraction layer for several database backends, including
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 96f3298026..302c6482ea 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -773,7 +773,7 @@ error reporting, better tracing, profiling, and a debugger.")
(define-public rr
(package
(name "rr")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -781,7 +781,7 @@ error reporting, better tracing, profiling, and a debugger.")
(commit version)))
(sha256
(base32
- "16w6vvvgww4i2f0jk5zlrr6606fj8kps21fnw0pshyw88l141rqn"))
+ "18bahi9b7pz8s7vq8r52fg4pdnj62ymx4yyqjkiwnxlp06pdgqd3"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -795,6 +795,7 @@ error reporting, better tracing, profiling, and a debugger.")
(string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %build-inputs "capnproto")
"/lib,-rpath=" (assoc-ref %build-inputs "zlib")
+ "/lib,-rpath=" (assoc-ref %build-inputs "zstd")
"/lib")
,@(if (and (not (%current-target-system))
(member (%current-system)
@@ -818,9 +819,14 @@ error reporting, better tracing, profiling, and a debugger.")
(setenv "HOME" (getcwd))
#t)))))
(native-inputs
- (list pkg-config ninja which))
+ (list lldb pkg-config which))
(inputs
- (list gdb capnproto python python-pexpect zlib))
+ (list gdb
+ capnproto
+ python
+ python-pexpect
+ zlib
+ `(,zstd "lib")))
;; List of supported systems according to 'src/preload/raw_syscall.S'.
(supported-systems '("x86_64-linux" "i686-linux" "aarch64-linux"))
diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm
index 25429e6ab4..52bc0ada28 100644
--- a/gnu/packages/dezyne.scm
+++ b/gnu/packages/dezyne.scm
@@ -34,14 +34,14 @@
(define-public dezyne
(package
(name "dezyne")
- (version "2.18.3")
+ (version "2.18.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
- (base32 "1c4bi3gpl2fi6pk8z9gmrspg2ad7flkgqjs18bnczswii47yg2s8"))))
+ (base32 "0392p1601czz6yvlxd2b8phhmy35b62i4m1jgpfldzl6d18f7adr"))))
(inputs (list bash-minimal
boost
guile-3.0
diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm
deleted file mode 100644
index 16cd2ebd83..0000000000
--- a/gnu/packages/dico.scm
+++ /dev/null
@@ -1,95 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015-2016, 2018, 2024-2025 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages dico)
- #:use-module (guix packages)
- #:use-module ((guix licenses) #:select (gpl3+))
- #:use-module (guix download)
- #:use-module (guix build-system gnu)
- #:use-module (gnu packages)
- #:use-module (gnu packages bash)
- #:use-module (gnu packages crypto)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages m4)
- #:use-module (gnu packages groff)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages python)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages gsasl)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages wordnet))
-
-(define-public dico
- (package
- (name "dico")
- (version "2.12")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/dico/dico-"
- version ".tar.xz"))
- (sha256
- (base32
- "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
- "/share/guile/site/2.0")
- "--disable-static")
- #:phases (modify-phases %standard-phases
- (add-before 'build 'set-shell-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; This code invokes "/bin/sh -c 'm4 -s ...'".
- (substitute* "grecs/src/grecs-lex.c"
- (("\"/bin/sh\"")
- (string-append "\""
- (search-input-file inputs "/bin/sh")
- "\"")))))
- (add-before 'check 'silence-guile
- (lambda _
- ;; Guile is too talkative, which disturbs the test
- ;; infrastructure. Gag it.
- (setenv "GUILE_AUTO_COMPILE" "0")
- (setenv "GUILE_WARN_DEPRECATED" "no"))))))
- (native-inputs (list groff))
- (inputs
- (list m4 ;used at run time
- bash-minimal ;likewise
- pcre
- python-wrapper
- guile-2.2
- gsasl
- readline
- zlib
- wordnet
- libxcrypt ;for 'crypt'
- libltdl))
- (home-page "https://www.gnu.org.ua/software/dico/")
- (synopsis "Implementation of DICT server (RFC 2229)")
- (description
- "GNU Dico implements a flexible dictionary server and client according to
-RFC 2229 (DICT Server). It is able to access any database available,
-regardless of format, thanks to its modular structure. New modules may be
-written in C, Guile or Python. Dico also includes a command-line client,
-which may be used to query remote dictionary databases.")
- (license gpl3+)))
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index f51ed24111..5e53675ea7 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -1,15 +1,19 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014-2016, 2021, 2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2022 ROCKTAKEY <rocktakey@gmail.com>
;;; Copyright © 2022 Runciter <runciter@whispers-vpn.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,27 +45,87 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages dictd)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages gsasl)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages m4)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
- #:use-module (gnu packages texinfo)
- #:use-module (gnu packages compression)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages web)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages dictd)
- #:use-module (gnu packages speech)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages wordnet)
+ #:use-module (gnu packages xml))
+(define-public dico
+ (package
+ (name "dico")
+ (version "2.12")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/dico/dico-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "--disable-static")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-shell-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; This code invokes "/bin/sh -c 'm4 -s ...'".
+ (substitute* "grecs/src/grecs-lex.c"
+ (("\"/bin/sh\"")
+ (string-append "\""
+ (search-input-file inputs "/bin/sh")
+ "\"")))))
+ (add-before 'check 'silence-guile
+ (lambda _
+ ;; Guile is too talkative, which disturbs the test
+ ;; infrastructure. Gag it.
+ (setenv "GUILE_AUTO_COMPILE" "0")
+ (setenv "GUILE_WARN_DEPRECATED" "no"))))))
+ (native-inputs (list groff))
+ (inputs
+ (list m4 ;used at run time
+ bash-minimal ;likewise
+ pcre
+ python-wrapper
+ guile-3.0
+ gsasl
+ readline
+ zlib
+ wordnet
+ libxcrypt ;for 'crypt'
+ libltdl))
+ (home-page "https://www.gnu.org.ua/software/dico/")
+ (synopsis "Implementation of DICT server (RFC 2229)")
+ (description
+ "GNU Dico implements a flexible dictionary server and client according to
+RFC 2229 (DICT Server). It is able to access any database available,
+regardless of format, thanks to its modular structure. New modules may be
+written in C, Guile or Python. Dico also includes a command-line client,
+which may be used to query remote dictionary databases.")
+ (license license:gpl3+)))
(define-public vera
(package
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index a5b371a099..a9b1f9d565 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -267,7 +267,7 @@ install.")
(define-public reprotest
(package
(name "reprotest")
- (version "0.7.29")
+ (version "0.7.30")
(source
(origin
(method git-fetch)
@@ -276,7 +276,7 @@ install.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "17n7pdqil3jmpwcshr6dm5qsbpim3847smgxa82wy33kl2bz1ai8"))))
+ (base32 "013mqbbh6dcia2i4qdi4270lcgzr0k879phsaydf9b5ng9fkdajl"))))
(build-system pyproject-build-system)
(arguments
(list
diff --git a/gnu/packages/direct-connect.scm b/gnu/packages/direct-connect.scm
deleted file mode 100644
index 8c816ce714..0000000000
--- a/gnu/packages/direct-connect.scm
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages direct-connect)
- #:use-module (guix build-system scons)
- #:use-module (guix deprecation)
- #:use-module (guix gexp)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (gnu packages)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages build-tools)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages version-control))
-
-;; TODO Remove on the next python-team iteration.
-;; Unmaintained for 14 years, tried updating it here:
-;; https://lists.sr.ht/~ngraves/devel/patches/60080
-;; but it's too hard for most likely no users.
-;; If you use this package, let python-team know or try to fix it.
-(define-deprecated/public linuxdcpp #f
- (package
- (name "linuxdcpp")
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://launchpad.net/linuxdcpp/1.1/1.1.0/+download/linuxdcpp-"
- version ".tar.bz2"))
- (sha256
- (base32 "12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"))
- (patches (search-patches "linuxdcpp-openssl-1.1.patch"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (substitute* "SConstruct"
- ;; This compares single char[]acters in the version string, and
- ;; broke when GCC went into double digits.
- (("conf.CheckCXXVersion\\([^\\)]*\\)")
- "True")
- ;; Not all valid C++98 code is valid C++14 (and higher) code.
- (("'-D_REENTRANT'" match)
- (string-append match ", '-std=gnu++98'")))))))
- (build-system scons-build-system)
- (arguments
- `(#:scons ,scons-python2
- #:scons-flags (list (string-append "PREFIX=" %output))
- #:tests? #f)) ; no tests
- (inputs
- (list boost
- bzip2
- gtk+-2
- libglade
- libnotify
- openssl))
- (native-inputs
- (list bazaar gettext-minimal pkg-config))
- (home-page "https://launchpad.net/linuxdcpp/")
- (synopsis "Direct Connect client")
- (description "LinuxDC++ is a Direct Connect (DC) client. Direct Connect
-is a peer-to-peer file-sharing protocol. Clients connect to a central hub
-where they can chat or share files with one another. Users can view other
-users' list of shared files or search the hub for files.")
- (license license:gpl2+)))
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index cd1d0c0d9a..098f109cc0 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1925,6 +1926,35 @@ image files already supported by it.")
variables to configure your Django application.")
(license license:expat)))
+(define-public python-django-widget-tweaks
+ (package
+ (name "python-django-widget-tweaks")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-widget-tweaks" version))
+ (sha256
+ (base32 "1ir9qrygb0bsi53sqxs7052i5gpbzz3h8j3m5j94x6dv3rl8088w"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "django" "test"
+ "--settings=tests.settings")))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-django))
+ (home-page "https://github.com/jazzband/django-widget-tweaks")
+ (synopsis "Tweak the form field rendering in Django templates")
+ (description
+ "This package provides a way to tweak the form field rendering in
+templates and not in python-level form definitions.")
+ (license license:expat)))
+
(define-public python-django-cleanup
(package
(name "python-django-cleanup")
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 7c20450b5f..f07586f711 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -216,39 +216,40 @@ to take care of the OS-specific details when writing software that uses serial p
(file-name (git-file-name name version))))
(outputs '("out" "doc"))
(arguments
- `(#:tests? #f ; tests need USB access
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'change-udev-group
- (lambda _
- (substitute* (find-files "contrib" "\\.rules$")
- (("plugdev") "dialout"))))
- (add-after 'build 'build-doc
- (lambda _
- (invoke "doxygen")))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (copy-recursively "doxy/html-api"
- (string-append (assoc-ref outputs "doc")
- "/share/doc/libsigrok"))))
- (add-after 'install-doc 'install-udev-rules
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (rules (string-append out "/lib/udev/rules.d/")))
- (for-each (lambda (file)
- (install-file file rules))
- (find-files "contrib" "\\.rules$")))))
- (add-after 'install-udev-rules 'install-fw
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
- (out (assoc-ref outputs "out"))
- (dir-suffix "/share/sigrok-firmware/")
- (input-dir (string-append fx2lafw dir-suffix))
- (output-dir (string-append out dir-suffix)))
- (for-each
- (lambda (file)
- (install-file file output-dir))
- (find-files input-dir "."))))))))
+ (list
+ #:tests? #f ; tests need USB access
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'change-udev-group
+ (lambda _
+ (substitute* (find-files "contrib" "\\.rules$")
+ (("plugdev") "dialout"))))
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "doxygen")))
+ (add-after 'install 'install-doc
+ (lambda _
+ (copy-recursively
+ "doxy/html-api"
+ (string-append #$output:doc "/share/doc/libsigrok"))))
+ (add-after 'install-doc 'install-udev-rules
+ (lambda _
+ (for-each
+ (lambda (file)
+ (install-file
+ file
+ (string-append #$output "/lib/udev/rules.d/")))
+ (find-files "contrib" "\\.rules$"))))
+ (add-after 'install-udev-rules 'install-fw
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
+ (dir-suffix "/share/sigrok-firmware/")
+ (input-dir (string-append fx2lafw dir-suffix))
+ (output-dir (string-append #$output dir-suffix)))
+ (for-each
+ (lambda (file)
+ (install-file file output-dir))
+ (find-files input-dir "."))))))))
(native-inputs
(list autoconf automake doxygen graphviz libtool
sigrok-firmware-fx2lafw pkg-config))
@@ -289,18 +290,18 @@ supported devices, as well as input/output file format support.")
"11l8vnf2khqbaqas7cfnq3f8q5w7am6nbkkd5mqj5kpb3ya2avb9"))))
(outputs '("out" "doc"))
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-doc
- (lambda _
- (invoke "doxygen")
- #t))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (copy-recursively "doxy/html-api"
- (string-append (assoc-ref outputs "doc")
- "/share/doc/libsigrokdecode"))
- #t)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "doxygen")))
+ (add-after 'install 'install-doc
+ (lambda _
+ (copy-recursively
+ "doxy/html-api"
+ (string-append #$output:doc
+ "/share/doc/libsigrokdecode")))))))
(native-inputs
(list check doxygen graphviz pkg-config automake autoconf libtool))
;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in
@@ -644,28 +645,29 @@ formats.")
(package
(name "pulseview")
(version "0.4.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://sigrok.org/download/source/pulseview/pulseview-"
- version ".tar.gz"))
- (sha256
- (base32
- "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph"))
- (patches (search-patches "pulseview-qt515-compat.patch"
- "pulseview-glib-2.68.patch"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://sigrok.org/download/source/pulseview/pulseview-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph"))
+ (patches (search-patches "pulseview-qt515-compat.patch"
+ "pulseview-glib-2.68.patch"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ;format_time_minutes_test is failing
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'remove-empty-doc-directory
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion (string-append out "/share")
- ;; Use RMDIR to never risk silently deleting files.
- (rmdir "doc/pulseview")
- (rmdir "doc"))))))))
+ (list
+ #:tests? #f ;format_time_minutes_test is failing
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'remove-empty-doc-directory
+ (lambda _
+ (with-directory-excursion (string-append #$output "/share")
+ ;; Use RMDIR to never risk silently deleting files.
+ (rmdir "doc/pulseview")
+ (rmdir "doc")))))))
(native-inputs
(list pkg-config qttools-5))
(inputs
@@ -678,8 +680,8 @@ formats.")
qtsvg-5))
(home-page "https://www.sigrok.org/wiki/PulseView")
(synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
- (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI
-for sigrok.")
+ (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO
+GUI for sigrok.")
(license license:gpl3+)))
(define-public python-cocotb
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2d0563fe3d..ef7ab1855c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -30623,6 +30623,30 @@ When @code{gac-automatically-push-p} is non-nil, it also tries to push to the
current upstream.")
(license license:gpl3+)))
+(define-public emacs-ultra-scroll
+ (package
+ (name "emacs-ultra-scroll")
+ (version "0.4.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jdtsmith/ultra-scroll")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k1xqkxq89mz8dvzbfpks3jnrcmbd0hcz8a0hib1m3ka55hpczqz"))))
+ (build-system emacs-build-system)
+ (arguments (list #:tests? #f)) ;no tests
+ (home-page "https://github.com/jdtsmith/ultra-scroll")
+ (synopsis "Scroll Emacs like lightning")
+ (description
+ "@code{ultra-scroll} is a smooth-scrolling package for Emacs. It
+provides highly optimized, pixel-precise smooth-scrolling which can readily
+keep up with the very high event rates of modern track-pads and high-precision
+wheel mice.")
+ (license license:gpl3+)))
+
(define-public emacs-smooth-scroll
(package
(name "emacs-smooth-scroll")
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index bb0bd898e1..0ac1cb974d 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.comg>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
+;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4352,72 +4353,96 @@ on a Commodore C64, C128 etc.")
(license license:zlib)))
(define-public flycast
- (package
- (name "flycast")
- (version "2.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/flyinghead/flycast")
- (commit (string-append "v" version))
- ;; There are many bundled packages here included as git
- ;; submodules. Removing many of them would require patching the
- ;; source code and repository layout.
- (recursive? #t)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ainy75gkrvilcm89hq6wq9md41w0mxgp6l27q5fzrxxykpjh6ym"))
- (modules '((guix build utils)))
- (snippet #~(begin
- (substitute* "CMakeLists.txt"
- (("add_subdirectory\\(core/deps/Vulkan-Headers\\)")
- "find_package(VulkanHeaders)"))
- (with-directory-excursion "core/deps"
- (for-each delete-file-recursively
- '("SDL"
- "Spout"
- "Syphon"
- "Vulkan-Headers"
- "breakpad"
- "discord-rpc"
- "libzip"
- "oboe")))))))
- (build-system cmake-build-system)
- (arguments
- (list
- #:tests? #f ; no test suite
- #:configure-flags
- #~(list "-DUSE_ALSA=ON"
- "-DUSE_BREAKPAD=OFF"
- "-DUSE_DX11=OFF"
- "-DUSE_DX9=OFF"
- ;; The USE_HOST_GLSLANG option is not implemented correctly.
- ;; (see: https://github.com/flyinghead/flycast/issues/1843)
- "-DUSE_HOST_GLSLANG=OFF"
- "-DUSE_HOST_LIBZIP=ON"
- "-DUSE_HOST_SDL=ON"
- "-DUSE_LIBAO=ON"
- "-DUSE_LUA=ON"
- "-DUSE_PULSEAUDIO=ON"
- "-DUSE_VULKAN=ON")))
- (inputs (list alsa-lib
- ao
- curl
- glslang
- libzip
- lua
- miniupnpc
- pulseaudio
- sdl2
- spirv-tools
- vulkan-headers
- pkg-config))
- (home-page "https://github.com/flyinghead/flycast")
- (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator")
- (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2,
+ ;; Use a git snapshot as the latest 2.5 release is still on an older glslang
+ ;; version that doesn't build with GCC 14.
+ (let ((commit "33833cfd1ed2d94d907223442fdb8cdafd8d5d80")
+ (revision "0"))
+ (package
+ (name "flycast")
+ (version (git-version "2.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/flyinghead/flycast")
+ (commit commit)
+ ;; There are many bundled packages here included as git
+ ;; submodules, but removing many of them would require patching
+ ;; the source code and repository layout (see: <>).
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16vwhw33zhq2b8mpg863cn7sz4f04wxjz2650jgqjv7i5lkdd1g9"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ ;; TODO: Uncomment after our vulkan-headers
+ ;; are update to 1.3.261.0 or newer.
+ ;; (substitute* "CMakeLists.txt"
+ ;; (("add_subdirectory\\(core/deps/Vulkan-Headers\\)")
+ ;; "find_package(VulkanHeaders)"))
+ (with-directory-excursion "core/deps"
+ (for-each
+ delete-file-recursively
+ '("SDL"
+ "Spout"
+ "Syphon"
+ ;; TODO: Uncomment after our vulkan-headers
+ ;; are update to 1.3.261.0 or newer.
+ ;;"Vulkan-Headers"
+ "breakpad"
+ "discord-rpc"
+ ;; XXX: The libretro build requires the bundled
+ ;; libzip, which it uses to produce a
+ ;; static library.
+ ;;"libzip"
+ "oboe")))))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:configure-flags
+ #~(list "-DUSE_ALSA=ON"
+ "-DUSE_BREAKPAD=OFF"
+ "-DUSE_DX11=OFF"
+ "-DUSE_DX9=OFF"
+ ;; The USE_HOST_GLSLANG option is not implemented correctly.
+ ;; (see: https://github.com/flyinghead/flycast/issues/1843)
+ "-DUSE_HOST_GLSLANG=OFF"
+ "-DUSE_HOST_LIBZIP=ON"
+ "-DUSE_HOST_SDL=ON"
+ "-DUSE_LIBAO=ON"
+ "-DUSE_LIBCDIO=ON"
+ "-DUSE_LUA=ON"
+ "-DUSE_PULSEAUDIO=ON"
+ "-DUSE_VULKAN=ON")))
+ (native-inputs (list pkg-config))
+ (inputs (list alsa-lib
+ ao
+ curl
+ glslang
+ libcdio
+ libzip
+ lua
+ miniupnpc
+ pulseaudio
+ sdl2
+ spirv-tools
+ ;; TODO: Uncomment after vulkan-headers
+ ;; is updated to 1.3.261.0 or newer.
+ ;;vulkan-headers
+ ))
+ (home-page "https://github.com/flyinghead/flycast")
+ (synopsis "Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator")
+ (description "Flycast is a multi-platform Sega Dreamcast, Naomi, Naomi 2,
and Atomiswave emulator derived from reicast.")
- (license license:gpl2+)))
+ (license license:gpl2+))))
+
+(define-public libretro-flycast
+ (package/inherit flycast
+ (name "libretro-flycast")
+ (arguments (substitute-keyword-arguments (package-arguments flycast)
+ ((#:configure-flags flags)
+ #~(cons "-DLIBRETRO=ON" #$flags))))))
(define-public freedisksysrom
;; There is no release; use the latest commit.
@@ -4689,3 +4714,45 @@ information. Useful for cross-architecture tools (such as @code{python-pyvex}).
(synopsis "8051/8052 emulator with curses-based UI")
(description "emu8051 is a simulator of the 8051/8052 microcontrollers.")
(license license:expat))))
+
+(define-public fceux
+ (package
+ (name "fceux")
+ (version "2.6.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/TASEmulators/fceux")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02s5qmxdxpsa71977z9bs5vfhnszn5nr5hk05wns8cm9nshbg7as"))
+ (modules '((guix build utils)))
+ (snippet #~(map delete-file-recursively
+ (list "output/lua5.1.dll" "output/lua51.dll"
+ "src/drivers/win" "fceux-server" "vc")))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; No test suite.
+ #:tests? #f))
+ (inputs (list qtbase-5
+ zlib
+ minizip
+ sdl2
+ lua-5.1
+ libx264
+ x265
+ ffmpeg
+ libxkbcommon
+ libarchive))
+ (native-inputs (list pkg-config))
+ (synopsis "NES/Famicom emulator")
+ (description
+ "FCEUX is a Nintendo Entertainment System (NES), Famicom, Famicom Disk
+System (FDS), and Dendy emulator. It supports NTSC (USA/JPN), PAL (European),
+and NTSC-PAL Hybrid modes. It also offers tools for debugging, rom-hacking,
+map making, Tool-assisted movies, and Lua scripting.")
+ (home-page "https://fceux.com/web/home.html")
+ (license license:gpl2+)))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e77193ecf2..1cbd256871 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1308,7 +1308,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
- (version "9.0.3")
+ (version "9.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1316,7 +1316,7 @@ Emacs).")
(commit version)))
(sha256
(base32
- "19rij2hz79rsmikdbygxzll2l7im5qi3i6phz4sdiagkc5k8b3rb"))
+ "0736hhf8rs4g8cyhy3xyamyr4iszlvf18a1hwfpcv6qxy0hcbdcv"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1425,7 +1425,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "186nmy222m2k8snwk5i2f9igamflj9avfnhv5ksrbhx5wyrx7fy2"))))
+ "00cnras41sp5kpvaqqymygis08q5kmsix18bi8hlhhw6yk525vnp"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1456,7 +1456,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0r9aimyrv7p4ykqnwb9ac3fd0dv11zmv2ll6qkmm5s875s35hhfl"))))
+ "0qm1zq8bq6r7l1pssb9isnm5a03kixf5p3x7670ap4xwligdn3wg"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1485,7 +1485,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ysnj0973y05nn016hxrghccfv65cas772i369xflay0sns8anqf"))))
+ "15kdg661pq79npwb4j28hllqrvwygsz5rblzbdishiikysrba8wl"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1502,7 +1502,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0njv4y31k62qhcx0xxcl94p34jgna8z4bs3hwjwzjfmp7ddl2dyx"))))
+ "0ngf0k5f0a073k5v4q78zk6gj6xjjxzbb6551qf9k9wy8bsmgr2k"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -3505,7 +3505,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(define-public freecad
(package
(name "freecad")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
@@ -3514,7 +3514,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0p3pa4w1xj7sgqk9vxdri8l3hbx0a8iz2pwn8gwjqlhc62z4hrg8"))
+ (base32 "1zyz473fzrz9h073wp4k65qq4bkhqsp245nsv6nv186sl78l99xa"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index 5648fa8f4a..55be426345 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2022 dan <i@dan.games>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Charles <charles@charje.net>
+;;; Copyright © 2025 VnPower <vnpower@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,6 +29,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
+ #:use-module (guix build-system qt)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages anthy)
#:use-module (gnu packages boost)
@@ -413,6 +415,33 @@ the Anthy input method.")
backend.")
(license license:gpl3+)))
+(define-public fcitx5-unikey
+ (package
+ (name "fcitx5-unikey")
+ (version "5.1.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fcitx/fcitx5-unikey")
+ (commit version)))
+ (sha256
+ (base32 "0j82r63vn1rmjz2m92x6xksn548mmkiwcjkziqh6dp6aysxszvxx"))
+ (file-name (git-file-name name version))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase))
+ (inputs
+ (list gettext-minimal
+ fcitx5
+ fcitx5-qt))
+ (native-inputs
+ (list extra-cmake-modules
+ pkg-config))
+ (home-page "https://github.com/fcitx/fcitx5-unikey")
+ (synopsis "Unikey (Vietnamese Input Method) engine support for Fcitx5")
+ (description "This provides Unikey input method support for Fcitx5.")
+ (license license:gpl2+)))
+
(define-public fcitx5-chewing
(package
(name "fcitx5-chewing")
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index dd1402a37e..b990338d78 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -845,7 +845,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.18.4.1")
+ (version "0.18.4.2")
(source
(origin
(method git-fetch)
@@ -863,7 +863,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
- (base32 "0k4z01l8dvnazh650yarwn6ja1wrxcqq4g7302xw0dhw7h1qvy1j"))))
+ (base32 "1285kigw9j633ghvp4apld9ddrvw7hjgjv23yabjvl7l2gc6hlv6"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -950,7 +950,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.18.4.1")
+ (version "0.18.4.2")
(source
(origin
(method git-fetch)
@@ -966,7 +966,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
- (base32 "1r2cfzh4lc94mb7fqa8f41613msnsyy5kz6mzcr4npjpm8bxqs8k"))))
+ (base32 "0sa90shh82k6pzj1xr1f6x13q1q4mif4v00zahq96i7iglqpn4b6"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -2530,7 +2530,7 @@ and manipulation.")
(define-public xmrig
(package
(name "xmrig")
- (version "6.22.2")
+ (version "6.24.0")
(source
(origin
(method git-fetch)
@@ -2538,7 +2538,7 @@ and manipulation.")
(url "https://github.com/xmrig/xmrig")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "0dis9v8xykiqqzcib22djgmzyvx71akjs25aqvxjjzl1n8cm4npz"))
+ (sha256 (base32 "10q91sh29hlb7yd4lkfjsrk16qgb2j1z19ac77c9y7ccfci97f01"))
(modules '((guix build utils)))
(snippet
;; TODO: Try to use system libraries instead of bundled ones in
@@ -2587,7 +2587,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
- (version "4.9")
+ (version "4.9.1")
(source
(origin
(method git-fetch)
@@ -2596,7 +2596,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
- (sha256 (base32 "0898a823mi38z6dwdm6crb2l98rv79sznmqwa0ss96xggvk12nlw"))
+ (sha256 (base32 "0zdsp6pb4rlbdqanx94rw1rii5jih1szf4rl3nf8fldvjkwkydlf"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 68229aab85..51c724eb74 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -663,7 +663,7 @@ executing in M-mode.")
(define-public seabios
(package
(name "seabios")
- (version "1.16.2")
+ (version "1.17.0")
(source
(origin
(method git-fetch)
@@ -672,7 +672,7 @@ executing in M-mode.")
(commit (string-append "rel-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mal2zqn4ppxdjxddrxcphm6z9n8n4rw97xl2hldd7spw57nwq97"))
+ (base32 "0v4rsv2mh6rmb9n2fc1df439z16qgmnkbv0vb5ylmpqzqfbjjd3q"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -703,12 +703,6 @@ executing in M-mode.")
;; If we use (cc-for-target) then we have the system prefix
;; twice or we might have the wrong prefix.
(setenv "CC" "gcc")))
- (add-before 'build 'build-description-tables
- (lambda _
- ;; Regenerate the ACPI description tables.
- (invoke "make" "iasl")
- ;; Clear temporary files added by the iasl target.
- (invoke "make" "clean")))
(replace 'install
(lambda _
(install-file "out/bios.bin"
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index c21d7c183d..a206016453 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -2642,6 +2642,134 @@ programming. Iosevka is completely generated from its source code.")
(sha256
(base32 "08ijx9rbcx95yiaiwv6k25xmsi24rdy50mkmmaw94mmwv22mxdra"))))))
+(define-public font-apl2741-unicode
+ (let ((commit "1e11efae38e5095bfe49a786b111d563e83dad03"))
+ (package
+ (name "font-apl2741-unicode")
+ (version "1668049300")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abrudz/APL2741.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i1yk1x99lr2swlbq9r7dny5w70zwiwi8lpfcw4n7k7pfbw0xh7y"))))
+ (build-system trivial-build-system)
+ (native-inputs (list fontforge))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref %outputs "out"))
+ (dest (string-append out "/share/fonts/truetype"))
+ (fontforge (string-append
+ (assoc-ref %build-inputs "fontforge")
+ "/bin/fontforge")))
+ (mkdir-p dest)
+ (invoke fontforge "-lang=ff" "-c" "Open($1); Generate($2)"
+ (string-append source "/APL2741.sfd")
+ (string-append dest "/APL2741.ttf"))))))
+ (synopsis "APL2741 Unicode font")
+ (home-page "https://abrudz.github.io/APL2741/")
+ (description "APL font based on Adrian Smith's IBM Selectric APL2741
+golf-ball font. It supports most special characters used by popular APL
+implementations, some additional mathematical and typographical symbols,
+single line drawing characters, as well as the full Unicode APL range,
+including both uppercase and lowercase underscored alphabets, as-of-yet unused
+symbols, and almost all Latin-1 accented letters.")
+ (license license:unlicense))))
+
+(define-public font-apl333
+ (package
+ (name "font-apl333")
+ ;; Version number as for apl-385, last modified 2013-04-20.
+ (version "20130420")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://apl385.com/fonts/" "apl333.zip"))
+ (sha256
+ (base32 "0yn0ha7d14vp4ma3lxbc9kpyrn20m7brjisr6w55c9mi24w9v3a5"))))
+ (build-system font-build-system)
+ (home-page "https://apl385.com/fonts/index.htm")
+ (synopsis "Variable-width APL font inspired by Comic Sans Serif")
+ (description
+ "Variable-width version of Adrian Smith's APL385 font developed with APL
+software vendors in the late 1980s.")
+ (license license:public-domain)))
+
+(define-public font-apl385
+ (package
+ (name "font-apl385")
+ ;; No version number or release, unzipping source and checking file times
+ ;; shows the font file was last modified on 2016-08-21.
+ (version "20160821")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://apl385.com/fonts/" "apl385.zip"))
+ (sha256
+ (base32 "132qfsnx0v6qf8x8iy3flivv449nz42nnpkwjysmz65w6wqxpk1g"))))
+ (build-system font-build-system)
+ (home-page "https://apl385.com/fonts/index.htm")
+ (synopsis "Monospaced APL font inspired by Comic Sans Serif")
+ (description
+ "Adrian Smith's monospaced APL font developed with APL software vendors
+in the late 1980s.")
+ (license license:public-domain)))
+
+(define-public font-apl386
+ ;; Neither releases nor tags
+ (let ((commit "c5bca014b6610ee170985c3ce32a8bb14dbd7b94")
+ (revision "1"))
+ (package
+ (name "font-apl386")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abrudz/APL386")
+ (commit commit)))
+ (file-name (git-file-name name revision))
+ (sha256
+ (base32 "0z7kpqgfrb053rajnr08n02rdwg5w1aynxj13ys93j0k3xvv5a75"))))
+ (build-system font-build-system)
+ (synopsis "Font suitable for APL programming language")
+ (description
+ "APL386 is an evolution of Adrian Smith's APL385 font with a fun,
+whimsical look, inspired by Comic Sans Serif.")
+ (home-page "https://abrudz.github.io/APL386/")
+ (license license:unlicense))))
+
+(define-public font-bqn386
+ ;; Neither releases nor tags
+ (let ((commit "4d8b9f668ba76a15ca9cd44d9bfedaf95a4c0d96")
+ (revision "1"))
+ (package
+ (name "font-bqn386")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dzaima/BQN386")
+ (commit commit)))
+ (file-name (git-file-name name revision))
+ (sha256
+ (base32 "1l2ycjs85vps7sy5yg19mq1xdnfv4lx3skw921yw1rhx9xdvhrgc"))))
+ (build-system font-build-system)
+ (synopsis "Font suitable for APL and BQN programming languages")
+ (description
+ "BQN386 is an extension of APL386 font. This font keeps regular APL
+characters mostly intact.")
+ (home-page "https://dzaima.github.io/BQN386/")
+ (license license:unlicense))))
+
(define-public font-aporetic
(package
(name "font-aporetic")
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index ff3bbe52f0..377aeeb251 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -147,15 +147,15 @@ formal verification. This is the Yosyshq fork of ABC.")
(define-public apycula
(package
(name "apycula")
- (version "0.22")
+ (version "0.23")
;; The pypi tar.gz file includes the necessary .pickle files, not available
;; in the home-page repository.
(source
(origin
(method url-fetch)
- (uri (pypi-uri "Apycula" version))
+ (uri (pypi-uri "apycula" version))
(sha256
- (base32 "15xwmi6z2p7jz17l5bqs511yh8jis1dacqc8fypx49jysl7h0apd"))))
+ (base32 "1kk9hi8zhdp1am5vj716lwlmrs31lxrwhdbbc4qsad470dcjqs57"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires Gowin EDA tools
(inputs (list python-crc))
@@ -795,61 +795,66 @@ using different abstraction levels.")
(list perl python systemc))
(build-system gnu-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda _ (invoke "autoconf")))
- (add-after 'unpack 'adjust-source
- (lambda _
- (substitute* "bin/verilator"
- (("/bin/echo") "echo"))))
- (add-before 'check 'disable-gdb-safe-path
- (lambda _
- (setenv "HOME" (getcwd))
- (mkdir-p (string-append (getcwd) "/.config/gdb"))
- (with-output-to-file (string-append (getcwd) "/.config/gdb/gdbinit")
- (lambda ()
- (display "set auto-load safe-path /"))))))
- #:test-target "test"))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _ (invoke "autoconf")))
+ (add-after 'unpack 'adjust-source
+ (lambda _
+ (substitute* "bin/verilator"
+ (("/bin/echo") "echo"))))
+ (add-before 'check 'disable-gdb-safe-path
+ (lambda _
+ (setenv "HOME" (getcwd))
+ (mkdir-p (string-append (getcwd) "/.config/gdb"))
+ (with-output-to-file
+ (string-append (getcwd) "/.config/gdb/gdbinit")
+ (lambda ()
+ (display "set auto-load safe-path /"))))))
+ #:test-target "test"))
(home-page "https://www.veripool.org/verilator/")
(synopsis "Verilog/SystemVerilog simulator")
(description
- "Verilator transforms the specified Verilog or SystemVerilog code by reading it,
-performing lint checks, and optionally inserting assertion checks and
-coverage-analysis points. It outputs single- or multi-threaded @file{.cpp}
-and @file{.h} files.")
+ "Verilator transforms the specified Verilog or SystemVerilog code by
+reading it, performing lint checks, and optionally inserting assertion checks
+and coverage-analysis points. It outputs single- or multi-threaded
+@file{.cpp} and @file{.h} files.")
(license license:lgpl3)))
(define-public fftgen
- (let ((commit "1d75a992efd0528edea128a903aafdabe133cb08") ;no releases
- (revision "0"))
+ (let ((commit "3378b77d83a98b06184656a5cb9b54e50dfe4485") ;no releases
+ (revision "1"))
(package
(name "fftgen")
(version (git-version "0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ZipCPU/dblclockfft")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qq874yalzpjdwnxhc5df8a0ifywv29wcncb09945x56xplvkcmd"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ZipCPU/dblclockfft")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rvln871wjkbbqnv88jnx328xlhn5sgbr8fglk3ajnd9rwgiq3jg"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;no tests
- #:make-flags '("CFLAGS=-g -O2") ;default flags lack -O2
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out")
- "/bin")))
- (install-file "sw/fftgen" bin)))))))
+ (list
+ #:test-target "bench-test"
+ #:make-flags #~(list "CFLAGS=-g -O2") ;default flags lack -O2
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "sw/fftgen"
+ (string-append #$output "/bin")))))))
+ (native-inputs (list bc fftw python-minimal verilator which))
(synopsis "Generic pipelined FFT core generator")
(description "fftgen produces @acronym{FFT, fast-Fourier transforms}
hardware designs in Verilog.")
- (home-page "https://zipcpu.com/")
+ (home-page "https://github.com/ZipCPU/zipcpu/")
(license license:lgpl3+))))
(define-public openfpgaloader
@@ -921,7 +926,7 @@ to @samp{info \"(guix) Base Services\"} for examples.")
#:test-flags #~(list "test_all.py")))
(native-inputs (list python-pytest python-setuptools python-wheel))
(propagated-inputs (list python-networkx python-six))
- (home-page "https://gitlab.com/ohwr/project/hdl-make/")
+ (home-page "https://ohwr.gitlab.io/project/hdl-make/")
(synopsis "Generate multi-purpose makefiles for HDL projects")
(description
"Hdlmake helps manage and share @acronym{HDL, hardware description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0d3d663ab8..d8ec14af1c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12476,80 +12476,6 @@ game.") ;thanks to Debian for description
computer opponents or against real players online.")
(license license:agpl3+)))
-(define-public xblackjack
- (package
- (name "xblackjack")
- (version "2.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.ibiblio.org/pub/X11/contrib/games/"
- "xblackjack-" version ".tar.gz"))
- (sha256
- (base32 "05h93rya7zwnx2l58f0a7wkjadymkj4y77clcr2hryhrhhy1vwjx"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((imake (assoc-ref inputs "imake"))
- (out (assoc-ref outputs "out")))
- (substitute* "Imakefile"
- (("EXTRA_LIBRARIES = -lXm \\$\\(DEPLIBS\\) -lbsd")
- "EXTRA_LIBRARIES = -lXm -lXt -lXmu -lXext -lX11")
- (("^#define NonStandardInstallTargets NO")
- "#define NonStandardInstallTargets YES")
- (("BINDIR = /usr/local/bin")
- (string-append "BINDIR = " out "/bin"))
- (("MANDIR = /usr/local/man/cat1")
- (string-append "MANDIR = " out "/share/man/man1"))
- (("XAPPLOADDIR = /usr/local/lib/app-defaults")
- (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults")))
-
- (invoke "xmkmf") ; Generate Makefile.
- (substitute* "Makefile"
- ((imake) out)
- (("ETCX11DIR = /etc/X11")
- (string-append "ETCX11DIR = " out "/etc/X11"))
- ;; Fix incorrect argument given to gcc. Error message:
- ;; "gcc: error: DefaultGcc2AMD64Opt: No such file or directory"
- (("CDEBUGFLAGS = [^\n]*") ""))
-
- ;; Fix header paths.
- (substitute* '("Draw.c"
- "Strategy.c")
- (("^#include <X11/Xm/Xm.h>")
- "#include <Xm/Xm.h>"))
- (substitute* "Strategy.c"
- (("^#include <X11/Xm/Label.h>")
- "#include <Xm/Label.h>"))
-
- ;; Fix compilation errors.
- (substitute* "Table.c"
- (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "")
- (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);")
- "_XmMoveObject(w, rx, ry);")
- (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,")
- "_XmResizeObject(managed->locs[i].w, nw, nh,")))))
- (add-after 'install 'install-man-pages
- (lambda _
- (invoke "make" "install.man"))))
- #:tests? #f)) ; No check target.
- (inputs
- (list lesstif libx11 libxext libxmu libxt))
- (native-inputs
- (list imake))
- (home-page "https://www.ibiblio.org/pub/X11/contrib/games/")
- (synopsis "X11/Motif blackjack game")
- (description
- "Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for
-the casino. It was inspired by a book called \"Beat the Dealer\" by Edward
-O. Thorp, Ph.D. of UCLA. A number of important statistics are maintained
-for display, and used by the program to implement Thorp's \"Complete Point
-System\" (high-low system).")
- (license (license:x11-style "" "See file headers."))))
-
(define-public xevil
;; This game is old. Use a maintained fork that builds with modern toolchains
;; on modern, 64-bit hardware.
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index caeba83735..8ce59145ec 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1285,12 +1285,7 @@ as the 'native-search-paths' field."
"gfortran" '("fortran")
%generic-search-paths)))
-(define-public gdc-10
- (hidden-package
- (custom-gcc gcc-10 "gdc" '("d")
- %generic-search-paths)))
-
-(define-public gdc-11
+(define-public gdc-11 ;kept for bootstrapping
(hidden-package
(custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths)))
@@ -1298,8 +1293,18 @@ as the 'native-search-paths' field."
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
- (custom-gcc gcc "gdc" '("d")
- %generic-search-paths)))
+ (let ((base (custom-gcc gcc
+ "gdc" '("d")
+ %generic-search-paths)))
+ (package
+ (inherit base)
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ ;; Since GCC 12, GDC is self-hosted, requiring a version of itself
+ ;; to build.
+ ;; XXX: GCC must be prepended as well to avoid an issue with the C++
+ ;; headers ordering.
+ (prepend gcc gdc-11)))))))
(define-public gm2
(hidden-package
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 4a0fa38f0c..2a662752ba 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -349,7 +349,9 @@ buffers.")
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
- (base32 "0vl57w9w31cgz6nbkpqfycsnwi5qym87jw31hvz3320wq7p4ba2h"))))
+ (base32 "0vl57w9w31cgz6nbkpqfycsnwi5qym87jw31hvz3320wq7p4ba2h"))
+ (patches (search-patches "gimp-fix-tiff-load.patch"
+ "gimp-fix-metadata-editor.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 5f35bcabac..e797dba593 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -453,7 +453,7 @@ handlers.")
(define-public go-github-com-alexliesenfeld-health
(package
(name "go-github-com-alexliesenfeld-health")
- (version "0.8.0")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
@@ -462,7 +462,7 @@ handlers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fchlvxwidsscskwq07vhxfwcn5wbigbizi51619l8gg09mr158q"))))
+ (base32 "19p0rs1dmvf3cnylyykmmnma2g5x2vy8gasr2rjl28ma58w6l0d3"))))
(build-system go-build-system)
(arguments
(list
@@ -1571,7 +1571,7 @@ and reduce scope of key compromise.
(define-public go-github-com-caddyserver-zerossl
(package
(name "go-github-com-caddyserver-zerossl")
- (version "0.1.0")
+ (version "0.1.3")
(source
(origin
(method git-fetch)
@@ -1580,7 +1580,7 @@ and reduce scope of key compromise.
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0hr2kdabhm35hz5krp7m3g6wxvyb9xlqgmy3krf4wwb3yabsqp1m"))))
+ (base32 "16mrlmsl3ajdrn2qsdq51k79z3fi8v8j82r2c6xyj7mp2yr979h6"))))
(build-system go-build-system)
(arguments
(list
@@ -8723,7 +8723,7 @@ to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550},
(define-public go-github-com-pion-rtp
(package
(name "go-github-com-pion-rtp")
- (version "1.8.11")
+ (version "1.8.21")
(source
(origin
(method git-fetch)
@@ -8732,11 +8732,13 @@ to @url{https://www.rfc-editor.org/rfc/rfc3550, RFC 3550},
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1a4fj31j7glhfsnxxwm8r72l6capz9mh8kfr340659ahgiijdkcg"))))
+ (base32 "1hc5cdxgf0m44awvzzaby3hrlnhjbxjivl6981069xwgxspqakhm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pion/rtp"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-pion-randutil))
(home-page "https://github.com/pion/rtp")
@@ -8838,7 +8840,7 @@ Protocol,SCTP} as specified in
(package
(inherit go-github-com-pion-srtp-v2)
(name "go-github-com-pion-srtp-v3")
- (version "3.0.4")
+ (version "3.0.7")
(source
(origin
(method git-fetch)
@@ -8847,7 +8849,7 @@ Protocol,SCTP} as specified in
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "03343fsgrawfy9plsl7y5022ygjln3jvsn3im5xl1qwnc68rb1a2"))))
+ (base32 "0l8y01ci5fsx8b6ajn9cvs45hqpz838x0jnyyj1p2z714nw9jh61"))))
(arguments
(list
#:import-path "github.com/pion/srtp/v3"))
@@ -10203,7 +10205,7 @@ Supports S3 and STS.")
(define-public go-github-com-sourcegraph-jsonrpc2
(package
(name "go-github-com-sourcegraph-jsonrpc2")
- (version "0.2.0")
+ (version "0.2.1")
(home-page "https://github.com/sourcegraph/jsonrpc2")
(source
(origin
@@ -10213,7 +10215,7 @@ Supports S3 and STS.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1id35b4mhif9gy1b70mv0x7xkmpm2p8xydix8six10yjyhvm1wjh"))))
+ (base32 "0nxiq8da4x4sipjkap50cfzjg9b8vqm45w65hbjywwj6q73jl54a"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/sourcegraph/jsonrpc2"))
@@ -10501,6 +10503,52 @@ runtime. It has zero dependencies, and doesn't rely on CGO. This means you
can run applications in other languages and still keep cross compilation.")
(license license:asl2.0)))
+(define-public go-github-com-things-go-go-socks5
+ (package
+ (name "go-github-com-things-go-go-socks5")
+ (version "0.0.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/things-go/go-socks5")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0r7v1bpja4j8q9bjh124w8l5m29vwnpaq0flm97izvzw4pcyxybf"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/things-go/go-socks5"))
+ (native-inputs
+ (list go-github-com-stretchr-testify))
+ (propagated-inputs
+ (list go-golang-org-x-net))
+ (home-page "https://github.com/things-go/go-socks5")
+ (synopsis "SOCKS5 with full TCP/UDP and IPv4/IPv6 support in Golang")
+ (description
+ "This package implements a @url{http://en.wikipedia.org/wiki/SOCKS,
+SOCKS5}. SOCKS (Secure Sockets) is used to route traffic between a client and
+server through an intermediate proxy layer. This can be used to bypass
+firewalls or NATs.
+
+Features:
+@itemize
+@item support socks5 server
+@item support TCP/UDP and IPv4/IPv6
+@item unit tests
+@item \"No Auth\" mode
+@item user/password authentication optional user addr limit
+@item support for the CONNECT command
+@item support for the ASSOCIATE command
+@item rules to do granular filtering of commands
+@item custom DNS resolution
+@item custom goroutine pool
+@item buffer pool design and optional custom buffer pool
+@item custom logger
+@end itemize")
+ (license license:expat)))
+
(define-public go-github-com-tj-go-elastic
(package
(name "go-github-com-tj-go-elastic")
@@ -12706,7 +12754,7 @@ the standard @code{context} package to store request-scoped values.")
(define-public go-golang-zx2c4-com-wireguard
(package
(name "go-golang-zx2c4-com-wireguard")
- (version "0.0.0-20231211153847-12269c276173")
+ (version "0.0.0-20250521234502-f333402bd9cb")
(source
(origin
(method git-fetch)
@@ -12718,33 +12766,16 @@ the standard @code{context} package to store request-scoped values.")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fbc6m0ahifhrd6jdrpdxi8l3b2slpp8fmv20kpq2yzz19vzzgkf"))))
+ (base32 "1h4rmdvssk939gk31f0sfwa1yaks72zk8rkcs7fj3qcvl8sgq6hr"))))
(build-system go-build-system)
(arguments
(list
- #:import-path "golang.zx2c4.com/wireguard"
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: Workaround for go-build-system's lack of Go modules
- ;; support.
- (replace 'check
- (lambda* (#:key tests? import-path #:allow-other-keys)
- (when tests?
- (with-directory-excursion (string-append "src/" import-path)
- (invoke "go" "test" "-v"
- ;; "./tune/..." ; Requires gvisor.dev/gvisor, not packed yet
- "./"
- "./conn/..."
- "./device/..."
- "./ipc/..."
- "./ratelimiter/..."
- "./replay/..."
- "./rwcancel/..."
- "./tai64n/..."))))))))
+ #:import-path "golang.zx2c4.com/wireguard"))
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-net
- go-golang-org-x-sys))
+ go-golang-org-x-sys
+ go-gvisor-dev-gvisor))
(home-page "https://git.zx2c4.com/wireguard")
(synopsis "Implementation of WireGuard in Go")
(description "This package is a Go Implementation of WireGuard.")
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 8f5201824d..73c4b4cd3d 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1013,6 +1013,32 @@ Distance}.")
http://tartarus.org/~martin/PorterStemmer/index.html.")
(license license:expat)))
+(define-public go-github-com-akamensky-argparse
+ (package
+ (name "go-github-com-akamensky-argparse")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/akamensky/argparse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m7rzrfwyrwxbbry5ppds2b3c5gdslpakvjhsh6i8mhdfhywd8wc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ ;; Panic: unexpected call to os.Exit(0) during test.
+ #:test-flags #~(list "-skip" "TestUsageString")
+ #:import-path "github.com/akamensky/argparse"))
+ (home-page "https://github.com/akamensky/argparse")
+ (synopsis "Argparse for golang")
+ (description
+ "This package implements a flexible and configurable option for command
+line arguments parsing.")
+ (license license:expat)))
+
(define-public go-github-com-alecaivazis-survey-v2
(package
(name "go-github-com-alecaivazis-survey-v2")
@@ -12372,6 +12398,35 @@ representation suitable for computing diffs.")
@end itemize")
(license license:expat)))
+(define-public go-github-com-landlock-lsm-go-landlock
+ (package
+ (name "go-github-com-landlock-lsm-go-landlock")
+ (version "0.0.0-20250303204525-1544bccde3a3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/landlock-lsm/go-landlock")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00qis8gg2ajyph9jyrjghm6cn0h22pwjwdp6qa22ji6jslgnm02n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:import-path "github.com/landlock-lsm/go-landlock"))
+ (propagated-inputs
+ (list go-golang-org-x-sys
+ go-kernel-org-pub-linux-libs-security-libcap-psx))
+ (home-page "https://landlock.io/")
+ (synopsis "Golang library for the Linux Landlock sandboxing feature")
+ (description
+ "This package implements a restriction for the current processes' ability
+to use files, using Linux 5.13's
+@url{https://docs.kernel.org/security/landlock.html, Landlock} feature.")
+ (license license:expat)))
+
(define-public go-github-com-lann-builder
(package
(name "go-github-com-lann-builder")
@@ -22672,6 +22727,33 @@ kubernetes-independent packages supplementing the
@url{https://pkg.go.dev/std#stdlib,Go standard libs}.")
(license license:asl2.0)))
+(define-public go-kernel-org-pub-linux-libs-security-libcap-psx
+ (package
+ (name "go-kernel-org-pub-linux-libs-security-libcap-psx")
+ (version "1.2.76")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.kernel.org/pub/scm/libs/libcap/libcap.git")
+ (commit (go-version->git-ref version
+ #:subdir "psx"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0va0bkq5kxf0ccsdpw598vsmk4kdzhaafjvym0g5b2n49c5sn59b"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "kernel.org/pub/linux/libs/security/libcap/psx"
+ #:unpack-path "kernel.org/pub/linux/libs/security/libcap"))
+ ;; Redirects from <https://kernel.org/pub/linux/libs/security/libcap>
+ (home-page "https://sites.google.com/site/fullycapable")
+ (synopsis "API for invoking Linux system calls in Golang")
+ (description
+ "This package provides a support for system calls that are run
+simultaneously on all threads under Linux.")
+ (license license:gpl2)))
+
(define-public go-maunium-net-go-mauflag
(package
(name "go-maunium-net-go-mauflag")
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b56c2a62c6..620ed7e66f 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -31,7 +31,7 @@
;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
-;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;; Copyright © 2020, 2025 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020, 2021, 2022 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
@@ -163,14 +163,14 @@
(define-public artanis
(package
(name "artanis")
- (version "1.2.2")
+ (version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
- "013rs623075bbf824hf6jxng0kwbmg587l45fis9mmpq5168kspq"))
+ "16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1063,14 +1063,15 @@ tables.")
(replace "guile-lib" guile2.2-lib)
(replace "guile-smc" guile2.2-smc)))))
-(define-public guile-fibers
+(define-public guile-fibers-1.3
(package
(name "guile-fibers")
(version "1.3.1")
+ (home-page "https://codeberg.org/fibers/fibers")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/wingo/fibers")
+ (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -1137,11 +1138,26 @@ communication between fibers.
Note that Fibers makes use of some Guile 2.1/2.2-specific features and
is not available for Guile 2.0.")
- (home-page "https://github.com/wingo/fibers")
(properties '((upstream-name . "fibers")))
(license license:lgpl3+)))
-(define-public guile-fibers-1.3 guile-fibers)
+(define-public guile-fibers-1.4
+ (package
+ (inherit guile-fibers-1.3)
+ (name "guile-fibers")
+ (version "1.4.0")
+ (source
+ (origin (inherit (package-source guile-fibers-1.3))
+ (file-name (git-file-name name version))
+ (uri (git-reference
+ (url (package-home-page guile-fibers-1.3))
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1ryp04w6ghgdfhlv9hkwl00iv6nwnw2hj2pywlxvpp92pyxhkwpi"))
+ (patches '())))))
+
+(define-public guile-fibers guile-fibers-1.4)
(define-public guile-fibers-1.1
(package
@@ -1961,17 +1977,21 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lvxic93cyzhdq7gb22pfz5j5pf7b1pcv0ahblkan8jbhzpqxvm0"))))
+ (base32 "1lvxic93cyzhdq7gb22pfz5j5pf7b1pcv0ahblkan8jbhzpqxvm0"))
+ ;; FIXME: report upstream and remove when fixed.
+ (modules '((guix build utils)))
+ (snippet '(substitute* "module/Makefile.am"
+ (("compile-ffi -o mosquitto-nyacc.scm")
+ "compile-ffi -X -o $(srcdir)/ffi/mosquitto-nyacc.scm")))))
(build-system gnu-build-system)
(arguments
(list
- #:make-flags
- #~(list "GUILE_AUTO_COMPILE=0")
+ #:parallel-build? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-extension-path
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "HOME" "/tmp")
+ (setenv "GUILE_AUTO_COMPILE" "0")
(with-directory-excursion "module"
(invoke "make" "ffi/mosquitto.scm")
(substitute* "ffi/mosquitto.scm"
@@ -1983,7 +2003,7 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.")
(native-inputs (list autoconf
automake
guile-3.0
- nyacc-2.01
+ nyacc
pkg-config
texinfo))
(inputs (list mosquitto))
@@ -4924,6 +4944,68 @@ return accumulators. It is implemented by wrapping the sample
implementation in a thin Guile compatibility layer.")
(license license:gpl3+))))
+(define-public guile-srfi-165
+ (let ((commit "1b441c0edc258e39cb943096bd47dd45071e2f70")
+ (revision "0"))
+ (package
+ (name "guile-srfi-165")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/scheme-requests-for-implementation/srfi-165")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ac1nmf413sayy0xq4c2l4kmbjkh8ksg3s4fwgk44zcd8phy3kxw"))))
+ (build-system guile-build-system)
+ (arguments
+ (list
+ #:scheme-file-regexp "(srfi-165|impl)\\.scm$"
+ #:documentation-file-regexp "srfi-165\\.html$"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'rename-files
+ (lambda _
+ (mkdir-p "srfi/srfi-165")
+ (rename-file "srfi/165.scm" "srfi/srfi-165/impl.scm")
+ (substitute* "srfi/165.sld"
+ (("\\(include \"165.scm\"\\)")
+ "(include \"srfi-165/impl.scm\")"))
+ (rename-file "srfi/165.sld" "srfi/srfi-165.scm")))
+ (add-after 'build 'check-installed
+ (lambda _
+ (substitute* "srfi/165/test.sld"
+ (("srfi 165 test") "srfi #{165}# test"))
+ (define-values (scm go) (target-guile-scm+go #$output))
+
+ (invoke "guile"
+ "-L" scm "-C" go
+ "-l" "./srfi/165/test.sld"
+ "-c"
+ (format #f "~S"
+ '(begin
+ (use-modules (srfi #{165}# test))
+ (run-tests)))))))))
+ (native-inputs (list guile-3.0
+ guile-srfi-125
+ guile-srfi-128
+ guile-srfi-146))
+ (propagated-inputs
+ (list guile-srfi-125 guile-srfi-128 guile-srfi-146))
+ (home-page "https://srfi.schemers.org/srfi-165/")
+ (synopsis "Environment/Reader Monad")
+ (description
+ "This library provides the sample implementation of SRFI-165.
+This SRFI defines an environment monad, which models computations that depend on
+values from a shared environment. These computations can read values from the
+environment, pass values to subsequent computations, execute sub-computations in
+an extended environment, and modify the environment for future computations.")
+ (license license:expat))))
+
(define-public guile-srfi-180
(let ((commit "9188bf9724c6d320ef804579d222e855b007b193")
(revision "0"))
@@ -6729,15 +6811,15 @@ tools.")
(define-public guile-eris
(package
(name "guile-eris")
- (version "1.0.0")
+ (version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://codeberg.org/eris/guile-eris.git")
- (commit (string-append "v" version))))
+ (url "https://codeberg.org/eris/guile-eris.git")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
- (sha256 (base32 "0d4wbjwwaxk0zn5gjhl86qhvk1aisgzp1vnvy4xbvrv5ydqpgyqm"))))
+ (sha256 (base32 "03z9dr725kdj57gmkwnx6v6p8nkf0xbn359q2dnn4b29x3dxf39x"))))
(build-system gnu-build-system)
(arguments '())
(native-inputs
@@ -6750,8 +6832,14 @@ tools.")
guile-quickcheck))
(inputs (list guile-3.0))
(propagated-inputs
- (list guile-sodium))
- (synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)")
+ (list guile-sodium
+ guile-coap
+ guile-fibers
+ guile-sqlite3
+ guile-zstd
+ guile-cbor))
+ (synopsis "Guile implementation of the Encoding for Robust Immutable
+Storage (ERIS)")
(description
"Guile-ERIS is a Guile implementation of the @url{http://purl.org/eris,
Encoding for Robust Immutable Storage (ERIS)}. ERIS allows arbitrary content
@@ -6943,9 +7031,12 @@ schedulers.")
(("dynamic-link \"libyaml\"")
(format #f "dynamic-link \"~a/lib/libyaml\""
(assoc-ref inputs "libyaml")))))))))
- (native-inputs (list gcc guile-3.0 nyacc))
+ ;; guile-libyaml does not work with nyacc-2.02.2. See
+ ;; https://github.com/mwette/guile-libyaml/issues/7 for upstream bug
+ ;; report. Hence, we use the older nyacc-1.08.1.
+ (native-inputs (list gcc guile-3.0 nyacc-1.08.1))
(inputs (list libyaml))
- (propagated-inputs (list guile-bytestructures nyacc))
+ (propagated-inputs (list guile-bytestructures nyacc-1.08.1))
(home-page "https://github.com/mwette/guile-libyaml")
(synopsis "Guile wrapper for libyaml")
(description
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 421993d12c..4f3d493dda 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -74,6 +74,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages lxqt)
+ #:use-module (gnu packages man)
#:use-module (gnu packages messaging)
#:use-module (gnu packages mtools)
#:use-module (gnu packages package-management)
@@ -212,6 +213,94 @@ Notable features include:
@end itemize")
(license (list license:bsd-0 license:gpl3+))))
+(define-public deskflow
+ (package
+ (name "deskflow")
+ (version "1.23.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/deskflow/deskflow")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wgj0sjnxkfplpq05q2lqgag29l7bf4cqdw0xmr89ayrh1nyjxa1"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DCMAKE_SKIP_RPATH=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-files
+ (lambda _
+ (substitute* "deploy/linux/deploy.cmake"
+ (("message.FATAL_ERROR.*os-release.*")
+ "set(RELEASE_FILE_CONTENTS \"\")\n"))
+ (substitute* "src/lib/deskflow/unix/AppUtilUnix.cpp"
+ (("/usr/share/X11/xkb/rules/evdev.xml")
+ (string-append #$(this-package-input "xkeyboard-config")
+ "/share/X11/xkb/rules/evdev.xml")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ ;; From the project GitHub actions: "Integration tests are
+ ;; flakey by nature, make them optional". See:
+ ;; <.github/workflows/continuous-integration.yml>.
+ (invoke "./bin/legacytests"))))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (let ((qtbase #$(this-package-input "qtbase")))
+ (wrap-program (string-append #$output "/bin/deskflow")
+ `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
+ (,(string-append qtbase "/lib/qt6/plugins/platforms"))))))))))
+ (native-inputs
+ (list doxygen
+ googletest
+ sysprof
+ vulkan-headers
+ coreutils
+ help2man
+ pkg-config))
+ (inputs
+ (list bash-minimal
+ cli11
+ gdk-pixbuf
+ libei
+ libportal
+ libx11
+ libxi
+ libxinerama
+ libxkbcommon
+ libxkbfile
+ libxrandr
+ libxtst
+ libsm
+ libice
+ openssl
+ pugixml
+ python
+ qtbase
+ qtsvg
+ qttranslations
+ qttools
+ qtwayland
+ tomlplusplus
+ wayland
+ wayland-protocols
+ xkeyboard-config))
+ (home-page "https://deskflow.org/")
+ (synopsis "Share a single keyboard and mouse between multiple computers")
+ (description
+ "Deskflow is a keyboard and mouse sharing app. Use the keyboard,
+mouse,or trackpad of one computer to control nearby computers, and work
+seamlessly between them. It's like a software KVM (but without the video).
+TLS encryption is enabled by default. It supports Wayland clipboard
+sharing.")
+ (license license:gpl2)))
+
(define-public hw-probe
(package
(name "hw-probe")
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 5a1f654652..43a1fdca22 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -297,7 +297,7 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
- (version "10.20250630")
+ (version "10.20250721")
(source
(origin
;; hackage release doesn't include everything needed for extra bits.
@@ -307,7 +307,7 @@ to @code{cabal repl}).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1livig1x1a929qagisjx33pzmgv38d6fzf11bmy2jfpgvvlk9mfx"))))
+ (base32 "1a2g4z9fl90kyl7k6clmc61ma2njnljr4na6jbf04m43qnnr9s5a"))))
(build-system haskell-build-system)
(properties '((upstream-name . "git-annex")))
(arguments
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index 25867b3895..f9df4a12f0 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017, 2019, 2023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
#:use-module (gnu packages tls)
#:use-module (guix build-system haskell)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -899,18 +901,20 @@ regular) Diffie Hellman key exchanges, and many extensions.")
(define-public ghc-hsopenssl
(package
(name "ghc-hsopenssl")
- (version "0.11.7.5")
+ (version "0.11.7.9")
(source
(origin
(method url-fetch)
(uri (hackage-uri "HsOpenSSL" version))
(sha256
- (base32 "0y0l5nb0jsc8lm12w66a2n7nwcrgjxy1q2xdy8a788695az5xy71"))))
+ (base32 "0z3nyqlcgqw4ncn90gs6bznyj3lrqpjv83nzs4854knm15x6cbsa"))))
(build-system haskell-build-system)
(properties '((upstream-name . "HsOpenSSL")))
- (inputs (list ghc-network openssl))
(arguments
- `(#:extra-directories ("openssl")))
+ (list #:extra-directories (list "openssl")
+ #:configure-flags
+ #~(list "--ghc-options=-optc=-Wno-incompatible-pointer-types")))
+ (inputs (list ghc-network openssl))
(home-page "https://github.com/haskell-cryptography/HsOpenSSL")
(synopsis "Partial OpenSSL binding for Haskell")
(description
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 5dafd4e955..f99e8c4ae7 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages game-development)
@@ -942,17 +943,17 @@ recalculates.")
(define-public paraview
(package
(name "paraview")
- (version "5.11.1")
+ (version "6.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.kitware.com/paraview/paraview.git")
+ (url "https://gitlab.kitware.com/paraview/paraview")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "0m1lgkl95f0pyhxp97gq2rf8hibv39v4c49imfj1va40z0flvard"))
+ (base32 "1m1c7vngrpaqdqvnjx4wj0va20hih5rb7rf0a44mp3wqgp4wgy0f"))
(modules '((guix build utils)))
(snippet
;; TODO: Also remove unused bundled libraries and plugins?
@@ -976,7 +977,7 @@ recalculates.")
(for-each (lambda (dir)
(delete-file-recursively
(string-append "VTK/ThirdParty/" dir "/vtk" dir)))
- '(;;"cgns"
+ '("cgns"
"cli11"
;;"diy2"
"doubleconversion"
@@ -984,11 +985,12 @@ recalculates.")
;;"exodusII"
"expat"
;;"exprtk"
+ ;;"fast-float"
;;"fides"
"fmt"
"freetype"
"gl2ps"
- "glew"
+ ;;"glad"
;;"h5part"
"hdf5"
;;"ioss"
@@ -1011,13 +1013,14 @@ recalculates.")
"sqlite"
"theora"
"tiff"
+ ;;"token"
"utf8"
;;"verdict"
+ ;;"viskores"
;;"vpic"
;;"vtkm"
;;"xdmf2"
;;"xdmf3"
- ;;"zfp"
"zlib"))))))
(build-system qt-build-system)
(arguments
@@ -1025,7 +1028,7 @@ recalculates.")
#:build-type "Release" ; 542 MiB in release mode
#:tests? #f ; Downloads test data
#:configure-flags
- #~(let ((doc (string-append #$output "/share/doc/" #$name "-" #$version)))
+ #~(let ((doc (string-append "share/doc/" #$name "-" #$version)))
(list
(string-append "-DCMAKE_INSTALL_DOCDIR=" doc) ; For paraview.qch
@@ -1095,6 +1098,7 @@ recalculates.")
;; External libraries for ParaView and VTK
"-DVTK_MODULE_USE_EXTERNAL_ParaView_protobuf=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_cgns=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_cli11=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
@@ -1102,7 +1106,6 @@ recalculates.")
"-DVTK_MODULE_USE_EXTERNAL_VTK_fmt=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
- "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
@@ -1148,17 +1151,17 @@ recalculates.")
python-sphinx))
(inputs
(list boost
+ cgns
cli11
curl
double-conversion
eigen
expat
ffmpeg
- fmt
+ fmt-11
freetype
gdal
gl2ps
- glew
gmsh
hdf5
nlohmann-json ;For ParFlow; build fails
diff --git a/gnu/packages/lesstif.scm b/gnu/packages/lesstif.scm
index 2c435d999b..f0ef220742 100644
--- a/gnu/packages/lesstif.scm
+++ b/gnu/packages/lesstif.scm
@@ -32,29 +32,6 @@
#:use-module (gnu packages xorg))
-(define-public lesstif
- (package
- (name "lesstif")
- (version "0.95.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/lesstif/lesstif/" version
- "/lesstif-" version ".tar.bz2"))
- (sha256
- (base32
- "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb"))))
- (build-system gnu-build-system)
- (propagated-inputs
- (list printproto))
- (inputs
- (list libxext libxt))
- (home-page "https://lesstif.sourceforge.net/")
- (synopsis "Clone of the Motif toolkit for the X window system")
- (description "Clone of the Motif toolkit for the X window system.")
- (license license:gpl2+))) ; some files are lgpl2.1+ or x11
-
(define-public motif
;; This commit is from February 2023 and v2.3.8 from 2017.
(let ((commit "0f556b0873c72ba1152a12fd54c3198ee039e413")
diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 28c61faf82..c26ccde598 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -116,14 +116,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
- (let ((commit "25c14798b15f9933b6c1e2bc655030842b6e0edd"))
+ (let ((commit "2962877b9abd5bfa1e24e5bbc1e16e47e12d6760"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
- (sha256 (base32 "06iymygkf94s04ixvk1mlis9p5lmypx5k8pmrd3z3jddpmawk0r1")))))
+ (sha256 (base32 "1gaxbjjm0d4k4wgl64mwcxy2hx1vdq1dbmvjacg2fqxpnb62481x")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -193,10 +193,20 @@
"librewolf-compare-paths.patch"
"librewolf-use-system-wide-dir.patch"
"librewolf-add-store-to-rdd-allowlist.patch"))
- ;; XXX: 75 Mo (800+ Mo uncompressed) of unused tests.
- ;; Removing it makes it possible to compile on some systems.
+ ;; Slim down the tarball by removing unbundled libraries and 75 Mo (800+
+ ;; Mo uncompressed) of unused tests.
+ ;; TODO: Unbundle security/nss and media/libpng.
(modules '((guix build utils)))
- (snippet #~(delete-file-recursively "testing/web-platform")))))
+ (snippet
+ #~(for-each delete-file-recursively
+ '("testing/web-platform"
+ "gfx/cairo/libpixman"
+ "js/src/ctypes/libffi"
+ "ipc/chromium/src/third_party/libevent"
+ "media/libvpx"
+ "docs/nspr"
+ "media/libwebp"
+ "modules/zlib"))))))
;;; Define the versions of rust needed to build firefox, trying to match
;;; upstream. See table at [0], `Uses' column for the specific version.
@@ -210,17 +220,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
-(define %librewolf-build-id "20250727200313")
+(define %librewolf-build-id "20250829153926")
(define-public librewolf
(package
(name "librewolf")
- (version "141.0-1")
+ (version "142.0.1-1")
(source
(make-librewolf-source
#:version version
- #:firefox-hash "1j1m6niw47xi6aj9rlcny8jhqkppjvg22cq7mikim93wpf22m640"
- #:librewolf-hash "18k3d09dr6jkhr6g8z8c3aa7jj0ynjalkmvc3nj7wd98mgvky2xj"
+ #:firefox-hash "1h0hx0jxwy4rshdq6s5l5hbj8gyhn2zssisr59skwf63si7b9bdh"
+ #:librewolf-hash "1myzm6jblnrw1vdf5xlynbfr6a9swwcaws689az7xgq6s6n0rc3y"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 9b84a5b3a9..cd4a1ac3ae 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;;
;;; Copyright © 2020, 2021 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
@@ -25,6 +24,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
+ #:use-module (gnu packages aspell)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages cpp)
@@ -46,6 +46,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
@@ -62,75 +63,69 @@
#:use-module (guix build-system qt))
(define-public bcunit
- (let ((commit "74021cc7cb20a4e177748dd2948173e1f9c270ae")
- (revision "0"))
- (package
- (name "bcunit")
- (version (git-version "3.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.linphone.org/bcunit")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0npdwvanjkfg9vrqs5yi8vh6wliv50ycdli8pzavir84nb31nq1b"))))
- (build-system cmake-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:configure-flags (list "-DENABLE_STATIC=NO"
- "-DENABLE_CURSES=ON"
- "-DENABLE_DOC=ON"
- "-DENABLE_EXAMPLES=ON"
- "-DENABLE_TEST=ON"
- "-DENABLE_MEMTRACE=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda _
- ;; Include BCunit headers for examples.
- (substitute* "Examples/CMakeLists.txt"
- (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}")
- (string-append "${CMAKE_CURRENT_SOURCE_DIR} "
- "${PROJECT_SOURCE_DIR}/BCUnit/Headers "
- "${CMAKE_BINARY_DIR}/BCUnit/Headers")))
- ;; Link bcunit and bcunit_tests libraries.
- (substitute* "BCUnit/Sources/CMakeLists.txt"
- (("target_include_directories\\(bcunit_test PUBLIC Test\\)")
- (string-append
- "target_include_directories(bcunit_test PUBLIC Test)\n"
- "target_link_libraries(bcunit_test bcunit)")))))
- (replace 'check
- (lambda _
- (with-directory-excursion "BCUnit/Sources/Test"
- (invoke "./test_bcunit"))))
- (add-after 'install 'move-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (for-each mkdir-p
- `(,(string-append doc "/share/doc")
- ,(string-append doc "/share/BCUnit")))
- (rename-file
- (string-append out "/share/doc/BCUnit")
- (string-append doc "/share/doc/BCUnit"))
- (rename-file
- (string-append out "/share/BCUnit/Examples")
- (string-append doc "/share/BCUnit/Examples"))))))))
- (inputs
- (list ncurses))
- (synopsis "Belledonne Communications Unit Testing Framework")
- (description "BCUnit is a fork of the defunct project CUnit, with
+ (package
+ (name "bcunit")
+ (version "5.3.57")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.linphone.org/BC/public/bcunit.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "02aqc8052vidc8ylkwiv2rqddl58fccrjz561j8zfqlwm2irnsg3"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DENABLE_BCUNIT_CURSES=ON"
+ "-DENABLE_BCUNIT_DOC=ON"
+ "-DENABLE_BCUNIT_EXAMPLES=ON"
+ "-DENABLE_BCUNIT_TEST=ON"
+ "-DENABLE_BCUNIT_MEMTRACE=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ ;; Include BCunit headers for examples.
+ (substitute* "Examples/CMakeLists.txt"
+ (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}")
+ (string-append "${CMAKE_CURRENT_SOURCE_DIR} "
+ "${PROJECT_SOURCE_DIR}/BCUnit/Headers "
+ "${CMAKE_BINARY_DIR}/BCUnit/Headers")))
+ ;; Link bcunit and bcunit_tests libraries.
+ (substitute* "BCUnit/Sources/CMakeLists.txt"
+ (("target_include_directories\\(bcunit_test PUBLIC Test\\)")
+ (string-append
+ "target_include_directories(bcunit_test PUBLIC Test)\n"
+ "\ttarget_link_libraries(bcunit_test bcunit)")))))
+ (add-after 'install 'patch-BCUnitConfig.cmake
+ (lambda _
+ (substitute* (string-append
+ #$output "/share/BCUnit/cmake/BCUnitConfig.cmake")
+ ;; This is only added for convenience when doing static builds.
+ ;; Since this is not a common case, avoid the find_dependency on
+ ;; ncurses, which would require propagating it.
+ (("find_dependency\\(Curses)")
+ ""))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "BCUnit/Sources/Test"
+ (invoke "./test_bcunit"))))))))
+ (inputs (list ncurses))
+ (synopsis "Belledonne Communications Unit Testing Framework")
+ (description "BCUnit is a fork of the defunct project CUnit, with
several fixes and patches applied. It is a unit testing framework for
writing, administering, and running unit tests in C.")
- (home-page "https://gitlab.linphone.org/BC/public/bcunit")
- (license license:lgpl2.0+))))
+ (home-page "https://gitlab.linphone.org/BC/public/bcunit")
+ (license license:lgpl2.0+)))
(define-public bctoolbox
(package
(name "bctoolbox")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -139,52 +134,51 @@ writing, administering, and running unit tests in C.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0b51308jy5z32gp594r78jvbyrha16sanxdnbcmxgrwnb4myqx5j"))))
+ (base32 "178axy7gmmi6fzjbz7aaawcx0qg50i4hnn7ab6w642b02vxfr386"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags (list "-DENABLE_STATIC=OFF"
- ;; Do not use -Werror, because due to skipping
- ;; a test there are unused procedures.
- "-DENABLE_STRICT=OFF")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-cmake
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Fix decaf dependency (see:
- ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/3).
- (let* ((decaf (assoc-ref inputs "libdecaf")))
- (substitute* (find-files "." "CMakeLists.txt")
- (("find_package\\(Decaf CONFIG\\)")
- "set(DECAF_FOUND 1)")
- (("\\$\\{DECAF_INCLUDE_DIRS\\}")
- (string-append decaf "/include/decaf"))
- (("\\$\\{DECAF_TARGETNAME\\}")
- "decaf")))))
- (add-after 'unpack 'skip-problematic-tests
- (lambda _
- ;; The following test relies on networking; disable it.
- (substitute* "tester/port.c"
- (("[ \t]*TEST_NO_TAG.*bctbx_addrinfo_sort_test\\),")
- ""))))
- (add-after 'unpack 'fix-installed-resource-directory-detection
- (lambda _
- ;; There's some broken logic in tester.c that checks if CWD, or
- ;; if its parent exist, and if so, sets the prefix where the test
- ;; resources are looked up to; disable it (see:
- ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/4).
- (substitute* "src/tester.c"
- (("if \\(file_exists\\(\".\"\\)\\)")
- "if (NULL)")
- (("if \\(file_exists\\(\"..\"\\)\\)")
- "if (NULL)"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "tester"
- (invoke "./bctoolbox_tester"))))))))
- (inputs
- (list bcunit libdecaf mbedtls-lts))
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ ;; Do not use -Werror, because due to skipping
+ ;; a test there are unused procedures.
+ "-DENABLE_STRICT=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-cmake
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix decaf dependency (see:
+ ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/3).
+ (substitute* (find-files "." "CMakeLists.txt")
+ (("find_package\\(Decaf CONFIG\\)")
+ "set(DECAF_FOUND 1)")
+ (("\\$\\{DECAF_INCLUDE_DIRS\\}")
+ (search-input-directory inputs "include/decaf"))
+ (("\\$\\{DECAF_TARGETNAME\\}")
+ "decaf"))))
+ (add-after 'unpack 'skip-problematic-tests
+ (lambda _
+ ;; The following test relies on networking; disable it.
+ (substitute* "tester/port.c"
+ (("[ \t]*TEST_NO_TAG.*bctbx_addrinfo_sort_test\\),")
+ ""))))
+ (add-after 'unpack 'fix-installed-resource-directory-detection
+ (lambda _
+ ;; There's some broken logic in tester.c that checks if CWD, or
+ ;; if its parent exist, and if so, sets the prefix where the test
+ ;; resources are looked up to; disable it (see:
+ ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/4).
+ (substitute* "src/tester.c"
+ (("if \\(file_exists\\(\".\"\\)\\)")
+ "if (NULL)")
+ (("if \\(file_exists\\(\"..\"\\)\\)")
+ "if (NULL)"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "tester"
+ (invoke "./bctoolbox-tester"))))))))
+ (inputs (list bcunit libdecaf mbedtls-lts))
(synopsis "Belledonne Communications Tool Box")
(description "BcToolBox is an utilities library used by Belledonne
Communications software like belle-sip, mediastreamer2 and linphone.")
@@ -194,7 +188,7 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(define-public belr
(package
(name "belr")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -203,33 +197,33 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1bj8qd4ahbff476z0ccwsxy7qznqi6n5l1pdd7zbvk0h53zyj74c"))))
+ (base32 "1jqv2rfclzwsglwgvx7ypy0yhwbjxrsbik6xipf48770qmdz3bj9"))))
(build-system cmake-build-system)
(outputs '("out" "debug" "tester"))
(arguments
(list
- #:configure-flags '(list "-DENABLE_STATIC=OFF")
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON")
#:phases
#~(modify-phases %standard-phases
(delete 'check) ;moved after the install phase
(add-after 'install 'check
(lambda* (#:key tests? outputs #:allow-other-keys)
(when tests?
- (invoke (string-append #$output:tester "/bin/belr_tester")))))
+ (invoke (string-append #$output:tester "/bin/belr-tester")))))
(add-after 'install 'move-tester
(lambda _
(for-each mkdir-p
(list (string-append #$output:tester "/bin")
(string-append #$output:tester "/share")))
(rename-file
- (string-append #$output "/bin/belr_tester")
- (string-append #$output:tester "/bin/belr_tester"))
+ (string-append #$output "/bin/belr-tester")
+ (string-append #$output:tester "/bin/belr-tester"))
(rename-file
(string-append #$output "/share/belr-tester/res")
;; The detect_res_prefix procedure in bctoolbox's tester.c
;; resolves the resource path based on the executable path and
;; name, so have it match.
- (string-append #$output:tester "/share/belr_tester")))))))
+ (string-append #$output:tester "/share/belr-tester")))))))
(inputs
(list bctoolbox))
(synopsis "Belledonne Communications Language Recognition Library")
@@ -243,7 +237,7 @@ IETF.")
(define-public belcard
(package
(name "belcard")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -252,12 +246,12 @@ IETF.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rl1x7rnlnncb45sjp8r2xbcwr9l8qv5bhfybhr0mmvsv3a4k4a3"))))
+ (base32 "1d69s7v3yd276nasfxnsjp3q820pcchdpdpw4y7ak7sf6gr6mrrh"))))
(build-system cmake-build-system)
(outputs '("out" "debug" "tester"))
(arguments
(list
- #:configure-flags '(list "-DENABLE_STATIC=OFF")
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-vcard-grammar-location
@@ -270,7 +264,7 @@ IETF.")
(format #f "define VCARD_GRAMMAR ~s" vcard-grammar))))))
(add-after 'install 'install-tester
(lambda _
- (let ((test-name (string-append #$name "_tester")))
+ (let ((test-name (string-append #$name "-tester")))
(for-each mkdir-p
(list (string-append #$output:tester "/bin")
(string-append #$output:tester "/share")))
@@ -283,9 +277,10 @@ IETF.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke (string-append #$output:tester
- "/bin/belcard_tester"))))))))
- (inputs
- (list bctoolbox belr))
+ "/bin/belcard-tester"))))))))
+ (inputs (list bctoolbox))
+ ;; Belr is required by BelCardConfig.cmake, so must be propagated.
+ (propagated-inputs (list belr))
(synopsis "Belledonne Communications VCard Library")
(description "Belcard is a C++ library to manipulate VCard standard
format.")
@@ -295,7 +290,7 @@ format.")
(define-public bcmatroska2
(package
(name "bcmatroska2")
- (version "5.2.1")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -304,21 +299,12 @@ format.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "14c79znw37q3yc7llbv2wmxmm4a3ws6iq3cvgkbmcnf7hmhm7zdi"))))
+ (base32 "1fdlvsca34armxasj2g4vxjzm9iiqfl7832qqlggh04yw21cfa5c"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;No test target
- #:phases
- '(modify-phases %standard-phases
- ;; See
- ;; https://gitlab.linphone.org/BC/public/bcmatroska2/-/merge_requests/18
- (add-after 'unpack 'fix-build-system
- (lambda _
- (substitute* "corec/corec/CMakeLists.txt"
- (("helpers/file/file_libc.c") "")))))
- #:configure-flags
- '(list "-DENABLE_STATIC=NO"))) ;Not required
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON")))
(inputs (list bctoolbox))
(synopsis "Belledonne Communications Media Container")
(description "BcMatroska is a free and open standard multi-media container
@@ -331,80 +317,85 @@ Matroska multimedia container format.")
license:lgpl2.1+)))) ;for LibMatroska2
(define-public bcg729
- (package
- (name "bcg729")
- (version "1.1.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.linphone.org/bcg729")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1hal6b3w6f8y5r1wa0xzj8sj2jjndypaxyw62q50p63garp2h739"))))
- (build-system cmake-build-system)
- (arguments
- `(#:configure-flags (list "-DENABLE_STATIC=NO"
- "-DENABLE_TESTS=YES")
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'copy-inputs
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((test-patterns (assoc-ref inputs "test-patterns"))
- (dest (string-append "test/bcg729-patterns.zip")))
- (copy-recursively test-patterns dest))))
- (replace 'check
- (lambda _
- (with-directory-excursion "test"
- (invoke "unzip" "bcg729-patterns.zip")
- (for-each
- (lambda (test-name)
- (invoke "./testCampaign" "-s" test-name))
- (list "fixedCodebookSearch"
- "postProcessing"
- "adaptativeCodebookSearch"
- "computeLP"
- "computeAdaptativeCodebookGain"
- "postFilter"
- "decoder"
- "LPSynthesisFilter"
- "decodeLSP"
- ;; "encoder"
- ;; "LSPQuantization"
- "preProcessing"
- "decodeFixedCodeVector"
- "CNGdecoder"
- ;; "LP2LSPConversion"
- "gainQuantization"
- "findOpenLoopPitchDelay"
- "decodeGains"
- "computeWeightedSpeech"
- "interpolateqLSPAndConvert2LP"
- "decodeAdaptativeCodeVector"))))))))
- (native-inputs
- `(("perl" ,perl)
- ("test-patterns"
- ,(origin
- (method url-fetch)
- (uri (string-append "http://www.belledonne-communications.com/"
- "bc-downloads/bcg729-patterns.zip"))
- (sha256
- (base32 "1kivarhh3izrl9sg0szs6x6pbq2ap0y6xsraw0gbgspi4gnfihrh"))))
- ("unzip" ,unzip)))
- (synopsis "Belledonne Communications G729 Codec")
- (description "BcG729 is an implementation of both encoder and decoder of
+ ;; mediastreamer2 needs a more recent commit than the latest release to
+ ;; detect the BCG729 package.
+ (let ((commit "8bec1e5fc072f3669e435edd137eb3da6da2eef7")
+ (revision "1"))
+ (package
+ (name "bcg729")
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.linphone.org/BC/public/bcg729.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s0bnxqv7xrh65ypdyvahjslx8rj0q1zm0bpvwcakf5hs7h45g7x"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags (list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_UNIT_TESTS=YES")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'copy-inputs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((test-patterns (assoc-ref inputs "test-patterns"))
+ (dest (string-append "test/bcg729-patterns.zip")))
+ (copy-recursively test-patterns dest))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "test"
+ (invoke "unzip" "bcg729-patterns.zip")
+ (for-each
+ (lambda (test-name)
+ (invoke "./testCampaign" "-s" test-name))
+ (list "fixedCodebookSearch"
+ "postProcessing"
+ "adaptativeCodebookSearch"
+ "computeLP"
+ "computeAdaptativeCodebookGain"
+ "postFilter"
+ "decoder"
+ "LPSynthesisFilter"
+ "decodeLSP"
+ ;; "encoder"
+ ;; "LSPQuantization"
+ "preProcessing"
+ "decodeFixedCodeVector"
+ "CNGdecoder"
+ ;; "LP2LSPConversion"
+ "gainQuantization"
+ "findOpenLoopPitchDelay"
+ "decodeGains"
+ "computeWeightedSpeech"
+ "interpolateqLSPAndConvert2LP"
+ "decodeAdaptativeCodeVector")))))))))
+ (native-inputs
+ `(("perl" ,perl)
+ ("test-patterns"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "http://www.belledonne-communications.com/"
+ "bc-downloads/bcg729-patterns.zip"))
+ (sha256
+ (base32 "1kivarhh3izrl9sg0szs6x6pbq2ap0y6xsraw0gbgspi4gnfihrh"))))
+ ("unzip" ,unzip)))
+ (synopsis "Belledonne Communications G729 Codec")
+ (description "BcG729 is an implementation of both encoder and decoder of
the ITU G729 speech codec. The library written in C 99 is fully portable and
can be executed on many platforms including both ARM and x86 processors. It
supports concurrent channels encoding and decoding for multi call application
such as conferencing.")
- (home-page "https://linphone.org/technical-corner/bcg729")
- (license license:gpl3+)))
+ (home-page "https://linphone.org/technical-corner/bcg729")
+ (license license:gpl3+))))
(define-public ortp
(package
(name "ortp")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -413,14 +404,14 @@ such as conferencing.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1hzbrj1ny3lr9sql0lrxggc48sqv5j2yvbpnrdnph88pwzrdnbn5"))))
+ (base32 "1bl3ig1xbxprcdid9i8bnl433x4crxqnj30x5lxiy9ka79b8s8r6"))))
(build-system cmake-build-system)
(outputs '("out" "tester"
"doc")) ;1.5 MiB of HTML doc
(arguments
(list
#:tests? #f ;requires networking
- #:configure-flags '(list "-DENABLE_STATIC=NO"
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON"
"-DENABLE_DOC=NO" ;XXX: missing link for b64
"-DENABLE_TESTS=YES"
;; fix build error with GCC 14.
@@ -459,7 +450,7 @@ implements the RFC 3550 standard.")
(define-public bzrtp
(package
(name "bzrtp")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -468,15 +459,17 @@ implements the RFC 3550 standard.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0dvn1w0g9c07llz9n82l6qdzz8lzz74jcdm1yyfks0jy7i63cr8w"))))
+ (base32 "1q8w5blf2cjmzyv4bdd7zg4lv3pfjq6w6cfm6d75az4xqzg023kp"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list
- "-DENABLE_STATIC=NO"
- "-DENABLE_TESTS=YES")))
- (inputs
- (list bctoolbox libxml2 sqlite))
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_DOC=YES")
+ #:tests? #f)) ;tests require external resources
+ (inputs (list bctoolbox libxml2))
+ ;; sqlite is listed in the interface link libraries of bzrtp, and must be
+ ;; available at build time when using the bzrtp library.
+ (propagated-inputs (list sqlite))
(synopsis "Belledonne Communications ZRTP Library")
(description "BZRTP is an implementation of ZRTP keys exchange protocol,
written in C. It is fully portable and can be executed on many platforms
@@ -487,7 +480,7 @@ including both ARM and x86.")
(define-public belle-sip
(package
(name "belle-sip")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -496,12 +489,12 @@ including both ARM and x86.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0yx1qvzp11ysh24hxrvz7dm69j8zswa0xcx9m42vcv95z72166cq"))))
+ (base32 "1jmvf1s54ppc0qfi2wl6whk7s3lghpzzp6597nblncjsr2i6ha6c"))))
(build-system cmake-build-system)
(outputs '("out" "tester"))
(arguments
(list
- #:configure-flags '(list "-DENABLE_STATIC=NO"
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON"
"-DENABLE_MDNS=ON"
;; We skip a test and thus have an unused
;; procedure, so we need to disable -Werror.
@@ -536,7 +529,7 @@ including both ARM and x86.")
(delete 'check) ;move after install
(add-after 'install 'separate-outputs
(lambda _
- (let ((tester-name "belle_sip_tester"))
+ (let ((tester-name "belle-sip-tester"))
(for-each mkdir-p (list (string-append #$output:tester "/bin")
(string-append #$output:tester "/share")))
(rename-file (string-append #$output "/bin")
@@ -547,7 +540,7 @@ including both ARM and x86.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(let ((tester (string-append #$output:tester
- "/bin/belle_sip_tester")))
+ "/bin/belle-sip-tester")))
(for-each (lambda (suite-name)
(invoke tester "--suite" suite-name))
(list "Object inheritance"
@@ -566,8 +559,7 @@ including both ARM and x86.")
"Refresher"
;;"HTTP stack"
"Object")))))))))
- (inputs
- (list avahi bctoolbox belr zlib))
+ (inputs (list avahi bctoolbox belr zlib))
(synopsis "Belledonne Communications SIP Library")
(description "Belle-sip is a modern library implementing SIP transport,
transaction and dialog layers. It is written in C, with an object-oriented
@@ -578,7 +570,7 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(define-public mediastreamer2
(package
(name "mediastreamer2")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -587,12 +579,12 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0mj0q2xaac22p2wf5gvgaiga03fbydilxfxzwyc6nwp5fyjnzawd"))))
+ (base32 "1zv13icfdpaq7fa325mnqf340vbvif9791hb9h22qpc0f2wcwvjb"))))
(outputs '("out" "doc" "tester"))
(build-system cmake-build-system)
(arguments
(list
- #:configure-flags '(list "-DENABLE_STATIC=NO"
+ #:configure-flags '(list "-DBUILD_SHARED_LIBS=ON"
"-DENABLE_PCAP=YES"
;; Do not fail on compile warnings.
"-DENABLE_STRICT=NO"
@@ -619,7 +611,7 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(delete 'check) ;move after install
(add-after 'install 'separate-outputs
(lambda _
- (let ((tester-name (string-append #$name "_tester"))
+ (let ((tester-name (string-append #$name "-tester"))
(doc-name (string-append #$name "-" #$version)))
(for-each mkdir-p
(list (string-append #$output:tester "/bin")
@@ -637,7 +629,7 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(add-after 'separate-outputs 'check
(lambda _
(let ((tester (string-append #$output:tester
- "/bin/mediastreamer2_tester")))
+ "/bin/mediastreamer2-tester")))
(for-each (lambda (suite-name)
(invoke tester "--suite" suite-name))
;; Some tests fail, due to requiring access to the
@@ -658,28 +650,29 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
bcg729
bcmatroska2
bctoolbox
+ bzrtp
+ dav1d
ffmpeg-4
glew
glu
- mesa-utils
gsm
+ libjpeg-turbo
+ libpcap
+ libsrtp
+ libtheora
+ libvpx
+ libx11
+ libxv
mesa
+ mesa-utils
opus
ortp
- libpcap
portaudio
pulseaudio
spandsp
speex
speexdsp
- libsrtp
- libtheora
- libjpeg-turbo
- v4l-utils
- libvpx
- libx11
- libxv
- bzrtp))
+ v4l-utils))
(synopsis "Belledonne Communications Streaming Engine")
(description "Mediastreamer2 is a powerful and lightweight streaming engine
for telephony applications. This media processing and streaming toolkit is
@@ -691,7 +684,7 @@ including media capture, encoding and decoding, and rendering.")
(define-public lime
(package
(name "lime")
- (version "5.2.49")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -700,39 +693,36 @@ including media capture, encoding and decoding, and rendering.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1mglnypxl3glwvwf2h5q4ikbm6wbcd9pb7kdws8zajjhk9q803jr"))))
+ (base32 "1jd549f4cky5rcvq3d2zn8d383jahdi71nhkzblnr6mqqbn6b7sa"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(arguments
- `(#:configure-flags (list "-DENABLE_STATIC=NO"
- "-DENABLE_C_INTERFACE=YES"
- "-DENABLE_DOC=YES")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda _
- ;; Disable tests that require networking.
- (substitute* "tester/CMakeLists.txt"
- (("add_test\\(?.*\"Hello World\"\\)") "")
- (("add_test\\(?.*\"lime\"\\)") "")
- (("add_test\\(?.*\"FFI\"\\)") "")
- (("add_test\\(?.*\"Multidomains\"\\)") "")
- (("add_test\\(?.*\"Lime server\"\\)") ""))))
- (add-after 'build 'build-doc
- (lambda _
- (invoke "make" "doc")))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((doc (assoc-ref outputs "doc"))
- (dir (string-append doc "/share/doc"))
- (dest (string-append dir "/" ,name "-" ,version)))
- (mkdir-p dest)
- (copy-recursively "doc" dest)))))))
- (native-inputs
- `(("dot" ,graphviz)
- ("doxygen" ,doxygen)))
- (inputs
- (list bctoolbox belle-sip soci))
+ (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DENABLE_C_INTERFACE=YES"
+ "-DENABLE_DOC=YES")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ ;; Disable tests that require networking.
+ (substitute* "tester/CMakeLists.txt"
+ (("add_test\\(?.*\"Hello World\"\\)") "")
+ (("add_test\\(?.*\"lime\"\\)") "")
+ (("add_test\\(?.*\"FFI\"\\)") "")
+ (("add_test\\(?.*\"Multidomains\"\\)") "")
+ (("add_test\\(?.*\"Lime server\"\\)") ""))))
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "make" "doc")))
+ (add-after 'install 'install-doc
+ (lambda _
+ (let* ((doc #$output:doc)
+ (dir (string-append doc "/share/doc"))
+ (dest (string-append dir "/" #$name "-" #$version)))
+ (mkdir-p dest)
+ (copy-recursively "doc" dest)))))))
+ (native-inputs (list graphviz doxygen))
+ (inputs (list bctoolbox belle-sip belr soci))
(synopsis "Belledonne Communications Encryption Library")
(description "LIME is an encryption library for one-to-one and group
instant messaging, allowing users to exchange messages privately and
@@ -744,7 +734,7 @@ device.")
(define-public liblinphone
(package
(name "liblinphone")
- (version "5.2.50")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -753,37 +743,41 @@ device.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1lvbva234rmck57cxgswgqqvnq8r58i0ls4qgpymrxdfj74rinxj"))))
+ (base32 "1f3hcbdkd8nqvjm5avylz226a8in360yiafcsxpa69wvh1a03i4h"))
+ (patches (search-patches "liblinphone-jsoncpp.patch"))))
(outputs '("out" "tester"))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; Tests require networking
#:configure-flags
- '(list "-DENABLE_FLEXIAPI=NO" ;requires jsoncpp, but it cannot be found
- "-DENABLE_STATIC=NO"
- "-DENABLE_DOC=NO" ;requires unpackaged javasphinx
- "-DENABLE_LDAP=YES"
- "-DENABLE_STRICT=NO")
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DENABLE_DOC=NO" ;requires unpackaged javasphinx
+ "-DENABLE_LDAP=YES"
+ "-DENABLE_STRICT=NO")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'separate-outputs
(lambda* (#:key outputs #:allow-other-keys)
- (let ((tester-name (string-append #$name "_tester")))
+ (let ((tester-name (string-append #$name "-tester")))
(for-each mkdir-p
(list (string-append #$output:tester "/bin")
(string-append #$output:tester "/share")))
- (rename-file (string-append #$output "/bin/" tester-name)
- (string-append #$output:tester "/bin/" tester-name))
- (rename-file (string-append #$output "/bin/groupchat_benchmark")
- (string-append #$output:tester "/bin/groupchat_benchmark"))
- (rename-file (string-append #$output "/share/" tester-name)
- (string-append #$output:tester "/share/" tester-name))))))))
+ (rename-file
+ (string-append #$output "/bin/" tester-name)
+ (string-append #$output:tester "/bin/" tester-name))
+ (rename-file
+ (string-append #$output "/bin/liblinphone-groupchat-benchmark")
+ (string-append #$output:tester "/bin/liblinphone-groupchat-benchmark"))
+ (rename-file
+ (string-append #$output "/share/" tester-name)
+ (string-append #$output:tester "/share/" tester-name))))))))
(native-inputs
(list graphviz
doxygen
gettext-minimal
perl
+ pkg-config
python-wrapper
python-pystache
python-six
@@ -791,20 +785,24 @@ device.")
(inputs
(list bctoolbox
belcard
- belle-sip
belr
bzrtp
- lime
libnotify
- libxml2
- mediastreamer2
openldap-for-linphone
- ortp
soci
- sqlite
xsd
zlib
- zxing-cpp-1.2a))
+ zxing-cpp))
+ (propagated-inputs
+ ;; The following libraries are "required" by the LibLinphoneConfig.cmake
+ ;; CMake module.
+ (list belle-sip
+ jsoncpp
+ mediastreamer2
+ libxml2
+ lime
+ ortp
+ sqlite))
(synopsis "Belledonne Communications Softphone Library")
(description "Liblinphone is a high-level SIP library integrating
all calling and instant messaging features into an unified
@@ -817,7 +815,7 @@ and video calls or instant messaging capabilities to an application.")
(define-public linphone-desktop
(package
(name "linphone-desktop")
- (version "5.0.14")
+ (version "5.2.6")
(source
(origin
(method git-fetch)
@@ -826,29 +824,30 @@ and video calls or instant messaging capabilities to an application.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0glrfsp087ni5hn6x6p4f6y63r4nyp061yyy0rfgddbxkzdqi2j1"))
- (patches (search-patches "linphone-desktop-without-sdk.patch"))))
+ (base32 "06qfmgnsyaw1mdhd04pibsyfchy1bj15zvy36wz82g5dx3c5yj17"))
+ (patches
+ (search-patches "linphone-desktop-cmake-belcard.patch"
+ "linphone-desktop-cmake-find-modules.patch"
+ "linphone-desktop-ispell.patch"
+ "linphone-desktop-qtkeychain.patch"))))
(build-system qt-build-system)
(outputs '("out" "debug"))
(arguments
(list
#:tests? #f ; No test target
#:configure-flags
- #~(list (string-append "-DFULL_VERSION=" #$version)
- (string-append "-DCMAKE_INSTALL_PREFIX=" #$output)
+ #~(list (string-append "-DLINPHONEAPP_VERSION=" #$version)
(string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin")
(string-append "-DCMAKE_INSTALL_DATAROOTDIR=" #$output "/share")
+ (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" #$output "/include")
(string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")
"-DENABLE_UPDATE_CHECK=NO"
"-DENABLE_DAEMON=YES"
- "-DENABLE_CONSOLE_UI=YES")
+ "-DENABLE_CONSOLE_UI=YES"
+ "-DLinphoneCxx_TARGET=liblinphone++"
+ "-DLINPHONE_QT_ONLY=YES") ;avoid building linphone SDK
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'pre-configure
- (lambda _
- (make-file-writable "linphone-app/linphoneqt_version.cmake")
- (substitute* "linphone-app/linphoneqt_version.cmake"
- (("\\$\\{GUIX-SET-VERSION\\}") #$version))))
(add-before 'install 'pre-install
(lambda _
(mkdir-p (string-append #$output "/share/linphone"))
@@ -875,18 +874,19 @@ and video calls or instant messaging capabilities to an application.")
(mkdir-p (dirname grammar-dest))
(symlink (string-append liblinphone "/share/belr/grammars")
grammar-dest)))))))
- (native-inputs
- (list pkg-config qttools-5))
+ (native-inputs (list pkg-config qttools-5))
(inputs
(list bctoolbox
belcard
- belr
+ ispell-for-linphone
liblinphone
mediastreamer2
ortp
qtbase-5
qtdeclarative-5
qtgraphicaleffects
+ qtkeychain
+ qtmultimedia-5
qtquickcontrols-5
qtquickcontrols2-5
qtsvg-5
@@ -913,11 +913,12 @@ and video calls or instant messaging capabilities to an application.")
(license license:gpl3+)))
(define-public msopenh264
- (let ((commit "88697cc95140017760d6da408cb0efdc5e86e40a")
+ ;; Unreleased commits are needed for the build to succeed.
+ (let ((commit "041b07a81f88f1dde2ebb7a1ea0b0e2ec281ab20")
(revision "0"))
(package
(name "msopenh264")
- (version (git-version "1.2.1" revision commit))
+ (version (git-version "5.2.0" revision commit))
(source
(origin
(method git-fetch)
@@ -926,14 +927,20 @@ and video calls or instant messaging capabilities to an application.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "10y3b6s934f2wbsf60b3p0g6hffizjqrj5in8l4sida2fjdxlwwy"))))
+ (base32 "0hwf8x5dc3iksdv61k4raswngyk3cyx8700v2rzrm296aw74f5r1"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
- (inputs
- (list bctoolbox mediastreamer2 openh264 ortp))
+ (list
+ #:tests? #f ; No test target
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-Mediastreamer2_PLUGINS_DIR
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("\\$\\{Mediastreamer2_PLUGINS_DIR}")
+ (string-append #$output "/lib/mediastreamer/plugins"))))))))
+ (inputs (list bctoolbox mediastreamer2 openh264 ortp))
(synopsis "Media Streamer H.264 Codec")
(description "MsOpenH264 is an H.264 encoder/decoder plugin for
mediastreamer2 based on the openh264 library.")
@@ -941,11 +948,12 @@ and video calls or instant messaging capabilities to an application.")
(license license:gpl2+))))
(define-public mssilk
- (let ((commit "dd0f31ee795faa7ea89e601b072dae4cd1df7e3f")
+ ;; The latest release doesn't build; use the latest commit.
+ (let ((commit "0c6893fb74ecca34cb2707f7fffd0d7487b24925")
(revision "0"))
(package
(name "mssilk")
- (version (git-version "1.1.1" revision commit))
+ (version (git-version "1.2.0" revision commit))
(source
(origin
(method git-fetch)
@@ -954,14 +962,20 @@ and video calls or instant messaging capabilities to an application.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1dann5fnzqp6wjlwc6bl2k9b6rvn6bznqb3qsi1kgv9dnq44cbr0"))))
+ (base32 "1hpsh0iyby44hdanmkjnad7p9flhq2wcim8nl5bkyv1gw50sanli"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
- (inputs
- (list bctoolbox mediastreamer2 ortp))
+ (list
+ #:tests? #f ; No test target
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-Mediastreamer2_PLUGINS_DIR
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("\\$\\{Mediastreamer2_PLUGINS_DIR}")
+ (string-append #$output "/lib/mediastreamer/plugins"))))))))
+ (inputs (list bctoolbox mediastreamer2 ortp))
(synopsis "Media Streamer SILK Codec")
(description "MSSILK is a plugin of MediaStreamer, adding support for AMR
codec. It is based on the Skype's SILK implementation.")
@@ -969,62 +983,68 @@ codec. It is based on the Skype's SILK implementation.")
(license license:gpl2+))))
(define-public mswebrtc
- (let ((commit "946ca706733f36a6b4923f04e569531125462d1d")
- (revision "0"))
- (package
- (name "mswebrtc")
- (version (git-version "1.1.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.linphone.org/BC/public/mswebrtc")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1pfg9m6bpbv0f53nx72rdxhlyriax9pg4yj0gpwq8ha6lqnpwg1x"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list
- "-DENABLE_STATIC=NO")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'copy-inputs
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((webrtc-from (assoc-ref inputs "webrtc"))
- (webrtc-to (string-append (getcwd) "/webrtc")))
- (copy-recursively webrtc-from webrtc-to))
- #t)))))
- (native-inputs
- `(("webrtc"
- ,(origin
- (method git-fetch)
- (uri
- (git-reference
- (url "https://gitlab.linphone.org/BC/public/external/webrtc")
- (commit "583acd27665cfadef8ab03eb85a768d308bd29dd")))
- (file-name
- (git-file-name "webrtc-for-mswebrtc" version))
- (sha256
- (base32
- "1maqychrgwy0z4zypa03qp726l2finw64z6cymdzhd58ql3p1lvm"))))
- ("python" ,python-wrapper)))
- (inputs
- (list bctoolbox mediastreamer2 ortp))
- (synopsis "Media Streamer WebRTC Codec")
- (description "MSWebRTC is a plugin of MediaStreamer, adding support for
+ ;; A newer, unreleased commit is needed to detect a recent oRTP; use the
+ ;; latest one available.
+ (package
+ (name "mswebrtc")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.linphone.org/BC/public/mswebrtc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10j124vd9zm03s1vzb74n3zjrf6x1nfvji7vryih4dq2xlgrqxx6"))
+ (patches (search-patches "mswebrtc-b64-refactor.patch"
+ "mswebrtc-cmake.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No test target
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-Mediastreamer2_PLUGINS_DIR
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("\\$\\{Mediastreamer2_PLUGINS_DIR}")
+ (string-append #$output "/lib/mediastreamer/plugins")))))
+ (add-after 'unpack 'copy-inputs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((webrtc-from (assoc-ref inputs "webrtc"))
+ (webrtc-to (string-append (getcwd) "/webrtc")))
+ (copy-recursively webrtc-from webrtc-to)))))))
+ (native-inputs
+ `(("webrtc"
+ ,(origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.linphone.org/BC/public/external/webrtc")
+ (commit "583acd27665cfadef8ab03eb85a768d308bd29dd")))
+ (file-name
+ (git-file-name "webrtc-for-mswebrtc" version))
+ (sha256
+ (base32
+ "1maqychrgwy0z4zypa03qp726l2finw64z6cymdzhd58ql3p1lvm"))))
+ ("python" ,python-wrapper)))
+ (inputs (list bctoolbox mediastreamer2 ortp))
+ (synopsis "Media Streamer WebRTC Codec")
+ (description "MSWebRTC is a plugin of MediaStreamer, adding support for
WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
- (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
- (license license:gpl2+))))
+ (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
+ (license license:gpl2+)))
(define-public msamr
- (let ((commit "5ab5c098299107048dfcbfc741f7392faef167bd")
- (revision "0"))
+ ;; The latest 1.1.4 release is 2 years old, doesn't build with a recent
+ ;; bctoolbox; use the latest commit available.
+ (let ((commit "129fc98c04a5cd412d5393427d43b0b445263ead")
+ (revision "1"))
(package
(name "msamr")
- (version (git-version "1.1.3" revision commit))
+ (version (git-version "1.1.4" revision commit))
(source
(origin
(method git-fetch)
@@ -1033,19 +1053,30 @@ WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1g79lw1qi1mlw3v1b0cixmqiwjql81gz9naakb15n8pvaag9aaqm"))))
+ (base32 "0zp5vmhgp18812j2pbys7g3v0slkc70q9qp7k26bk7iddg1yy9x2"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO" ; Not required
- "-DENABLE_WIDEBAND=YES")))
+ (list
+ #:tests? #f ; No test target
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_WIDEBAND=YES")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-Mediastreamer2_PLUGINS_DIR
+ (lambda _
+ ;; msamr tries to install its plugins to
+ ;; Mediastreamer2_PLUGINS_DIR, which is provided by
+ ;; mediastreamer2 and points to its installation prefix.
+ (substitute* "src/CMakeLists.txt"
+ (("\\$\\{Mediastreamer2_PLUGINS_DIR}")
+ (string-append #$output "/lib/mediastreamer/plugins"))))))))
(inputs
- `(("bctoolbox" ,bctoolbox)
- ("mediastreamer2" ,mediastreamer2)
- ("opencoreamr" ,opencore-amr)
- ("ortp" ,ortp)
- ("voamrwbenc" ,vo-amrwbenc)))
+ (list bctoolbox
+ mediastreamer2
+ opencore-amr
+ ortp
+ vo-amrwbenc))
(synopsis "Media Streamer AMR Codec")
(description "MSAMR is a plugin of MediaStreamer, adding support for AMR
codec. It is based on the opencore-amr implementation.")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 36cef84b14..83536ca746 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -34,7 +34,7 @@
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
-;;; Copyright © 2019-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
@@ -83,6 +83,7 @@
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
+;;; Copyright © 2025 Mathieu Laparie <mlaparie@disr.it>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -514,7 +515,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.15-version "6.15.10")
+(define-public linux-libre-6.15-version "6.15.11")
(define-public linux-libre-6.15-gnu-revision "gnu")
(define deblob-scripts-6.15
(linux-libre-deblob-scripts
@@ -524,7 +525,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0301x3n5qbg8xm48pxq1dhrq0vkr61bqdcyaz0mbckrg20kw6m67")))
(define-public linux-libre-6.15-pristine-source
(let ((version linux-libre-6.15-version)
- (hash (base32 "01pxk3cnil1wbysp4s6ybh5djskxzf9llmk1qy7zfr2l4mwnbkd4")))
+ (hash (base32 "14sxwrvw9p4ybizb8ky1rgahc62q0aw5qkmzqp3cpnavqfgldaw9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.15)))
@@ -533,7 +534,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-6.12-version "6.12.42")
+(define-public linux-libre-6.12-version "6.12.43")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
@@ -543,7 +544,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
- (hash (base32 "1yy17c06sn6l0skz8n1kxqhzldgwxxd0xhs11fd3086d56554128")))
+ (hash (base32 "1vmxywg11z946i806sg7rk7jr9px87spmwwbzjxpps2nsjybpjqg")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
@@ -2348,7 +2349,7 @@ and the notification, WiFi, and Bluetooth LED.")
(define-public tuxedo-keyboard
(package
(name "tuxedo-keyboard")
- (version "4.14.2")
+ (version "4.15.4")
(source
(origin
(method git-fetch)
@@ -2357,21 +2358,23 @@ and the notification, WiFi, and Bluetooth LED.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0b7qivyd8r58cq84q11b2z919px5p9k5zbinm6ahj07w0lsq2j7b"))))
+ (base32 "0mimgcbp57gp3smd439g8040sl80qqnfzmh2vhs2qv1kwyxs75sq"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ; no test suite
+ ;; This package fails to build on aarch64, and the manufacturer only sells
+ ;; machines based on Intel-compatible processors. For more information, see
+ ;; <https://codeberg.org/guix/guix/pulls/1795>.
+ (supported-systems '("i686-linux" "x86_64-linux"))
(home-page "https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers")
(synopsis "Linux kernel modules to control keyboard on most Tuxedo computers")
(description
"This package provides the @code{tuxedo_keyboard}, @code{tuxedo_io},
@code{clevo_wmi} @acronym{WMI, Windows Management Engine} and the
@code{clevo_acpi} @acronym{ACPI, Advanced Configuration and Power Interface}
-kernel modules to control the keyboard on most Tuxedo computers. Only white
-backlight only models are currently not supported. The @code{tuxedo_io}
-module is also needed for the @code{tuxedo-control-center} (short tcc)
-package.")
- (license license:gpl3+)))
+kernel modules to control the keyboard on most Tuxedo computers. The @code{tuxedo_io}
+module is also needed for the @code{tuxedo-control-center} (short tcc) package.")
+ (license license:gpl2+)))
(define-public evdi
(package
@@ -3063,7 +3066,7 @@ deviation, and minimum and maximum values. It can show a nice histogram too.")
;; FIXME: For now we cannot reliably run tests on GNU/Hurd:
;; <https://bugs.gnu.org/47791>.
#:tests? (and (not (%current-target-system))
- (not (string-suffix? "-gnu" (%current-system))))
+ (not (system-hurd?)))
#:phases
#~(modify-phases %standard-phases
@@ -3378,24 +3381,20 @@ slabtop, tload, top, vmstat, w, watch and sysctl.")
(define-public usbutils
(package
(name "usbutils")
- (version "017")
+ (version "018")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
- "usbutils-" version ".tar.xz"))
- (sha256
- (base32 "0nz008kshcajc9asxr4j5dh4wgq72z52lws4ga6y60wirzymz8m6"))))
- (build-system gnu-build-system)
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
+ "usbutils-" version ".tar.xz"))
+ (sha256
+ (base32 "14xd7j9fl3pm0z4dhqj3mf9paqk431kq4vi602f5hiw5nmcqpxl3"))))
+ (build-system meson-build-system)
(outputs (list "out" "python"))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (add-before 'bootstrap 'patch-bootstrap-scripts
- (lambda _
- (substitute* "usbhid-dump/bootstrap"
- (("/bin/sh") (which "sh")))))
(add-after 'install 'separate-python-output
;; Separating one Python script shaves more than 106 MiB from :out.
(lambda _
@@ -3404,17 +3403,21 @@ slabtop, tload, top, vmstat, w, watch and sysctl.")
(new (string-append #$output:python "/" file)))
(mkdir-p (dirname new))
(rename-file old new)))
- (list "bin/lsusb.py")))))))
- (inputs
- (list eudev libusb python))
- (native-inputs
- (list autoconf automake libtool pkg-config))
+ (list "bin/lsusb.py"))))
+ (add-after 'install 'install-usbreset
+ (lambda _
+ (install-file "usbreset"
+ (string-append #$output "/bin")))))))
+ (native-inputs (list pkg-config))
+ (inputs (list eudev libusb python))
(home-page "http://www.linux-usb.org/")
(synopsis
"Tools for working with USB devices")
(description
- "Collection of tools to query what type of USB devices are connected to the
-system, including @command{lsusb}.")
+ "Collection of tools to query what type of USB devices are connected to
+the system, including @command{lsusb}. The experimental @command{usbreset}
+command included in the package, but be aware that it may not work for all
+devices.")
(license license:gpl2+)))
(define-public usbip-utils
@@ -8103,124 +8106,128 @@ not as a replacement for it.")
license:gpl3+)))) ; everything else
(define-public hotspot
- (package
- (name "hotspot")
- (version "1.5.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/KDAB/hotspot")
- (commit (string-append "v" version))
- ;; Include the bundled perfparser and PrefixTickLabels
- ;; libraries, which are to be used in source form.
- (recursive? #t)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04k2rvf2lgi8hp7dzqzn65fcd2lsiylwr04d44q75j0wvgbjjv1v"))))
- (build-system qt-build-system)
- (arguments
- (list
- ;; As mentioned in the option help text, the KAuth helper cannot be
- ;; installed to a custom prefix and the build fails with "file cannot
- ;; create directory: /polkit-1/actions. Maybe need administrative"
- ;; (see: https://bugs.kde.org/show_bug.cgi?id=363678).
- #:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF"
- "-DQT6_BUILD=ON")
- #:qtbase qtbase
- ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with
- ;; the later seemingly requiring sudo or access to the kernel
- ;; trace points.
- #:test-exclude
- (string-append
- "("
- (string-join
- ;; The 'tst_models' expected output doesn't exactly
- ;; match.
- '("tst_models"
- ;; The 'tst_callgraphgenerator' perf invocation
- ;; fails when run in the build container.
- "tst_callgraphgenerator"
- ;; The 'tst_perfparser' test requires sudo/access
- ;; to the kernel scheduler trace points.
- "tst_perfparser")
- "|")
- ")")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-perfparser
- ;; XXX: This phase is copied from qt-creator: keep them in sync!
- (lambda* (#:key inputs #:allow-other-keys)
- ;; perfparser attempts to dynamically load the demangle
- ;; libraries; use their absolute file name to avoid having to
- ;; set LD_LIBRARY_PATH.
- (let ((librustc_demangle.so
- (with-exception-handler (lambda (ex)
- (if (search-error? ex)
- #f
- (raise-exception ex)))
- (lambda ()
- (search-input-file inputs "lib/librustc_demangle.so"))
- #:unwind? #t)))
- (substitute* "3rdparty/perfparser/app/demangler.cpp"
- (("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")"
- all)
- (if librustc_demangle.so
- (format #f "loadDemangleLib(QStringLiteral(~s)"
- librustc_demangle.so)
- all)) ;no rustc_demangle; leave unchanged
- (("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")")
- (format #f "loadDemangleLib(QStringLiteral(~s)"
- (search-input-file inputs
- "lib/libd_demangle.so")))))))
- (add-after 'unpack 'path-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/perfoutputwidgetkonsole.cpp"
- (("\"tail\"")
- (format #f "~s" (search-input-file inputs "bin/tail"))))
- (substitute* "src/perfrecord.cpp"
- (("\"perf( )?\"" _ space)
- (string-append "\"" (search-input-file inputs "bin/perf")
- (or space "") "\""))))))))
- (native-inputs
- (list extra-cmake-modules
- vulkan-headers))
- (inputs
- (append
- (list coreutils-minimal
- d-demangler
- elfutils
- karchive
- kconfig
- kcoreaddons
- kddockwidgets
- kgraphviewer
- ki18n
- kio
- kiconthemes
- kitemmodels
- kitemviews
- knotifications
- kparts
- ksyntaxhighlighting
- kwindowsystem
- libxkbcommon
- perf
- qtdeclarative
- qtsvg
- solid
- threadweaver
- `(,zstd "lib"))
- (if (supported-package? rust-rustc-demangle-capi-0.1)
- (list rust-rustc-demangle-capi-0.1)
- '())))
- (home-page "https://github.com/KDAB/hotspot")
- (synopsis "Performance analysis GUI for Linux perf")
- (description "Hotspot is a standalone GUI for performance data analysis.
+ ;; Use the latest git commit as it includes unreleased fixes for the test
+ ;; suite.
+ (let ((commit "5cec69301a3f34ada86ce9fe01a9538b04b3cf7c")
+ (revision "0"))
+ (package
+ (name "hotspot")
+ (version (git-version "1.5.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/KDAB/hotspot")
+ (commit commit)
+ ;; Include the bundled perfparser and PrefixTickLabels
+ ;; libraries, which are to be used in source form.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "115gskjdcb1q3mgrnv1qcdrhxabjzl1hhkpk1klk67ayicsk1ym6"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ ;; As mentioned in the option help text, the KAuth helper cannot be
+ ;; installed to a custom prefix and the build fails with "file cannot
+ ;; create directory: /polkit-1/actions. Maybe need administrative"
+ ;; (see: https://bugs.kde.org/show_bug.cgi?id=363678).
+ #:configure-flags #~(list "-DINSTALL_KAUTH_HELPER=OFF"
+ "-DQT6_BUILD=ON")
+ #:qtbase qtbase
+ ;; The 'tst_models' and 'tst_callgraphgenerator' fail, with
+ ;; the later seemingly requiring sudo or access to the kernel
+ ;; trace points.
+ #:test-exclude
+ (string-append
+ "("
+ (string-join
+ ;; The 'tst_models' expected output doesn't exactly
+ ;; match.
+ '("tst_models"
+ ;; The 'tst_callgraphgenerator' perf invocation
+ ;; fails when run in the build container.
+ "tst_callgraphgenerator"
+ ;; The 'tst_perfparser' test requires sudo/access
+ ;; to the kernel scheduler trace points.
+ "tst_perfparser")
+ "|")
+ ")")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-perfparser
+ ;; XXX: This phase is copied from qt-creator: keep them in sync!
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; perfparser attempts to dynamically load the demangle
+ ;; libraries; use their absolute file name to avoid having to
+ ;; set LD_LIBRARY_PATH.
+ (let ((librustc_demangle.so
+ (with-exception-handler (lambda (ex)
+ (if (search-error? ex)
+ #f
+ (raise-exception ex)))
+ (lambda ()
+ (search-input-file inputs "lib/librustc_demangle.so"))
+ #:unwind? #t)))
+ (substitute* "3rdparty/perfparser/app/demangler.cpp"
+ (("loadDemangleLib\\(QStringLiteral\\(\"rustc_demangle\")"
+ all)
+ (if librustc_demangle.so
+ (format #f "loadDemangleLib(QStringLiteral(~s)"
+ librustc_demangle.so)
+ all)) ;no rustc_demangle; leave unchanged
+ (("loadDemangleLib\\(QStringLiteral\\(\"d_demangle\")")
+ (format #f "loadDemangleLib(QStringLiteral(~s)"
+ (search-input-file inputs
+ "lib/libd_demangle.so")))))))
+ (add-after 'unpack 'path-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/perfoutputwidgetkonsole.cpp"
+ (("\"tail\"")
+ (format #f "~s" (search-input-file inputs "bin/tail"))))
+ (substitute* "src/perfrecord.cpp"
+ (("\"perf( )?\"" _ space)
+ (string-append "\"" (search-input-file inputs "bin/perf")
+ (or space "") "\""))))))))
+ (native-inputs
+ (list extra-cmake-modules
+ vulkan-headers))
+ (inputs
+ (append
+ (list coreutils-minimal
+ d-demangler
+ elfutils
+ karchive
+ kconfig
+ kcoreaddons
+ kddockwidgets
+ kgraphviewer
+ ki18n
+ kio
+ kiconthemes
+ kitemmodels
+ kitemviews
+ knotifications
+ kparts
+ ksyntaxhighlighting
+ kwindowsystem
+ libxkbcommon
+ perf
+ qtdeclarative
+ qtsvg
+ solid
+ threadweaver
+ `(,zstd "lib"))
+ (if (supported-package? rust-rustc-demangle-capi-0.1)
+ (list rust-rustc-demangle-capi-0.1)
+ '())))
+ (home-page "https://github.com/KDAB/hotspot")
+ (synopsis "Performance analysis GUI for Linux perf")
+ (description "Hotspot is a standalone GUI for performance data analysis.
It aims to be similar to KCachegrind, but for data collected with
@command{perf}, a profiler for use with the kernel Linux. Its main feature is
graphically visualizing a @file{perf.data} file.")
- (license (list license:gpl2+ license:gpl3+)))) ;dual licensed
+ (license (list license:gpl2+ license:gpl3+))))) ;dual licensed
(define-public ecryptfs-utils
(package
@@ -12190,6 +12197,36 @@ virtual server table in the Linux kernel. The Linux Virtual Server can be used
to build scalable network services based on a cluster of two or more nodes.")
(license license:gpl2+)))
+(define-public ryzenadj
+ (package
+ (name "ryzenadj")
+ (version "0.17.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/flygoat/ryzenadj/archive/refs/tags/"
+ "v" version ".tar.gz"))
+ (sha256
+ (base32 "0i2x6kbn2ix52vjz1mmh0c0g3w0k4sn0lq68wbsk0pgndzcck2l4"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (delete-file-recursively "win32")
+ #t))))
+ (build-system cmake-build-system)
+ (inputs (list pciutils))
+ (arguments
+ (list #:tests? #f ; No test suite
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'install 'build
+ (lambda _
+ (invoke "cmake" "-DCMAKE_BUILD_TYPE=Release" "."))))))
+ (home-page "https://github.com/flygoat/ryzenadj")
+ (synopsis "Power management tool for AMD Ryzen APUs")
+ (description
+ "@command{ryzenadj} is an utility to adjust power management settings for
+AMD Ryzen mobile processors. You will need to ensure it can access /dev/mem,
+for instance by using the \"iomem=relaxed\" kernel argument.")
+ (license license:lgpl3)))
+
(define-public ryzen-smu
(package
(name "ryzen-smu")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 1a4fa92789..1c9ed7c431 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -12205,8 +12205,8 @@ interfaces as well as a functional and an object oriented interface.")
`(cons "clsql-cffi" ,asd-systems)))))))
(define-public sbcl-clss
- (let ((revision "2")
- (commit "f62b849189c5d1be378f0bd3d403cda8d4fe310b"))
+ (let ((revision "3")
+ (commit "cd5f603e8207ec23c147c5cfda636ef8273a7525"))
(package
(name "sbcl-clss")
(version (git-version "0.3.1" revision commit))
@@ -12215,10 +12215,10 @@ interfaces as well as a functional and an object oriented interface.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Shinmera/clss")
+ (url "https://codeberg.org/shinmera/clss")
(commit commit)))
(sha256
- (base32 "1033dchpanhcgxl5qfhr80aw9adbp9bvllhzvvy5p9mrfnidd1fv"))
+ (base32 "15wh1zafamxc5z5hni9ni72xg4n24am2xfqv7fwwhfw1sl06bcm2"))
(file-name (git-file-name name version))))
(inputs
(list sbcl-array-utils sbcl-plump))
@@ -12226,7 +12226,7 @@ interfaces as well as a functional and an object oriented interface.")
(synopsis "DOM tree searching engine based on CSS selectors")
(description "CLSS is a DOM traversal engine based on CSS
selectors. It makes use of the Plump-DOM and is used by lQuery.")
- (home-page "https://github.com/Shinmera/clss")
+ (home-page "https://codeberg.org/shinmera/clss")
(license license:zlib))))
(define-public cl-clss
@@ -27494,6 +27494,39 @@ internbombing, excessive input and macro characters.")
(define-public ecl-safe-read
(sbcl-package->ecl-package sbcl-safe-read))
+(define-public sbcl-salmagundi
+ (let ((commit "aa231f6043111ec5dbeb06feab732efb7d59c959")
+ (revision "0"))
+ (package
+ (name "sbcl-salmagundi")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/s-expressionists/Salmagundi")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1i0hknnd555ih509kvna2xdirfxyy05wr2bp628997rnj8drlsnx"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs (list sbcl-trivial-package-locks))
+ (home-page "https://github.com/s-expressionists/Salmagundi")
+ (synopsis "Implementation of Common Lisp hash tables")
+ (description "This library contains code that implements Common Lisp
+hash tables.")
+ (license license:bsd-2))))
+
+(define-public cl-salmagundi
+ (sbcl-package->cl-source-package sbcl-salmagundi))
+
+(define-public ecl-salmagundi
+ (sbcl-package->ecl-package sbcl-salmagundi))
+
+(define-public clasp-salmagundi
+ (sbcl-package->clasp-package sbcl-salmagundi))
+
(define-public sbcl-salza2
(package
(name "sbcl-salza2")
@@ -31694,6 +31727,39 @@ in DEFPACKAGE.")
(define-public ecl-trivial-package-local-nicknames
(sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
+(define-public sbcl-trivial-package-locks
+ (let ((commit "ca2e2b17124c7898942894383002313cea59486d")
+ (revision "0"))
+ (package
+ (name "sbcl-trivial-package-locks")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yitzchak/trivial-package-locks")
+ (commit commit)))
+ (file-name (git-file-name "cl-trivial-package-locks" commit))
+ (sha256
+ (base32 "0kbyrkd7a9apyq83bl96jspjggjsswxh93111wrmpvhbnm2vll60"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list sbcl-parachute))
+ (home-page "https://github.com/yitzchak/trivial-package-locks")
+ (synopsis "Standard interface to the various package lock implementations")
+ (description
+ "This package provides a standard interface to the various package lock
+implementations of Common Lisp.")
+ (license license:expat))))
+
+(define-public cl-trivial-package-locks
+ (sbcl-package->cl-source-package sbcl-trivial-package-locks))
+
+(define-public ecl-trivial-package-locks
+ (sbcl-package->ecl-package sbcl-trivial-package-locks))
+
+(define-public clasp-trivial-package-locks
+ (sbcl-package->clasp-package sbcl-trivial-package-locks))
+
(define-public sbcl-trivial-raw-io
(let ((commit "b1a3c876305baa0dead419841de7b3e433a75867")
(revision "1"))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 7a748e2bad..a87634eb83 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1384,7 +1384,14 @@ Library.")
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX="))))
(properties `((hidden? . #t)
- ,@(package-properties llvm-19)))))
+ ,@(package-properties llvm-19)))
+ (home-page "https://github.com/ROCm/llvm-project")
+ (synopsis
+ (string-append (package-synopsis llvm-14) " (AMD fork)"))
+ (description
+ (string-append (package-description llvm-14) "
+
+This AMD fork includes AMD-specific additions."))))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 7fb07cab0c..bfdbafa1bb 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -1309,104 +1309,6 @@ multiple local rocks trees.")
(define-public luarocks
(make-luarocks "luarocks" lua))
-(define-public emilua
- (package
- (name "emilua")
- (version "0.4.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/emilua/emilua.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dwag2pyqc0g86rris4w4fzafmz9a6kiqd47vdq7hl3a1lyi74mx"))))
- (build-system meson-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/emilua_gperf.awk"
- (("/usr/bin/env") (which "env")))
- (substitute* "src/system.cpp"
- (("P_PIDFD") "P_PID"))
-
- (copy-recursively
- (assoc-ref inputs "emilua-http")
- "emilua-http")
- (copy-recursively
- (assoc-ref inputs "trial-protocol")
- "trial-protocol")
-
- (with-directory-excursion "subprojects"
- (symlink "../emilua-http" "emilua-http")
- (copy-file "packagefiles/emilua-http/meson.build"
- "emilua-http/meson.build")
- (symlink "../trial-protocol" "trial-protocol")
- (copy-file "packagefiles/trial.protocol/meson.build"
- "trial-protocol/meson.build")))))
- #:configure-flags
- #~(list "-Denable_http=true"
- "-Denable_file_io=true"
- "-Denable_io_uring=true"
- ;; TODO: Linux namespaces are disabled for now due to conflict
- ;; with some packages in guix.
- "-Denable_linux_namespaces=false"
- "-Denable_manpages=false"
- "-Dversion_suffix=-guix1")))
- (native-inputs
- (list luajit-lua52-openresty
- re2c
- gperf
- xxd
- pkg-config))
- (inputs
- `(("emilua-http"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/BoostGSoC14/boost.http")
- (commit "93ae527c89ffc517862e1f5f54c8a257278f1195")))
- (sha256
- (base32
- "0jm7fw0cjd3s9zkkvyh6mcj6z32hcy7l9bszv74l92qk15ivvp9h"))))
- ("trial-protocol"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/breese/trial.protocol")
- (commit "79149f604a49b8dfec57857ca28aaf508069b669")))
- (sha256
- (base32
- "0k42i5b4v3zz5x0r3dssiymgmn2x8zg4fzdksya9aggxgigippsx"))))
- ("boost" ,boost)
- ("boost-static" ,boost-static)
- ("fmt" ,fmt-8)
- ("gcc" ,gcc-12)
- ("luajit-lua52-openresty" ,luajit-lua52-openresty)
- ("ncurses" ,ncurses)
- ("serd" ,serd)
- ("sord" ,sord)
- ("libcap" ,libcap)
- ("liburing" ,liburing)
- ("openssl" ,openssl)))
- (native-search-paths
- (list
- (search-path-specification
- (variable "EMILUA_PATH")
- (files
- (list (string-append "lib/emilua-" (version-major+minor version)))))))
- (home-page "https://gitlab.com/emilua/emilua")
- (synopsis "Lua execution engine")
- (description
- "Emilua is a LuaJIT-based Lua execution engine that supports async IO,
-fibers and actor-inspired threading. The experimental builtin HTTP module is
-enabled.")
- (license license:boost1.0)))
-
(define-public fennel
(package
(name "fennel")
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index 30437ae565..4623871309 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 John Khoo <johnkhootf@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages openbox)
+ #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages text-editors)
@@ -66,22 +68,42 @@
#:use-module (guix packages)
#:use-module (guix utils))
+(define delete-generated-c-files
+ ;; Remove C files generated by Vala so we can build from source.
+ '(let* ((c->vala
+ (lambda (file)
+ (string-append (string-drop-right file 2)
+ ".vala")))
+ (generated-c-file?
+ (lambda (file stat)
+ (and (string-suffix? ".c" file)
+ (file-exists? (c->vala file))))))
+ (for-each delete-file
+ (find-files "." generated-c-file?))))
+
(define-public libfm
(package
(name "libfm")
- (version "1.3.2")
+ (version "1.4.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/pcmanfm/"
- "PCManFM%20%2B%20Libfm%20%28tarball%20release"
- "%29/LibFM/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "1rfira3lx8v6scz1aq69925j4vslpp36bmgrrzcfby2c60q2c155"))))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/libfm")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gxg09lcacy7dh5pg1bm3rw11jffg7y59j0cb2cfsrgf0g5bjsvn"))
+ (modules '((guix build utils)))
+ (snippet delete-generated-c-files)))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--with-gtk=3")))
(inputs (list glib gtk+))
(native-inputs (list intltool
+ which
+ automake
+ autoconf
+ gtk-doc
`(,glib "bin") ; for gtester
libtool
menu-cache
@@ -97,8 +119,9 @@ Glib/GIO giving a higher-level API.")
(package (inherit libfm)
(name "libfm-extra")
(arguments '(#:configure-flags '("--with-extra-only")))
- (inputs (list glib))
- (native-inputs (list intltool libtool pkg-config))
+ (inputs (list glib libexif))
+ (native-inputs
+ (list autoconf automake gtk-doc intltool libtool pkg-config which))
(synopsis "File management support (extra library)")
(description "This package contains a stand-alone library which extends the
libFM file management library.")))
@@ -106,18 +129,20 @@ libFM file management library.")))
(define-public lxappearance
(package
(name "lxappearance")
- (version "0.6.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "LXAppearance/lxappearance-" version ".tar.xz"))
+ (version "0.6.4")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxappearance")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj"))))
+ (base32 "1cia6mkb3fqy3rgfprlmq0ajh15cnazdwdkv4zd19klrh4jzg4xp"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--enable-gtk3")))
(inputs (list gtk+))
- (native-inputs (list intltool pkg-config))
+ (native-inputs (list automake autoconf intltool pkg-config))
(synopsis "LXDE GTK+ theme switcher")
(description "LXAppearance is a desktop-independent GTK+ theme switcher
able to change themes, icons, and fonts used by GTK+ applications.")
@@ -127,16 +152,16 @@ able to change themes, icons, and fonts used by GTK+ applications.")
(define-public lxrandr
(package
(name "lxrandr")
- (version "0.3.2")
+ (version "0.3.3")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/LXRandR"
- "%20%28monitor%20config%20tool%29/LXRandR%20"
- (version-major+minor version) ".x/"
- "lxrandr-" version ".tar.xz"))
- (sha256
- (base32
- "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb"))))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxrandr")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vh5r6bwafh9mq7syhdw1f2ahwvibq2wdc1ij84hbaa5bnyjfr8h"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-gtk3")
@@ -150,7 +175,7 @@ able to change themes, icons, and fonts used by GTK+ applications.")
(("(\"|')xrandr\"" _ match)
(string-append match (which "xrandr") "\""))))))))
(inputs (list gtk+ xrandr))
- (native-inputs (list intltool pkg-config))
+ (native-inputs (list automake autoconf intltool pkg-config))
(synopsis "LXDE monitor configuration tool")
(description "LXRandR is a very basic monitor configuration tool. It
relies on the X11 resize-and-rotate (RandR) extension but doesn't aim to be a
@@ -163,20 +188,20 @@ or external monitor.")
(define-public lxtask
(package
(name "lxtask")
- (version "0.1.10")
+ (version "0.1.12")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/LXTask"
- "%20%28task%20manager%29/LXTask%20"
- (version-major+minor version) ".x/"
- "lxtask-" version ".tar.xz"))
- (sha256
- (base32
- "0b2fxg8jjjpk219gh7qa18g45365598nd2bq7rrq0bdvqjdxy5i2"))))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxtask")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11vcl0k2yhx59599fdk8gv5jh2gsgh7rmp2syybk3vpmby6p93h4"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--enable-gtk3")))
(inputs (list gtk+))
- (native-inputs (list intltool pkg-config))
+ (native-inputs (list automake autoconf intltool pkg-config))
(synopsis "LXDE task manager")
(description "LXTask is a lightweight task manager derived from Xfce task
manager with all dependencies on Xfce removed. LXTask is based on the GTK+
@@ -187,19 +212,20 @@ toolkit. It allows users to monitor and control of running processes.")
(define-public lxterminal
(package
(name "lxterminal")
- (version "0.3.2")
+ (version "0.4.1")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/LXTerminal"
- "%20%28terminal%20emulator%29/LXTerminal%20"
- version "/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "1124pghrhnx6q4391ri8nvi6bsmvbj1dx81an08mird8jf2b2rii"))))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxterminal")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "159p34caid7ca679ly1lhvw4qclqh23ddsiphlw9yn0h9v8s2dd0"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--enable-gtk3")))
(inputs (list gtk+ vte/gtk+-3))
- (native-inputs (list intltool pkg-config))
+ (native-inputs (list automake autoconf intltool pkg-config))
(synopsis "LXDE terminal emulator")
(description "LXTerminal is a VTE-based terminal emulator. It supports
multiple tabs and has only minimal dependencies thus being completely
@@ -211,19 +237,19 @@ performance, all instances of the terminal are sharing a single process.")
(define-public menu-cache
(package
(name "menu-cache")
- (version "1.1.0")
+ (version "1.1.1")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/" name "/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd"))))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/menu-cache")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qhc72xinxmd68nfrph9jfwymkw9x71drgksz2r2k5nzv9p7cnp5"))))
(build-system gnu-build-system)
- (inputs `(("glib" ,glib)
- ("libfm" ,libfm-extra)))
- (native-inputs (list pkg-config))
+ (inputs (list glib libfm-extra))
+ (native-inputs (list automake autoconf libtool gtk-doc pkg-config))
(arguments
`(#:configure-flags '("CFLAGS=-fcommon")))
(synopsis "LXDE implementation of the freedesktop menu's cache")
@@ -235,20 +261,22 @@ speed up the access to freedesktop.org defined application menus.")
(define-public pcmanfm
(package
(name "pcmanfm")
- (version "1.3.2")
+ (version "1.4.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/pcmanfm/"
- "PCManFM%20%2B%20Libfm%20%28tarball%20release"
- "%29/PCManFM/pcmanfm-" version ".tar.xz"))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/pcmanfm")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1xqc2k2jh165mm81xg0ghxx0ml1s3rhh4ndvbzkcri4kfhj7pjql"))))
+ "0dkl12a6x9w3ka4g2qx0ssxdv7v432xar6v2gddzbzsxg4546hp2"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--with-gtk=3")))
(inputs (list gtk+ gvfs ;for trash and mount support
libfm libx11))
- (native-inputs (list intltool libtool pkg-config))
+ (native-inputs (list intltool automake autoconf libtool pkg-config))
(propagated-inputs
(list lxmenu-data)) ;for "Open With..." application list
(synopsis "LXDE file manager")
@@ -417,19 +445,19 @@ customizable menu system, and Bash integration.")
(define-public lxmenu-data
(package
(name "lxmenu-data")
- (version "0.1.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge//lxde/"
- "lxmenu-data%20%28desktop%20menu%29/"
- name "-" version ".tar.xz"))
+ (version "0.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxmenu-data")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1f5sh2dvb3pdnjlcsyzq9543ck2jsqizkx3204cr22zm5s6j3qwz"))))
+ (base32 "1abicrm66pn4vphlwx0rg2q3wvjmzijf0vgpml1vr3zkp7xm01z5"))))
(build-system gnu-build-system)
(native-inputs
- (list pkg-config intltool))
+ (list glib automake autoconf pkg-config intltool))
(synopsis "Freedesktop.org desktop menus for LXDE")
(description
"Lxmenu-data provides files required to build freedesktop.org
@@ -440,19 +468,19 @@ menu spec-compliant desktop menus for LXDE.")
(define-public lxde-icon-theme
(package
(name "lxde-icon-theme")
- (version "0.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/LXDE%20Icon%20Theme/"
- "lxde-icon-theme-" version "/"
- name "-" version ".tar.xz"))
+ (version "0.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxde-icon-theme")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0v4i6x86fr2hbx4fb2si7y2qzmj7h6hcjwaifnin18r8kwwvgl73"))))
+ (base32 "0sv3pzvxs1gxa7dpqs7zls3wc7kj9x8w99i4h56mdsc6vz61y3mp"))))
(build-system gnu-build-system)
(native-inputs
- (list pkg-config))
+ (list automake autoconf pkg-config))
(synopsis "LXDE default icon theme based on nuoveXT2")
(description
"Lxde-icon-theme provides an default icon theme for LXDE.")
@@ -462,17 +490,16 @@ menu spec-compliant desktop menus for LXDE.")
(define-public lxde-common
(package
(name "lxde-common")
- (version "0.99.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "lxde-common%20%28default%20config%29/"
- "lxde-common%20" (version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ (version "0.99.3")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxde-common")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0mj84fa3f4ak1jjslrwc2q3ci9zxrxpciggviza9bjb0168brn8w"))))
+ (base32 "0py5dazjmz7yh5p0zv7psgsx4291cg21h5kw6ww5bzvr34kpbnwc"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -486,7 +513,7 @@ menu spec-compliant desktop menus for LXDE.")
"/bin/lxsession")))
#t))))))
(native-inputs
- (list pkg-config intltool lxmenu-data lxde-icon-theme))
+ (list automake autoconf pkg-config intltool lxmenu-data lxde-icon-theme))
(inputs
(list lxsession
;; ("lxlock" ,lxlock) ;for 'lxde-screenlock.desktop'
@@ -500,22 +527,22 @@ menu spec-compliant desktop menus for LXDE.")
(define-public lxinput
(package
(name "lxinput")
- (version "0.3.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "LXInput%20%28Kbd%20and%20amp_%20mouse%20config%29/"
- "LXInput%200.3.x/" name "-" version ".tar.xz"))
+ (version "0.3.6")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxinput")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "123f3yn4rp1w5b3n5aj3ad9snkxab29qkrs7bcvf5bx4cn57g3sf"))))
+ (base32 "13xqxwsb00h20yg514pjmdlvmfqv029nwdy70aaqn0r0jz670sm7"))))
(build-system gnu-build-system)
(arguments (list #:configure-flags #~(list "--enable-gtk3")))
(inputs
(list gtk+))
(native-inputs
- (list pkg-config intltool))
+ (list automake autoconf pkg-config intltool))
(synopsis "Tool for mouse and keyboard configuration in LXDE")
(description
"Lxinput provides a small program to configure keyboard and mouse
@@ -526,41 +553,24 @@ in LXDE.")
(define-public lxsession
(package
(name "lxsession")
- (version "0.5.5")
+ (version "0.5.6")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "LXSession%20%28session%20manager%29/"
- "LXSession%200.5.x/"
- "lxsession-" version ".tar.xz"))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxsession")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0imv9nysip1j9lrb2z96kl05isjgp312323wnnd5b59h0ff0sgp4"))
+ (base32 "0mgykzhd5n11mfcbpaqb841f4jwy1yhmd1xn49dxc2hci8bx26fx"))
+ ;; Fix https://github.com/lxde/lxsession/issues/42
+ (patches (search-patches "lxsession-potfiles-ignore.patch"))
(modules '((guix build utils)))
- (snippet
- ;; Remove C files generated by Vala so we can build from source.
- '(let* ((c->vala
- (lambda (file)
- (string-append (string-drop-right file 2)
- ".vala")))
- (generated-c-file?
- (lambda (file stat)
- (and (string-suffix? ".c" file)
- (file-exists? (c->vala file))))))
- (for-each delete-file
- (find-files "." generated-c-file?))))))
+ (snippet delete-generated-c-files)))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list "--enable-gtk3"
- ;; Fix build with GCC 14.
- "CFLAGS=-Wno-error=incompatible-pointer-types")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'rm-stamp
- (lambda _
- (for-each delete-file (find-files "." "\\.stamp$"))
- ;; Force regeneration of configure script.
- (delete-file "configure"))))))
+ `(#:configure-flags (list "--enable-gtk3")))
(inputs
(list gtk+
polkit))
@@ -581,16 +591,17 @@ in LXDE.")
(define-public lxpanel
(package
(name "lxpanel")
- (version "0.10.1")
+ (version "0.11.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/lxde/"
- "LXPanel%20%28desktop%20panel%29/"
- "LXPanel%200.10.x/lxpanel-"
- version ".tar.xz"))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/lxde/lxpanel")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1s0y8jjkw6qz0r8l90618b8xly0c8g906kah7b162sz3sxbqyc8y"))))
+ (base32 "1xqhxcwhx2qlgsri10gwldb0xz9ajsc3iqnn8d53bjb4yh0vk5wf"))))
(build-system gnu-build-system)
(arguments
(list
@@ -619,6 +630,9 @@ in LXDE.")
wireless-tools))
(native-inputs
(list docbook-xml
+ libtool
+ automake
+ autoconf
gettext-minimal
intltool
pkg-config))
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 2662235679..634a2f5849 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -103,7 +103,7 @@ to statistics about the system on which it's run.")
(define-public lxqt-build-tools
(package
(name "lxqt-build-tools")
- (version "2.1.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
@@ -111,7 +111,7 @@ to statistics about the system on which it's run.")
"/download/" version
"/lxqt-build-tools-" version ".tar.xz"))
(sha256
- (base32 "1ycfzl8sfa2d1bnlyj6b3726mfb6kpj5768fhpw1ypkgjclvcn14"))))
+ (base32 "0brkiq62cv5rp2knq3dbdzh4cv6l670x1bfxq1537k2mdcpdzp0k"))))
(build-system cmake-build-system)
(arguments
(list
@@ -151,7 +151,7 @@ itself as well as other components maintained by the LXQt project.")
(define-public libqtxdg
(package
(name "libqtxdg")
- (version "4.1.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
@@ -159,7 +159,7 @@ itself as well as other components maintained by the LXQt project.")
"https://github.com/lxqt/libqtxdg/releases/download/"
version "/libqtxdg-" version ".tar.xz"))
(sha256
- (base32 "02c8irxyra0kfm7k1jkcxinfipib3w9jn2lk91hnl6jnv6bx6106"))))
+ (base32 "0ap81y7sbqwcdfsdlyxihs12chfv332fgg6y0sl6zmjhhlhk1m55"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@@ -188,7 +188,7 @@ in Qt.")
(define-public qtxdg-tools
(package
(name "qtxdg-tools")
- (version "4.1.0")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
@@ -196,7 +196,7 @@ in Qt.")
"https://github.com/lxqt/qtxdg-tools/releases/download/"
version "/qtxdg-tools-" version ".tar.xz"))
(sha256
- (base32 "1dk6m6gyarnhjw42hdf2bpkfcdpb98dy28l2nmpj46h985v9pmfv"))))
+ (base32 "1bv3immy1idp7jc0csnjkiw8vvqkr8g84hnnvl6k8297g4vnwfjh"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no tests
(propagated-inputs (list libqtxdg))
@@ -211,7 +211,7 @@ applications.")
(define-public liblxqt
(package
(name "liblxqt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
@@ -219,7 +219,7 @@ applications.")
"https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1q1wn53rsy6bagngj1k53sipmbga3pbwk446kd1m6prwz1i0p0hh"))))
+ (base32 "1j0918fyka0kxwsn3mgnjnfc8cvdp6dsgg0i40877ysry0dqp2aa"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -277,14 +277,14 @@ and memory usage or network traffic.")
(define-public lxqt-about
(package
(name "lxqt-about")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0js94q82rpaqkdg6vl3p4w4kw091dp6wixgkw5dbvqsnaw2v8nd0"))))
+ (base32 "0vypdk0nf2rr7riv8xp7wy1x9694i73rgk0dj9x39gh53jm4xjy5"))))
(build-system cmake-build-system)
(inputs
(list liblxqt))
@@ -307,14 +307,14 @@ LXQt and the system it's running on.")
(define-public lxqt-admin
(package
(name "lxqt-admin")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "047m08hhl8ykk2n2zr0h38f0ynq6b81v80hqrfhqfik3c20895ss"))))
+ (base32 "03gkb7gwq0gy9ihvawn38i36nkfmwyslf8wmbp4ssj129i94sphq"))))
(build-system cmake-build-system)
(inputs
(list liblxqt polkit-qt6))
@@ -340,14 +340,14 @@ the operating system LXQt is running on.")
(define-public lxqt-menu-data
(package
(name "lxqt-menu-data")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1d7asl9zmz9vsnf0sv6ynnhcnz6f1aw56giilwsw8vy12driilnj"))))
+ (base32 "0nw9mr4p5ri3bk43xd871g3ni9irf6rrk8rz4d8ra9wd7bz2d855"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ;no tests
@@ -364,14 +364,14 @@ LXQt Panel, Configuration Center and PCManFM-Qt/libfm-qt.")
(define-public lxqt-config
(package
(name "lxqt-config")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "03bq440npq3l4ssx7l1a15962q1jylfzdldfr66dm5nkjgvvv0gs"))))
+ (base32 "07ik1ycldpin21v4b29a95zb14q1s4bfbmlvyvw50r0mx0whnysj"))))
(build-system cmake-build-system)
(inputs
(list eudev
@@ -409,7 +409,7 @@ configuration of both LXQt and the underlying operating system.")
(define-public lxqt-globalkeys
(package
(name "lxqt-globalkeys")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
@@ -417,7 +417,7 @@ configuration of both LXQt and the underlying operating system.")
"releases/download/" version "/"
"lxqt-globalkeys-" version ".tar.xz"))
(sha256
- (base32 "0x18jkis3avl7928584sgl6c3fk1xm2qgpksxcy2qsk2ab25dk3h"))))
+ (base32 "16lpz4wm6iz065drmgfgfjxkd0gc5g1wqisqcgs6iff0skpdzkv6"))))
(build-system cmake-build-system)
(inputs
(list liblxqt))
@@ -434,14 +434,14 @@ as a whole and are not limited to distinct applications.")
(define-public lxqt-notificationd
(package
(name "lxqt-notificationd")
- (version "2.1.1")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0n7hbvqx8csd9pprwqrh3nfbdqfj6i5hznjyxfn1ll5h3szaq5vy"))))
+ (base32 "1i3rly1jk3kgzl0gscsygfqr8g6147r7031j41qgdrf2w5nby8s2"))))
(build-system cmake-build-system)
(inputs
(list kwindowsystem layer-shell-qt liblxqt libqtxdg))
@@ -457,14 +457,14 @@ according to the Desktop Notifications Specification.")
(define-public lxqt-openssh-askpass
(package
(name "lxqt-openssh-askpass")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1inkicq0p5pxqpw9k13vx421fvpgmkn2lsskvlzqy1nnab3ilaf5"))))
+ (base32 "0g3gkfgyk7jgghslabmhlqwzafsd9i8c0sppb5hb4qllg916cadv"))))
(build-system cmake-build-system)
(inputs
(list liblxqt))
@@ -480,14 +480,14 @@ of other programs.")
(define-public libdbusmenu-lxqt
(package
(name "libdbusmenu-lxqt")
- (version "0.2.0")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0knq04si5dzcml35hj29fkp806rrr7gnviqci1diw1k9gxyaf8lc"))))
+ (base32 "1y9z4iwpl5kqdn36y2d1dligsv84a79piw2b6jxb17sd796x385d"))))
(build-system cmake-build-system)
(arguments
(list
@@ -505,14 +505,14 @@ possible for applications to export and import their menus over DBus.")
(define-public lxqt-panel
(package
(name "lxqt-panel")
- (version "2.1.4")
+ (version "2.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1rhm57nnwr0mhii2r40gmawllj4cza9qb25qykkn236jfgpbilgz"))))
+ (base32 "0s8rva0prz1mkccp5yanrm0gg63cn95pzv2fixdp26489rx0w5ax"))))
(build-system cmake-build-system)
(inputs
(list alsa-lib
@@ -562,14 +562,14 @@ possible for applications to export and import their menus over DBus.")
(define-public lxqt-policykit
(package
(name "lxqt-policykit")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0h0hi7aimjhc6rn4w8wz3kmvpkx7g6bf9i1fclan7j7ic80cf160"))))
+ (base32 "07lsfnpix9lr4nqlwipld2d02030921ssk6w77iqa81zy1c2v1yr"))))
(build-system cmake-build-system)
(inputs
(list liblxqt polkit polkit-qt6))
@@ -585,14 +585,14 @@ LXQt.")
(define-public lxqt-powermanagement
(package
(name "lxqt-powermanagement")
- (version "2.1.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0pyzd7pw3mpp0f5193a8fg1bvixwabrapnpqy2q2a707j664mqhj"))))
+ (base32 "1pds86s72ckkvk886ncajnl7q11814w94dfmbblmml2dmfxyhkbx"))))
(build-system cmake-build-system)
(inputs
(list kidletime
@@ -612,14 +612,14 @@ when laptop batteries are low on power.")
(define-public lxqt-qtplugin
(package
(name "lxqt-qtplugin")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0giql40mnl100zhqcyxi1vxsfyvx5hvi9zibjh5krr6nwrwwflhb"))))
+ (base32 "1w05710c9f3vzi9rsnyqiivxg1skirgrqk1dwxcw1gd4w01hyfp0"))))
(build-system cmake-build-system)
(inputs
(list libdbusmenu-lxqt
@@ -646,14 +646,14 @@ Qt with LXQt.")
(define-public lxqt-runner
(package
(name "lxqt-runner")
- (version "2.1.1")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0pmviizv7cxiqn2868bmbwgqrakmp4fv6a1wzbal0gndgc14yxmw"))))
+ (base32 "1478hsi662s6cw83im710slm6mfq9vn10lq98yqrakmwr6salp71"))))
(build-system cmake-build-system)
(inputs
(list kwindowsystem
@@ -674,14 +674,14 @@ allows for launching applications or shutting down the system.")
(define-public lxqt-session
(package
(name "lxqt-session")
- (version "2.1.1")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "06f8kfy859ri2wbjpz7yx69jw0gfxm80f46729lcl2vd23a0qari"))))
+ (base32 "12l9sch1lsxpj14ibrjsyv40nrgrdqhkhpzi24sm1bqnnl9jdg17"))))
(build-system cmake-build-system)
(inputs
(list bash-minimal
@@ -731,14 +731,14 @@ for the LXQt desktop environment.")
(define-public lxqt-sudo
(package
(name "lxqt-sudo")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "17bk4bcvm919q7h63q2sdnzwwbqjpk98kb5ij14rqs9v2psbqfks"))))
+ (base32 "14fg8mxbkdi8sp8rdxy2zqwfgmzxrmj1xnq3h25pqnc61qf12y4f"))))
(build-system cmake-build-system)
(inputs
(list liblxqt sudo))
@@ -755,14 +755,14 @@ permissions of other users including root.")
(define-public lxqt-themes
(package
(name "lxqt-themes")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1b0gpmw6capkccysnvjj20j8l2p7hjkkpby72n9y982kb8f11l6d"))))
+ (base32 "1wplp817pacq18x67vrqjdnaa1hn4fx2zn1clc85bjh8mpcaiicj"))))
(build-system cmake-build-system)
(native-inputs
(list lxqt-build-tools))
@@ -781,14 +781,14 @@ for LXQt.")
(define-public libfm-qt
(package
(name "libfm-qt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1mr93by010scy06kmpgmsvkabg7zn1f0mm9i7grm17mfv3hkx85z"))))
+ (base32 "1a8k8df38mf9bcdr6a44vjz15p84v3l33af485zlyhngrxpsi2jd"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no tests
@@ -809,14 +809,14 @@ components to build desktop file managers which belongs to LXDE.")
(define-public pcmanfm-qt
(package
(name "pcmanfm-qt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0kvbw1slbcism42rqn09h1q3dirq44g8h3azg1vc86zs3mbqcd76"))))
+ (base32 "13xyl7xvv8qy35gfmjbq6ahqzq7xjn7j6336njhsvj82ipxfmvm5"))))
(build-system cmake-build-system)
(arguments
(list
@@ -846,14 +846,14 @@ LXDE.")
(define-public lximage-qt
(package
(name "lximage-qt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1z7nyx5w9hvrz9zfil6sbpm61h47iap85p1bvwjvg863bqq01xpv"))))
+ (base32 "1slriyvf0zz6mn5ldcd2v3i2yf0skmdf3hki9q8h2aby7bpvybnc"))))
(build-system cmake-build-system)
(inputs
(list libexif libfm-qt qtsvg))
@@ -926,14 +926,14 @@ window manager OpenBox.")
(define-public pavucontrol-qt
(package
(name "pavucontrol-qt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1gvb73xxyv7avqx9wk8lvcfisbfdxcr6rc8ncnv35cn09f5gqg3c"))))
+ (base32 "1sdf221hq6z0haairwb4n29v7pjzgzf355r3m0iks0y1d9117lpi"))))
(build-system cmake-build-system)
(inputs
(list glib qtbase pulseaudio))
@@ -950,14 +950,14 @@ window manager OpenBox.")
(define-public qps
(package
(name "qps")
- (version "2.10.0")
+ (version "2.11.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "05ncgfiqqs53k4wx62845krd7qi26im5pa2xq1kxh8wlng44gjjf"))))
+ (base32 "0dk4rs2i5qxl1plnis9y2bjm148vlzb43ny29kaa5rkrv3lnq354"))))
(build-system cmake-build-system)
(inputs
(list liblxqt))
@@ -974,14 +974,14 @@ processes currently in existence, much like code{top} or code{ps}.")
(define-public qtermwidget
(package
(name "qtermwidget")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0jwfpv9dwifkjgzy2fiffkvj0dd3aw4rf95fnnrhvqcdlg1v5v16"))))
+ (base32 "1s8w4s7wi7sv6vx8njlcvzmywyrkz4v4jmj3cbvsymfgg6xgnkxs"))))
(build-system cmake-build-system)
(inputs
(list qtbase utf8proc))
@@ -997,14 +997,14 @@ processes currently in existence, much like code{top} or code{ps}.")
(define-public qterminal
(package
(name "qterminal")
- (version "2.1.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "0g11n43msp0dwl68nf5wdh6kwi48xqc43pl9bpg4wsdw8n37hpm6"))))
+ (base32 "1lpm1065wj61x6w1w7zgy0b7g62c9gbg6v17l0vlgbxv10s8rlqc"))))
(build-system cmake-build-system)
(inputs
(list layer-shell-qt qtbase qtermwidget))
@@ -1021,19 +1021,24 @@ QTermWidget.")
(define-public screengrab
(package
(name "screengrab")
- (version "2.9.0")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/screengrab/releases/download/"
version "/screengrab-" version ".tar.xz"))
(sha256
- (base32 "1c7nyz1sjk30qpm00jzz9vq54jm6dyqfajjiwsqlp5hvx9gfgg17"))))
+ (base32 "1ryfdh7rkdrf9lf7j0p3zapw80hvpg0k6hb8r84yp5c5d0l09b9h"))))
(build-system cmake-build-system)
(inputs
- (list kwindowsystem libqtxdg qtbase))
+ (list kwindowsystem
+ layer-shell-qt
+ libpng
+ libqtxdg
+ qtwayland
+ wayland))
(native-inputs
- (list pkg-config perl qttools))
+ (list lxqt-build-tools))
(arguments
'(#:tests? #f)) ; no tests
(home-page "https://lxqt-project.org")
@@ -1046,14 +1051,14 @@ easily publishing them on internet image hosting services.")
(define-public lxqt-archiver
(package
(name "lxqt-archiver")
- (version "1.1.0")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
- (base32 "1ir6dc45qp4g6iv57nyn9z1bh06ih9cm8gmgw646370m1jvh06k9"))))
+ (base32 "1iisk5mb4xxdjimlh8inr182a1vpy8zk5qis9v3p5p73d49i5r2k"))))
(build-system cmake-build-system)
(inputs
(list glib json-glib libfm-qt qtbase))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 7f24a449fe..d4b8903009 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -3893,7 +3893,6 @@ advanced research.")
(build-system cmake-build-system)
(arguments
(list
- #:tests? #false ;tests are not building now
#:build-type "Release"
#:modules '((ice-9 match)
(guix build utils)
@@ -3909,6 +3908,7 @@ advanced research.")
"-DTFLITE_ENABLE_GPU=ON"
"-DTFLITE_ENABLE_RUY=ON"
+ "-DTFLITE_ENABLE_XNNPACK=ON"
;; TODO: turn on Farmhash
;;"-DSYSTEM_FARMHASH=ON"
@@ -3926,11 +3926,6 @@ advanced research.")
(string-append "-Druy_DIR=" #$(this-package-input "ruy")
"/lib/cmake/ruy")
- ;; TODO: The build system attempts to build xnnpack from source. We
- ;; would like to use our xnnpack package here, but this requires more
- ;; work.
- "-DTFLITE_ENABLE_XNNPACK=OFF"
-
;; Don't fetch the sources. We have these already
"-Dgemmlowp_POPULATED=TRUE"
"-Degl_headers_POPULATED=TRUE"
@@ -3942,6 +3937,7 @@ advanced research.")
"-Dgoogle_benchmark_POPULATED=TRUE"
"-Dnsync_POPULATED=TRUE"
"-Dre2_POPULATED=TRUE"
+ "-Dxnnpack_POPULATED=TRUE"
"-DFFT2D_SOURCE_DIR=/tmp/fft2d"
"-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
@@ -3976,6 +3972,21 @@ advanced research.")
(with-directory-excursion "/tmp/fft2d"
(invoke "tar" "--strip-components=1"
"-xf" (assoc-ref inputs "fft2d-src")))))
+ (add-after 'copy-sources 'opencl-fix
+ (lambda _ (substitute* "delegates/gpu/cl/opencl_wrapper.h"
+ (("cl_ndrange_kernel_command_properties_khr")
+ "cl_command_properties_khr"))))
+ (add-after 'opencl-fix 'absl-fix
+ (lambda _ (substitute* '(
+ "delegates/gpu/cl/cl_operation.h"
+ "delegates/gpu/common/task/qcom_thin_filter_desc.cc"
+ "delegates/gpu/common/tasks/special/thin_pointwise_fuser.cc")
+ (("#include <vector>")
+ "#include <vector>\n\n#include \"absl/strings/str_cat.h\"\n"))))
+ (add-after 'opencl-fix 'stdint-fix
+ (lambda _ (substitute* "kernels/internal/spectrogram.cc"
+ (("#include <math.h>")
+ "#include <math.h>\n#include <cstdint>\n"))))
(add-after 'build 'build-shared-library
(lambda* (#:key configure-flags #:allow-other-keys)
(mkdir-p "c")
@@ -4000,7 +4011,7 @@ advanced research.")
(when tests?
(invoke "ctest" "-L" "plain")))))))
(inputs
- `(("abseil-cpp" ,abseil-cpp-20200923.3)
+ `(("abseil-cpp" ,abseil-cpp)
("cpuinfo" ,cpuinfo)
("eigen" ,eigen)
("fp16" ,fp16)
@@ -4016,7 +4027,7 @@ advanced research.")
("python" ,python)
("ruy" ,ruy)
("re2" ,re2)
- ;;("xnnpack" ,xnnpack) ; TODO: use Guix's copy of xnnpack
+ ("xnnpack" ,xnnpack)
("vulkan-headers" ,vulkan-headers)))
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 119fc5988a..f9b0c3b2f4 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1555,6 +1555,18 @@ MATE Desktop to monitor your system resources and usage.")
(base32
"1s2ac2p5smiwr7lf4snciyb9waclychjmzrw32f2qspdm381s2im"))))
(build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'enable-autostart-for-xfce
+ (lambda _
+ ;; We also use mate-polkit in Xfce.
+ (substitute* (string-append
+ #$output
+ "/etc/xdg/autostart/"
+ "polkit-mate-authentication-agent-1.desktop")
+ (("OnlyShowIn=MATE;") "OnlyShowIn=MATE;XFCE;")))))))
(native-inputs
(list gettext-minimal gtk-doc/stable intltool libtool pkg-config))
(inputs
@@ -1571,24 +1583,6 @@ MATE Desktop to monitor your system resources and usage.")
used to bring up authentication dialogs.")
(license license:lgpl2.1)))
-(define-public mate-polkit-for-xfce
- (package/inherit mate-polkit
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'patch-desktop
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((common (string-append
- (assoc-ref outputs "out") "/etc/xdg/autostart/"
- "polkit-mate-authentication-agent-"))
- (old (string-append common "1.desktop"))
- (new (string-append common "for-xfce-1.desktop")))
- (substitute* old (("MATE;") "XFCE;"))
- ;; To avoid a conflict if both MATE and XFCE are installed.
- (rename-file old new)))))))
- (properties `((hidden? . #t)))))
-
-
(define-public mozo
(package
(name "mozo")
@@ -1638,19 +1632,8 @@ menu specification.")
(version (package-version mate-desktop))
(source #f)
(build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build union))
- #:builder
- (begin
- (use-modules (ice-9 match)
- (guix build union))
- (match %build-inputs
- (((names . directories) ...)
- (union-build (assoc-ref %outputs "out")
- directories)
- #t)))))
- (native-inputs (list desktop-file-utils))
- (inputs
+ (arguments '(#:builder (mkdir %output)))
+ (propagated-inputs
;; TODO: Add more packages
(append (if (or (%current-target-system)
(supported-package? gnome-keyring))
@@ -1662,9 +1645,11 @@ menu specification.")
dbus
dconf
dconf-editor
+ desktop-file-utils
engrampa
eom
font-abattis-cantarell
+ font-dejavu ;default font
glib-networking
gvfs
hicolor-icon-theme
@@ -1698,9 +1683,6 @@ menu specification.")
shared-mime-info
yelp
zenity)))
- (propagated-inputs
- ;; Default font that applications such as IceCat require.
- (list font-dejavu))
(synopsis "The MATE desktop environment")
(home-page "https://mate-desktop.org/")
(description
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 813c019c58..f9f268c8be 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8506,7 +8506,7 @@ operations.")
(define-public bitwuzla
(package
(name "bitwuzla")
- (version "0.7.0")
+ (version "0.8.2")
(source
(origin
(method git-fetch)
@@ -8515,7 +8515,7 @@ operations.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1fpd1kgb5xdbcjiqbbc6j0b8g2ly9bp9m3la78fiayl4qlmsvh2b"))))
+ (base32 "0nakqz29cfkn91yvx1xzsk50rlqbiihslflbjanv4lflcl2zx6mz"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dtesting=enabled" "-Ddefault_library=shared"
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index b11e6ec19c..43897862ef 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2025 Felix Lechner <felix.lechner@lease-up.com>
+;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,61 +41,9 @@
#:use-module (guix packages)
#:use-module (guix utils))
-(define-public nyacc-0.86
- ;; Nyacc used for bootstrap.
- (package
- (name "nyacc")
- (version "0.86.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/nyacc/"
- name "-" version ".tar.gz"))
- (patches (search-patches "nyacc-binary-literals.patch"))
- (sha256
- (base32
- "0lkd9lyspvhxlfs0496gsllwinh62jk9wij6gpadvx9gwz6yavd9"))))
- (build-system gnu-build-system)
- (native-inputs (list guile-2.2))
- (synopsis "LALR(1) Parser Generator in Guile")
- (description
- "NYACC is an LALR(1) parser generator implemented in Guile.
-The syntax and nomenclature should be considered not stable. It comes with
-extensive examples, including parsers for the Javascript and C99 languages.")
- (home-page "https://savannah.nongnu.org/projects/nyacc")
- (license (list gpl3+ lgpl3+))))
-
-(define-public nyacc-0.99
- (package
- (inherit nyacc-0.86)
- (version "0.99.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/nyacc/nyacc-"
- version ".tar.gz"))
- (sha256
- (base32
- "0hl5qxx19i4x1r0839sxm19ziqq65g4hy97yik81cc2yb9yvgyv3"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* (find-files "." "^Makefile\\.in$")
- (("^SITE_SCM_DIR =.*")
- "SITE_SCM_DIR = \
-@prefix@/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
- (("^SITE_SCM_GO_DIR =.*")
- "SITE_SCM_GO_DIR = \
-@prefix@/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")
- (("^INFODIR =.*")
- "INFODIR = @prefix@/share/info\n")
- (("^DOCDIR =.*")
- "DOCDIR = @prefix@/share/doc/$(PACKAGE_TARNAME)\n"))
- #t))))
- (native-inputs (list pkg-config))
- (inputs (list guile-2.2))))
-
(define-public nyacc-1.08.1
(package
- (inherit nyacc-0.99)
+ (name "nyacc")
(version "1.08.1")
(source (origin
(method url-fetch)
@@ -109,17 +58,24 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(("GUILE_GLOBAL_SITE=\\$prefix.*")
"GUILE_GLOBAL_SITE=\
$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n")))))
+ (build-system gnu-build-system)
+ (native-inputs (list pkg-config))
(inputs (list guile-3.0))
(propagated-inputs (list guile-bytestructures))
+ (home-page "https://savannah.nongnu.org/projects/nyacc")
+ (synopsis "LALR(1) Parser Generator in Guile")
(description
"@acronym{NYACC, Not Yet Another Compiler Compiler} is set of Guile modules
for generating parsers and lexical analyzers. It provides sample parsers,
pretty-printers using SXML trees as an intermediate representation, a decent C
parser and an `FFI Helper' tool to help create Guile Scheme bindings for C-based
libraries. It also provides (partially implemented) compilers based on these
-parsers to allow execution with Guile as extension languages.")))
+parsers to allow execution with Guile as extension languages.")
+ (license (list gpl3+ lgpl3+))))
(define-public nyacc-1.00.2
+ ;; The source of this package is used for bootstrapping in
+ ;; commencement.scm. Otherwise it could be removed.
(package
(inherit nyacc-1.08.1)
(version "1.00.2")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 299ee0d55c..9c09350c21 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -3539,71 +3539,6 @@ a persistent connection to an IRC server, acting as a proxy and buffer for
a number of clients.")
(license license:gpl3+)))
-(define-public weechat-matrix
- (package
- (name "weechat-matrix")
- (version "0.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/poljar/weechat-matrix")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1iv55n4k05139f7jzkhczgw4qp6qwilrvfsy3c6v2m1kxffj12d3"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'build)
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((weechat-python (string-append (assoc-ref outputs "out")
- "/share/weechat/python")))
- ;; Avoid circular import by renaming the matrix module to
- ;; weechat_matrix.
- (substitute* (cons "main.py"
- (append (find-files "matrix")
- (find-files "tests")))
- (("from matrix") "from weechat_matrix")
- (("import matrix") "import weechat_matrix"))
- ;; Install python modules.
- (invoke "make" "install-lib"
- (string-append "INSTALLDIR="
- (site-packages inputs outputs)
- "/weechat_matrix"))
- ;; Extend PYTHONPATH to find installed python modules.
- (add-installed-pythonpath inputs outputs)
- ;; Augment sys.path so that dependencies are found.
- (substitute* "main.py"
- (("import os\n" all)
- (apply string-append
- all
- "import sys\n"
- (map (lambda (path)
- (string-append "sys.path.append('" path "')\n"))
- (string-split (getenv "GUIX_PYTHONPATH") #\:)))))
- ;; Install script.
- (mkdir-p weechat-python)
- (copy-file "main.py"
- (string-append weechat-python "/matrix.py")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
- (inputs
- (list python-matrix-nio python-pygments python-pyopenssl
- python-webcolors))
- (native-inputs
- (list python-pytest))
- (home-page "https://github.com/poljar/weechat-matrix")
- (synopsis "Weechat Matrix protocol script")
- (description "@code{weechat-matrix} is a Python plugin for Weechat that lets
-Weechat communicate over the Matrix protocol.")
- (license license:isc)))
-
(define-public weechat-wee-slack
(package
(name "weechat-wee-slack")
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index f815d2342c..30d0eac330 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -158,7 +158,7 @@ bind processes, and much more.")
(define-public hwloc-2
(package
(inherit hwloc-1)
- (version "2.12.1")
+ (version "2.12.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
@@ -166,7 +166,7 @@ bind processes, and much more.")
"/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "0sy63p99bz9xyaz1501mwv8i3qa1v1zwa7gynadry9c6pcl07a9q"))))
+ "182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn"))))
(native-inputs (modify-inputs (package-native-inputs hwloc-1)
(append bash))) ;for completion tests
@@ -731,57 +731,66 @@ programmable API.")
(define (make-scorep mpi)
(package
(name (string-append "scorep-" (package-name mpi)))
- (version "3.1")
+ (version "9.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "http://www.vi-hps.org/upload/packages/scorep/scorep-"
- version ".tar.gz"))
- (sha256
- (base32
- "0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove bundled software.
- '(begin
- (for-each delete-file-recursively
- '("vendor/opari2" "vendor/cube"))
- #t))))
+ (method url-fetch)
+ (uri (string-append
+ "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/"
+ "scorep-" version "/scorep-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15q93rc8wblbzqgh99rqzyq6fdp88mi6yziww05c6cbgrjs5s2jx"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled software.
+ '(begin
+ (for-each delete-file-recursively
+ '("vendor/otf2" "vendor/opari2"
+ "vendor/cubelib" "vendor/cubew"))))))
(build-system gnu-build-system)
(inputs
- `(("mpi" ,mpi)
- ("papi" ,papi)
- ("opari2" ,opari2)
- ("libunwind" ,libunwind)
- ("otf2" ,otf2)
- ("cubelib" ,cube "lib") ;for lib, include
- ("openmpi" ,openmpi)
- ("zlib" ,zlib)))
+ (list mpi
+ papi
+ opari2
+ libunwind
+ otf2
+ cubelib
+ cubew
+ gotcha
+ libbfd
+ libiberty
+ openmpi
+ zlib))
(native-inputs
- (list gfortran
- flex
- cube ;for cube-config
- bison
- python
- doxygen
- which))
+ (list gfortran
+ flex
+ bison
+ python
+ doxygen
+ which))
(arguments
- `(#:configure-flags
- (list "--enable-shared" "--disable-static"
- (string-append "--with-opari2="
- (assoc-ref %build-inputs "opari2"))
- (string-append "--with-cube="
- (assoc-ref %build-inputs "cube")))
- #:parallel-tests? #f
- #:make-flags '("V=1")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'licence
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((doc (string-append (assoc-ref outputs "out")
- "/share/doc/scorep")))
- (install-file "COPYING" doc)
- #t))))))
+ (list
+ #:configure-flags
+ #~(list "--enable-shared" "--disable-static"
+ "MPI_LIBS=-lmpi" "SHMEM_LIBS=-loshmem"
+ (string-append "--with-cubelib="
+ #$(this-package-input "cubelib"))
+ (string-append "--with-cubew="
+ #$(this-package-input "cubew"))
+ (string-append "--with-libbfd="
+ #$(this-package-input "libbfd"))
+ (string-append "--with-otf2="
+ #$(this-package-input "otf2"))
+ (string-append "--with-opari2="
+ #$(this-package-input "opari2")))
+ #:parallel-tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'licence
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "out")
+ "/share/doc/scorep")))
+ (install-file "COPYING" doc)))))))
(home-page "https://www.vi-hps.org/projects/score-p/")
(synopsis "Performance measurement infrastructure for parallel code")
(description
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 7190dfcd57..86187dc3c0 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -903,18 +903,34 @@ many input formats and provides a customisable Vi-style user interface.")
(define-public denemo
(package
(name "denemo")
- (version "2.6.0")
+ (version "2.6.44")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/denemo/denemo-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.git.savannah.gnu.org/denemo")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0pdmjij2635jbw2a24ivk1y4w0z58jbmq9vnz3qrfzw4d469grab"))))
+ (base32
+ "1vpaiw34f0h0z01r40ln00494l4dwmyc4cy00hz2xggp6pa4abqy"))))
(build-system gnu-build-system)
(arguments
(list
+ #:configure-flags
+ #~(list (string-append
+ "CFLAGS="
+ (string-join (list "-Wno-error=incompatible-pointer-types"
+ "-Wno-error=implicit-function-declaration")
+ " ")))
#:phases
#~(modify-phases %standard-phases
+ (add-before 'bootstrap 'patch-autogen
+ (lambda _
+ (substitute* "autogen.sh"
+ (("/usr/share/aclocal")
+ (string-append #$(this-package-native-input "automake")
+ "/share/aclocal")))))
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
;; Tests require to write $HOME.
@@ -938,8 +954,10 @@ many input formats and provides a customisable Vi-style user interface.")
lilypond
"\");")))))))))
(native-inputs
- (list diffutils
- `(,glib "bin") ; for gtester
+ (list autoconf
+ automake
+ diffutils
+ `(,glib "bin") ; for gtester
gtk-doc/stable
intltool
libtool
@@ -953,7 +971,7 @@ many input formats and provides a customisable Vi-style user interface.")
glib
gtk+
gtksourceview-3
- guile-2.0
+ guile-3.0
(librsvg-for-system)
libsndfile
libxml2
@@ -7005,16 +7023,16 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(define-public geonkick
(package
(name "geonkick")
- (version "2.7.0")
+ (version "3.6.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/iurie-sw/geonkick")
+ (url "https://codeberg.org/Geonkick-Synthesizer/geonkick")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0w1mvqm46qdwldcl81svaykwii4wvx7mcr57kwvnj0iv2qrc891i"))))
+ (base32 "0817hsfvgri315aw0y06rzjcw96lhgxjc37rbxqagk3ciw0naj6n"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests included
@@ -7036,7 +7054,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(description "Geonkick is a synthesizer that can synthesize elements
of percussion such as kicks, snares, hit-hats, shakers, claps and sticks.
It can also play and mix samples.")
- (home-page "https://gitlab.com/iurie-sw/geonkick")
+ (home-page "https://geonkick.org")
(license license:gpl3+)))
(define-public mamba
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 82b67d3e4b..7eaffc8e06 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -5247,3 +5247,39 @@ recording packets that are dropped by the kernel. It provides the commands
Protocol. RDAP is modern a replacement for WHOIS, which provides domain name
and IP address registration information in JSON format over HTTP.")
(license license:expat)))
+
+(define-public wireproxy
+ (package
+ (name "wireproxy")
+ (version "1.0.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/whyvl/wireproxy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ypk9migx1l7xwcxr542pcdy8q2bm33wp03bqzgav0hp1fsrmi8p"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:install-source? #f
+ #:import-path "github.com/pufferffish/wireproxy/cmd/wireproxy"
+ #:unpack-path "github.com/pufferffish/wireproxy"
+ #:test-subdirs #~(list "../../..."))) ;to test the whole module
+ (native-inputs
+ (list go-github-com-akamensky-argparse
+ go-github-com-go-ini-ini
+ go-github-com-landlock-lsm-go-landlock
+ go-github-com-makenowjust-heredoc-v2
+ go-github-com-things-go-go-socks5
+ go-golang-org-x-net
+ go-golang-zx2c4-com-wireguard
+ go-suah-dev-protect))
+ (home-page "https://github.com/whyvl/wireproxy")
+ (synopsis "Wireguard client that exposes itself as a socks5 proxy")
+ (description
+ "wireproxy is a completely userspace application that connects to a
+wireguard peer, and exposes a socks5/http proxy or tunnels on the machine.")
+ (license license:isc)))
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 707c439055..847d663360 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -291,63 +291,24 @@ This package tracks the Extended Support Release (ESR) channel.")
(package
(inherit nss)
(name "nss-rapid")
- (version "3.113")
- (source (origin
- (inherit (package-source nss))
- (uri (let ((version-with-underscores
- (string-join (string-split version #\.) "_")))
- (string-append
- "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
- "releases/NSS_" version-with-underscores "_RTM/src/"
- "nss-" version ".tar.gz")))
- (sha256
- (base32
- "03qwl3ps3xgc9pkc07qrsa4vd2r57mjwicv3gb483gfk2ashdvxc"))
- (patches
- (remove (cut string-suffix? "nss-disable-broken-tests.patch" <>)
- (origin-patches (package-source nss))))))
- (arguments
- (substitute-keyword-arguments (package-arguments nss)
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'neutralize-network-test
- ;; Test tries to resolve `wrong.host.badssl.com' which fails due
- ;; to no networking in the build environment.
- ;; Behavior changed as of 3.110.
- (lambda _
- (substitute* "nss/tests/ssl/ssl.sh"
- ((" ssl_policy_pkix_ocsp" all)
- (string-append "#" all)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for
- ;; testing. The latter requires a working DNS or /etc/hosts.
- (setenv "DOMSUF" "localdomain")
- (setenv "USE_IP" "TRUE")
- (setenv "IP_ADDRESS" "127.0.0.1")
+ (version "3.115")
+ (source
+ (origin
+ (inherit (package-source nss))
+ (uri (let ((version-with-underscores
+ (string-join (string-split version #\.) "_")))
+ (string-append
+ "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
+ "releases/NSS_" version-with-underscores "_RTM/src/"
+ "nss-" version ".tar.gz")))
+ (sha256
+ (base32 "1av1g18dkx86zxvpr34j5mx976mgsk002khlb40k4ydx6gxlfamc"))
+ (patches
+ (search-patches "nss-3.56-pkgconfig.patch"
+ "nss-getcwd-nonnull.patch"
+ "nss-increase-test-timeout.patch"
+ "nss-3.115-disable-pkix-ocsp-tests.patch"))))
- ;; This specific test is looking at performance "now
- ;; verify that we can quickly dump a database", and
- ;; we're not testing performance here (especially
- ;; since we're using faketime), so raise the
- ;; threshold
- (substitute* "nss/tests/dbtests/dbtests.sh"
- ((" -lt 5") " -lt 50"))
-
- ;; Since the test suite is very lengthy, run the test
- ;; suite once, not thrice as done by default, by
- ;; selecting only the 'standard' cycle.
- (setenv "NSS_CYCLES" "standard")
-
- ;; The "PayPalEE.cert" certificate expires every six months,
- ;; leading to test failures:
- ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To
- ;; work around that, set the time to roughly the release date.
- (invoke #$(if (target-64bit?) "faketime" "datefudge")
- "2025-06-19" "./nss/tests/all.sh"))
- (format #t "test suite not run~%"))))))))
(synopsis "Network Security Services (Rapid Release)")
(description
"Network Security Services (@dfn{NSS}) is a set of libraries designed to
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index d032002464..c64be84092 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -183,8 +183,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
- (commit "826e305fde3687573a7e1449ce91e82836696ce6")
- (revision 41))
+ (commit "06f79dc2bd44ca292dade633d344c3f70749b9e7")
+ (revision 42))
(package
(name "guix")
@@ -200,7 +200,7 @@
(commit commit)))
(sha256
(base32
- "17j1gq50pni96vxs45swf3awxgfscfyapfra0szjwji56cyfmhf5"))
+ "0arafqa05vbjqbxpyfxfbzzs44hipkdag94wd8qv5pzf6wns4g7r"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/patches/gimp-fix-metadata-editor.patch b/gnu/packages/patches/gimp-fix-metadata-editor.patch
new file mode 100644
index 0000000000..848227ff4b
--- /dev/null
+++ b/gnu/packages/patches/gimp-fix-metadata-editor.patch
@@ -0,0 +1,25 @@
+From 51311f913d9f417d121f59b83d560c7b4b853d1c Mon Sep 17 00:00:00 2001
+From: Simon Budig <simon@budig.de>
+Date: Sat, 20 May 2023 22:25:40 +0200
+Subject: [PATCH] metadata: shut up a weird warning
+
+---
+ plug-ins/metadata/metadata-editor.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plug-ins/metadata/metadata-editor.c b/plug-ins/metadata/metadata-editor.c
+index a3992e40ddc..5bf6ef709f1 100644
+--- a/plug-ins/metadata/metadata-editor.c
++++ b/plug-ins/metadata/metadata-editor.c
+@@ -2846,7 +2846,7 @@ metadata_dialog_editor_set_metadata (GExiv2Metadata *metadata,
+ }
+ else
+ {
+- if (! g_strv_contains (values, equiv_values[evi]))
++ if (! g_strv_contains ((const gchar * const *) values, equiv_values[evi]))
+ {
+ gchar *tmpvalue;
+
+--
+GitLab
+
diff --git a/gnu/packages/patches/gimp-fix-tiff-load.patch b/gnu/packages/patches/gimp-fix-tiff-load.patch
new file mode 100644
index 0000000000..ba12d0892f
--- /dev/null
+++ b/gnu/packages/patches/gimp-fix-tiff-load.patch
@@ -0,0 +1,25 @@
+From a2458f1528e5733574bb26ff5452b1329116e6db Mon Sep 17 00:00:00 2001
+From: Simon Budig <simon@budig.de>
+Date: Sat, 20 May 2023 18:40:41 +0200
+Subject: [PATCH] file-tiff-load: fix mismatching variable type
+
+---
+ plug-ins/file-tiff/file-tiff-load.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plug-ins/file-tiff/file-tiff-load.c b/plug-ins/file-tiff/file-tiff-load.c
+index 0aafbaec5fd..a26e7af2752 100644
+--- a/plug-ins/file-tiff/file-tiff-load.c
++++ b/plug-ins/file-tiff/file-tiff-load.c
+@@ -1297,8 +1297,8 @@ load_image (GFile *file,
+
+ /* any resolution info in the file? */
+ {
+- gfloat xres = 72.0;
+- gfloat yres = 72.0;
++ gdouble xres = 72.0;
++ gdouble yres = 72.0;
+ gushort read_unit;
+ GimpUnit unit = GIMP_UNIT_PIXEL; /* invalid unit */
+
+
diff --git a/gnu/packages/patches/ispell-for-linphone-cmake.patch b/gnu/packages/patches/ispell-for-linphone-cmake.patch
new file mode 100644
index 0000000000..6785ca4b7e
--- /dev/null
+++ b/gnu/packages/patches/ispell-for-linphone-cmake.patch
@@ -0,0 +1,43 @@
+Retrieved from: https://git.pld-linux.org/?p=packages/bc-ispell.git;a=blob_plain;f=ispell-cmake.patch;hb=HEAD
+
+--- ispell-05574fe160222c3d0b6283c1433c9b087271fad1/CMakeLists.txt.orig 2023-11-07 11:53:37.000000000 +0100
++++ ispell-05574fe160222c3d0b6283c1433c9b087271fad1/CMakeLists.txt 2024-03-28 20:53:45.068632010 +0100
+@@ -49,6 +49,26 @@ set(ISPELL_SOURCES
+
+ add_library(${ISPELL_TARGET_NAME} SHARED ${ISPELL_SOURCES})
+
++set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/cmake/${ISPELL_TARGET_NAME}")
++configure_package_config_file("${ISPELL_TARGET_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/${ISPELL_TARGET_NAME}Config.cmake"
++ INSTALL_DESTINATION "${CMAKE_MODULES_INSTALL_DIR}"
++ NO_SET_AND_CHECK_MACRO
++)
++write_basic_package_version_file("${PROJECT_BINARY_DIR}/${ISPELL_TARGET_NAME}ConfigVersion.cmake"
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY AnyNewerVersion
++)
++install(FILES
++ "${PROJECT_BINARY_DIR}/${ISPELL_TARGET_NAME}Config.cmake"
++ "${PROJECT_BINARY_DIR}/${ISPELL_TARGET_NAME}ConfigVersion.cmake"
++ DESTINATION ${CMAKE_MODULES_INSTALL_DIR}
++)
++
++install(EXPORT ${ISPELL_TARGET_NAME}LibraryDepends
++ FILE "${ISPELL_TARGET_NAME}LibraryDepends.cmake"
++ DESTINATION ${CMAKE_MODULES_INSTALL_DIR}
++)
++
+ install(TARGETS ${ISPELL_TARGET_NAME}
+ EXPORT ${ISPELL_TARGET_NAME}LibraryDepends
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+--- ispell-05574fe160222c3d0b6283c1433c9b087271fad1/ISpellConfig.cmake.in.orig 2023-11-07 11:53:37.000000000 +0100
++++ ispell-05574fe160222c3d0b6283c1433c9b087271fad1/ISpellConfig.cmake.in 2024-03-28 21:54:40.692161132 +0100
+@@ -12,7 +12,7 @@ set(ISPELL_LIBRARIES "@ISPELL_TARGET_NAM
+ get_target_property(ISPELL_INCLUDE_DIRS "@ISPELL_TARGET_NAME@" INTERFACE_INCLUDE_DIRECTORIES)
+
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18.0)
+- add_library(@ISpell_TARGET_NAME@::@ISpell_TARGET_NAME@ ALIAS @ISpell_TARGET_NAME@)
++ add_library(@ISPELL_TARGET_NAME@::@ISPELL_TARGET_NAME@ ALIAS @ISPELL_TARGET_NAME@)
+ endif()
+
+-check_required_components(@ISpell_TARGET_NAME@)
++check_required_components(@ISPELL_TARGET_NAME@)
diff --git a/gnu/packages/patches/liblinphone-jsoncpp.patch b/gnu/packages/patches/liblinphone-jsoncpp.patch
new file mode 100644
index 0000000000..d012b07870
--- /dev/null
+++ b/gnu/packages/patches/liblinphone-jsoncpp.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/FindJsonCPP.cmake b/cmake/FindJsonCPP.cmake
+index 59e971a58..18260fde8 100644
+--- a/cmake/FindJsonCPP.cmake
++++ b/cmake/FindJsonCPP.cmake
+@@ -39,10 +39,11 @@
+ # JsonCPP_FOUND - The jsoncpp library has been found
+ # JsonCPP_TARGET - The name of the CMake target for the jsoncpp library
+
++if(TARGET jsoncpp_lib OR TARGET jsoncpp_static OR TARGET PkgConfig::jsoncpp)
+
+-if(TARGET jsoncpp_lib OR TARGET jsoncpp_static)
+-
+- if(TARGET jsoncpp_lib)
++ if(TARGET PkgConfig::jsoncpp)
++ set(JsonCPP_TARGET PkgConfig::jsoncpp)
++ elseif(TARGET jsoncpp_lib)
+ set(JsonCPP_TARGET jsoncpp_lib)
+ else()
+ set(JsonCPP_TARGET jsoncpp_static)
+@@ -57,24 +58,50 @@ if(TARGET jsoncpp_lib OR TARGET jsoncpp_static)
+ mark_as_advanced(JsonCPP_TARGET)
+
+ else()
+-
+- set(_OPTIONS "CONFIG")
++ find_package(PkgConfig QUIET)
++
++ set(_OPTIONS1 "CONFIG")
++ set(_OPTIONS2 "IMPORTED_TARGET") # for pkg_check_modules fallback
++
+ if(JsonCPP_FIND_REQUIRED)
+- list(APPEND _OPTIONS "REQUIRED")
+- endif()
+- if(JsonCPP_FIND_QUIETLY)
+- list(APPEND _OPTIONS "QUIET")
++ if(PKG_CONFIG_FOUND)
++ list(APPEND _OPTIONS2 "REQUIRED")
++ else()
++ list(APPEND _OPTIONS1 "REQUIRED")
++ endif()
+ endif()
+- if(JsonCPP_FIND_VERSION)
+- list(PREPEND _OPTIONS "${jsoncpp_FIND_VERSION}")
++ if(JsonCPP_FIND_QUIETLY)
++ list(APPEND _OPTIONS1 "QUIET")
++ list(APPEND _OPTIONS2 "QUIET")
+ endif()
+- if(JsonCPP_FIND_EXACT)
+- list(APPEND _OPTIONS "EXACT")
++ if(PKG_CONFIG_FOUND)
++ if(JsonCPP_FIND_VERSION)
++ if(JsonCPP_FIND_EXACT)
++ list(APPEND _OPTIONS2 "jsoncpp=${JsonCPP_FIND_VERSION}")
++ else()
++ list(APPEND _OPTIONS2 "jsoncpp>=${JsonCPP_FIND_VERSION}")
++ endif()
++ else()
++ list(APPEND _OPTIONS2 "jsoncpp")
++ endif()
++ else()
++ if(JsonCPP_FIND_VERSION)
++ list(PREPEND _OPTIONS1 "${jsoncpp_FIND_VERSION}")
++ endif()
++ if(JsonCPP_FIND_EXACT)
++ list(APPEND _OPTIONS1 "EXACT")
++ endif()
+ endif()
+
+- find_package(jsoncpp ${_OPTIONS})
++ find_package(jsoncpp ${_OPTIONS1})
++
++ if(NOT JsonCPP_FOUND)
++ pkg_check_modules(jsoncpp ${_OPTIONS2})
++ endif()
+
+- if(TARGET jsoncpp_lib)
++ if(TARGET PkgConfig::jsoncpp)
++ set(JsonCPP_TARGET jsoncpp)
++ elseif(TARGET jsoncpp_lib)
+ set(JsonCPP_TARGET jsoncpp_lib)
+ else()
+ set(JsonCPP_TARGET jsoncpp_static)
diff --git a/gnu/packages/patches/linphone-desktop-cmake-belcard.patch b/gnu/packages/patches/linphone-desktop-cmake-belcard.patch
new file mode 100644
index 0000000000..3cc573b938
--- /dev/null
+++ b/gnu/packages/patches/linphone-desktop-cmake-belcard.patch
@@ -0,0 +1,39 @@
+From 0216b81c46f2612b8acf33b1a7c5886db25f45ff Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Thu, 13 Jun 2024 16:04:29 -0400
+Subject: [PATCH] cmake: Fix BelCard cmake module name.
+
+* linphone-app/CMakeLists.txt: cmake: Fix BelCard cmake module name.
+
+Fixes: <https://gitlab.linphone.org/BC/public/linphone-desktop/-/issues/32>
+---
+ linphone-app/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
+index d40842fa..f1c225a5 100644
+--- a/linphone-app/CMakeLists.txt
++++ b/linphone-app/CMakeLists.txt
+@@ -24,7 +24,7 @@ cmake_minimum_required(VERSION 3.22)
+
+
+ #Linphone targets
+-set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 Belcard LibLinphone)
++set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 BelCard LibLinphone)
+
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+@@ -115,7 +115,7 @@ set(PLUGIN_TARGETS ${LinphoneCxx_TARGET})
+ set(APP_TARGETS ${LinphoneCxx_TARGET}
+ ${BCToolbox_TARGET}#Logger/App
+ ${Mediastreamer2_TARGET}#MediastreamerUtils
+- ${Belcard_TARGET}#VCard Model
++ ${BelCard_TARGET}#VCard Model
+ ${LibLinphone_TARGET})#MediastreamerUtils
+
+ ####################################
+
+base-commit: e34beffe06802efcc5904d5059006ac0d2f7ef32
+--
+2.45.1
+
diff --git a/gnu/packages/patches/linphone-desktop-cmake-find-modules.patch b/gnu/packages/patches/linphone-desktop-cmake-find-modules.patch
new file mode 100644
index 0000000000..96353eef28
--- /dev/null
+++ b/gnu/packages/patches/linphone-desktop-cmake-find-modules.patch
@@ -0,0 +1,422 @@
+From 25bdfe9ad3a33e1db6e5db8290b3a5112f4d621e Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Fri, 14 Jun 2024 22:33:58 -0400
+Subject: [PATCH] cmake: Delete most CMake find modules.
+
+They do not appear to bring any value compared to the config files
+installed by each project, and cause issues like the following, at
+least when using system libraries:
+
+ -- Trying to find LibLinphone
+ CMake Error at linphone-app/cmake/FindLibLinphone.cmake:31 (include):
+ include could not find requested file:
+
+ LibLinphoneTargets
+ Call Stack (most recent call first):
+ linphone-app/CMakeLists.txt:108 (find_package)
+
+Fixes: <https://gitlab.linphone.org/BC/public/linphone-desktop/-/issues/30>
+---
+ linphone-app/cmake/FindBCToolbox.cmake | 60 ---------------------
+ linphone-app/cmake/FindBelcard.cmake | 44 ---------------
+ linphone-app/cmake/FindISpell.cmake | 47 ----------------
+ linphone-app/cmake/FindLibLinphone.cmake | 46 ----------------
+ linphone-app/cmake/FindLinphoneCxx.cmake | 45 ----------------
+ linphone-app/cmake/FindMediastreamer2.cmake | 49 -----------------
+ linphone-app/cmake/FindQtKeychain.cmake | 48 -----------------
+ 7 files changed, 339 deletions(-)
+ delete mode 100644 linphone-app/cmake/FindBCToolbox.cmake
+ delete mode 100644 linphone-app/cmake/FindBelcard.cmake
+ delete mode 100644 linphone-app/cmake/FindISpell.cmake
+ delete mode 100644 linphone-app/cmake/FindLibLinphone.cmake
+ delete mode 100644 linphone-app/cmake/FindLinphoneCxx.cmake
+ delete mode 100644 linphone-app/cmake/FindMediastreamer2.cmake
+ delete mode 100644 linphone-app/cmake/FindQtKeychain.cmake
+
+diff --git a/linphone-app/cmake/FindBCToolbox.cmake b/linphone-app/cmake/FindBCToolbox.cmake
+deleted file mode 100644
+index 707cc147..00000000
+--- a/linphone-app/cmake/FindBCToolbox.cmake
++++ /dev/null
+@@ -1,60 +0,0 @@
+-############################################################################
+-# FindBctoolbox.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-
+-# This module will set the following variables in your project:
+-#
+-# BCToolbox_FOUND - The bctoolbox library has been found
+-# BCToolbox_TARGET - The name of the CMake target for the bctoolbox library
+-# BCToolbox_CMAKE_DIR - The bctoolbox CMake directory
+-# BCToolbox_CMAKE_UTILS - The path to the bctoolbox CMake utils script
+-# BCToolbox_tester_FOUND - The bctoolbox-tester library has been found
+-# BCToolbox_tester_TARGET - The name of the CMake target for the bctoolbox-tester library
+-
+-
+-if(NOT TARGET bctoolbox)
+- set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- set(BCToolbox_CMAKE_DIR ${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/bctoolbox/cmake)
+- include(${BCToolbox_CMAKE_DIR}/bctoolboxTargets.cmake)
+-endif()
+-
+-set(_BCToolbox_REQUIRED_VARS BCToolbox_TARGET BCToolbox_CMAKE_DIR BCToolbox_CMAKE_UTILS)
+-set(_BCToolbox_CACHE_VARS ${_BCToolbox_REQUIRED_VARS})
+-
+-if(TARGET bctoolbox)
+- set(BCToolbox_TARGET bctoolbox)
+- get_target_property(_BCToolbox_SOURCE_DIR ${BCToolbox_TARGET} SOURCE_DIR)
+- set(BCToolbox_CMAKE_DIR "${_BCToolbox_SOURCE_DIR}/../cmake")
+- set(BCToolbox_CMAKE_UTILS "${BCToolbox_CMAKE_DIR}/BCToolboxCMakeUtils.cmake")
+- if(TARGET bctoolbox-tester)
+- set(BCToolbox_tester_FOUND TRUE)
+- set(BCToolbox_tester_TARGET bctoolbox-tester)
+- list(APPEND _BCToolbox_CACHE_VARS BCToolbox_tester_TARGET)
+- endif()
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(BCToolbox
+- REQUIRED_VARS ${_BCToolbox_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_BCToolbox_CACHE_VARS})
+diff --git a/linphone-app/cmake/FindBelcard.cmake b/linphone-app/cmake/FindBelcard.cmake
+deleted file mode 100644
+index ce89497c..00000000
+--- a/linphone-app/cmake/FindBelcard.cmake
++++ /dev/null
+@@ -1,44 +0,0 @@
+-############################################################################
+-# FindBelcard.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# Belcard_FOUND - The liblinphone library has been found
+-# Belcard_TARGET - The name of the CMake target
+-
+-if(NOT TARGET belcard)
+- set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/Belcard/cmake/BelcardTargets.cmake)
+-endif()
+-
+-set(_Belcard_REQUIRED_VARS Belcard_TARGET)
+-set(_Belcard_CACHE_VARS ${_Belcard_REQUIRED_VARS})
+-
+-if(TARGET belcard)
+- set(Belcard_TARGET belcard)
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(Belcard
+- REQUIRED_VARS ${_Belcard_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_Belcard_CACHE_VARS})
+diff --git a/linphone-app/cmake/FindISpell.cmake b/linphone-app/cmake/FindISpell.cmake
+deleted file mode 100644
+index 7a9269fa..00000000
+--- a/linphone-app/cmake/FindISpell.cmake
++++ /dev/null
+@@ -1,47 +0,0 @@
+-############################################################################
+-# FindISpell.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# - Find the ispell include files and library
+-#
+-# ISpell_FOUND - system has lib ispell
+-# ISpell_SOURCE_DIR - the ispell include directory
+-# ISpell_BINARY_DIR - the ispell library directory
+-
+-if(NOT TARGET ${ISPELL_TARGET_NAME})
+- set(EXPORT_PATH ${ISPELL_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake/${ISPELL_TARGET_NAME}/${ISPELL_TARGET_NAME}Config.cmake)
+-endif()
+-
+-set(_ISpell_REQUIRED_VARS ISpell_TARGET)
+-set(_ISpell_CACHE_VARS ${_ISpell_REQUIRED_VARS})
+-
+-if(TARGET ${ISPELL_TARGET_NAME})
+- set(ISpell_TARGET ${ISPELL_TARGET_NAME})
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(ISpell
+- REQUIRED_VARS ${_ISpell_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_ISpell_CACHE_VARS})
+diff --git a/linphone-app/cmake/FindLibLinphone.cmake b/linphone-app/cmake/FindLibLinphone.cmake
+deleted file mode 100644
+index 826bb0d8..00000000
+--- a/linphone-app/cmake/FindLibLinphone.cmake
++++ /dev/null
+@@ -1,46 +0,0 @@
+-############################################################################
+-# FindLinphone.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# LibLinphone_FOUND - The liblinphone library has been found
+-# LibLinphone_TARGET - The name of the CMake target for the liblinphone library
+-# LibLinphone_PLUGINS_DIR - The directory where to install liblinphone plugins
+-
+-if(NOT TARGET liblinphone)
+- set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/linphone/cmake/linphoneTargets.cmake)
+-endif()
+-
+-set(_LibLinphone_REQUIRED_VARS LibLinphone_TARGET LibLinphone_PLUGINS_DIR)
+-set(_LibLinphone_CACHE_VARS ${_LibLinphone_REQUIRED_VARS})
+-
+-if(TARGET liblinphone)
+- set(LibLinphone_TARGET liblinphone)
+- get_target_property(LibLinphone_PLUGINS_DIR ${LibLinphone_TARGET} LIBLINPHONE_PLUGINS_DIR)
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(LibLinphone
+- REQUIRED_VARS ${_LibLinphone_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_LibLinphone_CACHE_VARS})
+diff --git a/linphone-app/cmake/FindLinphoneCxx.cmake b/linphone-app/cmake/FindLinphoneCxx.cmake
+deleted file mode 100644
+index 0f81fe20..00000000
+--- a/linphone-app/cmake/FindLinphoneCxx.cmake
++++ /dev/null
+@@ -1,45 +0,0 @@
+-############################################################################
+-# FindLinphoneCxx.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# LinphoneCxx_FOUND - The liblinphone library has been found
+-# LinphoneCxx_TARGET - The name of the CMake target for the liblinphone library
+-
+-if(NOT TARGET liblinphone++)
+- set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/LinphoneCxx/cmake/LinphoneCxxTargets.cmake)
+-endif()
+-
+-set(_LinphoneCxx_REQUIRED_VARS LinphoneCxx_TARGET)
+-set(_LinphoneCxx_CACHE_VARS ${_LinphoneCxx_REQUIRED_VARS})
+-
+-if(TARGET liblinphone++)
+- set(LinphoneCxx_TARGET liblinphone++)
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(LinphoneCxx
+- REQUIRED_VARS ${_LinphoneCxx_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_LinphoneCxx_CACHE_VARS})
+-
+diff --git a/linphone-app/cmake/FindMediastreamer2.cmake b/linphone-app/cmake/FindMediastreamer2.cmake
+deleted file mode 100644
+index dc41f187..00000000
+--- a/linphone-app/cmake/FindMediastreamer2.cmake
++++ /dev/null
+@@ -1,49 +0,0 @@
+-############################################################################
+-# FindMediastreamer2.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# This module will set the following variables in your project:
+-#
+-# Mediastreamer2_FOUND - The mediastreamer2 library has been found
+-# Mediastreamer2_TARGET - The name of the CMake target for the mediastreamer2 library
+-# Mediastreamer2_PLUGINS_DIR - The directory where to install mediastreamer2 plugins
+-
+-if(NOT TARGET mediastreamer2)
+- set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/Mediastreamer2/cmake/Mediastreamer2Targets.cmake)
+-endif()
+-
+-set(_Mediastreamer2_REQUIRED_VARS Mediastreamer2_TARGET Mediastreamer2_PLUGINS_DIR)
+-set(_Mediastreamer2_CACHE_VARS ${_Mediastreamer2_REQUIRED_VARS})
+-
+-if(TARGET mediastreamer2)
+- set(Mediastreamer2_TARGET mediastreamer2)
+- get_target_property(Mediastreamer2_PLUGINS_DIR ${Mediastreamer2_TARGET} MS2_PLUGINS_DIR)
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(Mediastreamer2
+- REQUIRED_VARS ${_Mediastreamer2_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_Mediastreamer2_CACHE_VARS})
+-
+diff --git a/linphone-app/cmake/FindQtKeychain.cmake b/linphone-app/cmake/FindQtKeychain.cmake
+deleted file mode 100644
+index 9b7911aa..00000000
+--- a/linphone-app/cmake/FindQtKeychain.cmake
++++ /dev/null
+@@ -1,48 +0,0 @@
+-############################################################################
+-# FindQtKeychain.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# - Find the linphonecxx include files and library
+-#
+-# QtKeychain_FOUND - system has lib linphonecxx
+-# QtKeychain_INCLUDE_DIRS - the linphonecxx include directory
+-# QtKeychain_LIBRARIES - The library needed to use linphonecxx
+-if(NOT TARGET ${QTKEYCHAIN_TARGET_NAME})
+- set(EXPORT_PATH ${QTKEYCHAIN_OUTPUT_DIR})
+- include(GNUInstallDirs)
+- include(${EXPORT_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake/${QTKEYCHAIN_TARGET_NAME}/${QTKEYCHAIN_TARGET_NAME}Config.cmake)
+-endif()
+-
+-set(_QtKeychain_REQUIRED_VARS QtKeychain_TARGET)
+-set(_QtKeychain_CACHE_VARS ${_QtKeychain_REQUIRED_VARS})
+-
+-if(TARGET ${QTKEYCHAIN_TARGET_NAME})
+- set(QtKeychain_TARGET ${QTKEYCHAIN_TARGET_NAME})
+- set(QtKeychain_USE_BUILD_INTERFACE TRUE)
+-endif()
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(QtKeychain
+- REQUIRED_VARS ${_QtKeychain_REQUIRED_VARS}
+- HANDLE_COMPONENTS
+-)
+-mark_as_advanced(${_QtKeychain_CACHE_VARS})
+-
+
+base-commit: d69e033508265f756fb47b39b76b7d589be159c0
+prerequisite-patch-id: 1df5d6e9367036cd8ce918e1f3e3d7b3661f73c2
+--
+2.45.1
+
diff --git a/gnu/packages/patches/linphone-desktop-ispell.patch b/gnu/packages/patches/linphone-desktop-ispell.patch
new file mode 100644
index 0000000000..679703ec02
--- /dev/null
+++ b/gnu/packages/patches/linphone-desktop-ispell.patch
@@ -0,0 +1,24 @@
+Retrieved from: https://git.pld-linux.org/?p=packages/linphone.git;a=blob_plain;f=linphone-ispell.patch;h=67bbae61835c7fa813edcc006b5b67901ca42abe;hb=HEAD
+
+--- linphone-desktop-5.2.2/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp.orig 2024-03-11 18:30:37.000000000 +0100
++++ linphone-desktop-5.2.2/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp 2024-03-31 18:17:09.041543370 +0200
+@@ -20,7 +20,7 @@
+
+
+ #include "SpellChecker.hpp"
+-#include <libispell.h>
++#include <ISpell/libispell.h>
+ #include "app/paths/Paths.hpp"
+ #include <unistd.h>
+ #include <cstdio>
+--- linphone-desktop-5.2.2/linphone-app/cmake_builder/linphone_package/CMakeLists.txt.orig 2024-04-01 08:06:42.275231951 +0200
++++ linphone-desktop-5.2.2/linphone-app/cmake_builder/linphone_package/CMakeLists.txt 2024-04-01 17:44:16.670826307 +0200
+@@ -338,8 +338,6 @@ else()# Not Windows and Apple
+ if(ENABLE_APP_WEBVIEW)
+ install(FILES "${QT_PATH}/plugins/webview/libqtwebview_webengine.so" DESTINATION "plugins/webview") #Workaround : linuxdeploy doesn't deploy it
+ endif()
+-# ISPELL
+- install(DIRECTORY "${ISpell_SOURCE_DIR}/ispell_dictionaries" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}" USE_SOURCE_PERMISSIONS)
+ endif ()
+
+
diff --git a/gnu/packages/patches/linphone-desktop-qtkeychain.patch b/gnu/packages/patches/linphone-desktop-qtkeychain.patch
new file mode 100644
index 0000000000..b19761672a
--- /dev/null
+++ b/gnu/packages/patches/linphone-desktop-qtkeychain.patch
@@ -0,0 +1,36 @@
+Retrieved from https://git.pld-linux.org/?p=packages/linphone.git;a=blob_plain;f=linphone-qtkeychain.patch;hb=HEAD
+
+--- linphone-desktop-5.2.2/CMakeLists.txt.orig 2024-03-11 18:30:37.000000000 +0100
++++ linphone-desktop-5.2.2/CMakeLists.txt 2024-03-31 17:21:32.069621299 +0200
+@@ -168,7 +168,7 @@ add_option(OPTION_LIST LIBSECRET_SUPPORT
+ if(WIN32)
+ add_cache(OPTION_LIST QTKEYCHAIN_TARGET_NAME "Override Qt5Keychain library name for a workaround with windeployqt" "EQt5Keychain")
+ else()
+- add_cache(OPTION_LIST QTKEYCHAIN_TARGET_NAME "Override Qt5Keychain library name" "Qt5Keychain")
++ add_cache(OPTION_LIST QTKEYCHAIN_TARGET_NAME "Override Qt5Keychain library name" "qt5keychain")
+ endif()
+ if(WIN32)
+ add_option(OPTION_LIST ENABLE_OPENSSL_EXPORT "Enable OpenSSL deployment" YES)
+--- linphone-desktop-5.2.2/linphone-app/CMakeLists.txt.orig 2024-03-31 16:15:24.501115462 +0200
++++ linphone-desktop-5.2.2/linphone-app/CMakeLists.txt 2024-03-31 16:27:54.837050544 +0200
+@@ -118,10 +118,7 @@ set(APP_TARGETS ${LinphoneCxx_TARGET}
+ ####################################
+
+ if(ENABLE_QT_KEYCHAIN)
+- find_package(QtKeychain)
+- if(NOT QtKeychain_FOUND)
+- find_package(${QTKEYCHAIN_TARGET_NAME} CONFIG REQUIRED)
+- endif()
++ find_package(Qt5Keychain)
+
+ add_compile_definitions("ENABLE_QT_KEYCHAIN")
+ if(QtKeychain_USE_BUILD_INTERFACE)
+@@ -197,7 +194,7 @@ if(ENABLE_VIDEO)
+ endif()
+ if( ENABLE_QT_KEYCHAIN)
+ if(NOT QTKEYCHAIN_TARGET_NAME)
+- set(QTKEYCHAIN_TARGET_NAME "Qt5Keychain")
++ set(QTKEYCHAIN_TARGET_NAME "qt5keychain")
+ endif()
+ list(APPEND APP_TARGETS ${QTKEYCHAIN_TARGET_NAME})
+ endif()
diff --git a/gnu/packages/patches/linphone-desktop-without-sdk.patch b/gnu/packages/patches/linphone-desktop-without-sdk.patch
deleted file mode 100644
index ef61b86707..0000000000
--- a/gnu/packages/patches/linphone-desktop-without-sdk.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From cfdf6d1c2051d6a20d0cbb94d81fe398f70dea4d Mon Sep 17 00:00:00 2001
-From: Raghav Gururajan <rg@raghavgururajan.name>
-Date: Sun, 21 Mar 2021 21:13:53 -0400
-Subject: [PATCH] [PATCH]: Fix building from git.
-
----
- CMakeLists.txt | 73 +------------------
- linphone-app/CMakeLists.txt | 12 +--
- .../cmake_builder/additional_steps.cmake | 2 +-
- .../linphone_package/CMakeLists.txt | 38 ----------
- linphone-app/linphoneqt_version.cmake | 1 +
- linphone-app/src/config.h.cmake | 1 +
- 6 files changed, 6 insertions(+), 121 deletions(-)
- create mode 100644 linphone-app/linphoneqt_version.cmake
-
-diff -ru a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 1970-01-01 01:00:01.000000000 +0100
-+++ b/CMakeLists.txt 2023-04-08 16:00:45.487927870 +0200
-@@ -51,23 +51,6 @@
-
- set(CMAKE_CXX_STANDARD 11)
-
--# Prepare gobal CMAKE configuration specific to the current project
--set(SDK_BUILD_DIR "${CMAKE_BINARY_DIR}/WORK") # SDK build in WORK. Keep all in it.
--set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/desktop")
--
--set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT")
--
--set(CMAKE_PREFIX_PATH "${LINPHONE_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR}/include${PREFIX_PATH}")
--if(WIN32)
-- set( CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${APPLICATION_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}")
--elseif(APPLE)
-- set( CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${APPLICATION_NAME}.app/Contents/Frameworks")
--else()
-- set( CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${APPLICATION_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}")
--endif()
--string(REPLACE ";" "|" PREFIX_PATH "${CMAKE_PREFIX_PATH}")
--#set(PREFIX_PATH "${LINPHONE_OUTPUT_DIR}|${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}")
--
- # Avoid cmake warning if CMP0071 is not set.
- if (POLICY CMP0071)
- cmake_policy(SET CMP0071 NEW)
-@@ -177,10 +160,8 @@
- endif()
- list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
-
--list(APPEND APP_OPTIONS "-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}")
- list(APPEND APP_OPTIONS "-DENABLE_QT_GL=${ENABLE_VIDEO}")#Activate on video
-
--include(ExternalProject)
- set(PROJECT_BUILD_COMMAND "")
- if(CMAKE_BUILD_PARALLEL_LEVEL)
- list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}")
-@@ -195,7 +176,6 @@
- endif()
- endif()
- if(UNIX AND NOT APPLE)
-- set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/lib64:$ORIGIN/../lib64:$ORIGIN/lib:$ORIGIN/../lib:${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}")
- list(APPEND APP_OPTIONS "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}")
- elseif(APPLE)
- list(APPEND APP_OPTIONS "-DENABLE_FAT_BINARY=ON") #Disable XCFrameworks as it is not supported.
-@@ -222,28 +202,9 @@
-
-
- if(NOT LINPHONE_QT_ONLY)
--ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
-- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
-- INSTALL_DIR "${LINPHONE_OUTPUT_DIR}"
-- STAMP_DIR "${SDK_BUILD_DIR}/stamp"
-- BINARY_DIR "${SDK_BUILD_DIR}"
-- STEP_TARGETS build
-- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
-- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
-- LIST_SEPARATOR | # Use the alternate list separator
-- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
-- BUILD_ALWAYS NO #${DO_BUILD}
--)
--ExternalProject_Add_Step(sdk force_build
-- COMMENT "Forcing build for 'desktop'"
-- DEPENDEES configure
-- DEPENDERS build
-- ALWAYS 1
--)
- endif()
- include(FindPkgConfig)
-
--set(APP_DEPENDS sdk)
- find_package(Qt5 5.10 COMPONENTS Core REQUIRED)
-
- if ( NOT Qt5_FOUND )
-@@ -257,62 +218,5 @@
- find_package(Mediastreamer2 CONFIG QUIET)
- find_package(ortp CONFIG QUIET)
-
--if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND) OR FORCE_APP_EXTERNAL_PROJECTS)
-- message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target install")
-- ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
-- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
-- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
-- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
-- DEPENDS ${APP_DEPENDS}
-- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
-- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
-- LIST_SEPARATOR | # Use the alternate list separator
-- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
-- # ${APP_OPTIONS}
-- BUILD_ALWAYS ON
-- )
-- if( ENABLE_BUILD_APP_PLUGINS)
-- ExternalProject_Add(app-plugins PREFIX "${CMAKE_BINARY_DIR}/plugins-app"
-- SOURCE_DIR "${CMAKE_SOURCE_DIR}/plugins"
-- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
-- BINARY_DIR "${CMAKE_BINARY_DIR}/plugins-app"
-- DEPENDS linphone-qt
-- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
-- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
-- LIST_SEPARATOR | # Use the alternate list separator
-- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
-- )
-- endif()
-- install(CODE "message(STATUS Running install)")
-- set(AUTO_REGENERATION auto_regeneration)
-- if( ENABLE_BUILD_APP_PLUGINS)
-- add_custom_target(${AUTO_REGENERATION} ALL
-- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
-- DEPENDS app-plugins)
-- else()
-- add_custom_target(${AUTO_REGENERATION} ALL
-- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
-- DEPENDS linphone-qt)
-- endif()
--else()
-- message("Adding Linphone Desktop in an IDE-friendly state")
-- set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
-- add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
-- if(NOT LINPHONE_QT_ONLY)
-- add_dependencies(app-library ${APP_DEPENDS})
-- endif()
-- if( ENABLE_BUILD_APP_PLUGINS)
-- add_subdirectory(${CMAKE_SOURCE_DIR}/plugins "plugins-app")
-- endif()
--endif()
--ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
-- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
-- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
-- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
-- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
--# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
-- LIST_SEPARATOR | # Use the alternate list separator
-- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
-- EXCLUDE_FROM_ALL ON
-- #BUILD_ALWAYS ON
--)
-+message("Adding Linphone Desktop in an IDE-friendly state")
-+add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
-diff -ru a/linphone-app/cmake_builder/additional_steps.cmake ./linphone-app/cmake_builder/additional_steps.cmake
---- a/linphone-app/cmake_builder/additional_steps.cmake 1970-01-01 01:00:01.000000000 +0100
-+++ ./linphone-app/cmake_builder/additional_steps.cmake 2023-04-08 16:02:33.005843116 +0200
-@@ -61,7 +61,7 @@
- SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/linphone_package"
- DOWNLOAD_COMMAND ""
- CMAKE_GENERATOR ${CMAKE_GENERATOR}
-- CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
-+ CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
- )
- endif ()
- endif ()
-diff -ru a/linphone-app/CMakeLists.txt ./linphone-app/CMakeLists.txt
---- a/linphone-app/CMakeLists.txt 1970-01-01 01:00:01.000000000 +0100
-+++ ./linphone-app/CMakeLists.txt 2023-04-08 16:01:32.699012115 +0200
-@@ -21,17 +21,8 @@
- ################################################################################
- cmake_minimum_required(VERSION 3.1)
-
-+include(linphoneqt_version.cmake)
- find_package(bctoolbox CONFIG)
--set(FULL_VERSION )
--bc_compute_full_version(FULL_VERSION)
--set(version_major )
--set(version_minor )
--set(version_patch )
--set(identifiers )
--set(metadata )
--bc_parse_full_version("${FULL_VERSION}" version_major version_minor version_patch identifiers metadata)
--
--project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
-
-
- if(ENABLE_BUILD_VERBOSE)
-@@ -51,7 +42,6 @@
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
- endif()
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")
--list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/cmake")
-
- set(APP_LIBRARY app-library)
- set(APP_PLUGIN app-plugin)
-diff --git a/linphone-app/linphoneqt_version.cmake b/linphone-app/linphoneqt_version.cmake
-new file mode 100644
-index 00000000..a85d3455
---- /dev/null
-+++ b/linphone-app/linphoneqt_version.cmake
-@@ -0,0 +1,1 @@
-+project(linphoneqt VERSION ${GUIX-SET-VERSION})
-\ No newline at end of file
-diff -ru a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake
---- a/linphone-app/src/config.h.cmake 1970-01-01 01:00:01.000000000 +0100
-+++ b/linphone-app/src/config.h.cmake 2023-04-08 16:05:33.458349986 +0200
-@@ -32,3 +32,4 @@
- #cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}"
- #cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}"
- #cmakedefine ENABLE_APP_WEBVIEW "${ENABLE_APP_WEBVIEW}"
-+#define LINPHONE_QT_GIT_VERSION "${PROJECT_VERSION}"
-\ No newline at end of file
diff --git a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch b/gnu/packages/patches/linuxdcpp-openssl-1.1.patch
deleted file mode 100644
index 6f9912afd8..0000000000
--- a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/dcpp/CryptoManager.cpp.orig 2011-04-17 17:57:09 UTC
-+++ b/dcpp/CryptoManager.cpp
-@@ -107,12 +107,20 @@ CryptoManager::CryptoManager()
- };
-
- if(dh) {
-- dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-- dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-+ BIGNUM *p, *g;
-
-- if (!dh->p || !dh->g) {
-+ p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-+ g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-+
-+ if (!p || !g) {
- dh.reset();
- } else {
-+#if OPENSSL_VERSION_NUMBER < 0x10100005L
-+ dh->p = p;
-+ dh->g = g;
-+#else
-+ DH_set0_pqg(dh, p, NULL, g);
-+#endif
- SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
- SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE);
- SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);
diff --git a/gnu/packages/patches/lxsession-potfiles-ignore.patch b/gnu/packages/patches/lxsession-potfiles-ignore.patch
new file mode 100644
index 0000000000..ddf45cf506
--- /dev/null
+++ b/gnu/packages/patches/lxsession-potfiles-ignore.patch
@@ -0,0 +1,15 @@
+diff --git a/po/POTFILES.skip b/po/POTFILES.skip
+index 353b0ec..adbe1d6 100644
+--- a/po/POTFILES.skip
++++ b/po/POTFILES.skip
+@@ -1,7 +1,10 @@
+ # Autogenerated files with translatable strings.
+ lxsession-default-apps/main.c
+ lxsession-default-apps/combobox.c
++lxpolkit/main.c
++lxsession/app.c
+ # This is a source file for configure, output will be translated instead.
+ data/lxpolkit.desktop.in.in
+ # bug of intltool with automake 1.15
+ sub/data/lxpolkit.desktop.in
++data/lxpolkit.desktop.in
diff --git a/gnu/packages/patches/mediastreamer2-cmake-findgsm.patch b/gnu/packages/patches/mediastreamer2-cmake-findgsm.patch
new file mode 100644
index 0000000000..7b48e310b5
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer2-cmake-findgsm.patch
@@ -0,0 +1,63 @@
+Retrieved from: https://git.pld-linux.org/?p=packages/mediastreamer.git;a=blob_plain;f=mediastreamer-cmake-find.patch;h=4f1e3577f43bf791ed5cdb180ca455f919b80c8d;hb=HEAD
+
+--- mediastreamer2-5.3.29/cmake/FindGSM.cmake.orig 2024-02-21 12:02:03.000000000 +0100
++++ mediastreamer2-5.3.29/cmake/FindGSM.cmake 2024-03-09 20:16:25.064077414 +0100
+@@ -58,7 +58,7 @@ else()
+ set(_GSM_ROOT_PATHS ${CMAKE_INSTALL_PREFIX})
+
+ find_path(_GSM_INCLUDE_DIRS
+- NAMES gsm/gsm.h
++ NAMES gsm.h gsm/gsm.h
+ HINTS ${_GSM_ROOT_PATHS}
+ PATH_SUFFIXES include
+ )
+--- mediastreamer2-5.3.29/cmake/FindDav1d.cmake.orig 2024-02-21 12:02:03.000000000 +0100
++++ mediastreamer2-5.3.29/cmake/FindDav1d.cmake 2024-03-09 20:44:17.671682787 +0100
+@@ -65,17 +65,17 @@ else()
+ PATH_SUFFIXES bin lib lib/Win32
+ )
+
+- if(_Dav1d_INCLUDE_DIRS AND _Dav1d_LIBRARY)
++ if(Dav1d_INCLUDE_DIRS AND Dav1d_LIBRARY)
+ add_library(libdav1d UNKNOWN IMPORTED)
+ if(WIN32)
+ set_target_properties(libdav1d PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${_Dav1d_INCLUDE_DIRS}"
+- IMPORTED_IMPLIB "${_Dav1d_LIBRARY}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Dav1d_INCLUDE_DIRS}"
++ IMPORTED_IMPLIB "${Dav1d_LIBRARY}"
+ )
+ else()
+ set_target_properties(libdav1d PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${_Dav1d_INCLUDE_DIRS}"
+- IMPORTED_LOCATION "${_Dav1d_LIBRARY}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Dav1d_INCLUDE_DIRS}"
++ IMPORTED_LOCATION "${Dav1d_LIBRARY}"
+ )
+ endif()
+
+--- mediastreamer2-5.3.29/cmake/FindAom.cmake.orig 2024-02-21 12:02:03.000000000 +0100
++++ mediastreamer2-5.3.29/cmake/FindAom.cmake 2024-03-09 20:45:16.931361750 +0100
+@@ -65,17 +65,17 @@ else()
+ PATH_SUFFIXES bin lib lib/Win32
+ )
+
+- if(_Aom_INCLUDE_DIRS AND _Aom_LIBRARY)
++ if(Aom_INCLUDE_DIRS AND Aom_LIBRARY)
+ add_library(aom UNKNOWN IMPORTED)
+ if(WIN32)
+ set_target_properties(aom PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${_Aom_INCLUDE_DIRS}"
+- IMPORTED_IMPLIB "${_Aom_LIBRARY}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Aom_INCLUDE_DIRS}"
++ IMPORTED_IMPLIB "${Aom_LIBRARY}"
+ )
+ else()
+ set_target_properties(aom PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${_Aom_INCLUDE_DIRS}"
+- IMPORTED_LOCATION "${_Aom_LIBRARY}"
++ INTERFACE_INCLUDE_DIRECTORIES "${Aom_INCLUDE_DIRS}"
++ IMPORTED_LOCATION "${Aom_LIBRARY}"
+ )
+ endif()
+
diff --git a/gnu/packages/patches/mswebrtc-b64-refactor.patch b/gnu/packages/patches/mswebrtc-b64-refactor.patch
new file mode 100644
index 0000000000..af4a1e1682
--- /dev/null
+++ b/gnu/packages/patches/mswebrtc-b64-refactor.patch
@@ -0,0 +1,949 @@
+From 17e72f00831a36da387ceafe7f3076ffa8f66aba Mon Sep 17 00:00:00 2001
+From: Clemence Him <clemence.him@belledonne-communications.com>
+Date: Fri, 22 Sep 2023 14:28:02 +0200
+Subject: [PATCH] Base64 functions refactoring
+
+---
+ aec.c | 781 +++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 394 insertions(+), 387 deletions(-)
+
+diff --git a/aec.c b/aec.c
+index 271f370..995f655 100644
+--- a/aec.c
++++ b/aec.c
+@@ -24,19 +24,18 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #include "mediastreamer2/msfilter.h"
+ #include "mediastreamer2/msticker.h"
+ #ifdef BUILD_AEC
+-#include "echo_cancellation.h"
+ #include "aec_splitting_filter.h"
++#include "echo_cancellation.h"
+ #endif
+ #ifdef BUILD_AECM
+ #include "echo_control_mobile.h"
+ #endif
+-#include "ortp/b64.h"
+
+ #ifdef _WIN32
+ #include <malloc.h> /* for alloca */
+ #endif
+
+-//#define EC_DUMP 1
++// #define EC_DUMP 1
+ #ifdef ANDROID
+ #define EC_DUMP_PREFIX "/sdcard"
+ #else
+@@ -48,466 +47,485 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ static const float smooth_factor = 0.05f;
+ static const int framesize = 80;
+
+-
+ typedef enum _WebRTCAECType {
+- WebRTCAECTypeNormal,
+- WebRTCAECTypeMobile
++ WebRTCAECTypeNormal,
++ WebRTCAECTypeMobile
+ } WebRTCAECType;
+
+ typedef struct WebRTCAECState {
+- void *aecInst;
+- MSBufferizer delayed_ref;
+- MSFlowControlledBufferizer ref;
+- MSBufferizer echo;
+- int framesize;
+- int samplerate;
+- int delay_ms;
+- int nominal_ref_samples;
+- char *state_str;
++ void *aecInst;
++ MSBufferizer delayed_ref;
++ MSFlowControlledBufferizer ref;
++ MSBufferizer echo;
++ int framesize;
++ int samplerate;
++ int delay_ms;
++ int nominal_ref_samples;
++ char *state_str;
+ #ifdef EC_DUMP
+- FILE *echofile;
+- FILE *reffile;
+- FILE *cleanfile;
++ FILE *echofile;
++ FILE *reffile;
++ FILE *cleanfile;
+ #endif
+- bool_t echostarted;
+- bool_t bypass_mode;
+- bool_t using_zeroes;
+- WebRTCAECType aec_type;
++ bool_t echostarted;
++ bool_t bypass_mode;
++ bool_t using_zeroes;
++ WebRTCAECType aec_type;
+ #ifdef BUILD_AEC
+- MSWebRtcAecSplittingFilter *splitting_filter;
++ MSWebRtcAecSplittingFilter *splitting_filter;
+ #endif
+ } WebRTCAECState;
+
+ static void webrtc_aecgeneric_init(MSFilter *f, WebRTCAECType aec_type) {
+- WebRTCAECState *s = (WebRTCAECState *) ms_new0(WebRTCAECState, 1);
+-
+- s->samplerate = 8000;
+- ms_bufferizer_init(&s->delayed_ref);
+- ms_bufferizer_init(&s->echo);
+- ms_flow_controlled_bufferizer_init(&s->ref, f, s->samplerate, 1);
+- s->delay_ms = 0;
+- s->aecInst = NULL;
+- s->framesize = framesize;
+- s->state_str = NULL;
+- s->using_zeroes = FALSE;
+- s->echostarted = FALSE;
+- s->bypass_mode = FALSE;
+- s->aec_type = aec_type;
++ WebRTCAECState *s = (WebRTCAECState *)ms_new0(WebRTCAECState, 1);
++
++ s->samplerate = 8000;
++ ms_bufferizer_init(&s->delayed_ref);
++ ms_bufferizer_init(&s->echo);
++ ms_flow_controlled_bufferizer_init(&s->ref, f, s->samplerate, 1);
++ s->delay_ms = 0;
++ s->aecInst = NULL;
++ s->framesize = framesize;
++ s->state_str = NULL;
++ s->using_zeroes = FALSE;
++ s->echostarted = FALSE;
++ s->bypass_mode = FALSE;
++ s->aec_type = aec_type;
+
+ #ifdef EC_DUMP
+- {
+- char *fname = ms_strdup_printf("%s/mswebrtcaec-%p-echo.raw", EC_DUMP_PREFIX, f);
+- s->echofile = fopen(fname, "w");
+- ms_free(fname);
+- fname = ms_strdup_printf("%s/mswebrtcaec-%p-ref.raw", EC_DUMP_PREFIX, f);
+- s->reffile = fopen(fname, "w");
+- ms_free(fname);
+- fname = ms_strdup_printf("%s/mswebrtcaec-%p-clean.raw", EC_DUMP_PREFIX, f);
+- s->cleanfile = fopen(fname, "w");
+- ms_free(fname);
+- }
++ {
++ char *fname =
++ ms_strdup_printf("%s/mswebrtcaec-%p-echo.raw", EC_DUMP_PREFIX, f);
++ s->echofile = fopen(fname, "w");
++ ms_free(fname);
++ fname = ms_strdup_printf("%s/mswebrtcaec-%p-ref.raw", EC_DUMP_PREFIX, f);
++ s->reffile = fopen(fname, "w");
++ ms_free(fname);
++ fname = ms_strdup_printf("%s/mswebrtcaec-%p-clean.raw", EC_DUMP_PREFIX, f);
++ s->cleanfile = fopen(fname, "w");
++ ms_free(fname);
++ }
+ #endif
+
+- f->data = s;
++ f->data = s;
+ }
+
+ #ifdef BUILD_AEC
+ static void webrtc_aec_init(MSFilter *f) {
+- webrtc_aecgeneric_init(f, WebRTCAECTypeNormal);
++ webrtc_aecgeneric_init(f, WebRTCAECTypeNormal);
+ }
+ #endif
+
+ #ifdef BUILD_AECM
+ static void webrtc_aecm_init(MSFilter *f) {
+- webrtc_aecgeneric_init(f, WebRTCAECTypeMobile);
++ webrtc_aecgeneric_init(f, WebRTCAECTypeMobile);
+ }
+ #endif
+
+ static void webrtc_aec_uninit(MSFilter *f) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- if (s->state_str) ms_free(s->state_str);
+- ms_bufferizer_uninit(&s->delayed_ref);
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ if (s->state_str)
++ ms_free(s->state_str);
++ ms_bufferizer_uninit(&s->delayed_ref);
+ #ifdef EC_DUMP
+- if (s->echofile)
+- fclose(s->echofile);
+- if (s->reffile)
+- fclose(s->reffile);
++ if (s->echofile)
++ fclose(s->echofile);
++ if (s->reffile)
++ fclose(s->reffile);
+ #endif
+- ms_free(s);
++ ms_free(s);
+ }
+
+ static void configure_flow_controlled_bufferizer(WebRTCAECState *s) {
+- ms_flow_controlled_bufferizer_set_samplerate(&s->ref, s->samplerate);
+- ms_flow_controlled_bufferizer_set_max_size_ms(&s->ref, s->delay_ms);
+- ms_flow_controlled_bufferizer_set_granularity_ms(&s->ref, (s->framesize * 1000) / s->samplerate);
++ ms_flow_controlled_bufferizer_set_samplerate(&s->ref, s->samplerate);
++ ms_flow_controlled_bufferizer_set_max_size_ms(&s->ref, s->delay_ms);
++ ms_flow_controlled_bufferizer_set_granularity_ms(
++ &s->ref, (s->framesize * 1000) / s->samplerate);
+ }
+
+ static void webrtc_aec_preprocess(MSFilter *f) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
+ #ifdef BUILD_AEC
+- AecConfig aec_config;
++ AecConfig aec_config;
+ #endif
+ #ifdef BUILD_AECM
+- AecmConfig aecm_config;
+- int error_code;
++ AecmConfig aecm_config;
++ int error_code;
+ #endif
+- int delay_samples = 0;
+- mblk_t *m;
++ int delay_samples = 0;
++ mblk_t *m;
+
+- s->echostarted = FALSE;
+- delay_samples = s->delay_ms * s->samplerate / 1000;
+- s->framesize=(framesize*s->samplerate)/8000;
+- ms_message("Initializing WebRTC echo canceler with framesize=%i, delay_ms=%i, delay_samples=%i", s->framesize, s->delay_ms, delay_samples);
+- configure_flow_controlled_bufferizer(s);
++ s->echostarted = FALSE;
++ delay_samples = s->delay_ms * s->samplerate / 1000;
++ s->framesize = (framesize * s->samplerate) / 8000;
++ ms_message("Initializing WebRTC echo canceler with framesize=%i, "
++ "delay_ms=%i, delay_samples=%i",
++ s->framesize, s->delay_ms, delay_samples);
++ configure_flow_controlled_bufferizer(s);
+
+ #ifdef BUILD_AEC
+- if (s->aec_type == WebRTCAECTypeNormal) {
+- if ((s->aecInst = WebRtcAec_Create()) == NULL) {
+- s->bypass_mode = TRUE;
+- ms_error("WebRtcAec_Create(): error, entering bypass mode");
+- return;
+- }
+- if ((WebRtcAec_Init(s->aecInst, MIN(48000, s->samplerate), s->samplerate)) < 0) {
+- ms_error("WebRtcAec_Init(): WebRTC echo canceller does not support %d samplerate", s->samplerate);
+- s->bypass_mode = TRUE;
+- ms_error("Entering bypass mode");
+- return;
+- }
+- aec_config.nlpMode = kAecNlpAggressive;
+- aec_config.skewMode = kAecFalse;
+- aec_config.metricsMode = kAecFalse;
+- aec_config.delay_logging = kAecFalse;
+- if (WebRtcAec_set_config(s->aecInst, aec_config) != 0) {
+- ms_error("WebRtcAec_set_config(): failed.");
+- }
+- }
++ if (s->aec_type == WebRTCAECTypeNormal) {
++ if ((s->aecInst = WebRtcAec_Create()) == NULL) {
++ s->bypass_mode = TRUE;
++ ms_error("WebRtcAec_Create(): error, entering bypass mode");
++ return;
++ }
++ if ((WebRtcAec_Init(s->aecInst, MIN(48000, s->samplerate), s->samplerate)) <
++ 0) {
++ ms_error("WebRtcAec_Init(): WebRTC echo canceller does not support %d "
++ "samplerate",
++ s->samplerate);
++ s->bypass_mode = TRUE;
++ ms_error("Entering bypass mode");
++ return;
++ }
++ aec_config.nlpMode = kAecNlpAggressive;
++ aec_config.skewMode = kAecFalse;
++ aec_config.metricsMode = kAecFalse;
++ aec_config.delay_logging = kAecFalse;
++ if (WebRtcAec_set_config(s->aecInst, aec_config) != 0) {
++ ms_error("WebRtcAec_set_config(): failed.");
++ }
++ }
+ #endif
+ #ifdef BUILD_AECM
+- if (s->aec_type == WebRTCAECTypeMobile) {
+- if ((s->aecInst = WebRtcAecm_Create()) == NULL) {
+- s->bypass_mode = TRUE;
+- ms_error("WebRtcAecm_Create(): error, entering bypass mode");
+- return;
+- }
+- if ((error_code = WebRtcAecm_Init(s->aecInst, s->samplerate)) < 0) {
+- if (error_code == AECM_BAD_PARAMETER_ERROR) {
+- ms_error("WebRtcAecm_Init(): WebRTC echo canceller does not support %d samplerate", s->samplerate);
+- }
+- s->bypass_mode = TRUE;
+- ms_error("Entering bypass mode");
+- return;
+- }
+- aecm_config.cngMode = TRUE;
+- aecm_config.echoMode = 3;
+- if (WebRtcAecm_set_config(s->aecInst, aecm_config)!=0){
+- ms_error("WebRtcAecm_set_config(): failed.");
+- }
+- }
++ if (s->aec_type == WebRTCAECTypeMobile) {
++ if ((s->aecInst = WebRtcAecm_Create()) == NULL) {
++ s->bypass_mode = TRUE;
++ ms_error("WebRtcAecm_Create(): error, entering bypass mode");
++ return;
++ }
++ if ((error_code = WebRtcAecm_Init(s->aecInst, s->samplerate)) < 0) {
++ if (error_code == AECM_BAD_PARAMETER_ERROR) {
++ ms_error("WebRtcAecm_Init(): WebRTC echo canceller does not support %d "
++ "samplerate",
++ s->samplerate);
++ }
++ s->bypass_mode = TRUE;
++ ms_error("Entering bypass mode");
++ return;
++ }
++ aecm_config.cngMode = TRUE;
++ aecm_config.echoMode = 3;
++ if (WebRtcAecm_set_config(s->aecInst, aecm_config) != 0) {
++ ms_error("WebRtcAecm_set_config(): failed.");
++ }
++ }
+ #endif
+
+- /* fill with zeroes for the time of the delay*/
+- m = allocb(delay_samples * 2, 0);
+- m->b_wptr += delay_samples * 2;
+- ms_bufferizer_put(&s->delayed_ref, m);
+- s->nominal_ref_samples = delay_samples;
++ /* fill with zeroes for the time of the delay*/
++ m = allocb(delay_samples * 2, 0);
++ m->b_wptr += delay_samples * 2;
++ ms_bufferizer_put(&s->delayed_ref, m);
++ s->nominal_ref_samples = delay_samples;
+ }
+
+ /* inputs[0]= reference signal from far end (sent to soundcard)
+ * inputs[1]= near speech & echo signal (read from soundcard)
+ * outputs[0]= is a copy of inputs[0] to be sent to soundcard
+ * outputs[1]= near end speech, echo removed - towards far end
+-*/
++ */
+ static void webrtc_aec_process(MSFilter *f) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- int nbytes = s->framesize * sizeof(int16_t);
+- mblk_t *refm;
+- int16_t *ref, *echo;
+- int nbands = 1;
+- int bandsize = s->framesize;
+-
+- if (s->bypass_mode) {
+- while ((refm = ms_queue_get(f->inputs[0])) != NULL) {
+- ms_queue_put(f->outputs[0], refm);
+- }
+- while ((refm = ms_queue_get(f->inputs[1])) != NULL) {
+- ms_queue_put(f->outputs[1], refm);
+- }
+- return;
+- }
+-
+- if (f->inputs[0] != NULL) {
+- if (s->echostarted) {
+- while ((refm = ms_queue_get(f->inputs[0])) != NULL) {
+- mblk_t *cp=dupmsg(refm);
+- ms_bufferizer_put(&s->delayed_ref,cp);
+- ms_flow_controlled_bufferizer_put(&s->ref,refm);
+- }
+- } else {
+- ms_warning("Getting reference signal but no echo to synchronize on.");
+- ms_queue_flush(f->inputs[0]);
+- }
+- }
+-
+- ms_bufferizer_put_from_queue(&s->echo, f->inputs[1]);
+-
+- ref = (int16_t *) alloca(nbytes);
+- echo = (int16_t *) alloca(nbytes);
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ int nbytes = s->framesize * sizeof(int16_t);
++ mblk_t *refm;
++ int16_t *ref, *echo;
++ int nbands = 1;
++ int bandsize = s->framesize;
++
++ if (s->bypass_mode) {
++ while ((refm = ms_queue_get(f->inputs[0])) != NULL) {
++ ms_queue_put(f->outputs[0], refm);
++ }
++ while ((refm = ms_queue_get(f->inputs[1])) != NULL) {
++ ms_queue_put(f->outputs[1], refm);
++ }
++ return;
++ }
++
++ if (f->inputs[0] != NULL) {
++ if (s->echostarted) {
++ while ((refm = ms_queue_get(f->inputs[0])) != NULL) {
++ mblk_t *cp = dupmsg(refm);
++ ms_bufferizer_put(&s->delayed_ref, cp);
++ ms_flow_controlled_bufferizer_put(&s->ref, refm);
++ }
++ } else {
++ ms_warning("Getting reference signal but no echo to synchronize on.");
++ ms_queue_flush(f->inputs[0]);
++ }
++ }
++
++ ms_bufferizer_put_from_queue(&s->echo, f->inputs[1]);
++
++ ref = (int16_t *)alloca(nbytes);
++ echo = (int16_t *)alloca(nbytes);
+ #ifdef BUILD_AEC
+- if (s->aec_type == WebRTCAECTypeNormal) {
+- if (s->samplerate > 16000) {
+- nbands = s->samplerate / 16000;
+- bandsize = 160;
+- }
+- if (!s->splitting_filter) {
+- s->splitting_filter = mswebrtc_aec_splitting_filter_create(nbands, bandsize);
+- }
+- }
++ if (s->aec_type == WebRTCAECTypeNormal) {
++ if (s->samplerate > 16000) {
++ nbands = s->samplerate / 16000;
++ bandsize = 160;
++ }
++ if (!s->splitting_filter) {
++ s->splitting_filter =
++ mswebrtc_aec_splitting_filter_create(nbands, bandsize);
++ }
++ }
+ #endif
+- while (ms_bufferizer_read(&s->echo, (uint8_t *)echo, (size_t)nbytes) >= (size_t)nbytes) {
+- mblk_t *oecho = allocb(nbytes, 0);
+- int avail;
+- int avail_samples;
+-
+- if (!s->echostarted) s->echostarted = TRUE;
+- if ((avail = ms_bufferizer_get_avail(&s->delayed_ref)) < ((s->nominal_ref_samples * 2) + nbytes)) {
+- /*we don't have enough to read in a reference signal buffer, inject silence instead*/
+- refm = allocb(nbytes, 0);
+- memset(refm->b_wptr, 0, nbytes);
+- refm->b_wptr += nbytes;
+- ms_bufferizer_put(&s->delayed_ref, refm);
+- /*
+- * However, we don't inject this silence buffer to the sound card, in order to break the following bad loop:
+- * - the sound playback filter detects it has too many pending samples, then triggers an event to request samples to be dropped upstream.
+- * - the upstream MSFlowControl filter is requested to drop samples, which it starts to do.
+- * - necessarily shortly after the AEC goes into a situation where it has not enough reference samples while processing an audio buffer from mic.
+- * - if the AEC injects a silence buffer as output, then it will RECREATE a situation where the sound playback filter has too many pending samples.
+- * That's why we should not do this.
+- * By not doing this, we will create a discrepancy between what we really injected to the soundcard, and what we told to the
+- * echo canceller about the samples we injected. This shifts the echo. The echo canceller will re-converge quickly to take into
+- * account the situation.
+- *
+- */
+- //ms_queue_put(f->outputs[0], dupmsg(refm));
+- if (!s->using_zeroes) {
+- ms_warning("Not enough ref samples, using zeroes");
+- s->using_zeroes = TRUE;
+- }
+- } else {
+- if (s->using_zeroes) {
+- ms_message("Samples are back.");
+- s->using_zeroes = FALSE;
+- }
+- /* read from our no-delay buffer and output */
+- refm = allocb(nbytes, 0);
+- if (ms_flow_controlled_bufferizer_read(&s->ref, refm->b_wptr, nbytes) == 0) {
+- ms_fatal("Should never happen");
+- }
+- refm->b_wptr += nbytes;
+- ms_queue_put(f->outputs[0], refm);
+- }
+-
+- /*now read a valid buffer of delayed ref samples*/
+- if (ms_bufferizer_read(&s->delayed_ref, (uint8_t *)ref, nbytes) == 0) {
+- ms_fatal("Should never happen");
+- }
+- avail -= nbytes;
+- avail_samples = avail / 2;
++ while (ms_bufferizer_read(&s->echo, (uint8_t *)echo, (size_t)nbytes) >=
++ (size_t)nbytes) {
++ mblk_t *oecho = allocb(nbytes, 0);
++ int avail;
++ int avail_samples;
++
++ if (!s->echostarted)
++ s->echostarted = TRUE;
++ if ((avail = ms_bufferizer_get_avail(&s->delayed_ref)) <
++ ((s->nominal_ref_samples * 2) + nbytes)) {
++ /*we don't have enough to read in a reference signal buffer, inject
++ * silence instead*/
++ refm = allocb(nbytes, 0);
++ memset(refm->b_wptr, 0, nbytes);
++ refm->b_wptr += nbytes;
++ ms_bufferizer_put(&s->delayed_ref, refm);
++ /*
++ * However, we don't inject this silence buffer to the sound card, in
++ * order to break the following bad loop:
++ * - the sound playback filter detects it has too many pending samples,
++ * then triggers an event to request samples to be dropped upstream.
++ * - the upstream MSFlowControl filter is requested to drop samples, which
++ * it starts to do.
++ * - necessarily shortly after the AEC goes into a situation where it has
++ * not enough reference samples while processing an audio buffer from mic.
++ * - if the AEC injects a silence buffer as output, then it will RECREATE
++ * a situation where the sound playback filter has too many pending
++ * samples. That's why we should not do this. By not doing this, we will
++ * create a discrepancy between what we really injected to the soundcard,
++ * and what we told to the echo canceller about the samples we injected.
++ * This shifts the echo. The echo canceller will re-converge quickly to
++ * take into account the situation.
++ *
++ */
++ // ms_queue_put(f->outputs[0], dupmsg(refm));
++ if (!s->using_zeroes) {
++ ms_warning("Not enough ref samples, using zeroes");
++ s->using_zeroes = TRUE;
++ }
++ } else {
++ if (s->using_zeroes) {
++ ms_message("Samples are back.");
++ s->using_zeroes = FALSE;
++ }
++ /* read from our no-delay buffer and output */
++ refm = allocb(nbytes, 0);
++ if (ms_flow_controlled_bufferizer_read(&s->ref, refm->b_wptr, nbytes) ==
++ 0) {
++ ms_fatal("Should never happen");
++ }
++ refm->b_wptr += nbytes;
++ ms_queue_put(f->outputs[0], refm);
++ }
++
++ /*now read a valid buffer of delayed ref samples*/
++ if (ms_bufferizer_read(&s->delayed_ref, (uint8_t *)ref, nbytes) == 0) {
++ ms_fatal("Should never happen");
++ }
++ avail -= nbytes;
++ avail_samples = avail / 2;
+
+ #ifdef EC_DUMP
+- if (s->reffile)
+- fwrite(ref, nbytes, 1, s->reffile);
+- if (s->echofile)
+- fwrite(echo, nbytes, 1, s->echofile);
++ if (s->reffile)
++ fwrite(ref, nbytes, 1, s->reffile);
++ if (s->echofile)
++ fwrite(echo, nbytes, 1, s->echofile);
+ #endif
+ #ifdef BUILD_AEC
+- if (s->aec_type == WebRTCAECTypeNormal) {
+- mswebrtc_aec_splitting_filter_analysis(s->splitting_filter, ref, echo);
+- if (WebRtcAec_BufferFarend(s->aecInst,
+- mswebrtc_aec_splitting_filter_get_ref(s->splitting_filter),
+- (size_t)mswebrtc_aec_splitting_filter_get_bandsize(s->splitting_filter)) != 0)
+- ms_error("WebRtcAec_BufferFarend() failed.");
+- if (WebRtcAec_Process(s->aecInst,
+- mswebrtc_aec_splitting_filter_get_echo_bands(s->splitting_filter),
+- mswebrtc_aec_splitting_filter_get_number_of_bands(s->splitting_filter),
+- mswebrtc_aec_splitting_filter_get_output_bands(s->splitting_filter),
+- (size_t)mswebrtc_aec_splitting_filter_get_bandsize(s->splitting_filter), 0, 0) != 0)
+- ms_error("WebRtcAec_Process() failed.");
+- mswebrtc_aec_splitting_filter_synthesis(s->splitting_filter, (int16_t *)oecho->b_wptr);
+- }
++ if (s->aec_type == WebRTCAECTypeNormal) {
++ mswebrtc_aec_splitting_filter_analysis(s->splitting_filter, ref, echo);
++ if (WebRtcAec_BufferFarend(
++ s->aecInst,
++ mswebrtc_aec_splitting_filter_get_ref(s->splitting_filter),
++ (size_t)mswebrtc_aec_splitting_filter_get_bandsize(
++ s->splitting_filter)) != 0)
++ ms_error("WebRtcAec_BufferFarend() failed.");
++ if (WebRtcAec_Process(
++ s->aecInst,
++ mswebrtc_aec_splitting_filter_get_echo_bands(s->splitting_filter),
++ mswebrtc_aec_splitting_filter_get_number_of_bands(
++ s->splitting_filter),
++ mswebrtc_aec_splitting_filter_get_output_bands(
++ s->splitting_filter),
++ (size_t)mswebrtc_aec_splitting_filter_get_bandsize(
++ s->splitting_filter),
++ 0, 0) != 0)
++ ms_error("WebRtcAec_Process() failed.");
++ mswebrtc_aec_splitting_filter_synthesis(s->splitting_filter,
++ (int16_t *)oecho->b_wptr);
++ }
+ #endif
+ #ifdef BUILD_AECM
+- if (s->aec_type == WebRTCAECTypeMobile) {
+- if (WebRtcAecm_BufferFarend(s->aecInst, ref, (size_t)s->framesize) != 0)
+- ms_error("WebRtcAecm_BufferFarend() failed.");
+- if (WebRtcAecm_Process(s->aecInst, echo, NULL, (int16_t *)oecho->b_wptr, (size_t)s->framesize, 0) != 0)
+- ms_error("WebRtcAecm_Process() failed.");
+- }
++ if (s->aec_type == WebRTCAECTypeMobile) {
++ if (WebRtcAecm_BufferFarend(s->aecInst, ref, (size_t)s->framesize) != 0)
++ ms_error("WebRtcAecm_BufferFarend() failed.");
++ if (WebRtcAecm_Process(s->aecInst, echo, NULL, (int16_t *)oecho->b_wptr,
++ (size_t)s->framesize, 0) != 0)
++ ms_error("WebRtcAecm_Process() failed.");
++ }
+ #endif
+ #ifdef EC_DUMP
+- if (s->cleanfile)
+- fwrite(oecho->b_wptr, nbytes, 1, s->cleanfile);
++ if (s->cleanfile)
++ fwrite(oecho->b_wptr, nbytes, 1, s->cleanfile);
+ #endif
+- oecho->b_wptr += nbytes;
+- ms_queue_put(f->outputs[1], oecho);
+- }
++ oecho->b_wptr += nbytes;
++ ms_queue_put(f->outputs[1], oecho);
++ }
+ }
+
+ static void webrtc_aec_postprocess(MSFilter *f) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
+
+- ms_bufferizer_flush(&s->delayed_ref);
+- ms_bufferizer_flush(&s->echo);
+- ms_flow_controlled_bufferizer_flush(&s->ref);
++ ms_bufferizer_flush(&s->delayed_ref);
++ ms_bufferizer_flush(&s->echo);
++ ms_flow_controlled_bufferizer_flush(&s->ref);
+ #ifdef BUILD_AEC
+- if (s->splitting_filter) {
+- mswebrtc_aec_splitting_filter_destroy(s->splitting_filter);
+- s->splitting_filter = NULL;
+- }
++ if (s->splitting_filter) {
++ mswebrtc_aec_splitting_filter_destroy(s->splitting_filter);
++ s->splitting_filter = NULL;
++ }
+ #endif
+- if (s->aecInst != NULL) {
++ if (s->aecInst != NULL) {
+ #ifdef BUILD_AEC
+- if (s->aec_type == WebRTCAECTypeNormal) {
+- WebRtcAec_Free(s->aecInst);
+- }
++ if (s->aec_type == WebRTCAECTypeNormal) {
++ WebRtcAec_Free(s->aecInst);
++ }
+ #endif
+ #ifdef BUILD_AECM
+- if (s->aec_type == WebRTCAECTypeMobile) {
+- WebRtcAecm_Free(s->aecInst);
+- }
++ if (s->aec_type == WebRTCAECTypeMobile) {
++ WebRtcAecm_Free(s->aecInst);
++ }
+ #endif
+- s->aecInst = NULL;
+- }
++ s->aecInst = NULL;
++ }
+ }
+
+ static int webrtc_aec_set_sr(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- int requested_sr = *(int *) arg;
+- int sr = requested_sr;
+-
+- if ((s->aec_type == WebRTCAECTypeNormal) && (requested_sr >= 48000)) {
+- sr = 48000;
+- } else if ((s->aec_type == WebRTCAECTypeNormal) && (requested_sr >= 32000)) {
+- sr = 32000;
+- } else if (requested_sr >= 16000) {
+- sr = 16000;
+- } else {
+- sr = 8000;
+- }
+- if (sr != requested_sr)
+- ms_message("Webrtc %s does not support sampling rate %i, using %i instead", ((s->aec_type == WebRTCAECTypeNormal)?"aec":"aecm"),requested_sr, sr);
+-
+- s->samplerate = sr;
+- configure_flow_controlled_bufferizer(s);
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ int requested_sr = *(int *)arg;
++ int sr = requested_sr;
++
++ if ((s->aec_type == WebRTCAECTypeNormal) && (requested_sr >= 48000)) {
++ sr = 48000;
++ } else if ((s->aec_type == WebRTCAECTypeNormal) && (requested_sr >= 32000)) {
++ sr = 32000;
++ } else if (requested_sr >= 16000) {
++ sr = 16000;
++ } else {
++ sr = 8000;
++ }
++ if (sr != requested_sr)
++ ms_message("Webrtc %s does not support sampling rate %i, using %i instead",
++ ((s->aec_type == WebRTCAECTypeNormal) ? "aec" : "aecm"),
++ requested_sr, sr);
++
++ s->samplerate = sr;
++ configure_flow_controlled_bufferizer(s);
++ return 0;
+ }
+
+ static int webrtc_aec_get_sr(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- *(int *) arg=s->samplerate;
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ *(int *)arg = s->samplerate;
++ return 0;
+ }
+
+ static int webrtc_aec_set_framesize(MSFilter *f, void *arg) {
+- /* Do nothing because the WebRTC echo canceller only accept specific values: 80 and 160. We use 80 at 8khz, and 160 at 16khz */
+- return 0;
++ /* Do nothing because the WebRTC echo canceller only accept specific values:
++ * 80 and 160. We use 80 at 8khz, and 160 at 16khz */
++ return 0;
+ }
+
+ static int webrtc_aec_set_delay(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- s->delay_ms = *(int *) arg;
+- configure_flow_controlled_bufferizer(s);
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ s->delay_ms = *(int *)arg;
++ configure_flow_controlled_bufferizer(s);
++ return 0;
+ }
+
+ static int webrtc_aec_set_tail_length(MSFilter *f, void *arg) {
+- /* Do nothing because this is not needed by the WebRTC echo canceller. */
+- return 0;
++ /* Do nothing because this is not needed by the WebRTC echo canceller. */
++ return 0;
+ }
+ static int webrtc_aec_set_bypass_mode(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- s->bypass_mode = *(bool_t *) arg;
+- ms_message("set EC bypass mode to [%i]", s->bypass_mode);
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ s->bypass_mode = *(bool_t *)arg;
++ ms_message("set EC bypass mode to [%i]", s->bypass_mode);
++ return 0;
+ }
+ static int webrtc_aec_get_bypass_mode(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- *(bool_t *) arg = s->bypass_mode;
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ *(bool_t *)arg = s->bypass_mode;
++ return 0;
+ }
+
+ static int webrtc_aec_set_state(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- s->state_str = ms_strdup((const char *) arg);
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ s->state_str = ms_strdup((const char *)arg);
++ return 0;
+ }
+
+ static int webrtc_aec_get_state(MSFilter *f, void *arg) {
+- WebRTCAECState *s = (WebRTCAECState *) f->data;
+- *(char **) arg = s->state_str;
+- return 0;
++ WebRTCAECState *s = (WebRTCAECState *)f->data;
++ *(char **)arg = s->state_str;
++ return 0;
+ }
+
+ static MSFilterMethod webrtc_aec_methods[] = {
+- { MS_FILTER_SET_SAMPLE_RATE , webrtc_aec_set_sr },
+- { MS_FILTER_GET_SAMPLE_RATE , webrtc_aec_get_sr },
+- { MS_ECHO_CANCELLER_SET_TAIL_LENGTH , webrtc_aec_set_tail_length },
+- { MS_ECHO_CANCELLER_SET_DELAY , webrtc_aec_set_delay },
+- { MS_ECHO_CANCELLER_SET_FRAMESIZE , webrtc_aec_set_framesize },
+- { MS_ECHO_CANCELLER_SET_BYPASS_MODE , webrtc_aec_set_bypass_mode },
+- { MS_ECHO_CANCELLER_GET_BYPASS_MODE , webrtc_aec_get_bypass_mode },
+- { MS_ECHO_CANCELLER_GET_STATE_STRING , webrtc_aec_get_state },
+- { MS_ECHO_CANCELLER_SET_STATE_STRING , webrtc_aec_set_state },
+- { 0, NULL }
+-};
+-
++ {MS_FILTER_SET_SAMPLE_RATE, webrtc_aec_set_sr},
++ {MS_FILTER_GET_SAMPLE_RATE, webrtc_aec_get_sr},
++ {MS_ECHO_CANCELLER_SET_TAIL_LENGTH, webrtc_aec_set_tail_length},
++ {MS_ECHO_CANCELLER_SET_DELAY, webrtc_aec_set_delay},
++ {MS_ECHO_CANCELLER_SET_FRAMESIZE, webrtc_aec_set_framesize},
++ {MS_ECHO_CANCELLER_SET_BYPASS_MODE, webrtc_aec_set_bypass_mode},
++ {MS_ECHO_CANCELLER_GET_BYPASS_MODE, webrtc_aec_get_bypass_mode},
++ {MS_ECHO_CANCELLER_GET_STATE_STRING, webrtc_aec_get_state},
++ {MS_ECHO_CANCELLER_SET_STATE_STRING, webrtc_aec_set_state},
++ {0, NULL}};
+
+ #ifdef BUILD_AEC
+
+-#define MS_WEBRTC_AEC_NAME "MSWebRTCAEC"
++#define MS_WEBRTC_AEC_NAME "MSWebRTCAEC"
+ #define MS_WEBRTC_AEC_DESCRIPTION "Echo canceller using WebRTC library."
+-#define MS_WEBRTC_AEC_CATEGORY MS_FILTER_OTHER
+-#define MS_WEBRTC_AEC_ENC_FMT NULL
+-#define MS_WEBRTC_AEC_NINPUTS 2
+-#define MS_WEBRTC_AEC_NOUTPUTS 2
+-#define MS_WEBRTC_AEC_FLAGS 0
++#define MS_WEBRTC_AEC_CATEGORY MS_FILTER_OTHER
++#define MS_WEBRTC_AEC_ENC_FMT NULL
++#define MS_WEBRTC_AEC_NINPUTS 2
++#define MS_WEBRTC_AEC_NOUTPUTS 2
++#define MS_WEBRTC_AEC_FLAGS 0
+
+ #ifdef _MSC_VER
+
+ MSFilterDesc ms_webrtc_aec_desc = {
+- MS_FILTER_PLUGIN_ID,
+- MS_WEBRTC_AEC_NAME,
+- MS_WEBRTC_AEC_DESCRIPTION,
+- MS_WEBRTC_AEC_CATEGORY,
+- MS_WEBRTC_AEC_ENC_FMT,
+- MS_WEBRTC_AEC_NINPUTS,
+- MS_WEBRTC_AEC_NOUTPUTS,
+- webrtc_aec_init,
+- webrtc_aec_preprocess,
+- webrtc_aec_process,
+- webrtc_aec_postprocess,
+- webrtc_aec_uninit,
+- webrtc_aec_methods,
+- MS_WEBRTC_AEC_FLAGS
+-};
++ MS_FILTER_PLUGIN_ID, MS_WEBRTC_AEC_NAME, MS_WEBRTC_AEC_DESCRIPTION,
++ MS_WEBRTC_AEC_CATEGORY, MS_WEBRTC_AEC_ENC_FMT, MS_WEBRTC_AEC_NINPUTS,
++ MS_WEBRTC_AEC_NOUTPUTS, webrtc_aec_init, webrtc_aec_preprocess,
++ webrtc_aec_process, webrtc_aec_postprocess, webrtc_aec_uninit,
++ webrtc_aec_methods, MS_WEBRTC_AEC_FLAGS};
+
+ #else
+
+-MSFilterDesc ms_webrtc_aec_desc = {
+- .id = MS_FILTER_PLUGIN_ID,
+- .name = MS_WEBRTC_AEC_NAME,
+- .text = MS_WEBRTC_AEC_DESCRIPTION,
+- .category = MS_WEBRTC_AEC_CATEGORY,
+- .enc_fmt = MS_WEBRTC_AEC_ENC_FMT,
+- .ninputs = MS_WEBRTC_AEC_NINPUTS,
+- .noutputs = MS_WEBRTC_AEC_NOUTPUTS,
+- .init = webrtc_aec_init,
+- .preprocess = webrtc_aec_preprocess,
+- .process = webrtc_aec_process,
+- .postprocess = webrtc_aec_postprocess,
+- .uninit = webrtc_aec_uninit,
+- .methods = webrtc_aec_methods,
+- .flags = MS_WEBRTC_AEC_FLAGS
+-};
++MSFilterDesc ms_webrtc_aec_desc = {.id = MS_FILTER_PLUGIN_ID,
++ .name = MS_WEBRTC_AEC_NAME,
++ .text = MS_WEBRTC_AEC_DESCRIPTION,
++ .category = MS_WEBRTC_AEC_CATEGORY,
++ .enc_fmt = MS_WEBRTC_AEC_ENC_FMT,
++ .ninputs = MS_WEBRTC_AEC_NINPUTS,
++ .noutputs = MS_WEBRTC_AEC_NOUTPUTS,
++ .init = webrtc_aec_init,
++ .preprocess = webrtc_aec_preprocess,
++ .process = webrtc_aec_process,
++ .postprocess = webrtc_aec_postprocess,
++ .uninit = webrtc_aec_uninit,
++ .methods = webrtc_aec_methods,
++ .flags = MS_WEBRTC_AEC_FLAGS};
+
+ #endif
+
+@@ -517,51 +535,40 @@ MS_FILTER_DESC_EXPORT(ms_webrtc_aec_desc)
+
+ #ifdef BUILD_AECM
+
+-#define MS_WEBRTC_AECM_NAME "MSWebRTCAECM"
+-#define MS_WEBRTC_AECM_DESCRIPTION "Echo canceller for mobile using WebRTC library."
+-#define MS_WEBRTC_AECM_CATEGORY MS_FILTER_OTHER
+-#define MS_WEBRTC_AECM_ENC_FMT NULL
+-#define MS_WEBRTC_AECM_NINPUTS 2
+-#define MS_WEBRTC_AECM_NOUTPUTS 2
+-#define MS_WEBRTC_AECM_FLAGS 0
++#define MS_WEBRTC_AECM_NAME "MSWebRTCAECM"
++#define MS_WEBRTC_AECM_DESCRIPTION \
++ "Echo canceller for mobile using WebRTC library."
++#define MS_WEBRTC_AECM_CATEGORY MS_FILTER_OTHER
++#define MS_WEBRTC_AECM_ENC_FMT NULL
++#define MS_WEBRTC_AECM_NINPUTS 2
++#define MS_WEBRTC_AECM_NOUTPUTS 2
++#define MS_WEBRTC_AECM_FLAGS 0
+
+ #ifdef _MSC_VER
+
+ MSFilterDesc ms_webrtc_aecm_desc = {
+- MS_FILTER_PLUGIN_ID,
+- MS_WEBRTC_AECM_NAME,
+- MS_WEBRTC_AECM_DESCRIPTION,
+- MS_WEBRTC_AECM_CATEGORY,
+- MS_WEBRTC_AECM_ENC_FMT,
+- MS_WEBRTC_AECM_NINPUTS,
+- MS_WEBRTC_AECM_NOUTPUTS,
+- webrtc_aecm_init,
+- webrtc_aec_preprocess,
+- webrtc_aec_process,
+- webrtc_aec_postprocess,
+- webrtc_aec_uninit,
+- webrtc_aec_methods,
+- MS_WEBRTC_AECM_FLAGS
+-};
++ MS_FILTER_PLUGIN_ID, MS_WEBRTC_AECM_NAME, MS_WEBRTC_AECM_DESCRIPTION,
++ MS_WEBRTC_AECM_CATEGORY, MS_WEBRTC_AECM_ENC_FMT, MS_WEBRTC_AECM_NINPUTS,
++ MS_WEBRTC_AECM_NOUTPUTS, webrtc_aecm_init, webrtc_aec_preprocess,
++ webrtc_aec_process, webrtc_aec_postprocess, webrtc_aec_uninit,
++ webrtc_aec_methods, MS_WEBRTC_AECM_FLAGS};
+
+ #else
+
+-MSFilterDesc ms_webrtc_aecm_desc = {
+- .id = MS_FILTER_PLUGIN_ID,
+- .name = MS_WEBRTC_AECM_NAME,
+- .text = MS_WEBRTC_AECM_DESCRIPTION,
+- .category = MS_WEBRTC_AECM_CATEGORY,
+- .enc_fmt = MS_WEBRTC_AECM_ENC_FMT,
+- .ninputs = MS_WEBRTC_AECM_NINPUTS,
+- .noutputs = MS_WEBRTC_AECM_NOUTPUTS,
+- .init = webrtc_aecm_init,
+- .preprocess = webrtc_aec_preprocess,
+- .process = webrtc_aec_process,
+- .postprocess = webrtc_aec_postprocess,
+- .uninit = webrtc_aec_uninit,
+- .methods = webrtc_aec_methods,
+- .flags = MS_WEBRTC_AECM_FLAGS
+-};
++MSFilterDesc ms_webrtc_aecm_desc = {.id = MS_FILTER_PLUGIN_ID,
++ .name = MS_WEBRTC_AECM_NAME,
++ .text = MS_WEBRTC_AECM_DESCRIPTION,
++ .category = MS_WEBRTC_AECM_CATEGORY,
++ .enc_fmt = MS_WEBRTC_AECM_ENC_FMT,
++ .ninputs = MS_WEBRTC_AECM_NINPUTS,
++ .noutputs = MS_WEBRTC_AECM_NOUTPUTS,
++ .init = webrtc_aecm_init,
++ .preprocess = webrtc_aec_preprocess,
++ .process = webrtc_aec_process,
++ .postprocess = webrtc_aec_postprocess,
++ .uninit = webrtc_aec_uninit,
++ .methods = webrtc_aec_methods,
++ .flags = MS_WEBRTC_AECM_FLAGS};
+
+ #endif
+
+--
+GitLab
+
diff --git a/gnu/packages/patches/mswebrtc-cmake.patch b/gnu/packages/patches/mswebrtc-cmake.patch
new file mode 100644
index 0000000000..19d0c31b10
--- /dev/null
+++ b/gnu/packages/patches/mswebrtc-cmake.patch
@@ -0,0 +1,626 @@
+From e52911c291e5ebe16da764e53cb740b7deb77e75 Mon Sep 17 00:00:00 2001
+From: Ghislain MARY <ghislain.mary@belledonne-communications.com>
+Date: Mon, 13 Mar 2023 19:05:30 +0100
+Subject: [PATCH] Update CMakeLists.txt so that the project can be added as a
+ subdirectory of linphone-sdk.
+
+Rename CMake targets for uniform naming.
+---
+ CMakeLists.txt | 68 ++++++++++++++++++----------------
+ cmake/FindBcToolbox.cmake | 67 +++++++++++++++++++++++++++++++++
+ cmake/FindMediastreamer2.cmake | 46 +++++++++++++++++++++++
+ cmake/FindOrtp.cmake | 43 +++++++++++++++++++++
+ 4 files changed, 193 insertions(+), 31 deletions(-)
+ create mode 100644 cmake/FindBcToolbox.cmake
+ create mode 100644 cmake/FindMediastreamer2.cmake
+ create mode 100644 cmake/FindOrtp.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0f26f4f..fd5b52e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ ############################################################################
+ # CMakeLists.txt
+-# Copyright (C) 2014 Belledonne Communications, Grenoble France
++# Copyright (C) 2014-2023 Belledonne Communications, Grenoble France
+ #
+ ############################################################################
+ #
+@@ -20,7 +20,8 @@
+ #
+ ############################################################################
+
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.22)
++
+ project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
+
+
+@@ -34,8 +35,6 @@ set(PACKAGE_URL "")
+ set(VERSION "${PACKAGE_VERSION}")
+
+
+-option(ENABLE_SHARED "Build shared library." YES)
+-option(ENABLE_STATIC "Build static library." YES)
+ option(ENABLE_AEC "Enable the WebRTC echo canceller support." YES)
+ option(ENABLE_AECM "Enable the WebRTC echo canceller for mobile support." YES)
+ option(ENABLE_ISAC "Enable the ISAC audio codec support." YES)
+@@ -60,9 +59,20 @@ if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX)
+ message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}")
+ endif()
+
+-find_package(Mediastreamer2 REQUIRED CONFIG)
+-find_package(ortp REQUIRED CONFIG)
+-find_package(bctoolbox REQUIRED CONFIG)
++list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
++
++find_package(BcToolbox)
++if(NOT BCTOOLBOX_FOUND)
++ find_package(bctoolbox REQUIRED CONFIG)
++endif()
++find_package(Ortp)
++if(NOT ORTP_FOUND)
++ find_package(ortp REQUIRED CONFIG)
++endif()
++find_package(Mediastreamer2)
++if(NOT MEDIASTREAMER2_FOUND)
++ find_package(Mediastreamer2 REQUIRED CONFIG)
++endif()
+
+ find_library(LIBM NAMES m)
+
+@@ -410,24 +420,18 @@ endif()
+
+ set(MS2_PLUGINS_DIR "${MEDIASTREAMER2_PLUGINS_LOCATION}")
+
+-if(ENABLE_STATIC)
+- add_library(mswebrtc-static STATIC ${SOURCE_FILES})
+- set_target_properties(mswebrtc-static PROPERTIES OUTPUT_NAME mswebrtc)
+- set_target_properties(mswebrtc-static PROPERTIES LINKER_LANGUAGE CXX)
+- target_link_libraries(mswebrtc-static ${LIBS})
+- install(TARGETS mswebrtc-static
+- ARCHIVE DESTINATION "${MS2_PLUGINS_DIR}"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+- )
+-endif()
+-if(ENABLE_SHARED)
+- if(NOT IOS)
+- add_library(mswebrtc MODULE ${SOURCE_FILES})
+- else()
++if(BUILD_SHARED_LIBS)
++ if(IOS)
+ add_library(mswebrtc SHARED ${SOURCE_FILES})
++ else()
++ add_library(mswebrtc MODULE ${SOURCE_FILES})
+ endif()
+- target_link_libraries(mswebrtc PRIVATE mediastreamer ortp bctoolbox ${LIBS})
+- set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
++else()
++ add_library(mswebrtc STATIC ${SOURCE_FILES})
++endif()
++target_link_libraries(mswebrtc PRIVATE mediastreamer2 ortp bctoolbox ${LIBS})
++set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
++if(BUILD_SHARED_LIBS)
+ if(APPLE)
+ if(IOS)
+ set(MIN_OS ${LINPHONE_IOS_DEPLOYMENT_TARGET})
+@@ -441,7 +445,7 @@ if(ENABLE_SHARED)
+ set(MIN_OS ${CMAKE_OSX_DEPLOYMENT_TARGET})
+ endif()
+
+- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/osx/")
++ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/build/osx/")
+ endif()
+ if(MSVC)
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
+@@ -454,14 +458,16 @@ if(ENABLE_SHARED)
+ set_target_properties(mswebrtc PROPERTIES PREFIX "lib")
+ endif()
+ endif()
+- install(TARGETS mswebrtc
+- RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
+- LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
+- ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
+- FRAMEWORK DESTINATION Frameworks
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+- )
+ endif()
+
++install(TARGETS mswebrtc
++ RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
++ LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
++ ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
++ FRAMEWORK DESTINATION Frameworks
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
++)
++
++
+ add_subdirectory(build)
+
+diff --git a/cmake/FindBcToolbox.cmake b/cmake/FindBcToolbox.cmake
+new file mode 100644
+index 0000000..5766478
+--- /dev/null
++++ b/cmake/FindBcToolbox.cmake
+@@ -0,0 +1,67 @@
++############################################################################
++# FindBctoolbox.cmake
++# Copyright (C) 2023 Belledonne Communications, Grenoble France
++#
++############################################################################
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License
++# as published by the Free Software Foundation; either version 2
++# of the License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++#
++############################################################################
++#
++# - Find the bctoolbox include files and library
++#
++# BCTOOLBOX_FOUND - System has lib bctoolbox
++# BCTOOLBOX_INCLUDE_DIRS - The bctoolbox include directories
++# BCTOOLBOX_LIBRARIES - The libraries needed to use bctoolbox
++# BCTOOLBOX_CMAKE_DIR - The bctoolbox cmake directory
++# BCTOOLBOX_CORE_FOUND - System has core bctoolbox
++# BCTOOLBOX_CORE_INCLUDE_DIRS - The core bctoolbox include directories
++# BCTOOLBOX_CORE_LIBRARIES - The core bctoolbox libraries
++# BCTOOLBOX_TESTER_FOUND - System has bctoolbox tester
++# BCTOOLBOX_TESTER_INCLUDE_DIRS - The bctoolbox tester include directories
++# BCTOOLBOX_TESTER_LIBRARIES - The bctoolbox tester libraries
++
++if(TARGET bctoolbox)
++
++ set(BCTOOLBOX_CORE_LIBRARIES bctoolbox)
++ get_target_property(BCTOOLBOX_CORE_INCLUDE_DIRS bctoolbox INTERFACE_INCLUDE_DIRECTORIES)
++ set(BCTOOLBOX_CORE_FOUND TRUE)
++ get_target_property(BCTOOLBOX_SOURCE_DIR bctoolbox SOURCE_DIR)
++ set(BCTOOLBOX_CMAKE_DIR "${BCTOOLBOX_SOURCE_DIR}/../cmake")
++ if(TARGET bctoolbox-tester)
++ set(BCTOOLBOX_TESTER_LIBRARIES bctoolbox-tester)
++ get_target_property(BCTOOLBOX_TESTER_INCLUDE_DIRS bctoolbox-tester INTERFACE_INCLUDE_DIRECTORIES)
++ set(BCTOOLBOX_TESTER_FOUND TRUE)
++ set(BCTOOLBOX_TESTER_COMPONENT_VARIABLES BCTOOLBOX_TESTER_FOUND BCTOOLBOX_TESTER_INCLUDE_DIRS BCTOOLBOX_TESTER_LIBRARIES)
++ endif()
++ set(BCTOOLBOX_LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BCTOOLBOX_TESTER_LIBRARIES})
++ set(BCTOOLBOX_INCLUDE_DIRS ${BCTOOLBOX_CORE_INCLUDE_DIRS} ${BCTOOLBOX_TESTER_INCLUDE_DIRS})
++
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(BcToolbox
++ DEFAULT_MSG
++ BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
++ BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
++ ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
++ )
++
++ mark_as_advanced(
++ BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
++ BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
++ ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
++ )
++
++endif()
+diff --git a/cmake/FindMediastreamer2.cmake b/cmake/FindMediastreamer2.cmake
+new file mode 100644
+index 0000000..64ac8f2
+--- /dev/null
++++ b/cmake/FindMediastreamer2.cmake
+@@ -0,0 +1,46 @@
++############################################################################
++# FindMediastreamer2.cmake
++# Copyright (C) 2023 Belledonne Communications, Grenoble France
++#
++############################################################################
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License
++# as published by the Free Software Foundation; either version 2
++# of the License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++#
++############################################################################
++#
++# - Find the mediastreamer2 include files and library
++#
++# MEDIASTREAMER2_FOUND - system has lib mediastreamer2
++# MEDIASTREAMER2_INCLUDE_DIRS - the mediasteamer2 include directory
++# MEDIASTREAMER2_LIBRARIES - The library needed to use mediasteamer2
++# MEDIASTREAMER2_PLUGINS_LOCATION - The location of the mediastreamer2 plugins
++
++if(TARGET mediastreamer2)
++
++ set(MEDIASTREAMER2_LIBRARIES mediastreamer2)
++ get_target_property(MEDIASTREAMER2_INCLUDE_DIRS mediastreamer2 INTERFACE_INCLUDE_DIRECTORIES)
++ define_property(TARGET PROPERTY "MS2_PLUGINS" BRIEF_DOCS "Stores the location of mediastreamer2 plugins" FULL_DOCS "Stores the location of mediastreamer2 plugins")
++ get_target_property(MEDIASTREAMER2_PLUGINS_LOCATION mediastreamer2 MS2_PLUGINS)
++
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(Mediastreamer2
++ DEFAULT_MSG
++ MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES
++ )
++
++ mark_as_advanced(MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES)
++
++endif()
+diff --git a/cmake/FindOrtp.cmake b/cmake/FindOrtp.cmake
+new file mode 100644
+index 0000000..13121fb
+--- /dev/null
++++ b/cmake/FindOrtp.cmake
+@@ -0,0 +1,43 @@
++############################################################################
++# FindOrtp.cmake
++# Copyright (C) 2023 Belledonne Communications, Grenoble France
++#
++############################################################################
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License
++# as published by the Free Software Foundation; either version 2
++# of the License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++#
++############################################################################
++#
++# - Find the ortp include files and library
++#
++# ORTP_FOUND - system has lib ortp
++# ORTP_INCLUDE_DIRS - the ortp include directory
++# ORTP_LIBRARIES - The library needed to use ortp
++
++if(TARGET ortp)
++
++ set(ORTP_LIBRARIES ortp)
++ get_target_property(ORTP_INCLUDE_DIRS ortp INTERFACE_INCLUDE_DIRECTORIES)
++
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(Ortp
++ DEFAULT_MSG
++ ORTP_INCLUDE_DIRS ORTP_LIBRARIES
++ )
++
++ mark_as_advanced(ORTP_INCLUDE_DIRS ORTP_LIBRARIES)
++
++endif()
+--
+GitLab
+
+From b5aea9bdaeecd99f6fc5601bfb88541d4e55841b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micka=C3=ABl=20Turnel?=
+ <mickael.turnel@belledonne-communications.com>
+Date: Fri, 23 Jun 2023 11:05:24 +0200
+Subject: [PATCH] Change the library path in the binary dir so it can be
+ retrieved easily by testers
+
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fd5b52e..ab3e651 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,6 +24,7 @@ cmake_minimum_required(VERSION 3.22)
+
+ project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
+
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/mediastreamer2/plugins")
+
+ set(PACKAGE "${PROJECT_NAME}")
+ set(PACKAGE_NAME "${PROJECT_NAME}")
+--
+GitLab
+
+From 1809337d6191ec40f88191b5ce07cfb01ed07b20 Mon Sep 17 00:00:00 2001
+From: Ghislain MARY <ghislain.mary@belledonne-communications.com>
+Date: Tue, 20 Jun 2023 11:47:00 +0200
+Subject: [PATCH] Improve CMake find_package functionality.
+
+---
+ CMakeLists.txt | 30 ++++-----------
+ build/CMakeLists.txt | 3 +-
+ cmake/FindBcToolbox.cmake | 67 ----------------------------------
+ cmake/FindMediastreamer2.cmake | 46 -----------------------
+ cmake/FindOrtp.cmake | 43 ----------------------
+ 5 files changed, 10 insertions(+), 179 deletions(-)
+ delete mode 100644 cmake/FindBcToolbox.cmake
+ delete mode 100644 cmake/FindMediastreamer2.cmake
+ delete mode 100644 cmake/FindOrtp.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ab3e651..a869908 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,7 +22,7 @@
+
+ cmake_minimum_required(VERSION 3.22)
+
+-project(mswebrtc VERSION 1.1.1 LANGUAGES C CXX)
++project(MSWebRTC VERSION 1.1.1 LANGUAGES C CXX)
+
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/mediastreamer2/plugins")
+
+@@ -60,20 +60,8 @@ if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX)
+ message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}")
+ endif()
+
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+-
+-find_package(BcToolbox)
+-if(NOT BCTOOLBOX_FOUND)
+- find_package(bctoolbox REQUIRED CONFIG)
+-endif()
+-find_package(Ortp)
+-if(NOT ORTP_FOUND)
+- find_package(ortp REQUIRED CONFIG)
+-endif()
+-find_package(Mediastreamer2)
+-if(NOT MEDIASTREAMER2_FOUND)
+- find_package(Mediastreamer2 REQUIRED CONFIG)
+-endif()
++find_package(BCToolbox 5.3.0 REQUIRED)
++find_package(Mediastreamer2 5.3.0 REQUIRED)
+
+ find_library(LIBM NAMES m)
+
+@@ -92,7 +80,7 @@ endif()
+ if(ENABLE_VAD)
+ set(BUILD_VAD 1)
+ endif()
+-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
+
+ set(WEBRTC_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/webrtc")
+ set(WEBRTC_SRC_DIR "${WEBRTC_ROOT_DIR}/webrtc")
+@@ -419,8 +407,6 @@ if(LIBM)
+ list(APPEND LIBS ${LIBM})
+ endif()
+
+-set(MS2_PLUGINS_DIR "${MEDIASTREAMER2_PLUGINS_LOCATION}")
+-
+ if(BUILD_SHARED_LIBS)
+ if(IOS)
+ add_library(mswebrtc SHARED ${SOURCE_FILES})
+@@ -430,7 +416,7 @@ if(BUILD_SHARED_LIBS)
+ else()
+ add_library(mswebrtc STATIC ${SOURCE_FILES})
+ endif()
+-target_link_libraries(mswebrtc PRIVATE mediastreamer2 ortp bctoolbox ${LIBS})
++target_link_libraries(mswebrtc PRIVATE ${Mediastreamer2_TARGET} ${LIBS})
+ set_target_properties(mswebrtc PROPERTIES LINKER_LANGUAGE CXX)
+ if(BUILD_SHARED_LIBS)
+ if(APPLE)
+@@ -462,9 +448,9 @@ if(BUILD_SHARED_LIBS)
+ endif()
+
+ install(TARGETS mswebrtc
+- RUNTIME DESTINATION ${MS2_PLUGINS_DIR}
+- LIBRARY DESTINATION ${MS2_PLUGINS_DIR}
+- ARCHIVE DESTINATION ${MS2_PLUGINS_DIR}
++ RUNTIME DESTINATION ${Mediastreamer2_PLUGINS_DIR}
++ LIBRARY DESTINATION ${Mediastreamer2_PLUGINS_DIR}
++ ARCHIVE DESTINATION ${Mediastreamer2_PLUGINS_DIR}
+ FRAMEWORK DESTINATION Frameworks
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ )
+diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt
+index 82694c6..8f9108b 100755
+--- a/build/CMakeLists.txt
++++ b/build/CMakeLists.txt
+@@ -21,7 +21,8 @@
+ ############################################################################
+
+ if(NOT CPACK_PACKAGE_NAME)
+- set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
++ string(TOLOWER "${PROJECT_NAME}" LOWERCASE_PROJECT_NAME)
++ set(CPACK_PACKAGE_NAME "${LOWERCASE_PROJECT_NAME}")
+ endif()
+
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../COPYING")
+diff --git a/cmake/FindBcToolbox.cmake b/cmake/FindBcToolbox.cmake
+deleted file mode 100644
+index 5766478..0000000
+--- a/cmake/FindBcToolbox.cmake
++++ /dev/null
+@@ -1,67 +0,0 @@
+-############################################################################
+-# FindBctoolbox.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# - Find the bctoolbox include files and library
+-#
+-# BCTOOLBOX_FOUND - System has lib bctoolbox
+-# BCTOOLBOX_INCLUDE_DIRS - The bctoolbox include directories
+-# BCTOOLBOX_LIBRARIES - The libraries needed to use bctoolbox
+-# BCTOOLBOX_CMAKE_DIR - The bctoolbox cmake directory
+-# BCTOOLBOX_CORE_FOUND - System has core bctoolbox
+-# BCTOOLBOX_CORE_INCLUDE_DIRS - The core bctoolbox include directories
+-# BCTOOLBOX_CORE_LIBRARIES - The core bctoolbox libraries
+-# BCTOOLBOX_TESTER_FOUND - System has bctoolbox tester
+-# BCTOOLBOX_TESTER_INCLUDE_DIRS - The bctoolbox tester include directories
+-# BCTOOLBOX_TESTER_LIBRARIES - The bctoolbox tester libraries
+-
+-if(TARGET bctoolbox)
+-
+- set(BCTOOLBOX_CORE_LIBRARIES bctoolbox)
+- get_target_property(BCTOOLBOX_CORE_INCLUDE_DIRS bctoolbox INTERFACE_INCLUDE_DIRECTORIES)
+- set(BCTOOLBOX_CORE_FOUND TRUE)
+- get_target_property(BCTOOLBOX_SOURCE_DIR bctoolbox SOURCE_DIR)
+- set(BCTOOLBOX_CMAKE_DIR "${BCTOOLBOX_SOURCE_DIR}/../cmake")
+- if(TARGET bctoolbox-tester)
+- set(BCTOOLBOX_TESTER_LIBRARIES bctoolbox-tester)
+- get_target_property(BCTOOLBOX_TESTER_INCLUDE_DIRS bctoolbox-tester INTERFACE_INCLUDE_DIRECTORIES)
+- set(BCTOOLBOX_TESTER_FOUND TRUE)
+- set(BCTOOLBOX_TESTER_COMPONENT_VARIABLES BCTOOLBOX_TESTER_FOUND BCTOOLBOX_TESTER_INCLUDE_DIRS BCTOOLBOX_TESTER_LIBRARIES)
+- endif()
+- set(BCTOOLBOX_LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BCTOOLBOX_TESTER_LIBRARIES})
+- set(BCTOOLBOX_INCLUDE_DIRS ${BCTOOLBOX_CORE_INCLUDE_DIRS} ${BCTOOLBOX_TESTER_INCLUDE_DIRS})
+-
+-
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(BcToolbox
+- DEFAULT_MSG
+- BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
+- BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
+- ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
+- )
+-
+- mark_as_advanced(
+- BCTOOLBOX_INCLUDE_DIRS BCTOOLBOX_LIBRARIES BCTOOLBOX_CMAKE_DIR
+- BCTOOLBOX_CORE_FOUND BCTOOLBOX_CORE_INCLUDE_DIRS BCTOOLBOX_CORE_LIBRARIES
+- ${BCTOOLBOX_TESTER_COMPONENT_VARIABLES}
+- )
+-
+-endif()
+diff --git a/cmake/FindMediastreamer2.cmake b/cmake/FindMediastreamer2.cmake
+deleted file mode 100644
+index 64ac8f2..0000000
+--- a/cmake/FindMediastreamer2.cmake
++++ /dev/null
+@@ -1,46 +0,0 @@
+-############################################################################
+-# FindMediastreamer2.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# - Find the mediastreamer2 include files and library
+-#
+-# MEDIASTREAMER2_FOUND - system has lib mediastreamer2
+-# MEDIASTREAMER2_INCLUDE_DIRS - the mediasteamer2 include directory
+-# MEDIASTREAMER2_LIBRARIES - The library needed to use mediasteamer2
+-# MEDIASTREAMER2_PLUGINS_LOCATION - The location of the mediastreamer2 plugins
+-
+-if(TARGET mediastreamer2)
+-
+- set(MEDIASTREAMER2_LIBRARIES mediastreamer2)
+- get_target_property(MEDIASTREAMER2_INCLUDE_DIRS mediastreamer2 INTERFACE_INCLUDE_DIRECTORIES)
+- define_property(TARGET PROPERTY "MS2_PLUGINS" BRIEF_DOCS "Stores the location of mediastreamer2 plugins" FULL_DOCS "Stores the location of mediastreamer2 plugins")
+- get_target_property(MEDIASTREAMER2_PLUGINS_LOCATION mediastreamer2 MS2_PLUGINS)
+-
+-
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(Mediastreamer2
+- DEFAULT_MSG
+- MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES
+- )
+-
+- mark_as_advanced(MEDIASTREAMER2_INCLUDE_DIRS MEDIASTREAMER2_LIBRARIES)
+-
+-endif()
+diff --git a/cmake/FindOrtp.cmake b/cmake/FindOrtp.cmake
+deleted file mode 100644
+index 13121fb..0000000
+--- a/cmake/FindOrtp.cmake
++++ /dev/null
+@@ -1,43 +0,0 @@
+-############################################################################
+-# FindOrtp.cmake
+-# Copyright (C) 2023 Belledonne Communications, Grenoble France
+-#
+-############################################################################
+-#
+-# This program is free software; you can redistribute it and/or
+-# modify it under the terms of the GNU General Public License
+-# as published by the Free Software Foundation; either version 2
+-# of the License, or (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-############################################################################
+-#
+-# - Find the ortp include files and library
+-#
+-# ORTP_FOUND - system has lib ortp
+-# ORTP_INCLUDE_DIRS - the ortp include directory
+-# ORTP_LIBRARIES - The library needed to use ortp
+-
+-if(TARGET ortp)
+-
+- set(ORTP_LIBRARIES ortp)
+- get_target_property(ORTP_INCLUDE_DIRS ortp INTERFACE_INCLUDE_DIRECTORIES)
+-
+-
+- include(FindPackageHandleStandardArgs)
+- find_package_handle_standard_args(Ortp
+- DEFAULT_MSG
+- ORTP_INCLUDE_DIRS ORTP_LIBRARIES
+- )
+-
+- mark_as_advanced(ORTP_INCLUDE_DIRS ORTP_LIBRARIES)
+-
+-endif()
+--
+GitLab
+
diff --git a/gnu/packages/patches/nss-3.115-disable-broken-tests.patch b/gnu/packages/patches/nss-3.115-disable-broken-tests.patch
new file mode 100644
index 0000000000..2cb3a6be7b
--- /dev/null
+++ b/gnu/packages/patches/nss-3.115-disable-broken-tests.patch
@@ -0,0 +1,34 @@
+These tests are broken in 3.101.3.
+
+See https://bugzilla.mozilla.org/show_bug.cgi?id=1964304
+
+--- nss-3.113.orig/nss/tests/tools/tools.sh 2025-08-25 16:49:02.402086648 -0700
++++ nss-3.113/nss/tests/tools/tools.sh 2025-08-25 16:49:23.677993887 -0700
+@@ -550,27 +550,6 @@
+ html_msg $ret 0 "Importing private key pbmac1 hmac-sha-512 from PKCS#12 file"
+ check_tmpfile
+
+- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I"
+- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1
+- ret=$?
+- html_msg $ret 19 "Fail to list private key with bad iterator"
+- check_tmpfile
+-
+- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I"
+- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1
+- ret=$?
+- echo "Fail to list private key with bad salt val=$ret"
+- html_msg $ret 19 "Fail to import private key with bad salt"
+- check_tmpfile
+-
+- echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I "
+- ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' -I 2>&1
+- ret=$?
+- echo "Fail to import private key with no length val=$ret"
+- html_msg $ret 19 "Fail to import private key with no length"
+- check_tmpfile
+-}
+-
+ ############################## tools_p12 ###############################
+ # local shell function to test basic functionality of pk12util
+ ########################################################################
diff --git a/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch b/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch
new file mode 100644
index 0000000000..d8e489883c
--- /dev/null
+++ b/gnu/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch
@@ -0,0 +1,13 @@
+These tests require network.
+
+diff -x .svn -x .git -urN nss-3.113.orig/nss/tests/ssl/ssl.sh nss-3.113/nss/tests/ssl/ssl.sh
+--- nss-3.113.orig/nss/tests/ssl/ssl.sh 2025-08-25 16:49:02.398086665 -0700
++++ nss-3.113/nss/tests/ssl/ssl.sh 2025-08-26 15:46:11.718401605 -0700
+@@ -1600,7 +1600,6 @@
+ if using_sql ; then
+ ssl_policy_listsuites
+ ssl_policy_selfserv
+- ssl_policy_pkix_ocsp
+ ssl_policy
+ fi
+ ;; \ No newline at end of file
diff --git a/gnu/packages/patches/nyacc-binary-literals.patch b/gnu/packages/patches/nyacc-binary-literals.patch
deleted file mode 100644
index 8159d74032..0000000000
--- a/gnu/packages/patches/nyacc-binary-literals.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6a08014b77bf435f025ecdac08396580b85f159a Mon Sep 17 00:00:00 2001
-From: Jan Nieuwenhuizen <janneke@gnu.org>
-Date: Sat, 8 Sep 2018 20:22:45 +0200
-Subject: [PATCH] fix binary literals.
-
----
- module/nyacc/lex.scm | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/module/nyacc/lex.scm b/module/nyacc/lex.scm
-index 2ec9895..b205212 100644
---- a/module/nyacc/lex.scm
-+++ b/module/nyacc/lex.scm
-@@ -345,10 +345,11 @@
- ((char-numeric? ch) (iter chl '$fixed ba 1 ch))
- ((char=? #\. ch) (iter (cons ch chl) #f ba 15 (read-char)))
- (else #f)))
-- ((10) ;; allow x after 0
-+ ((10) ;; allow x, b after 0
- (cond
- ((eof-object? ch) (iter chl ty ba 5 ch))
- ((char=? #\x ch) (iter (cons ch chl) ty 16 1 (read-char)))
-+ ((char=? #\b ch) (iter (cons ch chl) ty 2 1 (read-char)))
- (else (iter chl ty ba 1 ch))))
- ((15) ;; got `.' only
- (cond
---
-2.18.0
-
diff --git a/gnu/packages/patches/qemu-disable-bios-tables-test.patch b/gnu/packages/patches/qemu-disable-bios-tables-test.patch
index ba89b91099..fc5dc71da9 100644
--- a/gnu/packages/patches/qemu-disable-bios-tables-test.patch
+++ b/gnu/packages/patches/qemu-disable-bios-tables-test.patch
@@ -1,17 +1,16 @@
-The bios-tables-test may fail; disable it (see: https://gitlab.com/qemu-project/qemu/-/issues/1098)
-
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
-index 2f0d3ef080..e3c33a86b5 100644
+index 669d07c06b..3399c1043a 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
-@@ -1,6 +1,5 @@
+@@ -1,7 +1,6 @@
slow_qtests = {
+ 'ahci-test': 150,
'aspeed_smc-test': 360,
- 'bios-tables-test' : 910,
'cdrom-test' : 610,
'device-introspect-test' : 720,
- 'migration-test' : 480,
-@@ -86,9 +85,6 @@ qtests_i386 = \
+ 'ide-test' : 120,
+@@ -102,9 +101,6 @@ qtests_i386 = \
config_all_devices.has_key('CONFIG_Q35') and \
config_all_devices.has_key('CONFIG_VIRTIO_PCI') and \
slirp.found() ? ['virtio-net-failover'] : []) + \
@@ -20,8 +19,16 @@ index 2f0d3ef080..e3c33a86b5 100644
- config_all_devices.has_key('CONFIG_PARALLEL') ? ['bios-tables-test'] : []) + \
qtests_pci + \
qtests_cxl + \
- ['fdc-test',
-@@ -235,7 +231,6 @@ qtests_arm = \
+ [
+@@ -148,7 +144,6 @@ qtests_hppa = \
+
+ qtests_loongarch64 = qtests_filter + \
+ (config_all_devices.has_key('CONFIG_LOONGARCH_VIRT') ? ['numa-test'] : []) + \
+- (unpack_edk2_blobs ? ['bios-tables-test'] : []) + \
+ ['boot-serial-test',
+ 'cpu-plug-test']
+
+@@ -253,7 +248,6 @@ qtests_arm = \
# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
qtests_aarch64 = \
@@ -29,21 +36,21 @@ index 2f0d3ef080..e3c33a86b5 100644
(config_all_accel.has_key('CONFIG_TCG') and config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? \
['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + \
(config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test', 'fuzz-xlnx-dp-test'] : []) + \
-@@ -260,9 +255,6 @@ qtests_s390x = \
+@@ -281,8 +275,7 @@ qtests_s390x = \
qtests_riscv32 = \
(config_all_devices.has_key('CONFIG_SIFIVE_E_AON') ? ['sifive-e-aon-watchdog-test'] : [])
--qtests_riscv64 = \
+-qtests_riscv64 = ['riscv-csr-test'] + \
- (unpack_edk2_blobs ? ['bios-tables-test'] : [])
--
++qtests_riscv64 = ['riscv-csr-test']
+
qos_test_ss = ss.source_set()
qos_test_ss.add(
- 'ac97-test.c',
-@@ -328,7 +320,6 @@ if gnutls.found()
- endif
-
- qtests = {
+@@ -371,7 +364,6 @@ qtests = {
+ 'aspeed_smc-test': files('aspeed-smc-utils.c', 'aspeed_smc-test.c'),
+ 'ast2700-hace-test': files('aspeed-hace-utils.c', 'ast2700-hace-test.c'),
+ 'ast2700-smc-test': files('aspeed-smc-utils.c', 'ast2700-smc-test.c'),
- 'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
'cdrom-test': files('boot-sector.c'),
- 'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
- 'erst-test': files('erst-test.c'),
+ 'dbus-vmstate-test': files('migration/migration-qmp.c',
+ 'migration/migration-util.c') + dbus_vmstate1,
diff --git a/gnu/packages/patches/qemu-disable-migration-test.patch b/gnu/packages/patches/qemu-disable-migration-test.patch
deleted file mode 100644
index 2a30d26f55..0000000000
--- a/gnu/packages/patches/qemu-disable-migration-test.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
-index e3c33a86b5..a3bbf9c841 100644
---- a/tests/qtest/meson.build
-+++ b/tests/qtest/meson.build
-@@ -2,7 +2,6 @@ slow_qtests = {
- 'aspeed_smc-test': 360,
- 'cdrom-test' : 610,
- 'device-introspect-test' : 720,
-- 'migration-test' : 480,
- 'npcm7xx_pwm-test': 300,
- 'npcm7xx_watchdog_timer-test': 120,
- 'qom-test' : 900,
-@@ -100,7 +99,6 @@ qtests_i386 = \
- 'cpu-plug-test',
- 'q35-test',
- 'vmgenid-test',
-- 'migration-test',
- 'test-x86-cpuid-compat',
- 'numa-test'
- ]
-@@ -173,7 +171,7 @@ qtests_ppc64 = \
- (slirp.found() ? ['pxe-test'] : []) + \
- (config_all_devices.has_key('CONFIG_USB_UHCI') ? ['usb-hcd-uhci-test'] : []) + \
- (config_all_devices.has_key('CONFIG_USB_XHCI_NEC') ? ['usb-hcd-xhci-test'] : []) + \
-- qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test', 'drive_del-test']
-+ qtests_pci + ['numa-test', 'cpu-plug-test', 'drive_del-test']
-
- qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
- qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
-@@ -240,8 +238,7 @@ qtests_aarch64 = \
- config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
- ['arm-cpu-features',
- 'numa-test',
-- 'boot-serial-test',
-- 'migration-test']
-+ 'boot-serial-test']
-
- qtests_s390x = \
- qtests_filter + \
-@@ -249,8 +246,7 @@ qtests_s390x = \
- 'drive_del-test',
- 'device-plug-test',
- 'virtio-ccw-test',
-- 'cpu-plug-test',
-- 'migration-test']
-+ 'cpu-plug-test']
-
- qtests_riscv32 = \
- (config_all_devices.has_key('CONFIG_SIFIVE_E_AON') ? ['sifive-e-aon-watchdog-test'] : [])
-@@ -324,7 +320,6 @@ qtests = {
- 'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
- 'erst-test': files('erst-test.c'),
- 'ivshmem-test': [rt, '../../contrib/ivshmem-server/ivshmem-server.c'],
-- 'migration-test': migration_files,
- 'pxe-test': files('boot-sector.c'),
- 'qos-test': [chardev, io, qos_test_ss.apply({}).sources()],
- 'tpm-crb-swtpm-test': [io, tpmemu_files],
diff --git a/gnu/packages/patches/qemu-fix-test-virtio-version.patch b/gnu/packages/patches/qemu-fix-test-virtio-version.patch
new file mode 100644
index 0000000000..8e466324e7
--- /dev/null
+++ b/gnu/packages/patches/qemu-fix-test-virtio-version.patch
@@ -0,0 +1,29 @@
+Upstream-status: Sent to qemu-devel@nongnu.org
+Message-ID: <20250831125255.7066-1-maxim@guixotic.coop>
+
+There were some discussion in <https://gitlab.com/qemu-project/qemu/-/issues/1626>.
+
+diff --git a/tests/functional/test_virtio_version.py b/tests/functional/test_virtio_version.py
+index a5ea73237f..501545f655 100755
+--- a/tests/functional/test_virtio_version.py
++++ b/tests/functional/test_virtio_version.py
+@@ -10,6 +10,8 @@
+ # This work is licensed under the terms of the GNU GPL, version 2 or
+ # later. See the COPYING file in the top-level directory.
+
++import os
++
+ from qemu.machine import QEMUMachine
+ from qemu_test import QemuSystemTest
+
+@@ -68,7 +70,9 @@ def run_device(self, devtype, opts=None, machine='pc'):
+ """
+ Run QEMU with `-device DEVTYPE`, return device info from `query-pci`
+ """
+- with QEMUMachine(self.qemu_bin) as vm:
++ with QEMUMachine(
++ self.qemu_bin,
++ base_temp_dir=os.environ.get('TMPDIR', '/var/tmp')) as vm:
+ vm.set_machine(machine)
+ if opts:
+ devtype += ',' + opts
diff --git a/gnu/packages/patches/qemu-glibc-2.41.patch b/gnu/packages/patches/qemu-glibc-2.41.patch
deleted file mode 100644
index 56beab690e..0000000000
--- a/gnu/packages/patches/qemu-glibc-2.41.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-from https://gitlab.com/qemu-project/qemu/-/commit/27a8d899c7a100fd5aa040a8b993bb257687c393
-
-From 27a8d899c7a100fd5aa040a8b993bb257687c393 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Feb 2025 16:09:20 +0000
-Subject: [PATCH] linux-user: Do not define struct sched_attr if libc headers
- do
-
-glibc 2.41+ has added [1] definitions for sched_setattr and
-sched_getattr functions and struct sched_attr. Therefore, it needs
-to be checked for here as well before defining sched_attr, to avoid
-a compilation failure.
-
-Define sched_attr conditionally only when SCHED_ATTR_SIZE_VER0 is
-not defined.
-
-[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2799
-Cc: qemu-stable@nongnu.org
-Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
-Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
----
- linux-user/syscall.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 6ee02383daf..df5ed18062c 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -360,7 +360,8 @@ _syscall3(int, sys_sched_getaffinity, pid_t, pid, unsigned int, len,
- #define __NR_sys_sched_setaffinity __NR_sched_setaffinity
- _syscall3(int, sys_sched_setaffinity, pid_t, pid, unsigned int, len,
- unsigned long *, user_mask_ptr);
--/* sched_attr is not defined in glibc */
-+/* sched_attr is not defined in glibc < 2.41 */
-+#ifndef SCHED_ATTR_SIZE_VER0
- struct sched_attr {
- uint32_t size;
- uint32_t sched_policy;
-@@ -373,6 +374,7 @@ struct sched_attr {
- uint32_t sched_util_min;
- uint32_t sched_util_max;
- };
-+#endif
- #define __NR_sys_sched_getattr __NR_sched_getattr
- _syscall4(int, sys_sched_getattr, pid_t, pid, struct sched_attr *, attr,
- unsigned int, size, unsigned int, flags);
---
-GitLab
-
diff --git a/gnu/packages/patches/soci-mysql-ddl-types.patch b/gnu/packages/patches/soci-mysql-ddl-types.patch
new file mode 100644
index 0000000000..e92fb117d1
--- /dev/null
+++ b/gnu/packages/patches/soci-mysql-ddl-types.patch
@@ -0,0 +1,15 @@
+Description: Add two unusual column type entries to make liblinphone work
+Author: Dennis Filder <d.filder@web.de>
+Bug-Debian: https://bugs.debian.org/984534
+Last-Update: 2021-03-10
+--- a/src/backends/sqlite3/statement.cpp
++++ b/src/backends/sqlite3/statement.cpp
+@@ -440,6 +440,8 @@
+ m["mediumint"] = dt_integer;
+ m["smallint"] = dt_integer;
+ m["tinyint"] = dt_integer;
++ m["tinyintunsigned"] = dt_integer;
++ m["intunsigned"] = dt_integer;
+
+ // dt_long_long
+ m["bigint"] = dt_long_long;
diff --git a/gnu/packages/patches/zig-0.15-fix-runpath.patch b/gnu/packages/patches/zig-0.15-fix-runpath.patch
new file mode 100644
index 0000000000..7216c97b57
--- /dev/null
+++ b/gnu/packages/patches/zig-0.15-fix-runpath.patch
@@ -0,0 +1,122 @@
+From d35c341322f6e84607350058007bd5be3d1d294a Mon Sep 17 00:00:00 2001
+From: Hilton Chain <hako@ultrarare.space>
+Date: Fri, 29 Nov 2024 14:13:46 +0800
+Subject: [PATCH] Fix RUNPATH issue.
+
+Add needed libraries and libc to RUNPATH when CROSS_LIBRARY_PATH or LIBRARY_PATH
+is set.
+---
+ lib/std/Build/Step/Compile.zig | 2 ++
+ src/link/Elf.zig | 7 +++++++
+ src/link/Lld.zig | 7 +++++++
+ src/main.zig | 34 +++++++++++++++++++++++++++++++++-
+ 4 files changed, 49 insertions(+), 1 deletion(-)
+
+diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
+index 79d3694c02..7f6bddbea6 100644
+--- a/lib/std/Build/Step/Compile.zig
++++ b/lib/std/Build/Step/Compile.zig
+@@ -794,6 +794,8 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
+ try zig_cflags.append(arg);
+ } else if (mem.startsWith(u8, arg, wl_rpath_prefix)) {
+ try zig_cflags.appendSlice(&[_][]const u8{ "-rpath", arg[wl_rpath_prefix.len..] });
++ } else if (mem.startsWith(u8, arg, "-Wl,-rpath=")) {
++ try zig_libs.appendSlice(&[_][]const u8{ "-L", arg["-Wl,-rpath=".len..] });
+ } else if (b.debug_pkg_config) {
+ return compile.step.fail("unknown pkg-config flag '{s}'", .{arg});
+ }
+diff --git a/src/link/Elf.zig b/src/link/Elf.zig
+index 99d0ad71b0..8017f4c088 100644
+--- a/src/link/Elf.zig
++++ b/src/link/Elf.zig
+@@ -988,6 +988,13 @@ fn dumpArgvInit(self: *Elf, arena: Allocator) !void {
+ try argv.appendSlice(gpa, &.{ "-rpath", rpath });
+ }
+
++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and comp.config.link_mode == .dynamic) {
++ if (self.base.comp.libc_installation) |libc_installation| {
++ try argv.append(gpa, "-rpath");
++ try argv.append(gpa, libc_installation.crt_dir.?);
++ }
++ }
++
+ try argv.appendSlice(gpa, &.{
+ "-z",
+ try std.fmt.allocPrint(arena, "stack-size={d}", .{self.base.stack_size}),
+diff --git a/src/link/Lld.zig b/src/link/Lld.zig
+index 48872f7077..814f661692 100644
+--- a/src/link/Lld.zig
++++ b/src/link/Lld.zig
+@@ -1071,6 +1071,13 @@ fn elfLink(lld: *Lld, arena: Allocator) !void {
+ }
+ }
+
++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and link_mode == .dynamic) {
++ if (comp.libc_installation) |libc_installation| {
++ try argv.append("-rpath");
++ try argv.append(libc_installation.crt_dir.?);
++ }
++ }
++
+ if (have_dynamic_linker and
+ (comp.config.link_libc or comp.root_mod.resolved_target.is_explicit_dynamic_linker))
+ {
+diff --git a/src/main.zig b/src/main.zig
+index 02b1b8f84b..ddc4ae8014 100644
+--- a/src/main.zig
++++ b/src/main.zig
+@@ -3910,7 +3910,7 @@ fn createModule(
+ create_module.want_native_include_dirs = true;
+ }
+
+- if (create_module.each_lib_rpath orelse resolved_target.is_native_os) {
++ if (create_module.each_lib_rpath orelse false) {
+ try create_module.rpath_list.ensureUnusedCapacity(arena, create_module.lib_directories.items.len);
+ for (create_module.lib_directories.items) |lib_directory| {
+ create_module.rpath_list.appendAssumeCapacity(lib_directory.path.?);
+@@ -3982,6 +3982,28 @@ fn createModule(
+ else => {},
+ };
+
++ if (std.zig.system.NativePaths.isGuix(arena)) {
++ for (create_module.link_inputs.items) |link_input| {
++ if (link_input.path()) |lib| {
++ const lib_name = lib.sub_path;
++ if (Compilation.classifyFileExt(lib_name) == .shared_library) {
++ if (fs.path.isAbsolute(lib_name)) {
++ const lib_dir_path = fs.path.dirname(lib_name).?;
++ try create_module.rpath_list.append(arena, lib_dir_path);
++ continue;
++ }
++ for (create_module.lib_directories.items) |lib_dir| {
++ const lib_dir_path = lib_dir.path.?;
++ if (try libPathExists(arena, lib_dir_path, lib_name)) {
++ try create_module.rpath_list.append(arena, lib_dir_path);
++ break;
++ }
++ }
++ }
++ }
++ }
++ }
++
+ create_module.resolved_options = Compilation.Config.resolve(create_module.opts) catch |err| switch (err) {
+ error.WasiExecModelRequiresWasi => fatal("only WASI OS targets support execution model", .{}),
+ error.SharedMemoryIsWasmOnly => fatal("only WebAssembly CPU targets support shared memory", .{}),
+@@ -7633,3 +7655,13 @@ fn addLibDirectoryWarn2(
+ .path = path,
+ });
+ }
++
++fn libPathExists(arena: Allocator, lib_dir_path: []const u8, lib_name: []const u8) !bool {
++ const lib_path = try std.fmt.allocPrint(arena, "{s}{s}{s}", .{
++ lib_dir_path,
++ fs.path.sep_str,
++ lib_name,
++ });
++ fs.cwd().access(lib_path, .{}) catch return false;
++ return true;
++}
+--
+2.50.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4c18dad6ed..b590e3a624 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -324,19 +324,19 @@ information.")
(define-public flyer-composer
(package
(name "flyer-composer")
- (version "1.0rc2")
+ (version "1.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "flyer-composer" version))
+ (uri (pypi-uri "flyer_composer" version))
(sha256
- (base32 "17igqb5dlcgcq4nimjw6cf9qgz6a728zdx1d0rr90r2z0llcchsv"))))
- (build-system python-build-system)
+ (base32 "1874vmz606155w9xm3r4q9xziva1mai1kyqhjg5hnndpwl09xgv5"))))
+ (build-system pyproject-build-system)
(arguments
`(#:tests? #f ;; TODO
#:phases
(modify-phases %standard-phases
- (add-after 'install 'wrap-executable
+ (add-after 'wrap 'wrap-gui
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(qtbase (assoc-ref inputs "qtbase"))
@@ -346,12 +346,9 @@ information.")
(,(string-append qtbase "/lib/qt5/plugins")))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
(,(string-append qtbase "/lib/qt5/plugins/platforms"))))))))))
- (inputs
- (list bash-minimal
- python-poppler-qt5
- python-pypdf2
- python-pyqt
- qtbase-5))
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-pypdf))
+ (inputs (list bash-minimal python-poppler-qt5 python-pyqt qtbase-5))
(home-page "http://crazy-compilers.com/flyer-composer")
(synopsis "Rearrange PDF pages to print as flyers on one sheet")
(description "@command{flyer-composer} can be used to prepare one- or
@@ -379,8 +376,7 @@ This package contains both the command line tool and the gui too.")
(substitute* "setup.cfg"
(("^\\s+flyer-composer-gui\\s*=.*") ""))
#t)))))
- (inputs
- `(("python-pypdf2" ,python-pypdf2)))
+ (inputs (list)) ; clear the gui inputs
(description "@command{flyer-composer} can be used to prepare one- or
two-sided flyers for printing on one sheet of paper.
@@ -1466,7 +1462,7 @@ converter using the Poppler and Cairo libraries.")
(define-public python-pypdf
(package
(name "python-pypdf")
- (version "5.1.0")
+ (version "6.0.0")
(source
(origin
(method git-fetch)
@@ -1475,7 +1471,7 @@ converter using the Poppler and Cairo libraries.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0dl3nmvsk43s2v6a5cwwvfwpyvhsl9wcrdnqbzjsp50zqibi23pz"))))
+ (base32 "0p0650ya5f84d7khf34an9qpyww6yxnsdhgbppxfy3bg3qkx3s7g"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1491,6 +1487,7 @@ converter using the Poppler and Cairo libraries.")
" and not "))))
(native-inputs
(list python-flit
+ python-flit-core-next
python-pytest
python-pytest-socket
python-pytest-timeout
@@ -1606,18 +1603,18 @@ PDF Arranger was formerly known as PDF-Shuffler.")
(define-public pdfposter
(package
(name "pdfposter")
- (version "0.7.post1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "pdftools.pdfposter" version))
- (sha256
- (base32
- "0c1avpbr9q53yzq5ar2x485rmp9d0l3z27aham32bg7gplzd7w0j"))))
- (build-system python-build-system)
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pdfposter" version))
+ (sha256
+ (base32 "0vhg43svzxr6ppcy888xg1hzjqfxbx5cc4qi77n4pvrqfan19633"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f)) ; test-suite not included in source archive
- (inputs
- (list python-pypdf2))
+ `(#:tests? #f)) ;test-suite not included in source archive
+ (native-inputs (list python-setuptools python-wheel))
+ (inputs (list python-pypdf))
(home-page "https://pythonhosted.org/pdftools.pdfposter/")
(synopsis "Scale and tile PDF images/pages to print on multiple pages")
(description "@command{pdfposter} can be used to create a large poster by
diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm
deleted file mode 100644
index 2385d74e0d..0000000000
--- a/gnu/packages/pep.scm
+++ /dev/null
@@ -1,342 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2020, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages pep)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix git-download)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system python)
- #:use-module (guix build-system pyproject)
- #:use-module (gnu packages)
- #:use-module (gnu packages base)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages check)
- #:use-module (gnu packages documentation)
- #:use-module (gnu packages graphviz)
- #:use-module (gnu packages java)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages mail) ; for libetpan
- #:use-module (gnu packages nettle)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python-build)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages sequoia)
- #:use-module (gnu packages sqlite)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages xml))
-
-(define-public yml2
- (package
- (name "yml2")
- (version "2.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/fdik/yml2")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0fm1x1fv4lwcpbn59s55idzf7x173n59xpz8rlrxalmi6gvsjijr"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; XXX: There is no testing framework, only a samples directory.
- #:tests? #f))
- (native-inputs (list python-setuptools python-wheel))
- (propagated-inputs (list python-lxml))
- (home-page "https://fdik.org/yml/")
- (synopsis "Use a Domain Specific Language for XML without defining
-a grammar")
- (description
- "The YML compiler is a small Python script. It provides the command line
-front end yml2c. As default, it compiles your script and outputs to stdout,
-that usually is the terminal. Your shell provides options to redirect the
-output into a pipe or a file.")
- (license license:gpl2)))
-
-(define fdik-libetpan
- ;; pEp Engine requires libetpan with a set of patches that have not been
- ;; upstreamed yet.
- (let ((commit "0b80c39dd1504462ba3a39dc53db7c960c3a63f3") ; 2020-11-27
- (checksum "0gv3ivaziadybjlf6rfpv1j5z5418243v5cvl4swlxd2njsh7gjk")
- (revision "6"))
- (package
- (inherit libetpan)
- (name "fdik-libetpan")
- (version (string-append "1.6-" revision "." (string-take commit 8)))
- (source
- (origin
- (inherit (package-source libetpan))
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/pEp.foundation/libetpan")
- (commit commit)))
- (file-name (string-append name "-" version))
- (sha256 (base32 checksum)))))))
-
-(define-public pep-engine
- (package
- (name "pep-engine")
- (version "2.1.34")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/pEp.foundation/pEpEngine")
- (commit (string-append "Release_" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "00q96y9j985qfa382acsz02i0zf6ayq2gmg8z70jzl04isg1h3cn"))))
- (build-system gnu-build-system)
- (arguments
- '(#:parallel-build? #f
- #:make-flags '("NDEBUG=1") ; release build
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; pEpEngine does not use autotools and configure,
- ;; but a local.conf. We need to tweak the values there.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (yml2 (assoc-ref inputs "yml2")))
- (with-output-to-file "local.conf"
- (lambda ()
- (format #t "
-PREFIX=~a
-PER_MACHINE_DIRECTORY=${PREFIX}/share/pEp
-SYSTEM_DB=~a/share/pEp/system.db
-ASN1C=~a
-YML2_PATH=~a
-OPENPGP=SEQUOIA
-"
- out out (which "asn1c")
- (string-append yml2 "/bin"))))
- #t)))
- (delete 'check)
- (add-after 'install 'install-db
- (lambda _
- (invoke "make" "-C" "db" "install"))))))
- (native-inputs
- (list asn1c ; >= 0.9.27
- pkg-config yml2))
- (inputs
- (list fdik-libetpan
- nettle
- openssl
- sequoia
- sqlite
- `(,util-linux "lib"))) ;; uuid.h
- (home-page "https://pep.foundation/")
- (synopsis "Library for automatic key management and encryption of
-messages")
- (description "The p≡p engine is the core part of p≡p (pretty Easy
-privacy).")
- (license ;; code: GPL 3, docs: CC-BY-SA
- (list license:gpl3 license:cc-by-sa3.0))))
-
-(define-public libpepadapter
- (package
- (name "libpepadapter")
- (version "2.1.21")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/pEp.foundation/libpEpAdapter")
- (commit (string-append "Release_" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09ljj3x09y99wc47n063hpn62zi8cdvdha82rnaypvirrlga6a5w"))))
- (build-system gnu-build-system)
- (arguments
- '(#:test-target "test"
- #:tests? #f ;; building the tests fails
- #:make-flags '("NDEBUG=1") ; release build
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; libpEpAdapter does not use autotools and configure,
- ;; but a local.conf. We need to tweak the values there.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (engine (assoc-ref inputs "pep-engine")))
- (with-output-to-file "local.conf"
- (lambda _
- (format #t "
-PREFIX=~a
-ENGINE_LIB_PATH=~a/lib
-ENGINE_INC_PATH=~a/include
-" out engine engine))))
- #t)))))
- (inputs
- (list pep-engine))
- (home-page "https://pep.foundation/")
- (synopsis "Library for building p≡p adapters")
- (description "This C++ library provides common structures used in p≡p
-(pretty Easy privacy) adapters.")
- (license license:bsd-3)))
-
-(define-public python-pep-adapter
- (package
- (name "python-pep-adapter")
- (version "2.1.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/pEp.foundation/pEpPythonAdapter")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ssz21p1k7xx3snmd4g3ggzq565rlzdmp90l2mph6yfp1y65p39s"))))
- (build-system python-build-system)
- (arguments
- `(;; Adding configure-flags does not work, running `build_ext`
- ;; with these flags, neither does adding the options to
- ;; `setup.cfg`: Either `build` or `install` fails (since
- ;; flags are given or missing), or "command 'BuildExtCommand'
- ;; has no such option 'pep_engine"
- ;; '(#:configure-flags
- ;; (list (string-append "--with-pEp-engine="
- ;; (assoc-ref inputs "pEpEngine"))
- ;; (string-append "--with-pEp-libadapter="
- ;; (assoc-ref inputs "libpEpAdapter"))
- ;; ;;(string-append "--boost="
- ;; (assoc-ref inputs "boost")) not supported
- ;; (string-append "--with-asn1c-share="
- ;; (assoc-ref inputs "asn1c") "/share"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-setup.py
- (lambda _
- (substitute* "setup.py"
- (("^(\\s+SYS_INCLUDES = )\\['/usr.*" _ a)
- (string-append a "os.getenv('CPATH', '').split(os.pathsep)\n"))
- (("^(\\s+SYS_LIB_PREFIXES = )\\['/usr.*" _ a)
- (string-append a "os.getenv('LIBRARY_PATH', '').split(os.pathsep)\n"))
- (("^(\\s+SYS_SHARES = )\\['/usr.*" _ a)
- (string-append a "['" (assoc-ref %build-inputs "asn1c") "/share']\n")))
- #t))
- (add-before 'build 'remove-wheel-requirement
- ;; we dont't build a wheel
- (lambda _
- (substitute* "setup.cfg"
- ((" wheel *>= [0-9.]*") ""))
- (substitute* "pyproject.toml"
- (("\"wheel *>=.*\"") ""))
- #t)))))
- (native-inputs
- (list python-pytest python-pytest-forked))
- (inputs
- (list boost libpepadapter pep-engine python-setuptools-scm
- `(,util-linux "lib"))) ;; uuid.h
- (home-page "https://pep.foundation/")
- (synopsis "Python adapter for p≡p (pretty Easy Privacy)")
- (description "The p≡p Python adapter is an adaptor interface to the p≡p
-(pretty Easy privacy) engine.")
- (license license:gpl3)))
-
-(define-public java-pep-adapter
- (package
- (name "java-pep-adapter")
- (version "2.1.23")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitea.pep.foundation/pEp.foundation/pEpJNIAdapter")
- (commit (string-append "Release_" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1sw3a5ggxcrkghvpp0a6h2lz461x55ldgfw5y4pw7c3gk5wynvjk"))))
- (build-system gnu-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:test-target "test"
- #:make-flags '("NDEBUG=1" "all" "doc") ; release build
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'pin-shared-lib-path
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "src/java/foundation/pEp/jniadapter/AbstractEngine.java"
- (("System.loadLibrary\\(\"pEpJNI\"\\);")
- (string-append "System.load(\""
- (assoc-ref outputs "out")
- "/lib/libpEpJNI.so" "\");")))
- #t))
- (replace 'configure
- ;; pEpJNIAdapter does not use autotools and configure,
- ;; but a local.conf. We need to tweak the values there.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (engine (assoc-ref inputs "pep-engine"))
- (libadapter (assoc-ref inputs "libpepadapter"))
- (openjdk (assoc-ref inputs "openjdk")))
- (with-output-to-file "local.conf"
- (lambda _
- (format #t "
-PREFIX=~a
-ENGINE_LIB_PATH=~a/lib
-ENGINE_INC_PATH=~a/include
-AD_LIB_PATH=~a/lib
-AD_INC_PATH=~a/include
-YML2_PROC=~a
-JAVA_HOME=~a
-"
- out engine engine libadapter libadapter
- (which "yml2proc") openjdk)))
- (substitute* "src/Makefile" ;; suppress some warnings
- (("^\\s+OLD_JAVA=") " xxx_OLD_JAVA="))
- #t)))
- (add-before 'build 'build-codegen
- ;; run codegen first to allow parallel build of other parts
- (lambda _
- (invoke "make" "-C" "src" "create-dirs" "codegen")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libout (string-append out "/lib/"))
- (javaout (string-append out "/share/java/")))
- (install-file "dist/libpEpJNI.a" libout)
- (install-file "dist/libpEpJNI.so" libout)
- (install-file "dist/pEp.jar" javaout)
- #t)))
- (add-after 'install 'install-docs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "doc"))
- (docout (string-append out "/share/doc/pEp-JNI-adapter"))
- (cxxout (string-append docout "/cxx"))
- (javaout (string-append docout "/java")))
- (mkdir-p cxxout)
- (mkdir-p javaout)
- (copy-recursively "doc/doxygen/cxx/html" cxxout)
- (copy-recursively "doc/doxygen/java/html" javaout)
- #t))))))
- (native-inputs
- (list doxygen graphviz
- `(,openjdk9 "jdk") which yml2))
- (inputs
- (list libpepadapter pep-engine
- `(,util-linux "lib"))) ;; uuid.h
- (home-page "https://pep.foundation/")
- (synopsis "Java adapter for p≡p (pretty Easy Privacy)")
- (description "The p≡p JNI adapter is a Java adapter interface to the p≡p
-(pretty Easy privacy) engine.")
- (license license:gpl3)))
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 33990bc2eb..c91e92fca2 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -36,6 +36,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix download)
@@ -514,17 +515,41 @@ scene to produce an image that looks much like a tone-mapped image.")
(base32 "1lwf3cwldvh9qfmh3w7nqqildfmxx2i5f5bn0vr8y6qc5kh7a1s9"))))
(build-system cmake-build-system)
(arguments
- `(,@(if (any (cute string-prefix? <> (or (%current-system)
- (%current-target-system)))
- '("x86_64" "i686"))
- ;; SSE and SSE2 are supported only on Intel processors.
- '()
- '(#:configure-flags '("-DBUILD_FOR_SSE=OFF" "-DBUILD_FOR_SSE2=OFF")))
- #:tests? #f)) ; There are no tests to run.
+ (list
+ #:imported-modules `(,@%cmake-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cmake-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:configure-flags
+ (if (any (cute string-prefix? <> (or (%current-system)
+ (%current-target-system)))
+ '("x86_64" "i686"))
+ ;; SSE and SSE2 are supported only on Intel processors.
+ #~'()
+ #~'("-DBUILD_FOR_SSE=OFF" "-DBUILD_FOR_SSE2=OFF"))
+ #:tests? #f ; There are no tests to run.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-egg
+ (lambda _
+ (substitute* "apps/CMakeLists.txt"
+ ;; Prevent creation of Python egg.
+ (("\\$\\{SETUP_PY\\} install")
+ "${SETUP_PY} install --single-version-externally-managed --root=/"))))
+ (add-after 'install 'python-wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each (lambda (program)
+ (wrap-program (search-input-file outputs program)
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")
+ ,(py:site-packages inputs outputs)))))
+ (list "bin/lensfun-update-data"
+ "bin/lensfun-add-adapter")))))))
(native-inputs
(list pkg-config))
(inputs
- (list glib))
+ (list bash-minimal glib python))
(home-page "https://lensfun.github.io/")
(synopsis "Library to correct optical lens defects with a lens database")
(description "Digital photographs are not ideal. Of course, the better is
@@ -545,7 +570,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "5.2.0")
+ (version "5.2.1")
(source
(origin
(method url-fetch)
@@ -553,7 +578,7 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz"))
(sha256
- (base32 "1imyk611wz0zxp03w91lhsxkj5hqgi0apx5bqj2q84gpdva6r92k"))))
+ (base32 "04gfcislcq2wymfqcir5bpwqfarcz5gynkn3ajyffj9rx6damw82"))))
(build-system cmake-build-system)
(arguments
(list
@@ -678,9 +703,19 @@ and enhance them.")
(list
#:tests? #f ;Tests are only examples
#:configure-flags
- #~(list "-DUSE_BUNDLED_LIBRAW=OFF"
- "-DBINARY_PACKAGE_BUILD=ON")
- #:build-type "Release")) ;Rawspeed fails on default 'RelWithDebInfo'
+ #~(list "-DUSE_BUNDLED_LIBRAW=OFF"
+ "-DBINARY_PACKAGE_BUILD=ON")
+ #:build-type "Release" ;Rawspeed fails on default 'RelWithDebInfo'
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'libOpenCL-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Statically link to libOpenCL.
+ (substitute* "./src/common/dlopencl.c"
+ (("\"libOpenCL\"")
+ (string-append "\""
+ (search-input-file inputs "/lib/libOpenCL.so")
+ "\""))))))))
(native-inputs
(list cmocka
desktop-file-utils
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index ef2022415e..4ef7656a04 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
-;;; Copyright © 2024 jgart <jgart@dismail.de>
+;;; Copyright © 2024-2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.82.20")
+ (version "2.82.25")
(source
(origin
(method git-fetch)
@@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "1gm4lasn3hrbqzkqscd94arkq0wqcs87r80lipc325yi0zm047s9"))
+ (base32 "0mq1yf5sxzvi9rkw1vwmyh0a9yv8rhqy8z0wd5k748ymvjfhi6g2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index b5ad5e7519..d3b31b05c7 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2021-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
@@ -252,6 +252,20 @@ Included are implementations of:
@end enumerate\n")
(license license:psfl)))
+(define-public python-typing-extensions-next
+ (package
+ (inherit python-typing-extensions)
+ (version "4.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "typing_extensions" version))
+ (sha256
+ (base32 "0rhlhs28jndgp9fghdhidn6g7xiwx8vvihxbxhlgl4ncfg8lishc"))))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-typing-extensions)
+ (replace "python-flit-core" python-flit-core-next)))))
+
;;;
;;; Python builder packages.
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index bfe187d3c0..77ed0d3ba2 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -753,6 +753,28 @@ install: libbitshuffle.so
(inputs '())
(native-inputs '())))
+(define-public python-uncompresspy
+ (package
+ (name "python-uncompresspy")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "uncompresspy" version))
+ (sha256
+ (base32 "1110dipshnijhq6dk5dxzxx3zpynm6dx5kcc430fw24b8xwlc9in"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests
+ (native-inputs
+ (list python-setuptools-next))
+ (home-page "https://github.com/kYwzor/uncompresspy")
+ (synopsis "Uncompressing LZW files in Python")
+ (description
+ "This package implement a pure Python module for uncompressing LZW
+files (.Z), such as the ones created by Unix's shell tool compress.")
+ (license license:bsd-3)))
+
(define-public python-unix-ar
(package
(name "python-unix-ar")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 96cbe0b958..32bf443722 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2701,24 +2701,27 @@ Java objects.")
(define-public python-pymdown-extensions
(package
(name "python-pymdown-extensions")
- (version "8.1.1")
+ (version "10.16.1")
(source
(origin
- (method url-fetch)
- (uri
- (pypi-uri "pymdown-extensions" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/facelessuser/pymdown-extensions")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0d8pdndrl1kj105lq7r6kw2dnhcvll6h2qs07w71mcpi7gx728v3"))))
- (build-system python-build-system)
- ;; FIXME: "AssertionError: False is not true"
+ (base32 "0r36nk1ppq1wrgb1lcy9asp9872xr0gbhxrjw7dpa8lp6m7nqb9k"))))
+ (build-system pyproject-build-system)
+ ;; XXX: A lot of HTML tests fail with negligible discrepancies.
(arguments
- `(#:tests? #f))
- (propagated-inputs
- (list python-markdown))
+ (list #:tests? #f))
+ (native-inputs (list python-hatchling python-pytest python-pyyaml))
+ (propagated-inputs (list python-markdown))
(home-page "https://github.com/facelessuser/pymdown-extensions")
(synopsis "Extension pack for Python Markdown")
- (description "PyMdown Extensions is a collection of extensions for Python
-Markdown. All extensions are found under the module namespace of pymdownx.")
+ (description
+ "PyMdown Extensions is a collection of extensions for Python Markdown.
+All extensions are found under the module namespace of pymdownx.")
(license license:expat)))
(define-public python-plotext
@@ -3367,7 +3370,7 @@ point types:
(define-public python-glymur
(package
(name "python-glymur")
- (version "0.13.6")
+ (version "0.14.3")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
@@ -3376,7 +3379,7 @@ point types:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "06v6g0fwzmy2imhrvy0q4zrhrlrp24yhs098vi13r92ga63c72xl"))))
+ (base32 "0266gj8a2p8jkbgb34lgk8dwin7ib2g38vdh04b2p6yhqx8w3xg8"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3407,15 +3410,14 @@ point types:
(list python-pytest
python-pytest-xdist
python-scikit-image
- python-setuptools
- python-wheel))
+ python-setuptools-next))
(inputs
(list openjpeg ; glymur/lib/openjp2.py
libtiff)) ; glymur/lib/tiff.py
(propagated-inputs
(list python-lxml
python-numpy
- python-packaging))
+ python-pillow ))
(home-page "https://github.com/quintusdias/glymur")
(synopsis "Python interface to OpenJPEG and LibTIFF")
(description
@@ -6519,44 +6521,41 @@ defined.")
(define-public python-extension-helpers
(package
(name "python-extension-helpers")
- (version "1.2.0")
+ (version "1.4.0")
(source
(origin
(method git-fetch) ; no tests in the PyPI tarball
(uri (git-reference
- (url "https://github.com/astropy/extension-helpers")
- (commit (string-append "v" version))))
+ (url "https://github.com/astropy/extension-helpers")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1cfzh3ijjp18as2qnmm1nnw6a3daqd7a2q17i0c6h1wq2jbawxxa"))))
+ (base32 "0ljvfv9p7jay4j31awx1h714xhyn5hbfgyhn4nm71xrkz9la113j"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; It tries to install it via pip: E ModuleNotFoundError: No module named
- ;; 'helpers_test_package_fd9cc3a9_11fa_4a1a_b80e_c5b043949604'
- #:test-flags #~(list "-k" "not test_only_pyproject and not test_no_setup_py")
+ #:test-flags
+ #~(list "--pyargs" "extension_helpers"
+ "-k" (string-join
+ ;; XXX: Tests try to check various compilation options and
+ ;; fail with some incomparability or trying to download
+ ;; missing modules.
+ (list "not test_only_pyproject"
+ "test_no_setup_py"
+ "test_limited_api")
+ " and not "))
#:phases
#~(modify-phases %standard-phases
;; LookupError: setuptools-scm was unable to detect version for
;; /tmp/guix-build-python-extension-helpers-1.2.0.drv-0/source.
(add-before 'build 'set-version
(lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
- (replace 'check
- (lambda* (#:key tests? test-flags #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- (with-directory-excursion "/tmp"
- (apply invoke "pytest" "-v" test-flags))))))))
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
(list python-pytest
- python-pytest-astropy
- python-pytest-cov
- python-setuptools-scm
- python-tomli
- python-setuptools
- python-wheel
- python-pip))
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-setuptools-next))
(home-page "https://extension-helpers.readthedocs.io")
(synopsis "Astropy ecosystem utilities for building and installing packages")
(description
@@ -6787,7 +6786,7 @@ palettes.")
(propagated-inputs
;; Youtube-dl is a python package which is imported in the file
;; "backend_youtube_dl.py", therefore it needs to be propagated.
- (list youtube-dl))
+ (list yt-dlp))
(home-page "https://np1.github.io/pafy/")
(synopsis "Retrieve YouTube content and metadata")
(description
@@ -7635,29 +7634,30 @@ memory usage and transliteration quality.")
(license license:expat)))
(define-public python-pymsgbox
- (package
- (name "python-pymsgbox")
- (version "1.0.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- ;; LICENSE.txt is not present on pypi
- (url "https://github.com/asweigart/PyMsgBox")
- (commit "55926b55f46caa969c5ddb87990ebea2737bd66f")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0zy7rjfpwlrd8b64j7jk2lb8m2npc21rnpwakpfvwgl4nxdy80rg"))))
- (arguments
- ;; Circular dependency to run tests:
- ;; Tests need pyautogui, which depends on pymsgbox.
- '(#:tests? #f))
- (build-system python-build-system)
- (home-page "https://github.com/asweigart/PyMsgBox")
- (synopsis "Python module for JavaScript-like message boxes")
- (description
- "PyMsgBox is a simple, cross-platform, pure Python module for
+ (let ((commit "944b7cdc67058d005ce5fd011c66f2d87d25aba0")
+ (revision "1"))
+ (package
+ (name "python-pymsgbox")
+ (version (git-version "1.0.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asweigart/PyMsgBox")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bhipfvnc06l8hiadk302v74yin38nwz1r47njliwk8kz103yl3g"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; Circular dependency to run tests:
+ ;; Tests need pyautogui, which depends on pymsgbox.
+ '(#:tests? #f))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/asweigart/PyMsgBox")
+ (synopsis "Python module for JavaScript-like message boxes")
+ (description
+ "PyMsgBox is a simple, cross-platform, pure Python module for
JavaScript-like message boxes. Types of dialog boxes include:
@enumerate
@item alert
@@ -7666,7 +7666,7 @@ JavaScript-like message boxes. Types of dialog boxes include:
@item password
@end enumerate
")
- (license license:bsd-3)))
+ (license license:bsd-3))))
(define-public python-pympler
(package
@@ -8960,7 +8960,7 @@ ecosystem, but can naturally be used also by other projects.")
(define-public python-robotframework
(package
(name "python-robotframework")
- (version "7.2.2")
+ (version "7.3.2")
(source
(origin
(method git-fetch) ; no tests in the PyPI archive
@@ -8969,7 +8969,7 @@ ecosystem, but can naturally be used also by other projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1a34dv5gpaiqbddblfnirp1ja2a1069n9nifasn4g26kcj69fpra"))))
+ (base32 "0azis3dj7lfiwrr5gr1gr78z5m05vvl8n20rw3bz93s05z94h5i7"))))
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
@@ -9009,6 +9009,7 @@ ecosystem, but can naturally be used also by other projects.")
python-jsonschema
python-pygments
python-rellu
+ python-typing-extensions-next
python-setuptools
`(,python "tk") ;used when building the HTML doc
python-wheel))
@@ -9621,22 +9622,9 @@ errors when data is invalid.")
(list
#:test-flags
#~(list "--ignore=tests/test_docs.py" ; no pytest_examples
- ;; These tests include hashes that keep changing depending on
- ;; package versions.
- "--ignore=tests/benchmarks/test_north_star.py"
+ "--ignore-glob=tests/benchmarks/*"
;; Unimportant difference in one test's error message.
- "--ignore=tests/test_networks.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Remove the addopts from pyproject.toml, it breaks the 'check
- ;; phase.
- (substitute* "pyproject.toml"
- (("'--benchmark") "#'--benchmark")
- ;; Do not fail on deprecation warnings.
- (("ignore:path is deprecated.*:DeprecationWarning:")
- "ignore::DeprecationWarning")))))))
+ "--ignore=tests/test_networks.py")))
(native-inputs
(list tzdata-for-tests
python-dirty-equals
@@ -13038,7 +13026,6 @@ data, and scientific formats.")
(build-system pyproject-build-system)
(native-inputs
(list pkg-config
- python-pyperf
python-pytest
python-setuptools
python-wheel))
@@ -17577,38 +17564,35 @@ reading and writing MessagePack data.")
#t))))))))
(define-public python-openstep-plist
- (package
- (name "python-openstep-plist")
- (version "0.3.0")
- (home-page "https://github.com/fonttools/openstep-plist")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1rxjgzh0p069ncsr2986rn32vhdqyq35irbqg2559jh18456mkca"))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'pretend-version
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
- #$(package-version this-package))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
- (native-inputs
- (list python-cython python-pytest python-setuptools-scm))
- (synopsis "OpenStep plist parser and writer")
- (description
- "This package provides a parser for the \"old style\" OpenStep property
+ (package
+ (name "python-openstep-plist")
+ (version "0.3.0")
+ (home-page "https://github.com/fonttools/openstep-plist")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rxjgzh0p069ncsr2986rn32vhdqyq35irbqg2559jh18456mkca"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'pretend-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(package-version this-package)))))))
+ (native-inputs (list python-cython python-pytest python-setuptools-scm
+ python-setuptools python-wheel))
+ (synopsis "OpenStep plist parser and writer")
+ (description
+ "This package provides a parser for the \"old style\" OpenStep property
list format (also known as ASCII plist), written in Cython.")
- (license license:expat)))
+ (license license:expat)))
(define-public python-wrapt
(package
@@ -17720,25 +17704,15 @@ Unicode-aware. It is not intended as an end-user tool.")
(uri (pypi-uri "xlwt" version))
(sha256
(base32 "123c2pdamshkq75wwvck8fq0cjq1843xd3x9qaiz2a4vg9qi56f5"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "GUIX_PYTHONPATH"
- (string-append (getcwd) "/build/lib:"
- (getenv "GUIX_PYTHONPATH")))
- (invoke "nosetests" "-v")))))))
- (native-inputs
- `(("nose" ,python-nose)))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://www.python-excel.org/")
(synopsis "Library for creating spreadsheet Excel files")
- (description "@code{xlwt} is a library for writing data and formatting
-information to older Excel files (i.e. .xls). The package itself is pure
-Python with no dependencies on modules or packages outside the standard Python
-distribution. It is not intended as an end-user tool.")
+ (description
+ "@code{xlwt} is a library for writing data and formatting information to
+older Excel files (i.e. .xls). The package itself is pure Python with no
+dependencies on modules or packages outside the standard Python distribution.
+It is not intended as an end-user tool.")
(license license:bsd-3)))
(define-public python-immutables
@@ -20712,17 +20686,39 @@ library as well as on the command line.")
(version "1.7.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "plumbum" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomerfiliba/plumbum")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1kidj821k79dw064rlxh84xamb9h79ychg3pgj81jlvm5hs48xri"))))
- (build-system python-build-system)
+ (base32 "1vlaiz4bwgrcay51knj6a20lh3lwihjqxhxhdk6nqkn9ijg0hc81"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f)) ;no tests
+ (list
+ #:test-flags
+ #~(list "--ignore=tests/test_remote.py"
+ "--ignore=tests/test_putty.py"
+ "--ignore=tests/test_sudo.py"
+ "-k"
+ (string-join (list "not test_home"
+ "test_iter_lines_error"
+ "test_quoting"
+ "test_copy_move_delete")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
- ;; XXX: Not actually used since there are no tests but required for
- ;; build.
- (list python-pytest))
+ (list procps
+ python-psutil
+ python-pytest
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
(home-page "https://plumbum.readthedocs.io")
(synopsis "Python shell combinators library")
(description
@@ -38126,12 +38122,13 @@ collection.")
(uri (pypi-uri "types-toml" version))
(sha256
(base32 "10400bd3yv6rjfnq8galskkbpqz1sfx9sfgr5qwvw04270x4cjgr"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for TOML")
- (description "This package contains typing stubs for TOML, a very small
-subset the Python stubs contained in the complete @code{typeshed}
-collection.")
+ (description
+ "This package contains typing stubs for TOML, a very small subset the
+Python stubs contained in the complete @code{typeshed} collection.")
(license license:asl2.0)))
(define-public python-types-ujson
@@ -38382,32 +38379,18 @@ easy to write code that's correct across platforms and Pythons.")
(uri (pypi-uri "pyperf" version))
(sha256
(base32 "189qf9wdbig0fk4n3bavx8acgdbay5lllfvw48jvbfaafb7y5hja"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- ;; Some of these tests fail with:
- ;;
- ;; ModuleNotFoundError: No module named 'pyperf'
- ;;
- ;; even when calling ‘add-installed-pythonpath’ in the ‘check’
- ;; phase.
- (delete-file "pyperf/tests/test_examples.py")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; From tox.ini's ‘testenv.commands’.
- (invoke "python" "-bb" "-Wd"
- "-m" "unittest" "discover"
- "-s" "pyperf/tests/" "-v")))))))
- (native-inputs
- (list python-psutil))
+ (list
+ #:test-flags
+ #~(list "--ignore=pyperf/tests/test_examples.py")))
+ (native-inputs (list python-psutil python-pytest python-setuptools
+ python-wheel))
(home-page "https://github.com/psf/pyperf")
(synopsis "Toolkit for running Python benchmarks")
- (description "The Python @code{pyperf} module is a toolkit for writing,
-running and analyzing benchmarks. It features a simple API that can:
+ (description
+ "The Python @code{pyperf} module is a toolkit for writing, running and
+analyzing benchmarks. It features a simple API that can:
@itemize
@item automatically calibrate a benchmark for a time budget;
@@ -38850,68 +38833,86 @@ nested data structures in Python like lists and dictionaries.")
(license license:expat)))
(define-public python-murmurhash3
- (package
- (name "python-murmurhash3")
- (version "2.3.5")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "murmurhash3" version))
- (sha256
- (base32
- "1gdzys1212dx70byz07ipknbw1awbqskh6aznlkm85js8b8qfczm"))))
- (build-system python-build-system)
- (native-inputs (list python-cython python-pytest))
- (inputs (list python))
- (arguments
- (list #:modules
- '((ice-9 ftw) (ice-9 match)
- (guix build utils)
- (guix build python-build-system))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'set-source-file-times-to-1980
- (lambda _
- (let ((circa-1980 (* 10 366 24 60 60)))
- (ftw "."
- (lambda (file stat flag)
- (utime file circa-1980 circa-1980) #t))))))))
- (home-page "https://github.com/veegee/mmh3")
- (synopsis "Python wrapper for MurmurHash (MurmurHash3)")
- (description
- "@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set
+ (let ((commit "01f1128a2c5ea08e6dc33515e140bedd68393a2d")
+ (revision "0"))
+ (package
+ (name "python-murmurhash3")
+ (version (git-version "2.3.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/veegee/mmh3")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zpk51ms1bvzg52zc9s9az71bgw2kgxidjcc1xib7y9r7dl7vczz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-package
+ (lambda _
+ (substitute* "mmh3module.cpp"
+ (("#include <stdio\\.h>")
+ "#define PY_SSIZE_T_CLEAN\n#include <stdio.h>")))))))
+ (native-inputs
+ (list python-cython python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/veegee/mmh3")
+ (synopsis "Python wrapper for MurmurHash (MurmurHash3)")
+ (description
+ "@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set
of fast and robust hash functions. This library is a Python extension module
written in C.")
- (license license:public-domain)))
+ (license license:public-domain))))
(define-public python-murmurhash
(package
(name "python-murmurhash")
(version "1.0.7")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "murmurhash" version))
- (sha256
- (base32
- "0vwkn98c703nvsigl2nz99rax2pafkx3djjfkgc49jiipmp3j2k3"))))
- (build-system python-build-system)
- (native-inputs (list python-cython python-pytest))
- (inputs (list python python-murmurhash3))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/explosion/murmurhash")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p8afy51nfvswl2fcimy5vc584zv89349rq12ymbcpp06yidzdfh"))))
+ (build-system pyproject-build-system)
(arguments
- (list #:modules
- '((ice-9 ftw) (ice-9 match)
- (guix build utils)
- (guix build python-build-system))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'set-source-file-times-to-1980
- (lambda _
- (let ((circa-1980 (* 10 366 24 60 60)))
- (ftw "."
- (lambda (file stat flag)
- (utime file circa-1980 circa-1980) #t))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'fix-installation
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append (site-packages inputs outputs) "/murmurhash")
+ (delete-file-recursively "tests")
+ (delete-file "mrmr.pyx")
+ (for-each
+ (lambda (file)
+ (chmod file #o555))
+ (find-files "." "\\.so$")))))
+ ;; XXX: Otherwise ModuleNotFoundError, and --pyargs doesn't seem
+ ;; to fix the issue.
+ (replace 'check
+ (lambda args
+ (copy-recursively "murmurhash/tests" "tests")
+ (delete-file-recursively "murmurhash")
+ (with-directory-excursion "tests"
+ (apply (assoc-ref %standard-phases 'check) args)))))))
+ (native-inputs
+ (list python-cython
+ python-murmurhash3
+ python-pytest
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/explosion/murmurhash")
(synopsis "Cython bindings for MurmurHash2")
- (description "This package provides Cython bindings for MurmurHash2.")
+ (description
+ "This package provides Cython bindings for MurmurHash2.")
(license license:expat)))
;; Scooby requires for its test suite a ‘pyvips’ package that is missing its
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b55488b1f5..97da50e5cd 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1476,20 +1476,9 @@ data types.")
;; Current major version.
(define-public python python-3)
-;; Minimal variants of Python, mostly used to break the cycle between Tk and
+;; Minimal variant of Python, mostly used to break the cycle between Tk and
;; Python (Tk -> libxcb -> Python.)
-(define-public python2-minimal
- (package/inherit python-2
- (name "python2-minimal")
- (outputs '("out"))
-
- ;; Keep zlib, which is used by 'pip' (via the 'zipimport' module), which
- ;; is invoked upon 'make install'. 'pip' also expects 'ctypes' and thus
- ;; libffi. Expat is needed for XML support which is expected by a lot
- ;; of libraries out there.
- (inputs (list expat libffi zlib))))
-
(define-public python-minimal
(package/inherit python
(name "python-minimal")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 34265cac0e..6632902b16 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -779,6 +779,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(patches
(search-patches "qtbase-moc-ignore-gcc-macro.patch"
"qtbase-absolute-runpath.patch"
+ "qtbase-fix-thread-test.patch"
"qtbase-qmake-use-libname.patch"
"qtbase-qmlimportscanner-qml-import-path.patch"
"qtbase-qmake-fix-includedir.patch"))))
@@ -899,16 +900,6 @@ tst_qt_cmake_create.cpp"
"dirs.append(\""
#$(this-package-input "shared-mime-info") "/share/mime"
"\");\n" all)))))
- #$@(if (target-aarch64?)
- ;; backport of 2bce75a6b53cccbf9c813581b64eea87f3ab55fc,
- ;; which makes flaky tst_qthread less flaky.
- #~((add-after 'patch-more-paths 'patch-aarch64-tests
- (lambda _
- (invoke
- "patch" "-p1" "-i"
- #$(local-file
- (search-patch "qtbase-fix-thread-test.patch"))))))
- #~())
(delete 'do-not-capture-python) ;move after patch-source-shebangs
(add-after 'patch-source-shebangs 'do-not-capture-python
(lambda _
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 3a1cb48412..7dc4f65db7 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -973,7 +973,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
qwt
sdl
soapysdr
- spdlog
+ spdlog-1.15
volk
zeromq))
(arguments
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index c567d3283a..73ce62b6cc 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -160,11 +160,10 @@
eigen
expat
ffmpeg
- fmt
+ fmt-11
freetype
gdal
gl2ps
- glew
gmsh
hdf5
jsoncpp
@@ -607,32 +606,26 @@ the complexity of that interface. Parallel support depends on the
(define-public python-fenics-ufl
(package
(name "python-fenics-ufl")
- (version "2019.1.0")
+ (version "2025.1.0")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "fenics-ufl" version))
- (sha256
- (base32
- "10dz8x3lm68x2w3kkqcjask38h0zkhhak26jdbkppr8g9y8wny7p"))))
- (build-system python-build-system)
- (inputs
- (list python-numpy))
- (native-inputs
- (list python-pytest))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "py.test" "test"))))))
- (home-page "https://bitbucket.org/fenics-project/ufl/")
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fenics/ufl")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "1ybf6l2nn4ni4a77ad1f36nhd7ddcbbvyc5frdggsmcjdmds9bf3"))))
+ (build-system pyproject-build-system)
+ (inputs (list python-numpy))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/fenics/ufl")
(synopsis "Unified language for form-compilers")
- (description "The Unified Form Language (UFL) is a domain specific
-language for declaration of finite element discretizations of
-variational forms. More precisely, it defines a flexible interface
-for choosing finite element spaces and defining expressions for weak
-forms in a notation close to mathematical notation.
+ (description
+ "The Unified Form Language (UFL) is a domain specific language for
+declaration of finite element discretizations of variational forms. More
+precisely, it defines a flexible interface for choosing finite element spaces
+and defining expressions for weak forms in a notation close to mathematical
+notation.
UFL is part of the FEniCS Project.")
(license license:lgpl3+)))
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index acbffe3bf9..f2f667ff5d 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -62,6 +62,7 @@
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix scripts)
#:use-module (guix utils)
#:use-module (guix packages))
@@ -78,14 +79,15 @@
(base32 "1mpfrvn122lnaqid1pi99ckpxd6x679b0w91pl003xmdwsfdbcly"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:make-flags
- (list
- (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (list
+ #:tests? #f ; no check target
+ #:make-flags
+ #~(list
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
(home-page "https://tools.suckless.org/scroll/")
(synopsis "Scroll-back buffer program for st")
(description "Scroll is a program that provides a scroll back buffer for
@@ -95,37 +97,36 @@ terminal like @code{st}.")
(define-public tabbed
(package
(name "tabbed")
- (version "0.6")
+ (version "0.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.suckless.org/tools/tabbed-"
version ".tar.gz"))
(sha256
- (base32 "0hhwckyzvsj9aim2l6m69wmvl2n7gzd6b1ly8qjnlpgcrcxfllbn"))))
+ (base32 "1a0842lw666cnx5mx2xqqrad4ipvbz4wxad3pxpyc6blgd2qgkqa"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "config.mk"
- (("/usr/local")
- (assoc-ref outputs "out"))
- (("/usr/X11R6")
- (assoc-ref inputs "libx11"))
- (("/usr/include/freetype2")
- (string-append (assoc-ref inputs "freetype")
- "/include/freetype2"))
- (("CC = cc")
- (string-append "CC = " ,(cc-for-target))))))
- (delete 'configure)))) ; no configure script
+ (list
+ #:tests? #f ; no check target
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/local") #$output)
+ (("/usr/X11R6") #$(this-package-input "libx11"))
+ (("/usr/include/freetype2")
+ (string-append #$(this-package-input "freetype")
+ "/include/freetype2"))
+ (("\\$\\{CC\\}")
+ (string-append #$(cc-for-target))))))
+ (delete 'configure)))) ; no configure script
(inputs
- `(("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("libx11" ,libx11)
- ("libxft" ,libxft)))
+ (list fontconfig
+ freetype
+ libx11
+ libxft))
(home-page "https://tools.suckless.org/tabbed/")
(synopsis "Tab interface for application supporting Xembed")
(description "Tabbed is a generic tabbed frontend to xembed-aware
@@ -212,12 +213,14 @@ It provides the following features:
"0nncvzyipvkkd7zlgzwbjygp82frzs2hvbnk71gxf671np607y94"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:make-flags (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (list
+ #:tests? #f ; no check target
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
(synopsis "Command line video editing utilities")
(home-page "https://tools.suckless.org/blind/")
(description
@@ -228,53 +231,49 @@ a custom raw video format with a simple container.")
(define-public dwm
(package
(name "dwm")
- (version "6.5")
+ (version "6.6")
+ (synopsis "Dynamic Window Manager")
(source (origin
- (method url-fetch)
- (uri (string-append "https://dl.suckless.org/dwm/dwm-"
- version ".tar.gz"))
- (sha256
- (base32 "0acpl05rg6rg6nrg3rv4kp388iqzp1n6dhin30a97yzjm6zrxmr1"))))
+ (method url-fetch)
+ (uri (string-append "https://dl.suckless.org/dwm/dwm-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "18q0zjvzsvpm76p2x1xlw163d8wbq44z41n9w94prh46jdnjrz3w"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f
- #:make-flags (list (string-append "FREETYPEINC="
- (assoc-ref %build-inputs "freetype")
- "/include/freetype2"))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda _
- (substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
+ (list
+ #:tests? #f
+ #:make-flags
+ #~(list
+ (string-append "FREETYPEINC="
+ #$(this-package-input "freetype")
+ "/include/freetype2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "Makefile" (("\\$\\{CC\\}") #$(cc-for-target)))))
+ (replace 'install
+ (lambda _
(invoke "make" "install"
- (string-append "DESTDIR=" out) "PREFIX="))))
- (add-after 'build 'install-xsession
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Add a .desktop file to xsessions.
- (let* ((output (assoc-ref outputs "out"))
- (xsessions (string-append output "/share/xsessions")))
- (mkdir-p xsessions)
- (with-output-to-file
- (string-append xsessions "/dwm.desktop")
- (lambda _
- (format #t
- "[Desktop Entry]~@
- Name=dwm~@
- Comment=Dynamic Window Manager~@
- Exec=~a/bin/dwm~@
- TryExec=~@*~a/bin/dwm~@
- Icon=~@
- Type=Application~%"
- output)))
- #t))))))
+ (string-append "DESTDIR=" #$output) "PREFIX=")))
+ (add-after 'build 'install-xsession
+ (lambda _
+ ;; Add a .desktop file to xsessions.
+ (let ((apps (string-append #$output "/share/xsessions")))
+ (mkdir-p apps)
+ (make-desktop-entry-file
+ (string-append apps "/dwm.desktop")
+ #:name "dwm"
+ #:generic-name #$synopsis
+ #:exec (string-append #$output "/bin/dwm %U")
+ #:comment
+ `(("en" ,#$synopsis)
+ (#f ,#$synopsis)))))))))
(inputs
(list freetype libx11 libxft libxinerama))
(home-page "https://dwm.suckless.org/")
- (synopsis "Dynamic window manager")
(description
"dwm is a dynamic window manager for X. It manages windows in tiled,
monocle and floating layouts. All of the layouts can be applied dynamically,
@@ -284,25 +283,27 @@ optimising the environment for the application in use and the task performed.")
(define-public dmenu
(package
(name "dmenu")
- (version "5.3")
+ (version "5.4")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.suckless.org/tools/dmenu-"
version ".tar.gz"))
(sha256
(base32
- "0pvr6da1v7hmbnacpgxcxv1sakg1nckmw347xhwrhx1dzpk573qs"))))
+ "0lyldkxshbgh7alz7a50l167pk1d4lcb2rhhhvz81aj710mcxflg"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output)
- (string-append "FREETYPEINC="
- (assoc-ref %build-inputs "freetype")
- "/include/freetype2"))
- #:phases
- (modify-phases %standard-phases (delete 'configure))))
+ (list
+ #:tests? #f ; no tests
+ #:make-flags
+ #~(list
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output)
+ (string-append "FREETYPEINC="
+ #$(this-package-input "freetype")
+ "/include/freetype2"))
+ #:phases
+ #~(modify-phases %standard-phases (delete 'configure))))
(inputs
(list freetype libxft libx11 libxinerama))
(home-page "https://tools.suckless.org/dmenu/")
@@ -368,31 +369,31 @@ numbers of user-defined menu items efficiently.")
(define-public st
(package
(name "st")
- (version "0.9.2")
+ (version "0.9.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.suckless.org/st/st-"
version ".tar.gz"))
(sha256
- (base32 "0js9z5kn8hmpxzfmb2g6zsy28zkpg88j3wih5wixc89b8x7ms8bb"))))
+ (base32 "16v4dsjrsh5jwah38ygg8808zc536szwxj1qxm6kswgdrnmzxncy"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "TERMINFO="
- (assoc-ref %outputs "out")
- "/share/terminfo")
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
+ (list
+ #:tests? #f ;no tests
+ #:make-flags
+ #~(list
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "TERMINFO=" #$output "/share/terminfo")
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))))
(inputs
- `(("libx11" ,libx11)
- ("libxft" ,libxft)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)))
+ (list libx11
+ libxft
+ fontconfig
+ freetype))
(native-inputs
(list ncurses ;provides tic program
pkg-config))
@@ -504,27 +505,27 @@ Vim bindings and Xresource compatibility.")
(base32 "0mrj0kp01bwrgrn4v298g81h6zyq64ijsg790di68nm21f985rbj"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- ;; Use the right file name for dmenu and xprop.
- (add-before 'build 'set-dmenu-and-xprop-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "config.def.h"
- (("dmenu") (search-input-file inputs "/bin/dmenu"))
- (("xprop") (search-input-file inputs "/bin/xprop")))
- #t)))))
+ (list
+ #:tests? #f ; no tests
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ ;; Use the right file name for dmenu and xprop.
+ (add-before 'build 'set-dmenu-and-xprop-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "config.def.h"
+ (("dmenu") (search-input-file inputs "/bin/dmenu"))
+ (("xprop") (search-input-file inputs "/bin/xprop"))))))))
(inputs
- `(("dmenu" ,dmenu)
- ("gcr" ,gcr-3)
- ("glib-networking" ,glib-networking)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("webkitgtk" ,webkitgtk-with-libsoup2)
- ("xprop" ,xprop)))
+ (list dmenu
+ gcr-3
+ glib-networking
+ gsettings-desktop-schemas
+ webkitgtk-with-libsoup2
+ xprop))
(native-inputs
(list pkg-config))
(home-page "https://surf.suckless.org/")
@@ -550,30 +551,31 @@ point surf to another URI by setting its XProperties.")
"0cxysz5lp25mgww73jl0mgip68x7iyvialyzdbriyaff269xxwvv"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (delete 'configure) ;no configuration
- (add-before 'build 'patch-farbfeld
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "config.def.h"
- (("2ff") (search-input-file inputs "/bin/2ff")))))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-"
- ,(package-version this-package))))
- (install-file "README.md" doc)))))
- #:tests? #f ;no test suite
- #:make-flags
- (let ((pkg-config (lambda (flag)
- (string-append "$(shell pkg-config " flag " "
- "xft fontconfig x11 libpng)"))))
- (list (string-append "CC="
- ,(cc-for-target))
- (string-append "PREFIX=" %output)
- (string-append "INCS=-I. "
- (pkg-config "--cflags"))
- (string-append "LIBS="
- (pkg-config "--libs") " -lm")))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ;no configuration
+ (add-before 'build 'patch-farbfeld
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "config.def.h"
+ (("2ff") (search-input-file inputs "/bin/2ff")))))
+ (add-after 'install 'install-doc
+ (lambda _
+ (install-file "README.md"
+ (string-append
+ #$output "/share/doc/"
+ #$name
+ "-"
+ #$(package-version this-package))))))
+ #:tests? #f ;no test suite
+ #:make-flags
+ #~(let ((pkg-config (lambda (flag)
+ (string-append "$(shell pkg-config " flag " "
+ "xft fontconfig x11 libpng)"))))
+ (list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output)
+ (string-append "INCS=-I. " (pkg-config "--cflags"))
+ (string-append "LIBS=" (pkg-config "--libs") " -lm")))))
(native-inputs (list pkg-config))
(inputs (list farbfeld libpng libx11 libxft fontconfig))
(synopsis "Plain-text presentation tool")
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index c2cdbd8a03..1b6a38928a 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -486,29 +486,3 @@ additional options for controlling the SSL session.")
. "https://core.tcl-lang.org/tcltls/wiki/Download")
(upstream-name . "tcltls")))
(license license:public-domain)))
-
-(define-public go-github.com-nsf-gothic
- (let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652")
- (revision "0"))
- (package
- (name "go-github.com-nsf-gothic")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nsf/gothic")
- (commit commit)))
- (sha256
- (base32
- "1lrhbml6r4sh22rrn3m9bck70pv0g0c1diprg7cil90x0jidxczr"))
- (file-name (git-file-name name version))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/nsf/gothic"))
- (propagated-inputs
- (list tk tcl))
- (home-page "https://github.com/nsf/gothic")
- (synopsis "Tcl/Tk Go bindings")
- (description "Gothic contains Go bindings for Tcl/Tk. The package contains
-only one type and one function that can be used to create a Tk interpreter.")
- (license license:expat))))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 2fa8013485..be5823af20 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -452,34 +452,34 @@ internet.")
(define-public libsrtp
(package
(name "libsrtp")
- (version "2.4.2")
+ (version "2.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/cisco/libsrtp")
- (commit (string-append "v" version))))
+ (url "https://github.com/cisco/libsrtp")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gswpjm4jacfxmgglbf8hxi3yzsag4drk4q943p0wkmv21zj8l78"))))
+ "1vjdkss076ihbshc83v11c6qxq8mfqi4c26rl1a96kqa9dpgjqmx"))))
(native-inputs
- (list psmisc ;some tests require 'killall'
+ (list psmisc ;some tests require 'killall'
procps))
(build-system gnu-build-system)
(arguments
- '(#:test-target "runtest"
- #:phases (modify-phases %standard-phases
- (add-after 'build 'build-shared
- (lambda* (#:key (make-flags '()) #:allow-other-keys)
- ;; Build the shared library separately because
- ;; the test runner requires a static build.
- (apply invoke "make" "shared_library" make-flags)
- #t))
- (add-after 'install 'remove-static-library
- (lambda* (#:key outputs #:allow-other-keys)
- (delete-file (string-append (assoc-ref outputs "out")
- "/lib/libsrtp2.a"))
- #t)))))
+ (list
+ #:test-target "runtest"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'build 'build-shared
+ (lambda* (#:key make-flags #:allow-other-keys)
+ ;; Build the shared library separately because
+ ;; the test runner requires a static build.
+ (apply invoke "make" "shared_library" make-flags)))
+ (add-after 'install 'remove-static-library
+ (lambda _
+ (delete-file (string-append #$output
+ "/lib/libsrtp2.a")))))))
(synopsis "Secure RTP (SRTP) Reference Implementation")
(description
"This package provides an implementation of the Secure Real-time Transport
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index d3e4be0894..ed26e63315 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -333,11 +333,11 @@ required structures.")
;; url-fetch is used here to avoid a circular dependency with
;; git-download, see https://issues.guix.gnu.org/63331
(method url-fetch)
- (uri (string-append "mirror://gnu/gnutls/guile-gnutls-"
- version ".tar.gz"))
+ (uri (string-append "mirror://gnu/gnutls/guile-gnutls-v"
+ version "-src.tar.gz"))
(sha256
(base32
- "0azgp79a4hgmbg2p2ghd1x2zav8894m9ch3i4hbvq8dlxvrnf06c"))))
+ "0kqngyx4520gjk49l6whjd2ss994kaj9rm78lli6p3q6xry0945i"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(arguments
@@ -354,6 +354,7 @@ required structures.")
"$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/extensions"))))
(native-inputs
(list libtool
+ autoconf automake
pkg-config
texinfo
gnutls
@@ -1132,30 +1133,6 @@ ACME server (such as Let's Encrypt) implemented as a relatively simple Bash
script.")
(license license:expat)))
-(define-public go-github-com-certifi-gocertifi
- (let ((commit "a5e0173ced670013bfb649c7e806bc9529c986ec")
- (revision "1"))
- (package
- (name "go-github-com-certifi-gocertifi")
- (version (git-version "2018.01.18" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/certifi/gocertifi")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1n9drccl3q1rr8wg3nf60slkf1lgsmz5ahifrglbdrc6har3rryj"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/certifi/gocertifi"))
- (synopsis "X.509 TLS root certificate bundle for Go")
- (description "This package is a Go language X.509 TLS root certificate bundle,
-derived from Mozilla's collection.")
- (home-page "https://certifi.io")
- (license license:mpl2.0))))
-
(define-public s2n
(package
(name "s2n")
diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index 116d25875a..12763a99ca 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -72,7 +72,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
- #:use-module (gnu packages sqlite)
#:use-module (gnu packages tor)
#:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
@@ -116,16 +115,16 @@ Firefox locales.")
;; We copy the official build id, which is defined at
;; tor-browser-build/rbm.conf (browser_release_date).
-(define %torbrowser-build-date "20250722101758")
+(define %torbrowser-build-date "20250818110000")
;; To find the last version, look at https://www.torproject.org/download/.
-(define %torbrowser-version "14.5.5")
+(define %torbrowser-version "14.5.6")
;; To find the last Firefox version, browse
;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
;; There should be only one archive that starts with
;; "src-firefox-tor-browser-".
-(define %torbrowser-firefox-version "128.13.0esr-14.5-1-build2")
+(define %torbrowser-firefox-version "128.14.0esr-14.5-1-build2")
;; See tor-browser-build/rbm.conf for the list.
(define %torbrowser-locales (list "ar" "be" "bg" "ca" "cs" "da" "de" "el" "es-ES" "fa"
@@ -140,11 +139,11 @@ Firefox locales.")
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
- (commit "8600afeb12fdae895c37618e1386c1a1ac2f5308")))
+ (commit "9896e5765c90c763b97135fdda00a08cf08dbddd")))
(file-name "translation-base-browser")
(sha256
(base32
- "1l190sqpbldnsrwqv8y3fbf7l3bf54b17bajswkaqpsgyci2wicy"))))
+ "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4"))))
;; See tor-browser-build/projects/translation/config.
(define torbrowser-translation-specific
@@ -152,11 +151,11 @@ Firefox locales.")
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
- (commit "9fe8a13ee4c69f91cd545dc3c575ca8f4851d58e")))
+ (commit "a58fb6a60d4d1328b7cffcc1e6ded5673f5e4360")))
(file-name "translation-tor-browser")
(sha256
(base32
- "0n3wa1snadhr574rf01kqg18vh66hzv1h7lhwkdps7q9qj7mpgim"))))
+ "0qb0fjxinsd34pfgjzgpf6ry2wssc191yzxncvwrhi1bjlgjw73r"))))
(define torbrowser-assets
;; This is a prebuilt Torbrowser from which we take the assets we need.
@@ -172,7 +171,7 @@ Firefox locales.")
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
(sha256
(base32
- "0gdzd3gm0qs7ypzdrcdqz6byp5lc9byvb3m4xj3sgdd44j0s34dc"))))
+ "1hk4hbs7hc5j6f6fiqgik0087b0yvwl54f6rm4jig2wg41cc44hr"))))
(arguments
(list
#:install-plan
@@ -213,7 +212,7 @@ Browser.")
".tar.xz"))
(sha256
(base32
- "1pm0fi816hzafgv0z52h3n3x355hwjlxgzz89lpzncz9idf9lsqy"))))
+ "16hkibrlzgp430m045w13yl5ixxccyxlqk9qmzsgg0c5wkys6si4"))))
(build-system mozilla-build-system)
(inputs
(list lyrebird
@@ -226,11 +225,9 @@ Browser.")
gdk-pixbuf
glib
gtk+
- ;; UNBUNDLE-ME! graphite2
cairo
pango
freetype
- ;; UNBUNDLE-ME! harfbuzz
libcanberra
libgnome
libjpeg-turbo
@@ -254,9 +251,8 @@ Browser.")
hunspell
libnotify
nspr
- nss-rapid ; requires v. 3.101, so nss won't cut it for now.
+ nss
shared-mime-info
- sqlite
eudev
unzip
zip
@@ -352,12 +348,9 @@ Browser.")
"--with-system-icu"
"--with-system-nspr"
"--with-system-nss"
+ "--with-system-ffi"
- ;; UNBUNDLE-ME! "--with-system-harfbuzz"
- ;; UNBUNDLE-ME! "--with-system-graphite2"
"--enable-system-pixman"
- "--enable-system-ffi"
- ;; UNBUNDLE-ME! "--enable-system-sqlite"
)
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
@@ -411,10 +404,7 @@ Browser.")
"media/libvpx"
;; UNBUNDLE-ME! "media/libtremor"
"media/libwebp"
- ;; UNBUNDLE-ME! "gfx/harfbuzz"
- ;; UNBUNDLE-ME! "gfx/graphite2"
"js/src/ctypes/libffi"
- ;; UNBUNDLE-ME! "db/sqlite3"
;; 800Mo of unused tests.
"testing/web-platform"
))))
@@ -800,17 +790,17 @@ attacks on the privacy of Tor users.")
;; We copy the official build id, which can be found there:
;; https://cdn.mullvad.net/browser/update_responses/update_1/release.
-(define %mullvadbrowser-build-date "20250722101758")
+(define %mullvadbrowser-build-date "20250818110000")
;; To find the last version, look at
;; https://mullvad.net/en/download/browser/linux.
-(define %mullvadbrowser-version "14.5.5")
+(define %mullvadbrowser-version "14.5.6")
;; To find the last Firefox version, browse
;; https://archive.torproject.org/tor-package-archive/mullvadbrowser/<%mullvadbrowser-version>
;; There should be only one archive that starts with
;; "src-firefox-mullvad-browser-".
-(define %mullvadbrowser-firefox-version "128.13.0esr-14.5-1-build1")
+(define %mullvadbrowser-firefox-version "128.14.0esr-14.5-1-build2")
;; See tor-browser-build/projects/translation/config.
(define mullvadbrowser-translation-base
@@ -818,11 +808,11 @@ attacks on the privacy of Tor users.")
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
- (commit "8600afeb12fdae895c37618e1386c1a1ac2f5308")))
+ (commit "9896e5765c90c763b97135fdda00a08cf08dbddd")))
(file-name "translation-base-browser")
(sha256
(base32
- "1l190sqpbldnsrwqv8y3fbf7l3bf54b17bajswkaqpsgyci2wicy"))))
+ "06638lii8yx8smb192629i5zjp3aly80zvyd3hix12iivcvndqg4"))))
;; See tor-browser-build/projects/translation/config.
(define mullvadbrowser-translation-specific
@@ -850,7 +840,7 @@ attacks on the privacy of Tor users.")
version "/mullvad-browser-linux-x86_64-" version ".tar.xz"))
(sha256
(base32
- "1z5g5l3bikpl2vlps641fpm2lps672ci0vx002blvssn55iv22iz"))))
+ "08wkx9f5l03la6ny1f0igxcmffrw80pl7i7c8lrh5095wnsxwim1"))))
(arguments
(list
#:install-plan
@@ -893,7 +883,7 @@ Mullvad Browser.")
%mullvadbrowser-firefox-version ".tar.xz"))
(sha256
(base32
- "1d8zs5mziig1vs385rqr8xmxyklf9aqbsk3lmqxc0p2ldgq6ygll"))))
+ "0djqmq1hw6mf8ww2yb3yga7hyqz9ims083sh5m0xi0yc9l4clmfg"))))
(arguments
(substitute-keyword-arguments (package-arguments mullvadbrowser-base)
((#:phases phases)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ad556f5072..47fde9ec16 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2725,101 +2725,126 @@ execution of any hook written in any language before every commit.")
(define-public python-pre-commit
(deprecated-package "python-pre-commit" pre-commit))
-(define-public mercurial
- (package
- (name "mercurial")
- (version "6.9.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.mercurial-scm.org/"
- "release/mercurial-" version ".tar.gz"))
- (patches (search-patches "mercurial-hg-extension-path.patch"))
- (sha256
- (base32
- "1zb5rjqs5z0y900hml0v4wsmv59cdhi50a8kcbjxdp79z7p2mwnk"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'patch-tests
- (lambda _
- (substitute* (find-files "tests" "\\.(t|py)$")
- (("/bin/sh")
- (which "sh"))
- (("/usr/bin/env")
- (which "env")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (with-directory-excursion "tests"
- ;; The following tests are known to fail.
- (for-each delete-file
- '(;; XXX: This test calls 'run-tests.py --with-hg=
- ;; `which hg`' and fails because there is no hg on
- ;; PATH from before (that's why we are building it!)?
- "test-hghave.t"
+;; XXX: This is a temporary helper to avoid recompiling mercurial/pinned.
+;; If you update mercurial, don't touch it but work around it.
+;; If you update mercurial/pinned, include that in mercurial, and use inheritance
+;; for mercurial/pinned.
+(define mercurial-check-phase
+ #~(lambda* (#:key tests? #:allow-other-keys)
+ (with-directory-excursion "tests"
+ ;; The following tests are known to fail.
+ (for-each delete-file
+ '(;; XXX: This test calls 'run-tests.py --with-hg=
+ ;; `which hg`' and fails because there is no hg on
+ ;; PATH from before (that's why we are building it!)?
+ "test-hghave.t"
+
+ ;; This test is missing a debug line
+ ;; mmapping $TESTTMP/a/.hg/store/00changelog.i (no-pure !)
+ ;; but the relevant output is correct.
+ "test-revlog-mmapindex.t"
- ;; This test is missing a debug line
- ;; mmapping $TESTTMP/a/.hg/store/00changelog.i (no-pure !)
- ;; but the relevant output is correct.
- "test-revlog-mmapindex.t"
+ ;; This test creates a shebang spanning multiple
+ ;; lines which is difficult to substitute. It
+ ;; only tests the test runner itself, which gets
+ ;; thoroughly tested during the check phase anyway.
+ "test-run-tests.t"
- ;; This test creates a shebang spanning multiple
- ;; lines which is difficult to substitute. It
- ;; only tests the test runner itself, which gets
- ;; thoroughly tested during the check phase anyway.
- "test-run-tests.t"
+ ;; These tests fail because the program is not
+ ;; connected to a TTY in the build container.
+ "test-nointerrupt.t"
+ "test-transaction-rollback-on-sigpipe.t"
- ;; These tests fail because the program is not
- ;; connected to a TTY in the build container.
- "test-nointerrupt.t"
- "test-transaction-rollback-on-sigpipe.t"
+ ;; FIXME: This gets killed but does not receive an interrupt.
+ "test-commandserver.t"
- ;; FIXME: This gets killed but does not receive an interrupt.
- "test-commandserver.t"
+ ;; These tests get unexpected warnings about using
+ ;; deprecated functionality in Python, but otherwise
+ ;; succeed; try enabling for later Mercurial versions.
+ "test-demandimport.py"
+ "test-patchbomb-tls.t"
+ ;; Similarly, this gets a more informative error
+ ;; message from Python 3.10 than it expects.
+ "test-http-bad-server.t"
- ;; These tests get unexpected warnings about using
- ;; deprecated functionality in Python, but otherwise
- ;; succeed; try enabling for later Mercurial versions.
- "test-demandimport.py"
- "test-patchbomb-tls.t"
- ;; Similarly, this gets a more informative error
- ;; message from Python 3.10 than it expects.
- "test-http-bad-server.t"
+ ;; Only works when run in a hg-repo, not in an
+ ;; extracted tarball
+ "test-doctest.py"
- ;; Only works when run in a hg-repo, not in an
- ;; extracted tarball
- "test-doctest.py"
+ ;; TODO: the fqaddr() call fails in the build
+ ;; container, causing these server tests to fail.
+ "test-hgwebdir.t"
+ "test-http-branchmap.t"
+ "test-pull-bundle.t"
+ "test-push-http.t"
+ "test-serve.t"
+ "test-subrepo-deep-nested-change.t"
+ "test-subrepo-recursion.t"
+ ;; FIXME: Investigate why it failed.
+ "test-convert-darcs.t"))
+ (when tests?
+ (invoke "./run-tests.py"
+ ;; ‘make check’ does not respect ‘-j’.
+ (string-append "-j" (number->string
+ (parallel-job-count)))
+ ;; The default time-outs are too low for many systems.
+ ;; Raise them generously: Guix enforces its own.
+ "--timeout" "86400"
+ "--slowtimeout" "86400"
+ ;; The test suite takes a long time and produces little
+ ;; output by default. Prevent timeouts due to silence.
+ "-v")))))
- ;; TODO: the fqaddr() call fails in the build
- ;; container, causing these server tests to fail.
- "test-hgwebdir.t"
- "test-http-branchmap.t"
- "test-pull-bundle.t"
- "test-push-http.t"
- "test-serve.t"
- "test-subrepo-deep-nested-change.t"
- "test-subrepo-recursion.t"
- ;; FIXME: Investigate why it failed.
- "test-convert-darcs.t"))
- (when tests?
- (invoke "./run-tests.py"
- ;; ‘make check’ does not respect ‘-j’.
- (string-append "-j" (number->string
- (parallel-job-count)))
- ;; The default time-outs are too low for many systems.
- ;; Raise them generously: Guix enforces its own.
- "--timeout" "86400"
- "--slowtimeout" "86400"
- ;; The test suite takes a long time and produces little
- ;; output by default. Prevent timeouts due to silence.
- "-v"))))))))
+(define-public mercurial
+ (package
+ (name "mercurial")
+ (version "7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.mercurial-scm.org/"
+ "release/mercurial-" version ".tar.gz"))
+ (patches (search-patches "mercurial-hg-extension-path.patch"))
+ (sha256
+ (base32 "1jz54akdnsp5frlbsr2xg71kbp2919v61gkkx7c7bi1q7k421ng8"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:imported-modules `((guix build python-build-system)
+ ,@%default-gnu-imported-modules)
+ #:modules '((guix build gnu-build-system)
+ ((guix build python-build-system) #:prefix py:)
+ (guix build utils))
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "tests" "\\.(t|py)$")
+ (("/bin/sh")
+ (search-input-file inputs "bin/sh"))
+ (("/usr/bin/env")
+ (search-input-file inputs "bin/env")))))
+ (add-before 'check 'configure-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (with-directory-excursion "tests"
+ (substitute* "run-tests.py"
+ ;; XXX: Adapt pip call to build daemon chroot.
+ (("b\"install\", b\"\\.\"")
+ "b\"install\", b\"--no-build-isolation\", b\".\"")
+ ;; XXX: Log the actual PYTHONPATH.
+ (("\"PYTHONPATH\"")
+ "\"GUIX_PYTHONPATH\"")))))
+ (add-before 'configure-check 'add-install-to-pythonpath
+ (assoc-ref py:%standard-phases 'add-install-to-pythonpath))
+ (delete 'check)
+ (add-after 'install 'check #$mercurial-check-phase))))
(native-inputs
(list python-docutils
;; The following inputs are only needed to run the tests.
- python-nose unzip which))
+ python-setuptools-next python-setuptools-scm-next python-wheel unzip which))
(inputs
(list python-wrapper))
;; Find third-party extensions.
@@ -2835,6 +2860,38 @@ efficiently handles projects of any size and offers an easy and intuitive
interface.")
(license license:gpl2+)))
+(define-public mercurial/pinned
+ (package
+ (inherit mercurial)
+ (version "6.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.mercurial-scm.org/"
+ "release/mercurial-" version ".tar.gz"))
+ (patches (search-patches "mercurial-hg-extension-path.patch"))
+ (sha256
+ (base32 "1zb5rjqs5z0y900hml0v4wsmv59cdhi50a8kcbjxdp79z7p2mwnk"))))
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* (find-files "tests" "\\.(t|py)$")
+ (("/bin/sh")
+ (which "sh"))
+ (("/usr/bin/env")
+ (which "env")))))
+ (replace 'check #$mercurial-check-phase))))
+ (native-inputs
+ (list python-docutils
+ ;; The following inputs are only needed to run the tests.
+ python-nose unzip which))))
+
(define-public python-hg-evolve
(package
(name "python-hg-evolve")
@@ -2992,14 +3049,14 @@ following features:
(define-public subversion
(package
(name "subversion")
- (version "1.14.3")
+ (version "1.14.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/subversion/"
"subversion-" version ".tar.bz2"))
(sha256
(base32
- "0h54l4p2dlk1rm4zm428hi6ij6xpqxqlqmvkhmz5yhq9392zv7ll"))))
+ "18a4avism0a7b1siikkm6v2snhanlmqqzl4p8hspp2vbfvkjk2p7"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3068,6 +3125,20 @@ usage; and its ability to support the needs of a wide variety of users and
projects, from individuals to large-scale enterprise operations.")
(license license:asl2.0)))
+(define-public subversion/pinned
+ (hidden-package
+ (package
+ (inherit subversion)
+ (name "subversion")
+ (version "1.14.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://apache/subversion/"
+ "subversion-" version ".tar.bz2"))
+ (sha256
+ (base32 "0h54l4p2dlk1rm4zm428hi6ij6xpqxqlqmvkhmz5yhq9392zv7ll")))))))
+
(define-public rcs
(package
(name "rcs")
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index dcd70b430b..6a09858560 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois@gmx.com>
@@ -196,19 +196,18 @@
(define-public qemu
(package
(name "qemu")
- (version "9.1.3")
+ (version "10.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(sha256
- (base32 "12dc3fpv6c6qvw89amjjbb6dgc2f1c1alfgn2nab7a8kxnh7f2j8"))
+ (base32 "0ldyh3qia7zwv0xq6f67cp567i6ma1hb11gsqaz3x9qcnm4p6lg0"))
(patches (search-patches "qemu-build-info-manual.patch"
"qemu-disable-bios-tables-test.patch"
- "qemu-disable-migration-test.patch"
"qemu-fix-agent-paths.patch"
- "qemu-glibc-2.41.patch"))
+ "qemu-fix-test-virtio-version.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 663048c86f..4b89c2cd4f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
-;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
@@ -5584,11 +5584,9 @@ Cloud.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (guile (assoc-ref inputs "guile"))
(guile-effective-version
(read-line
- (open-pipe* OPEN_READ
- (string-append guile "/bin/guile")
+ (open-pipe* OPEN_READ (which "guile")
"-c" "(display (effective-version))")))
(scm (string-append out "/share/guile/site/"
guile-effective-version))
@@ -5604,13 +5602,11 @@ Cloud.")
`("PATH" ":" prefix
,(cons*
bin
- (map (lambda (input)
- (string-append
- (assoc-ref inputs input)
- "/bin"))
- '("ephemeralpg"
- "util-linux"
- "postgresql"))))
+ (map (lambda (file)
+ (search-input-file inputs file))
+ '("/bin/pg_tmp" ;ephemeralpg
+ "/bin/ionice" ;util-linux
+ "/bin/psql")))) ;postgresql
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
@@ -5637,7 +5633,9 @@ Cloud.")
guile-squee
guile-lzlib))
(native-inputs
- (list (lookup-package-native-input guix "guile")
+ ;; Use the highest Guile version found among dependencies to ensure .go
+ ;; files can be loaded.
+ (list (lookup-package-native-input guile-fibers-next "guile")
autoconf
automake
emacs-minimal
@@ -8985,7 +8983,7 @@ It does not support server push.")
(define-public hpcguix-web
(package
(name "hpcguix-web")
- (version "0.4.2")
+ (version "0.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8994,7 +8992,7 @@ It does not support server push.")
(file-name (git-file-name name version))
(sha256
(base32
- "09xfyyz3004qcfjjlg903gnsb9wsrrdk7gw7xawsvw58l6vrialb"))))
+ "1mcy4p5pw623gmwcx5jpry27njqyq1fp74wpq1c34s06gkhdarji"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -9756,6 +9754,21 @@ for ZIM files.")
It contains the code shared by all Kiwix ports.")
(license license:gpl3)))
+(define-public kiwix-lib-13
+ (package
+ (inherit kiwix-lib)
+ (name "kiwix-lib")
+ (version "13.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kiwix/kiwix-lib/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mgzmqar70rj83x27a4zh7qr6yl5pi95g6i3fvvxysdjy76v18qc"))))))
+
(define-public kiwix-desktop
(package
(name "kiwix-desktop")
@@ -9826,7 +9839,7 @@ offline (such as Wikipedia), without any access to Internet.")
(inputs
(list curl
icu4c
- kiwix-lib
+ kiwix-lib-13
libmicrohttpd
libzim
pugixml
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 94e9a4e77f..8e36fea6de 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -46,6 +46,7 @@
(define-public wget
(package
+ (replacement wget/fixed)
(name "wget")
(version "1.21.4")
(source
@@ -75,6 +76,17 @@ 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")
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index c5fd41269e..bc361dbe53 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -1360,7 +1360,7 @@ for and start applications.")
font-dejavu ;default font
greybird-gtk-theme
hicolor-icon-theme
- mate-polkit-for-xfce
+ mate-polkit
mousepad
ristretto
shared-mime-info
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 08703b370c..6ba3c5b8ca 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2644,7 +2644,7 @@ It is used to control the pointer with a joystick device.")
"0mvwxrnkq0lzhjr894p420zxffdn34nc2scinmp7qd1hikr51kkp"))))
(build-system gnu-build-system)
;; Linux is no longer supported since 2.0.0, use libinput or evdev instead.
- (supported-systems '("i586-gnu" "x86_64-gnu"))
+ (supported-systems %hurd-systems)
(inputs (list xorg-server))
(native-inputs (list pkg-config))
(home-page "https://www.x.org/wiki/")
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 6b3f66095c..82484d652d 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -1890,4 +1890,186 @@ toolchain. Among other features it provides
(properties `((max-silent-time . 9600)
,@(clang-compiler-cpu-architectures "19")))))
+
+;;;
+;;; Bootstrap path for Zig 0.15.
+;;;
+
+(define zig-0.14.0-687
+ (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66")
+ (revision "687")
+ (base zig-0.14))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "0wjswx1cvql8pxpdrglr3h24v5rffnq3llr0f08hj8g959f6ffvs"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (replace "clang" clang-20)
+ (replace "lld" lld-20)))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "llvm" llvm-20)
+ (replace "zig" `(,base "zig1"))))
+ (properties `((max-silent-time . 9600)
+ ,@(clang-compiler-cpu-architectures "20"))))))
+
+(define zig-0.14.0-877
+ (let ((commit "0adcfd60f4fcfd01c74a6477cbcef187ce06f533")
+ (revision "877")
+ (base zig-0.14.0-687))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "1yyar3cms02kzf4z20sbw09awqvz0kbm9fx8g0kgb8hp1f4blf3d"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.14.0-930
+ (let ((commit "40d11cc25a469dc6bb0f9fbba4d05e7210a23b3f")
+ (revision "930")
+ (base zig-0.14.0-877))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "06x6zi8hcl04gmql96vyms0zch94xi1all5s1kjsnbifixd99bgy"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "zig1")))))))
+
+(define zig-0.14.0-934
+ (let ((commit "4ba0e7d424a7c0af55c8085c659e9205560d3095")
+ (revision "934")
+ (base zig-0.14.0-930))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "17zaw7bk6wli6wpsr5zlpn1b39818h034l5bpnsxfslqqg09rsd8"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.14.0-1091
+ (let ((commit "87ce83d5a5854b63b7cef5c6209742ee1a524107")
+ (revision "1091")
+ (base zig-0.14.0-934))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "18irwcr63l1hf2g7vv9qajgllsp7qwzsv5ijm9x8l51agm6harf4"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "zig1")))))))
+
+(define zig-0.14.0-1197
+ (let ((commit "a023b9b22b6593ebd5a86736a4a9955840d1bfa1")
+ (revision "1197")
+ (base zig-0.14.0-1091))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "08c1m6kwq7cqg5s6j0ypp8ygvxj21da5is0w7y17sw27fjqrlhgr"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.15-libc-abi-tools
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziglang/libc-abi-tools")
+ (commit "21993a6036cc165485b20229589340dff9d4fc3c")))
+ (file-name "libc-abi-tools")
+ (sha256
+ (base32 "0miwb0zfgfmm4bh2bs7982wpk0wp5vj2mz10x9c3m8fw7zzcyvbh"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(substitute* "netbsd/consolidate.zig"
+ ((".write_buffer = buffer") ".write_buffer = &buffer")))))
+
+(define-public zig-0.15
+ (package
+ (inherit zig-0.14)
+ (name "zig")
+ (version "0.15.1")
+ (source
+ (origin
+ (inherit (zig-source
+ version version
+ "1cp18plf0x5wip4rnxiqavaqnqxnqzhipb34in6zd3y7wihwjmj4"))
+ (patches
+ (search-patches
+ "zig-0.14-use-baseline-cpu-by-default.patch"
+ "zig-0.14-use-system-paths.patch"
+ "zig-0.15-fix-runpath.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments zig-0.14)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'install-glibc-abilists)
+ ;; TODO: Remove newly-added abilists files in zig-source.
+ (add-before 'check 'install-abilists
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (mkdir-p "/tmp/libc-abi-tools")
+ (with-directory-excursion "/tmp/libc-abi-tools"
+ (copy-recursively
+ (dirname (search-input-file
+ (or native-inputs inputs) "list.zig"))
+ ".")
+ (for-each make-file-writable (find-files "."))
+ (for-each
+ (lambda (libc)
+ (with-directory-excursion libc
+ (invoke (string-append #$output "/bin/zig")
+ "run" "consolidate.zig")
+ (install-file
+ "abilists"
+ (string-append #$output "/lib/zig/libc/" libc))))
+ '("freebsd"
+ "glibc"
+ "netbsd")))))))))
+ (inputs
+ (modify-inputs (package-inputs zig-0.14)
+ (replace "clang" clang-20)
+ (replace "lld" lld-20)))
+ (native-inputs
+ (modify-inputs (package-native-inputs zig-0.14)
+ (delete "glibc-abi-tool")
+ (prepend zig-0.15-libc-abi-tools)
+ (replace "llvm" llvm-20)
+ (replace "zig" `(,zig-0.14.0-1197 "zig1"))))
+ (properties `((max-silent-time . 9600)
+ ,@(clang-compiler-cpu-architectures "20")))))
+
(define-public zig zig-0.13)