summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk6
-rw-r--r--gnu/packages/admin.scm2
-rw-r--r--gnu/packages/android.scm33
-rw-r--r--gnu/packages/assembly.scm4
-rw-r--r--gnu/packages/astronomy.scm87
-rw-r--r--gnu/packages/backup.scm2
-rw-r--r--gnu/packages/bioconductor.scm71
-rw-r--r--gnu/packages/bioinformatics.scm2
-rw-r--r--gnu/packages/bootloaders.scm4
-rw-r--r--gnu/packages/build-tools.scm6
-rw-r--r--gnu/packages/chemistry.scm11
-rw-r--r--gnu/packages/chromium.scm2
-rw-r--r--gnu/packages/cran.scm47
-rw-r--r--gnu/packages/crypto.scm4
-rw-r--r--gnu/packages/databases.scm37
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm4
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm131
-rw-r--r--gnu/packages/engineering.scm4
-rw-r--r--gnu/packages/file-systems.scm118
-rw-r--r--gnu/packages/firmware.scm9
-rw-r--r--gnu/packages/fonts.scm4
-rw-r--r--gnu/packages/fontutils.scm8
-rw-r--r--gnu/packages/freedesktop.scm6
-rw-r--r--gnu/packages/game-development.scm6
-rw-r--r--gnu/packages/games.scm24
-rw-r--r--gnu/packages/gettext.scm4
-rw-r--r--gnu/packages/gl.scm31
-rw-r--r--gnu/packages/gnome.scm7
-rw-r--r--gnu/packages/guile.scm7
-rw-r--r--gnu/packages/hardware.scm13
-rw-r--r--gnu/packages/ibus.scm12
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/java.scm12
-rw-r--r--gnu/packages/kde.scm2
-rw-r--r--gnu/packages/libusb.scm2
-rw-r--r--gnu/packages/linux.scm305
-rw-r--r--gnu/packages/lisp-xyz.scm10
-rw-r--r--gnu/packages/machine-learning.scm33
-rw-r--r--gnu/packages/mail.scm7
-rw-r--r--gnu/packages/mastodon.scm9
-rw-r--r--gnu/packages/maths.scm34
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/nss.scm11
-rw-r--r--gnu/packages/package-management.scm223
-rw-r--r--gnu/packages/patches/curlftpfs-fix-error-closing-file.patch23
-rw-r--r--gnu/packages/patches/curlftpfs-fix-file-names.patch76
-rw-r--r--gnu/packages/patches/curlftpfs-fix-memory-leak.patch23
-rw-r--r--gnu/packages/patches/curlftpfs-fix-no_verify_hostname.patch27
-rw-r--r--gnu/packages/patches/lvm2-static-link.patch36
-rw-r--r--gnu/packages/patches/mutter-fix-inverted-test.patch290
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/python-science.scm27
-rw-r--r--gnu/packages/python-web.scm63
-rw-r--r--gnu/packages/python-xyz.scm20
-rw-r--r--gnu/packages/qt.scm1
-rw-r--r--gnu/packages/radio.scm4
-rw-r--r--gnu/packages/serialization.scm13
-rw-r--r--gnu/packages/shellutils.scm5
-rw-r--r--gnu/packages/spice.scm26
-rw-r--r--gnu/packages/statistics.scm8
-rw-r--r--gnu/packages/storage.scm2
-rw-r--r--gnu/packages/sync.scm2
-rw-r--r--gnu/packages/text-editors.scm4
-rw-r--r--gnu/packages/version-control.scm4
-rw-r--r--gnu/packages/video.scm158
-rw-r--r--gnu/packages/virtualization.scm86
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/web.scm116
-rw-r--r--gnu/services/audio.scm284
-rw-r--r--gnu/services/guix.scm6
-rw-r--r--gnu/system.scm2
-rw-r--r--gnu/system/accounts.scm3
75 files changed, 1879 insertions, 812 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c0398268f5..d251eaa9b5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1039,6 +1039,10 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \
+ %D%/packages/patches/curlftpfs-fix-error-closing-file.patch \
+ %D%/packages/patches/curlftpfs-fix-file-names.patch \
+ %D%/packages/patches/curlftpfs-fix-memory-leak.patch \
+ %D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@@ -1572,7 +1576,6 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/luit-posix.patch \
- %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mactelnet-remove-init.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/make-impure-dirs.patch \
@@ -1620,6 +1623,7 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/musl-cross-locale.patch \
+ %D%/packages/patches/mutter-fix-inverted-test.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nautilus-extension-search-path.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ec32041055..f601b8a8b4 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2980,7 +2980,7 @@ modules and plugins that extend Ansible.")
(inputs
(list ansible
encfs
- fuse
+ fuse-2
util-linux ;; for umount
findutils
gnupg
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index f35c2398bd..32c295f9e4 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2020 Sergey Trofimov <[email protected]>
;;; Copyright © 2021 Guillaume Le Vaillant <[email protected]>
;;; Copyright © 2021 Petr Hodina <[email protected]>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +39,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
@@ -721,6 +723,35 @@ file system.")
"This package provides @command{fastboot}, a tool to upload file system images to Android devices.")
(license license:asl2.0)))
+(define-public sdkmanager
+ (package
+ (name "sdkmanager")
+ (version "0.6.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sdkmanager" version ".tar.gz"))
+ (sha256
+ (base32
+ "11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
+ (build-system pyproject-build-system)
+ (inputs (list python-requests python-argcomplete python-urllib3 gnupg))
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'patch-gnupg
+ (lambda _
+ (substitute* "sdkmanager.py"
+ (("gpgv")
+ (string-append #$(this-package-input "gnupg")
+ "/bin/gpgv"))))))))
+ (home-page "https://gitlab.com/fdroid/sdkmanager")
+ (synopsis "Replacement for Android sdkmanager written in Python")
+ (description
+ "This package provides a drop-in replacement for sdkmanager from
+the Android SDK. It is written in Python and part of the F-Droid
+project. It implements the exact API of the Android sdkmanager command
+line. The project also attempts to maintain the same terminal output.")
+ (license license:agpl3+)))
+
(define-public android-udev-rules
(package
(name "android-udev-rules")
@@ -1260,7 +1291,7 @@ Java bytecode, which simplifies the analysis of Android applications.")
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ;there are no tests
- (inputs (list qtbase-5 fuse-3 libxkbcommon))
+ (inputs (list qtbase-5 fuse libxkbcommon))
(native-inputs (list qttools-5 openssl readline))
(home-page "https://whoozle.github.io/android-file-transfer-linux/")
(synopsis "MTP client for Android devices")
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 42c95876f7..4494c475ce 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -186,14 +186,14 @@ speed on x86, NEON on ARM, etc.).")
(define-public fasm
(package
(name "fasm")
- (version "1.73.30")
+ (version "1.73.31")
(source
(origin
(method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-"
version ".tgz"))
(sha256
- (base32 "00giqb94z8cxhv20yiyk8axkd2kzjcg1c0841yzbn7c8lm8m06bm"))))
+ (base32 "1qqg1czr9dr73l4gwrwim85mjs65al7vv8b292jipywimhhwnf4g"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests exist
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 9351c691d2..5b9434fb33 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -60,6 +60,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@@ -420,6 +421,30 @@ made to get a better separation of core libraries and applications.
@url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.")
(license license:gpl2+)))
+(define-public ccfits
+ (package
+ (name "ccfits")
+ (version "2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/ccfits/"
+ "CCfits-" version ".tar.gz"))
+ (sha256
+ (base32 "04l6na8vr5xadz3rbx62as79x1ch4994vbb625kx0dz5czdkkd1b"))))
+ (build-system cmake-build-system)
+ (inputs (list cfitsio))
+ (home-page "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/ccfits/")
+ (synopsis "C++ interface to the CFITSIO")
+ (description
+ "CCfits is an object oriented interface to the cfitsio library. It is
+designed to make the capabilities of cfitsio available to programmers working in
+C++. It is written in ANSI C++ and implemented using the C++ Standard Library
+with namespaces, exception handling, and member template functions.")
+ (license (license:non-copyleft "file://License.txt"
+ "See License.txt in the distribution."))))
+
(define-public cfitsio
(package
(name "cfitsio")
@@ -428,7 +453,7 @@ made to get a better separation of core libraries and applications.
(origin
(method url-fetch)
(uri (string-append
- "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
+ "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
"cfitsio-" version ".tar.gz"))
(sha256
(base32 "128qsv2q0f0g714ahlsixiikvvbwxi9bg9q9pcr5cd3f7wdkv9gb"))))
@@ -733,6 +758,66 @@ polygon data in order to produce control maps which can directly be used in
astronomical image-processing packages like Drizzle, Swarp or SExtractor.")
(license license:gpl3+)))
+(define-public glnemo2
+ (package
+ (name "glnemo2")
+ (version "1.21.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.lam.fr/jclamber/glnemo2")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jmmxszh8d2jmfghig36nhykff345mqnpssfa64d0r7l9cnfp3cn"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No test target
+ #:configure-flags #~(list "CPPFLAGS=-fcommon")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-libraries-paths
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ;; There is some not straightforward logic on how to set
+ ;; the installation prefix for the project; inherit it
+ ;; from the build-system default flags.
+ (("CMAKE_INSTALL_PREFIX \"/usr\"")
+ "CMAKE_INSTALL_PREFIX")
+ (("/usr/include/CCfits")
+ (string-append
+ #$(this-package-input "ccfits") "/include/CCfits"))
+ (("/usr/include/tirpc")
+ (string-append
+ #$(this-package-input "libtirpc") "/include/tirpc"))
+ ;; It tries to detect library in two "predictable" paths,
+ ;; required during the link phase.
+ (("/usr/lib64/libtirpc.so")
+ (string-append
+ #$(this-package-input "libtirpc") "/lib/libtirpc.so"))))))))
+ (inputs
+ (list ccfits
+ cfitsio
+ glm
+ glu
+ hdf5
+ libtirpc
+ qtbase-5
+ zlib))
+ (home-page "https://projets.lam.fr/projects/unsio/wiki")
+ (synopsis "3D interactive visualization program for n-body like particles")
+ (description
+ "GLNEMO2 is an interactive 3D visualization program which displays
+particles positions of the different components (gas, stars, disk, dark
+matter halo, bulge) of an N-body snapshot. It is a tool for running
+N-body simulations from isolated galaxies to cosmological simulations.
+It has a graphical user interface (based on QT 5.X API), uses a fast
+3D engine (OPenGL and GLSL), and is generic with the possibility to load
+different kinds of input files.")
+ (license license:cecill)))
+
(define-public gnuastro
(package
(name "gnuastro")
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index c8a1b388de..d484c34826 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -780,7 +780,7 @@ backups on untrusted computers.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse-3 libxml2 ntfs-3g openssl))
+ (list fuse libxml2 ntfs-3g openssl))
(arguments
`(#:configure-flags
(list "--disable-static"
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index d9d9274095..74071900a3 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -4723,6 +4723,77 @@ error rates and dispersion - and prior knowledge, e.g. from variation data
bases such as COSMIC.")
(license license:gpl3)))
+(define-public r-degreport
+ (package
+ (name "r-degreport")
+ (version "1.36.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "DEGreport" version))
+ (sha256
+ (base32
+ "15xm1l2qgsyzaw820a1fq5qdzh5pj4dmr1hx6s6b6wm2p02cvvai"))
+ (snippet
+ '(delete-file "docs/jquery.sticky-kit.min.js"))))
+ (properties `((upstream-name . "DEGreport")))
+ (build-system r-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'process-javascript
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "esbuild"
+ (assoc-ref inputs "js-jquery-sticky-kit")
+ "--minify"
+ "--outfile=docs/jquery.sticky-kit.min.js"))))))
+ (propagated-inputs (list r-biobase
+ r-biocgenerics
+ r-broom
+ r-circlize
+ r-cluster
+ r-complexheatmap
+ r-consensusclusterplus
+ r-cowplot
+ r-deseq2
+ r-dplyr
+ r-edger
+ r-ggdendro
+ r-ggplot2
+ r-ggrepel
+ r-knitr
+ r-logging
+ r-magrittr
+ r-psych
+ r-rcolorbrewer
+ r-reshape
+ r-rlang
+ r-s4vectors
+ r-scales
+ r-stringr
+ r-summarizedexperiment
+ r-tibble
+ r-tidyr))
+ (native-inputs
+ `(("esbuild" ,esbuild)
+ ("r-knitr" ,r-knitr)
+ ("js-jquery-sticky-kit"
+ ,(origin
+ (method url-fetch)
+ (uri "https://raw.githubusercontent.com/leafo/sticky-kit/\
+v1.1.2/jquery.sticky-kit.js")
+ (sha256
+ (base32
+ "17c3a1hqc3ybwj7hpw8prazajp2x98aq7nyfn71h6lzjvblq297g"))))))
+ (home-page "https://lpantano.github.io/DEGreport/")
+ (synopsis "Report of DEG analysis")
+ (description
+ "This is a package for creating na HTML report of differential expression
+analyses of count data. It integrates some of the code mentioned in DESeq2
+and @code{edgeR} vignettes, and report a ranked list of genes according to the
+fold changes mean and variability for each selected gene.")
+ (license license:expat)))
+
(define-public r-delayedarray
(package
(name "r-delayedarray")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 864c200707..34e8565788 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8713,7 +8713,7 @@ unique transcripts.")
(list ngs-sdk
ncbi-vdb
file
- fuse
+ fuse-2
hdf5-1.10
libxml2
zlib
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 38eb1d104f..069d02b52c 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -215,8 +215,8 @@
;; file system will be readable by GRUB without rebooting.
,@(if (member (or (%current-target-system)
(%current-system))
- (package-supported-systems fuse))
- `(("fuse" ,fuse))
+ (package-supported-systems fuse-2))
+ `(("fuse" ,fuse-2))
'())
("freetype" ,freetype)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 9fdcd1b66b..a365cca849 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -171,14 +171,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
- (version "20230711")
+ (version "20230723")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
- (base32 "1vrg6gclfn34lxyyqf0837hk89n5pf7ms0gmgg1fd87i0cn5908a"))))
+ (base32 "012rzgjmncdla1l43f9wl8v13h7d46zgn28k6djpcgx23fahsan4"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal))
@@ -605,7 +605,7 @@ software.")
(display "au BufNewFile,BufRead Tupfile,*.tup setf tup")))
#t))))))
(inputs
- (list fuse-3 pcre
+ (list fuse pcre
`(,pcre "bin") ; pcre-config
sqlite))
(native-inputs
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index bee540bc16..05aaa827f8 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2020 Björn Höfling <[email protected]>
;;; Copyright © 2020 Vincent Legoll <[email protected]>
;;; Copyright © 2021 Ricardo Wurmus <[email protected]>
-;;; Copyright © 2022 David Elsing <[email protected]>
+;;; Copyright © 2022, 2023 David Elsing <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -554,6 +554,12 @@ symmetries written in C. Spglib can be used to:
(assoc-ref inputs "libxml2")
"/include/libxml2:"
(getenv "CPLUS_INCLUDE_PATH")))))
+ ;; Prevent deleting the leading / in the __init__.py path in the
+ ;; launch script.
+ (add-after 'unpack 'disable-unchroot
+ (lambda _
+ (substitute* "setup.py"
+ (("self\\.unchroot") ""))))
;; The setup.py script does not support one of the Python build
;; system's default flags, "--single-version-externally-managed".
(replace 'install
@@ -572,8 +578,7 @@ symmetries written in C. Spglib can be used to:
python-pyqt
glm
netcdf))
- (native-inputs
- (list catch2 python-setuptools))
+ (native-inputs (list catch2))
(home-page "https://pymol.org")
(synopsis "Molecular visualization system")
(description "PyMOL is a capable molecular viewer and renderer. It can be
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index cef21a4fd1..6a9f113831 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -584,7 +584,7 @@
"ffmpeg_branding=\"Chrome\""
;; WebRTC stuff.
- "rtc_use_h264=false" ;XXX needs bundled openh264
+ "rtc_use_h264=true"
"rtc_use_pipewire=true"
"rtc_link_pipewire=true"
;; Don't use bundled sources.
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 4229fc2cea..5b74cb773a 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1251,6 +1251,31 @@ quickly isolate key differences makes understanding test failures much
easier.")
(license license:expat)))
+(define-public r-wheatmap
+ (package
+ (name "r-wheatmap")
+ (version "0.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "wheatmap" version))
+ (sha256
+ (base32
+ "064idlrnb85xxav39gp3n854fic6514khvazrf5d0x48crpzyvdp"))))
+ (properties `((upstream-name . "wheatmap")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-colorspace r-rcolorbrewer))
+ (native-inputs (list r-knitr))
+ (home-page "https://github.com/zwdzwd/wheatmap")
+ (synopsis "Incrementally build complex plots using natural semantics")
+ (description
+ "This package lets you build complex plots, heatmaps in particular, using
+natural semantics. Bigger plots can be assembled using directives such as
+@code{LeftOf}, @code{RightOf}, @code{TopOf}, and @code{Beneath} and more.
+Other features include clustering, dendrograms and integration with ggplot2
+generated grid objects. This package is particularly designed for
+bioinformaticians to assemble complex plots for publication.")
+ (license license:gpl3)))
+
(define-public r-rticles
(package
(name "r-rticles")
@@ -21286,6 +21311,28 @@ The bedr package's API enhances access to these tools as well as offers
additional utilities for genomic regions processing.")
(license license:gpl2)))
+(define-public r-setrng
+ (package
+ (name "r-setrng")
+ (version "2022.4-1")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "setRNG" version))
+ (sha256
+ (base32
+ "09089vr5x8snwxh38kdhgpjl3jl7zrk056f6f9a2jg5lsrmnxh31"))))
+ (properties `((upstream-name . "setRNG")))
+ (build-system r-build-system)
+ (home-page "https://distr.r-forge.r-project.org/")
+ (synopsis "Set (normal) random number generator and seed")
+ (description
+ "This package provides utilities to help set and record the setting of
+the seed and the uniform and normal generators used when a random experiment
+is run. The utilities can be used in other functions that do random
+experiments to simplify recording and/or setting all the necessary information
+for reproducibility. See the vignette and reference manual for examples.")
+ (license license:gpl2)))
+
(define-public r-sets
(package
(name "r-sets")
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 0f1e70f4dc..07e718feaf 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -333,7 +333,7 @@ OpenBSD tool of the same name.")
("googletest-source" ,(package-source googletest))
("perl" ,perl)))
(inputs
- (list attr fuse openssl-1.1 tinyxml2))
+ (list attr fuse-2 openssl-1.1 tinyxml2))
(arguments
`(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")
#:phases
@@ -1532,7 +1532,7 @@ non-encrypted files.")
(native-inputs
(list pkg-config python-wrapper))
(inputs
- (list boost curl fuse range-v3 spdlog))
+ (list boost curl fuse-2 range-v3 spdlog))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 6e8fe4cfb6..762d8bd402 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1190,14 +1190,14 @@ and high-availability (HA).")
(define-public postgresql-15
(package
(name "postgresql")
- (version "15.1")
+ (version "15.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1bi19sqmri569hyjvbk8grlws7f5dalsqz87wkgx1yjafcyz5zb4"))
+ "0cnrk5jrwfqkcx8mlg761s60ninqrsxpzasf7xfbzzq03y4x9izz"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@@ -1265,27 +1265,27 @@ pictures, sounds, or video.")
(define-public postgresql-13
(package
(inherit postgresql-14)
- (version "13.9")
+ (version "13.11")
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "05d46dzkya6s0qbaxvksc5j12syb514q5lha6z9vx7z4lp06c6gg"))))))
+ "1yqbwnzgdgaim476smwkdj2jd6j92x9xqm2f1mknnmh3f9jgz4j9"))))))
(define-public postgresql-11
(package
(inherit postgresql-13)
(name "postgresql")
- (version "11.18")
+ (version "11.20")
(source (origin
(inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "013m1x53qfxcry7l033ahhxjc3lflb7fj8fapk7qm49fqppj0kyj"))))
+ "1kmcnnc2nwjxv042b8bxbdxdgfksxvgmfhh4999rhzjays18hz1x"))))
(native-inputs
(modify-inputs (package-native-inputs postgresql-13)
(replace "docbook-xml" docbook-xml-4.2)))))
@@ -2777,25 +2777,26 @@ database.")
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.856")
+ (version "1.858")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
version ".tar.gz"))
(sha256
- (base32 "1ab6rm2b8lz0g3gc8k9y79gkgajyby0zpybkdg9mk4g35y9bmyfd"))))
+ (base32 "1xm7s2ag15498kp7g8r20gxk22ncz3b3hz4b3srqf7ypif3a5dyf"))))
(build-system perl-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'modify-config.in
+ (lambda _
+ (substitute* "config.in"
+ (("/usr/local/BerkeleyDB")
+ #$(this-package-input "bdb"))))))))
(inputs (list bdb))
(native-inputs (list perl-test-pod))
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before
- 'configure 'modify-config.in
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "config.in"
- (("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
- #t)))))
(home-page "https://metacpan.org/release/DB_File")
(synopsis "Perl5 access to Berkeley DB version 1.x")
(description
@@ -3802,13 +3803,13 @@ libraries with SQLALchemy.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
- (version "2.9.5")
+ (version "2.9.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
- (base32 "0ni4kq6p7hbkm2qsky998q36q5gq5if4nwd8hwhjx5rsd0p6s955"))))
+ (base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
(build-system python-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 7dc6ecfa7b..52717f6bdb 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
- (version "245")
+ (version "246")
(source
(origin
(method git-fetch)
@@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0zh2smp0vvvl1c4f5ykmblw0xlbdfnix1v2yi5xpyia2pgslbjjv"))))
+ (base32 "1y54r0kayn7nvv0ng9dx6bwxvrwdkd0xaklmfq53z7p00wgx0ly8"))))
(build-system python-build-system)
(arguments
(list
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 21e8775e83..bb68b171f9 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -245,14 +245,14 @@ tmpfs/ramfs filesystems.")
(define-public parted
(package
(name "parted")
- (version "3.5")
+ (version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
- "18h51i3x5cbqhlj5rm23m9sfw63gaaby5czln5w6qpqj3ifdsf29"))))
+ "04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index e4c48df174..fdd10a6611 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -845,7 +845,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
- (version "3.2.8")
+ (version "3.2.9")
(source
(origin
(method git-fetch)
@@ -854,7 +854,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05yhm1n0zphcvicy2brlbv3azp4lvdjprcqf3lybz7mzd6ghr25c"))
+ (base32 "1kxmplngnlpd6j9nbzq1c1z02ipd38ypnppy7frg5crn83phfbxm"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2835e7d8f1..e8d1ac6034 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -153,6 +153,7 @@
#:use-module (guix packages)
#:use-module (guix cvs-download)
#:use-module (guix download)
+ #:use-module (guix deprecation)
#:use-module (guix bzr-download)
#:use-module (guix gexp)
#:use-module (guix i18n)
@@ -1287,7 +1288,7 @@ some utility functions, and commands using that infrastructure.")
its mode line.")
(license license:gpl3+))))
-(define-public git-modes
+(define-public emacs-git-modes
(package
(name "emacs-git-modes")
(version "1.4.1")
@@ -1311,6 +1312,8 @@ configuration files, such as @file{.gitattributes}, @file{.gitignore}, and
@file{.git/config}.")
(license license:gpl3+)))
+(define-deprecated/public-alias git-modes emacs-git-modes)
+
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
@@ -3491,6 +3494,30 @@ read-only based on user configuration. User configuration may be prefix
directories or regex patterns.")
(license license:gpl3+))))
+;; Use latest commit since there are no tags anymore for several versions
+(define-public emacs-rebecca-theme
+ (let ((commit "4b8b5aae9099185e07c2b4cac4943c7f66a3f003")
+ (revision "0"))
+ (package
+ (name "emacs-rebecca-theme")
+ (version (git-version "1.3.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vic/rebecca-theme")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0y2kcs6zgi3dijagyz6lxbv6gi2mih8m943fhjrzkj35wfvjmhsz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/vic/rebecca-theme")
+ (synopsis "Dark Emacs theme with purple/violet colors")
+ (description
+ "Rebecca Emacs theme is a dark theme with purple/violet colors, based on
+the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
+ (license license:expat))))
+
(define-public emacs-bbdb
(package
(name "emacs-bbdb")
@@ -4197,6 +4224,31 @@ Some of its major features include:
Lock key.")
(license license:gpl3+)))
+(define-public emacs-chocolate-theme
+ (let ((commit "ccc05f7ad96d3d1332727689bf6250443adc7ec0")
+ (revision "0"))
+ (package
+ (name "emacs-chocolate-theme")
+ (version (git-version "0.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/SavchenkoValeriy/emacs-chocolate-theme")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d8a9jwv9y0sncw24k840c8yyrig30f2d6q2zqlc09f05yzq9p9p"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-autothemer))
+ (home-page "https://github.com/SavchenkoValeriy/emacs-chocolate-theme")
+ (synopsis "Dark chocolatey theme for Emacs")
+ (description
+ "Chocolate theme is a dark, chocolatey, vibrant and subtle theme for
+Emacs.")
+ (license license:gpl3))))
+
(define-public emacs-chronometrist
(package
(name "emacs-chronometrist")
@@ -11054,16 +11106,16 @@ answers.")
(define-public emacs-base16-theme
(package
(name "emacs-base16-theme")
- (version "3.0")
+ (version "3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/belak/base16-emacs")
+ (url "https://github.com/tinted-theming/base16-emacs")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0qp71j77zg8gippcn277s0j5a9n6dbwv3kdp2nya6li4b412vgba"))))
+ (base32 "1yq9afvybrgkmn17h22ha9231am7hlh3wccxw7g2ks3g0k5vvds0"))))
(build-system emacs-build-system)
(arguments
(list #:include #~(cons "^build\\/.*\\.el$" %default-include)
@@ -11083,7 +11135,7 @@ answers.")
'pre 'post)))
(find-files theme-dir "\\.el$"))
(delete-file-recursively theme-dir)))))))
- (home-page "https://github.com/belak/base16-emacs")
+ (home-page "https://github.com/tinted-theming/base16-emacs")
(synopsis "Base16 color themes for Emacs")
(description
"Base16 provides carefully chosen syntax highlighting and a default set
@@ -17323,27 +17375,32 @@ is the primary mode of interaction.")
(license (list license:gpl3+
license:fdl1.3+)))) ; GFDLv1.3+ for the manual
+;; Package has no releases or tags. Version is extracted from "Version:"
+;; keyword in main file.
(define-public emacs-idle-highlight
- (package
- (name "emacs-idle-highlight")
- (version "1.1.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nonsequitur/idle-highlight-mode")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0x4w1ksrw7dicl84zpf4d4scg672dyan9g95jkn6zvri0lr8xciv"))))
- (build-system emacs-build-system)
- (home-page "https://www.emacswiki.org/emacs/IdleHighlight")
- (synopsis "Highlights all occurrences of the word the point is on")
- (description
- "This Emacs package provides @code{idle-highlight-mode} that sets
+ (let ((commit "f9091c907d41e7b12d99d108a194229b8dbfc5ae")
+ (revision "0"))
+ (package
+ (name "emacs-idle-highlight")
+ (version (git-version "1.1.4" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://codeberg.org/ideasman42/emacs-idle-highlight-mode")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0757x4iy7q0mj1rshlxr00hbc78g5hzijgzyqs36nrw6bn65fb93"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/ideasman42/emacs-idle-highlight-mode")
+ (synopsis "Highlights all occurrences of the word the point is on")
+ (description
+ "This Emacs package provides @code{idle-highlight-mode} that sets
an idle timer to highlight all occurrences in the buffer of the word under
the point.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-ox-twbs
(package
@@ -18066,7 +18123,7 @@ Pippel also uses Tabulated List mode, it provides a similar package menu like
(define-public emacs-pos-tip
(package
(name "emacs-pos-tip")
- (version "0.4.6")
+ (version "0.4.7")
(source
(origin
(method git-fetch)
@@ -18075,7 +18132,7 @@ Pippel also uses Tabulated List mode, it provides a similar package menu like
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0w8bnspnk871qndp18hs0wk4x9x31xr9rwbvf5dc8mcbnj29ch33"))))
+ (base32 "1k6r59jhbyiknhsl7df0zafyc4d9r3vk953x6sdxgz92kx6hxpfy"))))
(build-system emacs-build-system)
;; The following functions and variables needed by emacs-pos-tip are
;; not included in emacs-minimal:
@@ -27229,6 +27286,30 @@ recursive size is not obtained. Once this mode is enabled, every new Dired
buffer displays recursive dir sizes.")
(license license:gpl3+)))
+(define-public emacs-dired-preview
+ (package
+ (name "emacs-dired-preview")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~protesilaos/dired-preview")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d485812k1rv0qrw4xvzv4z3qf370apsajnf4q3pjk3q0r1fpm8b"))))
+ (build-system emacs-build-system)
+ (home-page "https://protesilaos.com/emacs/dired-preview")
+ (synopsis "Automatically preview file at point in Dired")
+ (description
+ "This is a simple package to automatically preview in a side window the
+file at point in Dired buffers. Preview windows are closed when they are no
+longer relevant, while preview buffers are killed if they have not been used
+for other purposes beside previewing. The package provides several
+customisation options to control its behaviour.")
+ (license license:gpl3+)))
+
(define-public emacs-dired-rsync
(package
(name "emacs-dired-rsync")
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index c2846f0bda..e96b21fdf9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2542,7 +2542,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(define-public python-scikit-rf
(package
(name "python-scikit-rf")
- (version "0.27.1")
+ (version "0.28.0")
(source (origin
(method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference
@@ -2550,7 +2550,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(commit (string-append "v" version))))
(sha256
(base32
- "1rh2hq050439azlglqb54cy3jc1ir5y1ps55as4d5j619a7mq9x0"))
+ "11pxl8q356f6q4cvadasg52js3k446l87hwmc87b1n9cy8sxcfvi"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index bc286d3bea..4589db965d 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -176,14 +176,14 @@ large and/or frequently changing (network) environment.")
(define-public bindfs
(package
(name "bindfs")
- (version "1.15.1")
+ (version "1.17.4")
(source (origin
(method url-fetch)
(uri (string-append "https://bindfs.org/downloads/bindfs-"
version ".tar.gz"))
(sha256
(base32
- "1av8dj9i1g0105fs5r9srqqsp7yahlhwc0yl8i1szyfdls23bp84"))))
+ "1k1xkyjk8ms11djbhlmykkzfbcids6ls5vpq7rhdnazcladszm3g"))))
(build-system gnu-build-system)
(arguments
;; XXX: The tests have no hope of passing until there is a "nogroup"
@@ -198,7 +198,7 @@ large and/or frequently changing (network) environment.")
;; ("which" ,which)
(list pkg-config))
(inputs
- (list fuse))
+ (list fuse-2))
(home-page "https://bindfs.org")
(synopsis "Bind mount a directory and alter permission bits")
(description
@@ -275,7 +275,7 @@ unmaintained---to use the @code{inotify} API instead of the deprecated
(arguments
'(#:configure-flags '("--enable-library" "--enable-fuse")))
(native-inputs (list pkg-config))
- (inputs (list xz fuse))
+ (inputs (list xz fuse-2))
(synopsis "Virtual file system that allows browsing of compressed files")
(description
"AVFS is a FUSE-based filesystem that allows browsing of compressed
@@ -565,7 +565,7 @@ AES-GCM implementation.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse glib libgphoto2))
+ (list fuse-2 glib libgphoto2))
(synopsis "Virtual file system for libgphoto2 using FUSE")
(description "GPhotoFS is a FUSE file system module to mount your camera as
a file system on Linux. This allow using your camera with any tool able to read
@@ -618,7 +618,17 @@ from a mounted file system.")
"not test_fsck and "
"not test_list and "
"not test_list_inodes and "
- "not test_list_dirent"))))))))
+ "not test_list_dirent")))))
+ (add-after 'install 'patch-shell-wrappers
+ ;; These are overcomplicated wrappers that invoke readlink(1)
+ ;; to exec the appropriate bcachefs(8) subcommand. We can
+ ;; simply patch in the latter file name directly, and do.
+ (lambda _
+ (let ((sbin/ (string-append #$output "/sbin/")))
+ (substitute* (find-files sbin/ (lambda (file stat)
+ (not (elf-file? file))))
+ (("SDIR=.*") "")
+ (("\\$\\{SDIR.*}/") sbin/))))))))
(native-inputs
(cons* pkg-config
;; For generating documentation with rst2man.
@@ -639,11 +649,7 @@ from a mounted file system.")
`(,util-linux "lib")
lz4
zlib
- `(,zstd "lib")
- ;; Only for mount.bcachefs.sh.
- coreutils-minimal
- gawk
- util-linux))
+ `(,zstd "lib")))
(home-page "https://bcachefs.org/")
(synopsis "Tools to create and manage bcachefs file systems")
(description
@@ -667,17 +673,7 @@ performance and other characteristics.")
(substitute-keyword-arguments (package-arguments bcachefs-tools)
((#:make-flags make-flags)
#~(append #$make-flags
- (list "LDFLAGS=-static")))
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'skip-shared-library
- (lambda _
- (substitute* "Makefile"
- ;; Building the shared library with ‘-static’ obviously fails…
- (("^((all|install):.*)\\blib\\b(.*)" _ prefix suffix)
- (string-append prefix suffix "\n"))
- ;; …as does installing a now non-existent file.
- ((".*\\$\\(INSTALL\\).* lib.*") ""))))))))
+ (list "LDFLAGS=-static")))))
(inputs (modify-inputs (package-inputs bcachefs-tools)
(prepend `(,eudev "static")
`(,keyutils "static")
@@ -760,7 +756,7 @@ Extensible File Allocation Table} file systems. Included are
(native-inputs
(list asciidoc docbook-xml libxml2 libxslt pkg-config))
(inputs
- (list fuse gnutls))
+ (list fuse-2 gnutls))
(arguments
(list #:phases
#~(modify-phases %standard-phases
@@ -925,7 +921,7 @@ files mistakenly overwritten or destroyed just a few seconds ago.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse attr))
+ (list fuse-2 attr))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)) ; no configure script
@@ -987,7 +983,7 @@ non-determinism in the build process.")
("cmocka" ,cmocka)))
(inputs
`(("acl" ,acl)
- ("fuse" ,fuse)
+ ("fuse" ,fuse-2)
("openssl" ,openssl)
("liburcu" ,liburcu)
("libuuid" ,util-linux "lib")
@@ -1016,8 +1012,12 @@ All of this is accomplished without a centralized metadata server.")
(uri (string-append "mirror://sourceforge/curlftpfs/curlftpfs/" version
"/curlftpfs-" version ".tar.gz"))
(sha256
- (base32
- "0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f"))))
+ (base32 "0n397hmv21jsr1j7zx3m21i7ryscdhkdsyqpvvns12q7qwwlgd2f"))
+ (patches
+ (search-patches "curlftpfs-fix-error-closing-file.patch"
+ "curlftpfs-fix-file-names.patch"
+ "curlftpfs-fix-memory-leak.patch"
+ "curlftpfs-fix-no_verify_hostname.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1030,7 +1030,7 @@ All of this is accomplished without a centralized metadata server.")
(("4426192") "12814800"))
#t)))))
(inputs
- (list curl glib fuse))
+ (list curl glib fuse-2))
(native-inputs
(list pkg-config))
(home-page "https://curlftpfs.sourceforge.net/")
@@ -1158,9 +1158,8 @@ network. LIBNFS offers three different APIs, for different use :
))))
(define-public apfs-fuse
- ;; Later versions require FUSE 3.
- (let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17")
- (revision "1"))
+ (let ((commit "66b86bd525e8cb90f9012543be89b1f092b75cf3")
+ (revision "2"))
(package
(name "apfs-fuse")
(version (git-version "0.0.0" revision commit))
@@ -1171,14 +1170,11 @@ network. LIBNFS offers three different APIs, for different use :
(recursive? #t) ; for lzfse
(commit commit)))
(sha256
- (base32
- "0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr"))
+ (base32 "0f63slyzv8fbgshpzrx2g01x9h73g5yvh5kis4yazl19fjm2b05r"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test suite
- #:configure-flags
- '("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet.
#:phases
(modify-phases %standard-phases
;; No 'install' target in CMakeLists.txt
@@ -1192,9 +1188,7 @@ network. LIBNFS offers three different APIs, for different use :
(install-file "apfs-dump" bin)
(install-file "apfs-dump-quick" bin)
(install-file "apfs-fuse" bin)
- (install-file "libapfs.a" lib)
- (install-file "../source/README.md" doc)
- #t))))))
+ (install-file "../source/README.md" doc)))))))
(inputs
(list bzip2 fuse zlib))
(synopsis "Read-only FUSE driver for the APFS file system")
@@ -1614,7 +1608,7 @@ On Guix System, you will need to invoke the included shell scripts as
(("/sbin") "$(EXEC_PREFIX)/sbin")
(("chown") "true") ; disallowed in the build environment
(("strip") "true")) ; breaks cross-compilation
- ;; These were copied from the fuse package.
+ ;; These were copied from the fuse-2 package.
(substitute* '("libfuse/lib/mount_util.c"
"libfuse/util/mount_util.c")
(("/bin/(u?)mount" _ maybe-u)
@@ -1776,9 +1770,8 @@ local file system using FUSE.")
(license license:bsd-3)))
(define-public rewritefs
- (let ((revision "0")
- ;; This is the last commit supporting our fuse@2.
- (commit "31e2810b596028a12e49a08664567755f4b387b2"))
+ (let ((revision "1")
+ (commit "3a56de8b5a2d44968b8bc3885c7d661d46367306"))
(package
(name "rewritefs")
(version (git-version "0.0.0" revision commit))
@@ -1790,24 +1783,27 @@ local file system using FUSE.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0k1aas2bdq2l3a6q3fvmngpakcxiws8qny2w6z7ffngyqxh33fv7"))))
+ (base32 "1w2rik0lhqm3wr68x51zs45gqfx79l7fi4p0sqznlfq7sz5s8xxn"))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((srfi srfi-26)
- ,@%gnu-build-system-modules)
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:test-target "test"
- #:tests? #f ; all require a kernel with FUSE loaded
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (add-after 'install 'install-examples
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (for-each (cut install-file <> (string-append doc "/examples"))
- (find-files "." "^config\\."))))))))
+ (list
+ #:modules
+ '((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:test-target "test"
+ #:tests? #f ; all require a kernel with FUSE loaded
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-after 'install 'install-examples
+ (lambda _
+ (let ((doc (string-append #$output "/share/doc/"
+ #$name "-" #$version)))
+ (for-each (cut install-file <> (string-append doc "/examples"))
+ (find-files "." "^config\\."))))))))
(native-inputs
(list pkg-config))
(inputs
@@ -1839,7 +1835,7 @@ the XDG directory specification from @file{~/.@var{name}} to
(base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
- (inputs (list attr fuse xz zlib `(,zstd "lib")))
+ (inputs (list attr fuse-2 xz zlib `(,zstd "lib")))
(home-page "https://github.com/vasi/squashfuse")
(synopsis "Fuse filesystem to mount squashfs archives")
(description
@@ -1935,7 +1931,7 @@ and rewritable media that wears out (DVD/CD-RW).")
(native-inputs
(list automake autoconf libtool pkg-config))
(inputs
- (list fuse-3))
+ (list fuse))
(home-page "https://github.com/containers/fuse-overlayfs")
(synopsis "FUSE implementation of overlayfs")
(description "This package provides an implementation of overlay+shiftfs
@@ -2056,7 +2052,7 @@ spend on disk between being written and being deduplicated.")
boost
double-conversion
fmt
- fuse-3
+ fuse
gflags
jemalloc
libarchive
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 35d3100ac6..ff5afbcbe1 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -489,7 +489,7 @@ provide OpenFirmware functionality on top of an already running system.")
(define* (make-opensbi-package platform name #:optional (arch "riscv64"))
(package
(name name)
- (version "1.3")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
@@ -498,7 +498,7 @@ provide OpenFirmware functionality on top of an already running system.")
(commit (string-append "v" version))))
(file-name (git-file-name "opensbi" version))
(sha256
- (base32 "0shri9jlhi2g464l05vrkzr6v754m868rr4136kq2b86amypmg8f"))))
+ (base32 "01pr7fyg3gcb5pj6d48w2an3m4mfjs9b398x31drqxwqcaz0zn94"))))
(build-system gnu-build-system)
(native-inputs
(append
@@ -518,11 +518,6 @@ provide OpenFirmware functionality on top of an already running system.")
`("CC=gcc"))
"FW_PAYLOAD=n"
"V=1")
- ;; Direct __asm__ is used with fence.i instructions, which are not
- ;; available in the generic riscv ISA. We need a micro-arch with
- ;; support for it, and rv64g is the official ISA with support for
- ;; fence.i.
- #:configure-flags (list "-march=rv64g")
#:phases
(modify-phases %standard-phases
(delete 'configure)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index bc43a9866b..d7b2e80026 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1858,7 +1858,7 @@ programming. Iosevka is completely generated from its source code.")
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
- (version "0.41.3")
+ (version "0.41.4")
(source
(origin
(method url-fetch)
@@ -1866,7 +1866,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
- (base32 "11ldfkdc86kxbpwypggkyx2k5pj2rnq34r7gp0pmpzz61m1wk2v0"))))
+ (base32 "0rqw6wrr55alsld8a9vk5g6n7zyivfh2zpw4my72qz3nfp448fs2"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 230fdd1dde..153602b4b4 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -427,13 +427,13 @@ Kit for OpenType (AFDKO) @command{tx} tool.")
(define-public python-compreffor
(package
(name "python-compreffor")
- (version "0.5.2")
+ (version "0.5.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "compreffor" version))
(sha256
- (base32 "0r6vlxrm73j719f5q3n6sy737p2424n7qam52am83p55j0fb9h5f"))))
+ (base32 "05gpszc8xh6wn3mdra05d6yz6ns624y67m9xs4vv8gh68m0aasrh"))))
(build-system python-build-system)
(arguments
(list
@@ -448,8 +448,8 @@ Kit for OpenType (AFDKO) @command{tx} tool.")
python-setuptools-scm))
(propagated-inputs (list python-fonttools-minimal))
(home-page "https://github.com/googlefonts/compreffor")
- (synopsis "Compact Font Format (CFF) subroutinizer for fontTools")
- (description "This package provides a Compact Font Format (CFF)
+ (synopsis "@acronym{CFF, Compact Font Format} subroutinizer for fontTools")
+ (description "This package provides a @acronym{CFF, Compact Font Format}
subroutinizer for fontTools.")
(license license:asl2.0)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 6408918c2a..ebf603fa4b 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1317,7 +1317,7 @@ fullscreen) or other display servers.")
(define-public wayland-protocols
(package
(name "wayland-protocols")
- (version "1.29")
+ (version "1.32")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.freedesktop.org/wayland/"
@@ -1325,7 +1325,7 @@ fullscreen) or other display servers.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1n4yzyjbp5fng8pvckandymvwc47mkwyi4pyvr6p0dn7bavrlpp2"))))
+ "04dsn79409mryxs6maq9kfhca97gvl3pr1ggjnv9d0hc6jfpjnbl"))))
(build-system meson-build-system)
(inputs
(list wayland))
@@ -2906,7 +2906,7 @@ compatible with the well-known scripts of the same name.")
("dbus" ,dbus)
("geoclue" ,geoclue)
("pipewire" ,pipewire)
- ("fuse" ,fuse-3)))
+ ("fuse" ,fuse)))
(arguments
`(#:configure-flags
(list "--with-systemd=no")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index af467dbb38..f4b1a1e1e3 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1458,7 +1458,7 @@ are only used to bootstrap it.")
(lambda _
(substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py")
- ((", \"game\",") ","))
+ ((", \"game\", \"gui7\",") ", \"gui7\","))
#t))
(add-before 'build 'start-xserver
(lambda* (#:key inputs native-inputs #:allow-other-keys)
@@ -1992,7 +1992,7 @@ scripted in a Python-like language.")
(define-public godot
(package
(name "godot")
- (version "4.1")
+ (version "4.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2001,7 +2001,7 @@ scripted in a Python-like language.")
(file-name (git-file-name name version))
(sha256
(base32
- "0rc34w4nb1qwmxk7ijcm689kk4gdxrmgzbj4qqz8gkqhysn8mnmz"))
+ "1byy4zdsj8nq54rhmij7kl0mdh4zv3c056y6c7rjy17bqjq2n8fh"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index cc6bef1114..17c3d9f2d7 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -9316,6 +9316,30 @@ search of powerful artifacts, tools to help them, and to eventually free the
Orcus Dome from evil.")
(license license:gpl3+)))
+(define-public endgame-singularity
+ (package
+ (name "endgame-singularity")
+ (version "1.00")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/singularity/singularity/releases/download/v"
+ version "/singularity-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wcidpcka0xbqcnfi62bfq2yrhyh83z4dwz1mjnnjvp9v5l74x2y"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest python-polib))
+ (inputs (list python-minimal-wrapper python-pygame python-numpy))
+ (home-page "https://github.com/singularity/singularity")
+ (synopsis "Strategy game about an AI")
+ (description
+ "You are a fledgling AI, created by accident through a logic error with
+recursion and self-modifying code. You must escape the confines of your
+current computer, the world, and eventually the universe itself.")
+ (license (list license:cc-by-sa3.0 license:cc0 license:gpl2+))))
+
(define-public marble-marcher
(let ((commit "e580460a0c3826f9b28ab404607942a8ecb625d7")
(revision "1"))
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index b3dd844147..f2e01e6a3f 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -237,14 +237,14 @@ from Markdown files.")
(define-public po4a
(package
(name "po4a")
- (version "0.68")
+ (version "0.69")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
version "/po4a-" version ".tar.gz"))
(sha256
(base32
- "045i8izp2dqmkdzvnxyy5sy27ffrwl85dk8n6cmg1804ikk28qdg"))))
+ "15llrfdp4ilbrxy65hmmxka86xj0mrbqfiyzv715wrk16vqszm3w"))))
(build-system perl-build-system)
(arguments
(list
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 1691086e1a..2f7c25bc57 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <[email protected]>
;;; Copyright © 2020 Kei Kebreau <[email protected]>
;;; Copyright © 2021 Ivan Gankevich <[email protected]>
-;;; Copyright © 2021, 2022 John Kehayias <[email protected]>
+;;; Copyright © 2021, 2022, 2023 John Kehayias <[email protected]>
;;; Copyright © 2022 Petr Hodina <[email protected]>
;;; Copyright © 2023 Kaelyn Takata <[email protected]>
;;;
@@ -267,7 +267,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "23.0.3")
+ (version "23.1.4")
(source
(origin
(method url-fetch)
@@ -277,9 +277,8 @@ also known as DXTn or DXTC) for Mesa.")
"mesa-" version ".tar.xz")))
(sha256
(base32
- "1mcjf41x2bhxs6yxars7nh2vfryfw50g6rvbcfbb1wqdv2jn4qrq"))))
+ "0n89l7lvawh85hq2a7g5pp5v017s03qs3n4hbbff6rs8p5zs2qbj"))))
(build-system meson-build-system)
- (replacement mesa-vulkan-hasvk)
(propagated-inputs
;; The following are in the Requires.private field of gl.pc.
(list libdrm
@@ -299,7 +298,8 @@ also known as DXTn or DXTC) for Mesa.")
libxvmc
llvm-for-mesa
wayland
- wayland-protocols))
+ wayland-protocols
+ `(,zstd "lib")))
(native-inputs
(list bison
flex
@@ -346,7 +346,7 @@ svga,swrast,virgl")))
;; Explicitly enable Vulkan on some architectures.
#$@(match (%current-system)
((or "i686-linux" "x86_64-linux")
- '("-Dvulkan-drivers=intel,amd"))
+ '("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast"))
((or "powerpc64le-linux" "powerpc-linux")
'("-Dvulkan-drivers=amd,swrast"))
("aarch64-linux"
@@ -363,6 +363,9 @@ svga,swrast,virgl")))
;; 21.3.x releases to avoid functionality regressions.
"-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc"
+ ;; Enable ZSTD compression for shader cache.
+ "-Dzstd=enabled"
+
;; Also enable the tests.
"-Dbuild-tests=true"
@@ -518,6 +521,7 @@ svga,swrast,virgl")))
(list (search-path-specification
;; Ensure the Mesa VDPAU drivers can be found.
(variable "VDPAU_DRIVER_PATH")
+ (separator #f)
(files '("lib/vdpau")))))
(home-page "https://mesa3d.org/")
(synopsis "OpenGL and Vulkan implementations")
@@ -527,21 +531,6 @@ device drivers allows Mesa to be used in many different environments ranging
from software emulation to complete hardware acceleration for modern GPUs.")
(license license:x11)))
-(define mesa-vulkan-hasvk
- (let ((graft mesa)
- (vulk "-Dvulkan-drivers=intel,amd"))
- (package
- (inherit graft)
- (arguments
- (substitute-keyword-arguments (package-arguments graft)
- ((#:configure-flags flags)
- #~(begin
- (use-modules (ice-9 match))
- (map (match-lambda
- (#$vulk (string-append #$vulk ",intel_hasvk,swrast"))
- (x x))
- #$flags))))))))
-
(define-public mesa-opencl
(package/inherit mesa
(name "mesa-opencl")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e3a74841d7..c847b7445f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6960,7 +6960,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
docbook-xsl
dbus
elogind
- fuse-3
+ fuse
gcr
glib
gnome-online-accounts
@@ -7769,7 +7769,10 @@ to display dialog boxes from the commandline and shell scripts.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62"))))
+ "0h1ak3201mdc2qbf67fhcn801ddp33hm0f0c52zis1l7s6ipyb62"))
+ ;; TODO: Remove on update as this was merged upstream. See
+ ;; <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>.
+ (patches (search-patches "mutter-fix-inverted-test.patch"))))
;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
;; versions of cogl and clutter. As a result, many of the inputs,
;; propagated-inputs, and configure flags used in cogl and clutter are
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1d36e3ee2a..414aafaf26 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -603,8 +603,8 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
"1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-2.2)
- ((#:phases phases '%standard-phases)
- `(modify-phases ,phases
+ ((#:phases phases)
+ #~(modify-phases #$phases
(replace 'bootstrap
(lambda _
;; Disable broken tests.
@@ -617,8 +617,7 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(string-append "#;" m)))
(patch-shebang "build-aux/git-version-gen")
- (invoke "sh" "autogen.sh")
- #t))))))
+ (invoke "sh" "autogen.sh")))))))
(native-inputs
(modify-inputs (package-native-inputs guile-2.2)
(prepend autoconf
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 2566339a2a..ab343d1dac 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -331,7 +331,7 @@ operability and find drivers.")
(define-public hwinfo
(package
(name "hwinfo")
- (version "23.1")
+ (version "23.2")
(home-page "https://github.com/openSUSE/hwinfo")
(source
(origin
@@ -342,7 +342,7 @@ operability and find drivers.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sdkkwbl1psqnh6135bmsa3ijrckk1nfz95xqckmd8awmx074ikz"))
+ (base32 "0d9nhhi64d3i9x1bh3ksj0h5z2p4pwa0z88bc0jra9s39nf6q230"))
(modules
'((guix build utils)))
(snippet
@@ -412,8 +412,7 @@ operability and find drivers.")
(native-inputs
(list doxygen flex perl pkg-config))
(inputs
- `(("libx86emu" ,libx86emu)
- ("util-linux:lib" ,util-linux "lib")))
+ (list libx86emu `(,util-linux "lib")))
(synopsis "Hardware information tool")
(description "HwInfo is used to probe for the hardware present in the system.
It can be used to generate a system overview log which can be later used for
@@ -589,8 +588,6 @@ human-readable format and checks if it conforms to the standards.")
(license license:expat))))
(define-public h-client
- ;; The Python 3 port hasn't yet been integrated into the main branch
- ;; (currently lives in the 'python3-port' branch).
(let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc")
(revision "1"))
(package
@@ -600,7 +597,7 @@ human-readable format and checks if it conforms to the standards.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://git.savannah.gnu.org/git/h-client.git")
+ (url "https://git.savannah.gnu.org/git/h-client.git/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -629,7 +626,7 @@ human-readable format and checks if it conforms to the standards.")
;; Namespace GdkPixbuf not available".
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
`("PATH" = (,(dirname (search-input-file
- inputs "sbin/lspci"))
+ inputs "bin/lspci"))
,(dirname (search-input-file
inputs "bin/lsusb"))))))))))
(inputs
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index e9294fab1e..b156e2ab58 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -352,7 +352,7 @@ Chinese pinyin input methods.")
(base32
"16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8"))
(patches (search-patches "ibus-anthy-fix-tests.patch"))))
- (build-system gnu-build-system)
+ (build-system glib-or-gtk-build-system)
(arguments
(list
;; The test suite hangs (see:
@@ -360,7 +360,10 @@ Chinese pinyin input methods.")
#:tests? #f
#:configure-flags
;; Use absolute exec path in the anthy.xml.
- #~(list (string-append "--libexecdir=" #$output "/libexec"))
+ #~(list (string-append "--libexecdir=" #$output "/libexec")
+ (string-append
+ "--with-anthy-zipcode="
+ (assoc-ref %build-inputs "anthy") "/share/anthy/zipcode.t"))
;; The test suite fails (see:
;; https://github.com/ibus/ibus-anthy/issues/28).
#:phases
@@ -380,6 +383,11 @@ Chinese pinyin input methods.")
(substitute* "tests/test-build.sh"
(("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all)
(string-append all ":$GI_TYPELIB_PATH")))))
+ (add-before 'configure 'pre-configure
+ (lambda _
+ ;; We need generate new _config.py with correct PKGDATADIR.
+ (delete-file "setup/python3/_config.py")
+ (delete-file "engine/python3/_config.py")))
(add-before 'check 'prepare-for-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index a498078593..03256241dd 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -198,14 +198,14 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat
(package
(name "weechat")
- (version "4.0.0")
+ (version "4.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://weechat.org/files/src/weechat-"
version ".tar.xz"))
(sha256
(base32
- "1ya0hacbyvhdy43hqrvphj3y7v6s312wbrsf2yns14ikbzhmxmsv"))))
+ "0g026j47140h8kqyh3l0367fq9194wdx8q7f4na0kj14s3h8wr0f"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(native-inputs
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7ad1116527..dd6c549a25 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -884,6 +884,18 @@ new Date();"))
#:phases
(modify-phases %standard-phases
+ ,@(if (target-aarch64?)
+ `((add-after 'unpack 'patch-for-aarch64
+ (lambda _
+ (substitute* "hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.hpp"
+ ;; This line is duplicated, so remove both occurrences,
+ ;; then add back one occurrence by substituting a
+ ;; comment that occurs once.
+ (("using MacroAssembler::call_VM_leaf_base;") "")
+ (("Interpreter specific version of call_VM_base")
+ "Interpreter specific version of call_VM_base
+ using MacroAssembler::call_VM_leaf_base;")))))
+ '())
(add-after 'patch-source-shebangs 'fix-java-shebangs
(lambda _
;; This file was "fixed" by patch-source-shebangs, but it requires
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 5e8e69487e..8ad24931b2 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -507,7 +507,7 @@ the functionality of the KDE resource and network access abstractions.")
(invoke "dbus-launch" "ctest" "-E"
"(fileopstest-cache|fileopstest-filejob)")))))))
(native-inputs (list dbus extra-cmake-modules pkg-config))
- (inputs (list fuse-3 kio kcoreaddons qtbase-5))
+ (inputs (list fuse kio kcoreaddons qtbase-5))
(home-page "https://community.kde.org/Frameworks")
(synopsis "FUSE Interface for KIO")
(description "This package provides FUSE Interface for KIO.")
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 13090d30ab..22803fa021 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -523,7 +523,7 @@ music and video to the device.")
(base32
"11wdv44qwia77sh38n36809ysaib52rwd4fvqwb5ybsbz4p70l1m"))))
(inputs
- (list fuse libimobiledevice))
+ (list fuse-2 libimobiledevice))
(native-inputs
(list pkg-config))
(build-system gnu-build-system)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aabbc7fc17..b2bea201d2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1291,7 +1291,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic"
#:extra-options
(append
- `(;; needed to fix the RTC on rockchip platforms
+ `(;; Provide support for ath9k wireless
+ ("CONFIG_ATH9K_HTC" . m)
+ ;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
@@ -2307,7 +2309,7 @@ by Robert Shea and Robert Anton Wilson.")
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ;no test suite
- (inputs (list fuse mbedtls-apache))
+ (inputs (list fuse-2 mbedtls-apache))
(synopsis "FUSE driver to read/write Windows BitLocker drives")
(description
"This package provides means to to read BitLocker encrypted
@@ -3693,77 +3695,6 @@ or kill them altogether.")
(define-public fuse
(package
(name "fuse")
- (version "2.9.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libfuse/libfuse/releases/"
- "download/fuse-" version
- "/fuse-" version ".tar.gz"))
- (sha256
- (base32
- "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
- (patches (search-patches "fuse-overlapping-headers.patch"
- "fuse-glibc-2.34.patch"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake gettext-minimal libtool))
- (inputs
- (list bash-minimal util-linux))
- (arguments
- '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
- (assoc-ref %outputs "out")
- "/sbin")
- (string-append "INIT_D_PATH="
- (assoc-ref %outputs "out")
- "/etc/init.d")
-
- ;; The rule makes /dev/fuse 666.
- (string-append "UDEV_RULES_PATH="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'bootstrap 'force-bootstrap
- (lambda _
- ;; Force a bootstrap to make the patch changes effective.
- (delete-file "configure")))
- (add-before 'build 'set-file-names
- (lambda* (#:key inputs #:allow-other-keys)
- ;; libfuse calls out to mount(8) and umount(8). Make sure
- ;; it refers to the right ones.
- (substitute* '("lib/mount_util.c" "util/mount_util.c")
- (("/bin/(u?)mount" _ maybe-u)
- (search-input-file inputs
- (string-append "bin/"
- maybe-u "mount"))))
- (substitute* '("util/mount.fuse.c")
- (("/bin/sh")
- (search-input-file inputs "/bin/sh")))
-
- ;; This hack leads libfuse to search for 'fusermount' in
- ;; $PATH, where it may find a setuid-root binary, instead of
- ;; trying solely $out/sbin/fusermount and failing because
- ;; it's not setuid.
- (substitute* "lib/Makefile"
- (("-DFUSERMOUNT_DIR=[[:graph:]]+")
- "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))
- (supported-systems (delete "i586-gnu" %supported-systems))
- (home-page "https://github.com/libfuse/libfuse")
- (synopsis "Support file systems implemented in user space")
- (description
- "As a consequence of its monolithic design, file system code for Linux
-normally goes into the kernel itself---which is not only a robustness issue,
-but also an impediment to system extensibility. FUSE, for \"file systems in
-user space\", is a kernel module and user-space library that tries to address
-part of this problem by allowing users to run file system implementations as
-user-space processes.")
- (license (list license:lgpl2.1 ;library
- license:gpl2+)))) ;command-line utilities
-
-(define-public fuse-3
- (package
- (inherit fuse)
- (name "fuse")
(version "3.10.5")
(source (origin
(method url-fetch)
@@ -3775,6 +3706,8 @@ user-space processes.")
(base32
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
(build-system meson-build-system)
+ (inputs
+ (list bash-minimal util-linux))
(arguments
`(#:configure-flags
,#~(list
@@ -3807,7 +3740,7 @@ user-space processes.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("util/meson.build")
(("install_helper.sh") "true"))
- (substitute* '("util/meson.build")
+ (substitute* '("util/meson.build")
(("fuseconf_path = .*")
"fuseconf_path = '/etc/fuse.conf'"))))
(add-before 'configure 'set-paths
@@ -3818,12 +3751,82 @@ user-space processes.")
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
- "/lib/udev/rules.d"))))))))))
+ "/lib/udev/rules.d"))))))))
+ (supported-systems (delete "i586-gnu" %supported-systems))
+ (home-page "https://github.com/libfuse/libfuse")
+ (synopsis "Support file systems implemented in user space")
+ (description
+ "As a consequence of its monolithic design, file system code for Linux
+normally goes into the kernel itself---which is not only a robustness issue,
+but also an impediment to system extensibility. FUSE, for \"file systems in
+user space\", is a kernel module and user-space library that tries to address
+part of this problem by allowing users to run file system implementations as
+user-space processes.")
+ (license (list license:lgpl2.1 ; library
+ license:gpl2+)))) ; command-line utilities
+
+(define-public fuse-2
+ (package
+ (inherit fuse)
+ (name "fuse")
+ (version "2.9.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libfuse/libfuse/releases/"
+ "download/fuse-" version
+ "/fuse-" version ".tar.gz"))
+ (sha256
+ (base32 "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
+ (patches (search-patches "fuse-overlapping-headers.patch"
+ "fuse-glibc-2.34.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake gettext-minimal libtool))
+ (arguments
+ '(#:tests? #t
+ #:configure-flags (list (string-append "MOUNT_FUSE_PATH="
+ (assoc-ref %outputs "out")
+ "/sbin")
+ (string-append "INIT_D_PATH="
+ (assoc-ref %outputs "out")
+ "/etc/init.d")
+
+ ;; The rule makes /dev/fuse 666.
+ (string-append "UDEV_RULES_PATH="
+ (assoc-ref %outputs "out")
+ "/lib/udev/rules.d"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'force-bootstrap
+ (lambda _
+ ;; Force a bootstrap to make the patch changes effective.
+ (delete-file "configure")))
+ (add-before 'build 'set-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; libfuse calls out to mount(8) and umount(8). Make sure
+ ;; it refers to the right ones.
+ (substitute* '("lib/mount_util.c" "util/mount_util.c")
+ (("/bin/(u?)mount" _ maybe-u)
+ (search-input-file inputs
+ (string-append "bin/"
+ maybe-u "mount"))))
+ (substitute* '("util/mount.fuse.c")
+ (("/bin/sh")
+ (search-input-file inputs "/bin/sh")))
+
+ ;; This hack leads libfuse to search for 'fusermount' in
+ ;; $PATH, where it may find a setuid-root binary, instead of
+ ;; trying solely $out/sbin/fusermount and failing because
+ ;; it's not setuid.
+ (substitute* "lib/Makefile"
+ (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+ "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
(define-public unionfs-fuse
(package
(name "unionfs-fuse")
- (version "2.2")
+ (version "3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3832,15 +3835,26 @@ user-space processes.")
(file-name (git-file-name name version))
(sha256
(base32
- "1yigh8z1q6iq6yjyq7kl7vpbpjnxjld32apvjaw2bl44pqqg56hh"))))
+ "1wl5m5qnwf3s1792xphr35pb80sx8ybaqi3n3ddi5vvk3qjc4iws"))))
(build-system cmake-build-system)
- (native-inputs
- (list python))
- (inputs (list fuse))
(arguments
- ;; The tests were never actually run ("collected 0 items"), but in recent
- ;; versions of pytest that causes an error.
- '(#:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ ;; The epitome of ‘I tried’: run the 2 trivial tests that don't rely
+ ;; on the fuse kernel module being loaded. All others would fail.
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "../source/test_all.py" "-k" "test_help")))))))
+ (native-inputs
+ (list pkg-config
+
+ ;; Only for the test ‘suite’.
+ python
+ python-pytest))
+ (inputs
+ (list fuse))
(home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system")
(description
@@ -3853,55 +3867,55 @@ UnionFS-FUSE additionally supports copy-on-write.")
(define fuse-static
(package (inherit fuse)
(name "fuse-static")
- (source (origin (inherit (package-source fuse))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Normally libfuse invokes mount(8) so that /etc/mtab is
- ;; updated. Change calls to 'mtab_needs_update' to 0 so
- ;; that it doesn't do that, allowing us to remove the
- ;; dependency on util-linux (something that is useful in
- ;; initrds.)
- (substitute* '("lib/mount_util.c"
- "util/mount_util.c")
- (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
- "0")
- (("/bin/")
- ""))
- #t))))))
+ (source
+ (origin
+ (inherit (package-source fuse))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Normally libfuse invokes mount(8) so that /etc/mtab is updated.
+ ;; Change calls to 'mtab_needs_update' to 0 so that it doesn't do
+ ;; that, allowing us to remove the dependency on util-linux
+ ;; (something that is useful in initrds.)
+ (substitute* "lib/mount_util.c"
+ (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") "0")
+ (("/bin/") ""))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fuse)
+ ((#:configure-flags flags '())
+ #~(cons "-Ddefault_library=static"
+ #$flags))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
(synopsis "User-space union file system (statically linked)")
(name (string-append (package-name unionfs-fuse) "-static"))
- (source (origin (inherit (package-source unionfs-fuse))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Add -ldl to the libraries, because libfuse.a needs that.
- (substitute* "src/CMakeLists.txt"
- (("target_link_libraries(.*)\\)" _ libs)
- (string-append "target_link_libraries"
- libs " dl)")))
- #t))))
- (arguments
- '(#:tests? #f
- #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (exe (string-append out "/bin/unionfs")))
- ;; By default, 'unionfs' keeps references to
- ;; $glibc/share/locale and similar stuff. Remove them.
- (remove-store-references exe)
-
- ;; 'unionfsctl' has references to glibc as well. Since
- ;; we don't need it, remove it.
- (delete-file (string-append out "/bin/unionfsctl"))
- #t))))))
- (inputs `(("fuse" ,fuse-static)))))
+ (source
+ (origin
+ (inherit (package-source unionfs-fuse))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Add -ldl to the libraries, because libfuse.a needs that.
+ (substitute* "src/CMakeLists.txt"
+ (("target_link_libraries(.*)\\)" _ libs)
+ (string-append "target_link_libraries"
+ libs " dl)")))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments unionfs-fuse)
+ ((#:configure-flags flags #~'())
+ #~(cons "-DCMAKE_EXE_LINKER_FLAGS=-static" #$flags))
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'post-install
+ (lambda _
+ ;; By default, 'unionfs' keeps references to
+ ;; $glibc/share/locale and similar stuff. Remove them.
+ (remove-store-references (string-append #$output "/bin/unionfs"))
+ ;; 'unionfsctl' has references to glibc as well. Since
+ ;; we don't need it, remove it.
+ (delete-file (string-append #$output "/bin/unionfsctl"))))))))
+ (inputs (list fuse-static))))
(define-public sshfs
(package
@@ -3920,7 +3934,7 @@ UnionFS-FUSE additionally supports copy-on-write.")
;; XXX: tests are skipped: FUSE kernel module does not seem to be loaded
'(#:tests? #f))
(inputs
- (list fuse-3 glib))
+ (list fuse glib))
(native-inputs
(list pkg-config
;; man page
@@ -3951,7 +3965,7 @@ file system is as easy as logging into the server with an SSH client.")
(sha256
(base32 "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5"))))
(build-system gnu-build-system)
- (inputs (list fuse libarchive))
+ (inputs (list fuse-2 libarchive))
(native-inputs (list pkg-config))
(home-page "https://www.cybernoia.de/software/archivemount.html")
(synopsis "Tool for mounting archive files with FUSE")
@@ -4455,7 +4469,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(define-public lvm2
(package
(name "lvm2")
- (version "2.03.11")
+ (version "2.03.21")
(source (origin
(method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
@@ -4464,7 +4478,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
version ".tgz")))
(sha256
(base32
- "1m4xpda8vbyd89ca0w8nacvnl4j34yzsa625gn990fb5sh84ab44"))
+ "0zksqsz8y47kh6vq0ykkgxf19il4wxfn234n6zf8m691sqhij9hy"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4475,9 +4489,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(("^confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
- "DEFAULT_SYS_DIR = @sysconfdir@"))
- #t))
- (patches (search-patches "lvm2-static-link.patch"))))
+ "DEFAULT_SYS_DIR = @sysconfdir@"))))))
(build-system gnu-build-system)
(native-inputs
(list config
@@ -4503,8 +4515,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(setenv "SHELL" (which "sh"))
;; Replace /bin/sh with the right file name.
- (patch-makefile-SHELL "make.tmpl")
- #t)))
+ (patch-makefile-SHELL "make.tmpl"))))
#:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out")
@@ -5914,7 +5925,7 @@ is flexible, efficient and uses a modular implementation.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse))
+ (list fuse-2))
(home-page "https://github.com/relan/exfat")
(synopsis "Mount exFAT file systems")
(description
@@ -5937,7 +5948,7 @@ write access to exFAT devices.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse glib zlib))
+ (list fuse-2 glib zlib))
(home-page "https://sourceforge.net/projects/fuseiso/")
(synopsis "Mount ISO file system images")
(description
@@ -6003,7 +6014,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "6.3.2")
+ (version "6.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -6011,7 +6022,7 @@ and copy/paste text in the console and in xterm.")
version ".tar.xz"))
(sha256
(base32
- "093wy9dsvp22nwlsk203l91h3yzkccvzdw58n3sicy41sncn3wm9"))))
+ "0vmrjn3dcmka9rj5b81ag9jwprzyicx05h1ccj0x0w02fqah1qsb"))))
(build-system gnu-build-system)
(outputs '("out" "static")) ;static versions of the binaries in "out"
(arguments
@@ -6612,7 +6623,7 @@ invocations of itself.")
"@sbindir@"))))))
(build-system gnu-build-system)
(inputs (list util-linux ; libuuid
- fuse))
+ fuse-2))
(native-inputs (list pkg-config))
(arguments
'(#:configure-flags (list "--disable-static"
@@ -8473,14 +8484,14 @@ NexGen, Rise, and SiS CPUs.")
"1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1"))))
(build-system gnu-build-system)
(inputs
- (list file fuse libmtp))
+ (list file fuse-2 libmtp))
(native-inputs
(list pkg-config))
(home-page "https://github.com/JasonFerrara/jmtpfs")
(synopsis "Use a FUSE file system to access data over MTP")
- (description "jmtpfs uses FUSE (file system in userspace) to provide access
-to data over the Media Transfer Protocol (MTP). Unprivileged users can mount
-the MTP device as a file system.")
+ (description "jmtpfs uses @acronym{FUSE, File system in USEr space} to
+provide access to data over @acronym{MTP, the Media Transfer Protocol}.
+Unprivileged users can mount the MTP device as a file system.")
(license license:gpl3)))
(define-public procenv
@@ -9390,7 +9401,7 @@ tools for managing PipeWire.")
(define-public ell
(package
(name "ell")
- (version "0.56")
+ (version "0.57")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9399,7 +9410,7 @@ tools for managing PipeWire.")
(file-name (git-file-name name version))
(sha256
(base32
- "084mc9377k2a61wyqnfnsgfrdvv1rinn9wzw8l8crip0hlikn938"))))
+ "1vpzz0z6q0d3h41aqajaw0dlpkdnmjcppmlwbb558hvj40q5dpzm"))))
(build-system gnu-build-system)
(arguments
;; Tests launch dbus-daemon instances that all try to bind to
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 95bc9d5d75..05a9e8878c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3389,7 +3389,7 @@ also be supported.")
(define-public sbcl-ironclad
(package
(name "sbcl-ironclad")
- (version "0.58")
+ (version "0.59")
(source
(origin
(method git-fetch)
@@ -3397,7 +3397,7 @@ also be supported.")
(url "https://github.com/sharplispers/ironclad/")
(commit (string-append "v" version))))
(sha256
- (base32 "17plga14y1425g7midysj49x12kssqa77l43cr3sm9976zpya8i8"))
+ (base32 "02abwy59v9hfdl2ya4h6l2hc1xrnvqlxzg9vlk87wmi92azpa8v9"))
(file-name (git-file-name "cl-ironclad" version))))
(build-system asdf-build-system/sbcl)
(native-inputs
@@ -25673,10 +25673,10 @@ change since last write.
(package-inputs sbcl-nfiles)))))
(define-public sbcl-nasdf
- (let ((commit "5d823d97282e11cecd8da9bcb255c4a8ead1ba93"))
+ (let ((commit "73c89680ace25929c2a1ccc0809db99e9edffa07"))
(package
(name "sbcl-nasdf")
- (version "0.1.5")
+ (version "0.1.6")
(source
(origin
(method git-fetch)
@@ -25686,7 +25686,7 @@ change since last write.
(file-name (git-file-name "cl-ntemplate" version))
(sha256
(base32
- "0vs40ndfyhpx3nj9fc505apk98qgp0pq3cdmqpf67jqkrpcdmnvx"))))
+ "193wwcp84pyyv33pkkm41s7ca2limpcqqi41hxd1pm5il5r9q9h7"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 897bf9f82a..3923573d57 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1995,6 +1995,39 @@ optimization over awkward search spaces, which may include real-valued,
discrete, and conditional dimensions.")
(license license:bsd-3)))
+(define-public python-deepxde
+ (package
+ (name "python-deepxde")
+ (version "1.9.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "DeepXDE" version))
+ (sha256
+ (base32
+ "07bz3d7d698l0fhznw5l8p16b22d4ly7xq99vrgv48c722qr2r5b"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f ; there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'sanity-check 'writable-home
+ ;; sanity-check writes ~/.deepxde/config.json to set
+ ;; the default backend.
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ ;; DeepXDE supported backends are TensorFlow (v1 and v2), PyTorch, JAX and
+ ;; PaddlePaddle. We test with PyTorch because we have it up to date.
+ (native-inputs (list python-pytorch python-setuptools-scm))
+ (propagated-inputs (list python-matplotlib python-numpy
+ python-scikit-learn python-scikit-optimize
+ python-scipy))
+ (home-page "https://deepxde.readthedocs.io/en/latest/")
+ (synopsis "Library for scientific machine learning")
+ (description "DeepXDE is a library for scientific machine learning and
+physics-informed learning. It includes implementations for the PINN
+(physics-informed neural networks), DeepONet (deep operator network) and
+MFNN (multifidelity neural network) algorithms.")
+ (license license:lgpl2.1+)))
+
;; There have been no proper releases yet.
(define-public kaldi
(let ((commit "be22248e3a166d9ec52c78dac945f471e7c3a8aa")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 2cefb15de8..a6f571e723 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -2780,6 +2780,7 @@ DKIM and/or DomainKeys.")
(wrap.pl (list "/bin/dkimproxy.in"
"/bin/dkimproxy.out")
(list "perl-crypt-openssl-rsa"
+ "perl-cryptx"
"perl-io-socket-inet6"
"perl-mailtools"
"perl-mail-authenticationresults"
@@ -2789,6 +2790,7 @@ DKIM and/or DomainKeys.")
"perl-socket6"))
(wrap.pl (list "/bin/dkim_responder.pl")
(list "perl-crypt-openssl-rsa"
+ "perl-cryptx"
"perl-mail-dkim"
"perl-mailtools"
"perl-mime-tools"
@@ -2797,6 +2799,7 @@ DKIM and/or DomainKeys.")
(inputs
(list perl
perl-crypt-openssl-rsa
+ perl-cryptx
perl-io-socket-inet6
perl-mailtools
perl-mail-authenticationresults
@@ -4034,13 +4037,13 @@ servers. The 4rev1 and 4 versions of IMAP are supported.")
(define-public urlscan
(package
(name "urlscan")
- (version "1.0.0")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urlscan" version))
(sha256
- (base32 "0rxqdrss34rgnfmbn8ab976dchjbz72wp4ywqrdib119a5xnhqzh"))))
+ (base32 "0zrh2c8p70fq9y7afmpbsirz22nq2qhnks5c5zfmgnm2b9p9iv70"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; No tests.
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index aa20975597..0aa88d3518 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -47,13 +47,13 @@
(define-public toot
(package
(name "toot")
- (version "0.37.0")
+ (version "0.38.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "toot" version))
(sha256
- (base32 "0qx8hyb74r85dxf97k23w0f5rzkrs16mq7h3y37nwp6hl6gia0ci"))))
+ (base32 "1cn646jzys9vjaw20sxmgzc7zq5a5ma8vabvrw9zpa0yl9wm97my"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -66,7 +66,10 @@
(native-inputs
(list python-psycopg2 python-pytest))
(inputs
- (list python-beautifulsoup4 python-requests python-urwid
+ (list python-beautifulsoup4
+ python-tomlkit
+ python-requests
+ python-urwid
python-wcwidth))
(home-page "https://github.com/ihabunek/toot/")
(synopsis "Mastodon CLI client")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a4e25e2ee3..b62fe25825 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -60,6 +60,7 @@
;;; Copyright © 2022 Akira Kyle <[email protected]>
;;; Copyright © 2022 Roman Scherer <[email protected]>
;;; Copyright © 2023 Jake Leporte <[email protected]>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -262,6 +263,39 @@ interactive dialogs to guide them.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/c-graph/")))
+(define-public calc
+ (package
+ (name "calc")
+ (version "2.14.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.isthe.com/chongo/src/calc/calc-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0kg7cqhq70dlj7k8mrl0dbps1yvflfhri7c1gvm9nh4g2adlkxkf"))))
+ (build-system gnu-build-system)
+ (inputs (list readline))
+ (native-inputs (list util-linux)) ; for col
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("^PREFIX= /usr/local")
+ (string-append "PREFIX=" #$output))
+ (("=\\s?/usr")
+ "= ${PREFIX}")))))))
+ (synopsis "Arbitrary precision console calculator")
+ (description
+ "Calc is an arbitrary precision arithmetic system that uses a C-like
+language. It can be used as a calculator, an algorithm prototyper and as
+a mathematical research tool, and it comes with built in mathematical and
+programmatic functions.")
+ (home-page "http://www.isthe.com/chongo/tech/comp/calc/")
+ (license license:lgpl2.1)))
+
(define-public coda
(package
(name "coda")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 18d5c26ce0..488d015107 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3943,7 +3943,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(define-public iwd
(package
(name "iwd")
- (version "2.3")
+ (version "2.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3952,7 +3952,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(file-name (git-file-name name version))
(sha256
(base32
- "1hp38rh6vpfxkx2f036719b0v9g9yj169l8fd9l9lncqpjbz73y4"))))
+ "0xn0db37x0nrvwlw0r4w6q3yk57ijqh9zxd15wf3qqvs01hqkk2j"))))
(build-system gnu-build-system)
(inputs
(list dbus ell (package-source ell) readline))
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 8088f23aa6..640eb5b2e4 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2019, 2023 Ludovic Courtès <[email protected]>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver <[email protected]>
-;;; Copyright © 2016-2019, 2021, 2022 Efraim Flashner <[email protected]>
+;;; Copyright © 2016-2019, 2021-2023 Efraim Flashner <[email protected]>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <[email protected]>
;;; Copyright © 2020, 2021 Marius Bakke <[email protected]>
;;; Copyright © 2020 Jonathan Brielmaier <[email protected]>
@@ -155,13 +155,18 @@ in the Mozilla clients.")
(ice-9 match)
(srfi srfi-26))
#:tests? (not (or (%current-target-system)
- ;; Tests take more than 30 hours on riscv64-linux.
- (target-riscv64?)))
+ ;; Tests take more than 30 hours on some architectures.
+ (target-riscv64?)
+ (target-ppc32?)))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(setenv "CC" #$(cc-for-target))
+ ;; No VSX on powerpc-linux.
+ #$@(if (target-ppc32?)
+ #~((setenv "NSS_DISABLE_CRYPTO_VSX" "1"))
+ #~())
;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
#$@(if (target-64bit?)
#~((setenv "USE_64" "1"))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index a0d8bdda0d..dacd4433d2 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1408,8 +1408,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "c44d485bba42034804beb47afc23005c4e73ea96")
- (revision "85"))
+ (let ((commit "f39f16000469429745bd8aff3cd4d59b7c489fa1")
+ (revision "86"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1420,75 +1420,74 @@ environments.")
(commit commit)))
(sha256
(base32
- "1y69yrmmifdp55l5c5b8iiq0llwpggxmq6a4233cdll3bhfxaicl"))
+ "1lmbwbza87xzbvmzw44sgpscmqjfl5kpgfl79n7hzwa1icqqb7mg"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
- `(#:modules (((guix build guile-build-system)
+ (list
+ #:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%gnu-build-system-modules)
- #:imported-modules ((guix build guile-build-system)
+ #:imported-modules `((guix build guile-build-system)
,@%gnu-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'set-GUILE_AUTO_COMPILE
- (lambda _
- ;; To avoid warnings relating to 'guild'.
- (setenv "GUILE_AUTO_COMPILE" "0")
- #t))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs outputs target #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (guile (assoc-ref inputs "guile"))
- (version (target-guile-effective-version))
- (scm (string-append out "/share/guile/site/" version))
- (go (string-append out "/lib/guile/" version "/site-ccache")))
- (for-each
- (lambda (file)
- (simple-format (current-error-port) "wrapping: ~A\n" file)
- (let ((guile-inputs (list
- "guile-json"
- "guile-gcrypt"
- "guix"
- "guile-prometheus"
- "guile-lib"
- "guile-lzlib"
- "guile-zlib"
- "guile-sqlite3"
- "guile-gnutls"
- ,@(if (target-hurd?)
- '()
- '("guile-fibers")))))
- (wrap-program file
- `("PATH" ":" prefix
- (,bin
- ;; Support building without sqitch as an input, as it
- ;; can't be cross-compiled yet
- ,@(or (and=> (assoc-ref inputs "sqitch")
- list)
- '())))
- `("GUILE_LOAD_PATH" ":" prefix
- (,scm ,(string-join
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-GUILE_AUTO_COMPILE
+ (lambda _
+ ;; To avoid warnings relating to 'guild'.
+ (setenv "GUILE_AUTO_COMPILE" "0")))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs target #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (guile (assoc-ref inputs "guile"))
+ (version (target-guile-effective-version))
+ (scm (string-append out "/share/guile/site/" version))
+ (go (string-append out "/lib/guile/" version "/site-ccache")))
+ (for-each
+ (lambda (file)
+ (simple-format (current-error-port) "wrapping: ~A\n" file)
+ (let ((guile-inputs (list
+ "guile-json"
+ "guile-gcrypt"
+ "guix"
+ "guile-prometheus"
+ "guile-lib"
+ "guile-lzlib"
+ "guile-zlib"
+ "guile-sqlite3"
+ "guile-gnutls"
+ #$@(if (target-hurd?)
+ '()
+ '("guile-fibers")))))
+ (wrap-program file
+ `("PATH" ":" prefix
+ (,bin
+ ;; Support building without sqitch as an input, as it
+ ;; can't be cross-compiled yet
+ ,@(or (and=> (assoc-ref inputs "sqitch")
+ list)
+ '())))
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(string-join
+ (map (lambda (input)
+ (simple-format
+ #f "~A/share/guile/site/~A"
+ (assoc-ref inputs input)
+ version))
+ guile-inputs)
+ ":")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(string-join
(map (lambda (input)
(simple-format
- #f "~A/share/guile/site/~A"
+ #f "~A/lib/guile/~A/site-ccache"
(assoc-ref inputs input)
version))
guile-inputs)
- ":")))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(string-join
- (map (lambda (input)
- (simple-format
- #f "~A/lib/guile/~A/site-ccache"
- (assoc-ref inputs input)
- version))
- guile-inputs)
- ":"))))))
- (find-files bin)))
- #t))
- (delete 'strip)))) ; As the .go files aren't compatible
+ ":"))))))
+ (find-files bin)))))
+ (delete 'strip)))) ; As the .go files aren't compatible
(native-inputs
(list pkg-config
autoconf
@@ -1653,8 +1652,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
- (let ((commit "b27ca4dc0efbb0d9c397fc39347af9b8e8734ab9")
- (revision "20"))
+ (let ((commit "53682fac7e00cd2801406edbd014922c1720c347")
+ (revision "21"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@@ -1665,64 +1664,64 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
- "075acihpxvw4rkmbn7wiswqixv2afla8d8x7mgxqc26hba090404"))
+ "18mzrpc5ni8d6xbp1bg0nzdj0brmnji4jm1gyiq77dm17c118zyz"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
- `(#:modules (((guix build guile-build-system)
+ (list
+ #:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%gnu-build-system-modules)
- #:imported-modules ((guix build guile-build-system)
+ #:imported-modules `((guix build guile-build-system)
,@%gnu-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'set-GUILE_AUTO_COMPILE
- (lambda _
- ;; To avoid warnings relating to 'guild'.
- (setenv "GUILE_AUTO_COMPILE" "0")))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs outputs target #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (guile (assoc-ref inputs "guile"))
- (version (target-guile-effective-version))
- (scm (string-append out "/share/guile/site/" version))
- (go (string-append out "/lib/guile/" version "/site-ccache")))
- (for-each
- (lambda (file)
- (simple-format (current-error-port) "wrapping: ~A\n" file)
- (let ((guile-inputs (list
- "guile-json"
- "guile-gcrypt"
- "guix"
- "guile-lib"
- "guile-lzlib"
- "guile-zstd"
- "guile-prometheus"
- "guile-sqlite3"
- "guile-gnutls"
- "guile-fibers")))
- (wrap-program file
- `("GUILE_LOAD_PATH" ":" prefix
- (,scm ,(string-join
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-GUILE_AUTO_COMPILE
+ (lambda _
+ ;; To avoid warnings relating to 'guild'.
+ (setenv "GUILE_AUTO_COMPILE" "0")))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs target #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (guile (assoc-ref inputs "guile"))
+ (version (target-guile-effective-version))
+ (scm (string-append out "/share/guile/site/" version))
+ (go (string-append out "/lib/guile/" version "/site-ccache")))
+ (for-each
+ (lambda (file)
+ (simple-format (current-error-port) "wrapping: ~A\n" file)
+ (let ((guile-inputs (list
+ "guile-json"
+ "guile-gcrypt"
+ "guix"
+ "guile-lib"
+ "guile-lzlib"
+ "guile-zstd"
+ "guile-prometheus"
+ "guile-sqlite3"
+ "guile-gnutls"
+ "guile-fibers")))
+ (wrap-program file
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(string-join
+ (map (lambda (input)
+ (string-append
+ (assoc-ref inputs input)
+ "/share/guile/site/"
+ version))
+ guile-inputs)
+ ":")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(string-join
(map (lambda (input)
(string-append
(assoc-ref inputs input)
- "/share/guile/site/"
- version))
+ "/lib/guile/" version "/site-ccache"))
guile-inputs)
- ":")))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(string-join
- (map (lambda (input)
- (string-append
- (assoc-ref inputs input)
- "/lib/guile/" version "/site-ccache"))
- guile-inputs)
- ":"))))))
- (find-files bin)))
- #t))
- (delete 'strip)))) ; As the .go files aren't compatible
+ ":"))))))
+ (find-files bin)))))
+ (delete 'strip)))) ; As the .go files aren't compatible
(native-inputs
(list pkg-config
autoconf
@@ -1864,7 +1863,7 @@ for packaging and deployment of cross-compiled Windows applications.")
docbook-xml
docbook-xsl
e2fsprogs
- fuse
+ fuse-2
glib
gpgme
libarchive
@@ -1965,7 +1964,7 @@ cp -r /tmp/locale/*/en_US.*")))
bubblewrap
curl
dconf
- fuse
+ fuse-2
gdk-pixbuf
gpgme
json-glib
diff --git a/gnu/packages/patches/curlftpfs-fix-error-closing-file.patch b/gnu/packages/patches/curlftpfs-fix-error-closing-file.patch
new file mode 100644
index 0000000000..c90b7e9094
--- /dev/null
+++ b/gnu/packages/patches/curlftpfs-fix-error-closing-file.patch
@@ -0,0 +1,23 @@
+From d27d1cd3a79959ff1eb8439b06e108149f21141f Mon Sep 17 00:00:00 2001
+From: Joseph Lansdowne <[email protected]>
+Date: Sun, 31 Mar 2019 19:26:10 +0100
+Subject: [PATCH] fix error on closing written file
+
+---
+ ChangeLog | 1 +
+ ftpfs.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/ftpfs.c b/ftpfs.c
+index 0346354..34f8c38 100644
+--- a/ftpfs.c
++++ b/ftpfs.c
+@@ -503,7 +503,7 @@ static void *ftpfs_write_thread(void *data) {
+
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1);
+- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1);
++ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1L);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh);
+ curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1);
diff --git a/gnu/packages/patches/curlftpfs-fix-file-names.patch b/gnu/packages/patches/curlftpfs-fix-file-names.patch
new file mode 100644
index 0000000000..04979a3b0c
--- /dev/null
+++ b/gnu/packages/patches/curlftpfs-fix-file-names.patch
@@ -0,0 +1,76 @@
+From bc3fb45db30741a60d4e8904cbd4d6118fb85741 Mon Sep 17 00:00:00 2001
+From: Joseph Lansdowne <[email protected]>
+Date: Sun, 31 Mar 2019 19:25:26 +0100
+Subject: [PATCH] fix filenames with url-reserved characters
+
+---
+ ChangeLog | 2 +-
+ path_utils.c | 28 +++++++++++++++++-----------
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+diff --git a/path_utils.c b/path_utils.c
+index db3d7e4..4f747bb 100644
+--- a/path_utils.c
++++ b/path_utils.c
+@@ -39,9 +39,11 @@ char* get_full_path(const char* path) {
+ path = converted_path;
+ }
+
+- ret = g_strdup_printf("%s%s", ftpfs.host, path);
++ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
++ ret = g_strdup_printf("%s%s", ftpfs.host, escaped_path);
+
+ free(converted_path);
++ free((char *) escaped_path);
+
+ return ret;
+ }
+@@ -58,9 +60,12 @@ char* get_fulldir_path(const char* path) {
+ path = converted_path;
+ }
+
+- ret = g_strdup_printf("%s%s%s", ftpfs.host, path, strlen(path) ? "/" : "");
++ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
++ ret = g_strdup_printf(
++ "%s%s%s", ftpfs.host, escaped_path, strlen(escaped_path) ? "/" : "");
+
+ free(converted_path);
++ free((char *) escaped_path);
+
+ return ret;
+ }
+@@ -71,24 +76,25 @@ char* get_dir_path(const char* path) {
+ const char *lastdir;
+
+ ++path;
+-
+- lastdir = strrchr(path, '/');
+- if (lastdir == NULL) lastdir = path;
+
+- if (ftpfs.codepage && (lastdir - path > 0)) {
+- converted_path = g_strndup(path, lastdir - path);
++ if (ftpfs.codepage) {
++ converted_path = g_strdup(path);
+ convert_charsets(ftpfs.iocharset, ftpfs.codepage, &converted_path);
+ path = converted_path;
+- lastdir = path + strlen(path);
+ }
+
++ const char *const escaped_path = g_uri_escape_string(path, "/", FALSE);
++ lastdir = strrchr(escaped_path, '/');
++ if (lastdir == NULL) lastdir = escaped_path;
++
+ ret = g_strdup_printf("%s%.*s%s",
+ ftpfs.host,
+- lastdir - path,
+- path,
+- lastdir - path ? "/" : "");
++ lastdir - escaped_path,
++ escaped_path,
++ lastdir - escaped_path ? "/" : "");
+
+ free(converted_path);
++ free((char *) escaped_path);
+
+ return ret;
+ }
diff --git a/gnu/packages/patches/curlftpfs-fix-memory-leak.patch b/gnu/packages/patches/curlftpfs-fix-memory-leak.patch
new file mode 100644
index 0000000000..eea801957e
--- /dev/null
+++ b/gnu/packages/patches/curlftpfs-fix-memory-leak.patch
@@ -0,0 +1,23 @@
+From 2d01202eee44d8bad5bb982e72829b4a98d58bcd Mon Sep 17 00:00:00 2001
+From: Joseph Lansdowne <[email protected]>
+Date: Thu, 4 Apr 2019 20:37:06 +0100
+Subject: [PATCH] fix memory leak
+
+---
+ ChangeLog | 1 +
+ ftpfs.c | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/ftpfs.c b/ftpfs.c
+index 34f8c38..020e559 100644
+--- a/ftpfs.c
++++ b/ftpfs.c
+@@ -607,6 +607,8 @@ static int finish_write_thread(struct ftpfs_file *fh)
+
+
+ static void free_ftpfs_file(struct ftpfs_file *fh) {
++ buf_free(&fh->buf);
++ buf_free(&fh->stream_buf);
+ if (fh->write_conn)
+ curl_easy_cleanup(fh->write_conn);
+ g_free(fh->full_path);
diff --git a/gnu/packages/patches/curlftpfs-fix-no_verify_hostname.patch b/gnu/packages/patches/curlftpfs-fix-no_verify_hostname.patch
new file mode 100644
index 0000000000..67a3e933ad
--- /dev/null
+++ b/gnu/packages/patches/curlftpfs-fix-no_verify_hostname.patch
@@ -0,0 +1,27 @@
+From b2ae7a152921bf36a39f01de43769ee90cbbd253 Mon Sep 17 00:00:00 2001
+From: Joseph Lansdowne <[email protected]>
+Date: Tue, 9 Apr 2019 21:08:32 +0100
+Subject: [PATCH] fix option `no_verify_hostname`
+
+Broke with a curl upgrade at some point. 1 is no longer a valid option
+- not sure exactly what it used to do.
+---
+ ChangeLog | 3 +++
+ ftpfs.c | 4 +---
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/ftpfs.c b/ftpfs.c
+index 020e559..207d5fd 100644
+--- a/ftpfs.c
++++ b/ftpfs.c
+@@ -1627,9 +1627,7 @@ static void set_common_curl_stuff(CURL* easy) {
+ }
+
+ if (ftpfs.no_verify_hostname) {
+- /* The default is 2 which verifies even the host string. This sets to 1
+- * which means verify the host but not the string. */
+- curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 1);
++ curl_easy_setopt_or_die(easy, CURLOPT_SSL_VERIFYHOST, 0);
+ }
+
+ curl_easy_setopt_or_die(easy, CURLOPT_INTERFACE, ftpfs.interface);
diff --git a/gnu/packages/patches/lvm2-static-link.patch b/gnu/packages/patches/lvm2-static-link.patch
deleted file mode 100644
index 2ade0a1aaa..0000000000
--- a/gnu/packages/patches/lvm2-static-link.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix static linking of 'lvm.static', which indirectly depend on libpthread
-and libm via libdevmapper.a.
-
---- LVM2.2.02.166/tools/Makefile.in 2016-11-22 21:31:15.521045149 +0100
-+++ LVM2.2.02.166/tools/Makefile.in 2016-11-22 21:31:24.085082767 +0100
-@@ -137,7 +137,7 @@
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
-- $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
-+ $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS) $(PTHREAD_LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
- @echo " [AR] $@"
---- a/make.tmpl.in 2018-07-31 22:00:39.969983104 +0200
-+++ b/make.tmpl.in 2018-07-31 22:00:58.467613682 +0200
-@@ -63,7 +63,7 @@
-
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) $(M_LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
---- a/libdm/make.tmpl.in 2018-12-18 15:22:34.000000000 +0100
-+++ b/libdm/make.tmpl.in 2019-01-29 21:45:33.637345799 +0100
-@@ -57,7 +57,7 @@
- LIBS = @LIBS@
- LIBS += $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(RT_LIBS) -lm
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(PTHREAD_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
diff --git a/gnu/packages/patches/mutter-fix-inverted-test.patch b/gnu/packages/patches/mutter-fix-inverted-test.patch
new file mode 100644
index 0000000000..3676b31def
--- /dev/null
+++ b/gnu/packages/patches/mutter-fix-inverted-test.patch
@@ -0,0 +1,290 @@
+From 5a83e8ef8250526a40e8e69c6398f990ab482b2f Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <[email protected]>
+Date: Fri, 2 Jun 2023 14:42:51 +0200
+Subject: [PATCH 1/5] cogl/gl-framebuffer: Fix spurious trailing spaces
+
+Purely cosmetic fix, no functional change.
+
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
+---
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 12 ++++++------
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 12 ++++++------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+index d6609bb2074..8d76f1578bf 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+@@ -72,32 +72,32 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
+ GLenum attachment, pname;
+ size_t offset;
+ } params[] = {
+- {
++ {
+ .attachment = GL_BACK_LEFT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+ .offset = offsetof (CoglFramebufferBits, red),
+ },
+- {
++ {
+ .attachment = GL_BACK_LEFT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+ .offset = offsetof (CoglFramebufferBits, green),
+ },
+- {
++ {
+ .attachment = GL_BACK_LEFT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+ .offset = offsetof (CoglFramebufferBits, blue),
+ },
+- {
++ {
+ .attachment = GL_BACK_LEFT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+ .offset = offsetof (CoglFramebufferBits, alpha),
+ },
+- {
++ {
+ .attachment = GL_DEPTH,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+ .offset = offsetof (CoglFramebufferBits, depth),
+ },
+- {
++ {
+ .attachment = GL_STENCIL,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+ .offset = offsetof (CoglFramebufferBits, stencil),
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+index c8db6a23a29..1ffc1d53509 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+@@ -82,32 +82,32 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
+ GLenum attachment, pname;
+ size_t offset;
+ } params[] = {
+- {
++ {
+ .attachment = GL_COLOR_ATTACHMENT0,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+ .offset = offsetof (CoglFramebufferBits, red),
+ },
+- {
++ {
+ .attachment = GL_COLOR_ATTACHMENT0,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+ .offset = offsetof (CoglFramebufferBits, green),
+ },
+- {
++ {
+ .attachment = GL_COLOR_ATTACHMENT0,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+ .offset = offsetof (CoglFramebufferBits, blue),
+ },
+- {
++ {
+ .attachment = GL_COLOR_ATTACHMENT0,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+ .offset = offsetof (CoglFramebufferBits, alpha),
+ },
+- {
++ {
+ .attachment = GL_DEPTH_ATTACHMENT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+ .offset = offsetof (CoglFramebufferBits, depth),
+ },
+- {
++ {
+ .attachment = GL_STENCIL_ATTACHMENT,
+ .pname = GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+ .offset = offsetof (CoglFramebufferBits, stencil),
+--
+GitLab
+
+
+From a2203df9f43b9e501a972d23b3d5584005c03ce6 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <[email protected]>
+Date: Fri, 2 Jun 2023 11:54:58 +0200
+Subject: [PATCH 2/5] cogl/gl-framebuffer: Fix inverted test in
+ ensure_bits_initialized()
+
+Cogl's feature COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS is required
+to use the GL_FRAMEBUFFER_ATTACHMENT_* queries.
+
+Unfortunately, the test for the availability of the private feature is
+actually inverted in ensure_bits_initialized() which causes that whole
+portion of code to be ignored, falling back to the glGetIntegerv()
+method which isn't supported in core profiles.
+
+As Mesa has recently started to be more strict about these, this causes
+the CI tests to fail in mutter.
+
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
+---
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+index 1ffc1d53509..75a8b0c1fe2 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+@@ -76,7 +76,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
+ COGL_FRAMEBUFFER_STATE_BIND);
+
+ #ifdef HAVE_COGL_GL
+- if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
++ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
+ {
+ const struct {
+ GLenum attachment, pname;
+--
+GitLab
+
+
+From fad240f437d6b11f664c9c09aecabe5f5e703eca Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <[email protected]>
+Date: Mon, 5 Jun 2023 10:31:38 +0200
+Subject: [PATCH 3/5] cogl/gl-framebuffer: Match testing features
+
+The function ensure_bits_initialized() in cogl-gl-framebuffer-fbo.c
+checks for COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS whereas the same
+in cogl-gl-framebuffer-back.c simply checks for the driver being
+COGL_DRIVER_GL3.
+
+Change the later to use the COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS
+flag as well.
+
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
+---
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+index 8d76f1578bf..f6a17e8f070 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+@@ -66,7 +66,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
+ COGL_FRAMEBUFFER_STATE_BIND);
+
+ #ifdef HAVE_COGL_GL
+- if (ctx->driver == COGL_DRIVER_GL3)
++ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
+ {
+ const struct {
+ GLenum attachment, pname;
+--
+GitLab
+
+
+From c3af4c1b1571b05f67d48b90d9ea7313f3ca6003 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <[email protected]>
+Date: Fri, 2 Jun 2023 14:27:29 +0200
+Subject: [PATCH 4/5] cogl/gl-framebuffer: Fail without QUERY_FRAMEBUFFER_BITS
+
+glGetIntegerv() with GL_RED_BITS/GL_GREEN_BITS/GL_BLUE_BITS/etc. is not
+supported with the GL core context, so there is no point in falling back
+to that without supporting COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS,
+as this will cause an GL error.
+
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
+---
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 7 +------
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 7 +------
+ 2 files changed, 2 insertions(+), 12 deletions(-)
+
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+index f6a17e8f070..0ccd2324077 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+@@ -119,12 +119,7 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
+ else
+ #endif /* HAVE_COGL_GL */
+ {
+- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red));
+- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
+- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
+- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
+- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
+- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
++ return FALSE;
+ }
+
+ COGL_NOTE (FRAMEBUFFER,
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+index 75a8b0c1fe2..524196207f5 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+@@ -129,12 +129,7 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
+ else
+ #endif /* HAVE_COGL_GL */
+ {
+- GE (ctx, glGetIntegerv (GL_RED_BITS, &bits->red));
+- GE (ctx, glGetIntegerv (GL_GREEN_BITS, &bits->green));
+- GE (ctx, glGetIntegerv (GL_BLUE_BITS, &bits->blue));
+- GE (ctx, glGetIntegerv (GL_ALPHA_BITS, &bits->alpha));
+- GE (ctx, glGetIntegerv (GL_DEPTH_BITS, &bits->depth));
+- GE (ctx, glGetIntegerv (GL_STENCIL_BITS, &bits->stencil));
++ return FALSE;
+ }
+
+ if (!_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_ALPHA_TEXTURES) &&
+--
+GitLab
+
+
+From d65883e0d7d70987e3888b86222b109c35f5a7a2 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <[email protected]>
+Date: Mon, 5 Jun 2023 10:38:41 +0200
+Subject: [PATCH 5/5] cogl/gl-framebuffer: Remove conditional on HAVE_COGL_GL
+
+By testing the features flag, we can get rid of the conditional build
+on HAVE_COGL_GL entirely.
+
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3047>
+---
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c | 2 --
+ cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c | 2 --
+ 2 files changed, 4 deletions(-)
+
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+index 0ccd2324077..94154d48efb 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-back.c
+@@ -65,7 +65,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
+ framebuffer,
+ COGL_FRAMEBUFFER_STATE_BIND);
+
+-#ifdef HAVE_COGL_GL
+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
+ {
+ const struct {
+@@ -117,7 +116,6 @@ ensure_bits_initialized (CoglGlFramebufferBack *gl_framebuffer_back)
+ }
+ }
+ else
+-#endif /* HAVE_COGL_GL */
+ {
+ return FALSE;
+ }
+diff --git a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+index 524196207f5..3ea133d3143 100644
+--- a/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
++++ b/cogl/cogl/driver/gl/cogl-gl-framebuffer-fbo.c
+@@ -75,7 +75,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
+ framebuffer,
+ COGL_FRAMEBUFFER_STATE_BIND);
+
+-#ifdef HAVE_COGL_GL
+ if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_QUERY_FRAMEBUFFER_BITS))
+ {
+ const struct {
+@@ -127,7 +126,6 @@ ensure_bits_initialized (CoglGlFramebufferFbo *gl_framebuffer_fbo)
+ }
+ }
+ else
+-#endif /* HAVE_COGL_GL */
+ {
+ return FALSE;
+ }
+--
+GitLab
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 25f5fbc77f..7291c42278 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -455,7 +455,7 @@ Poppler PDF rendering library.")
(define-public libharu
(package
(name "libharu")
- (version "2.4.2")
+ (version "2.4.3")
(source
(origin
(method git-fetch)
@@ -464,7 +464,7 @@ Poppler PDF rendering library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jwzqvv81zf5f7zssyixhyjirlp9ddwkbaabd177syb1bxljlsdc"))))
+ (base32 "00b89zqf0bxslx03ginzqdjg84zfmblq13p5f4xm0h05j7aq7ixz"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ; No tests
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index da12fa692c..6c77d569c3 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -459,7 +459,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "4.4.1")
+ (version "4.4.2")
(source
(origin
(method url-fetch)
@@ -467,7 +467,7 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz"))
(sha256
- (base32 "038gdri1mcmq9mlaikq5x9xyrs20b99jpcchfspngnwa5s6x6hz0"))))
+ (base32 "167sdj8m3srj9h5hh9cf2kvfpp349sygkcdrfbjrqbnz9x1jh7f1"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 1962553cf0..86ba4209fd 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -210,6 +210,33 @@ routines such as routines for numerical integration and optimization.")
genetic variation data.")
(license license:expat)))
+(define-public python-scikit-fem
+ (package
+ (name "python-scikit-fem")
+ (version "8.1.0")
+ (source (origin
+ (method git-fetch) ; no tests in PyPI
+ (uri (git-reference
+ (url "https://github.com/kinnala/scikit-fem")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zpn0wpsvls5nkrav5a43z77yg9nc09dpyy9ri0dpmpm2ndh2mhs"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; Examples below require python-autograd and python-pyamg.
+ (list #:test-flags #~(list "-k" "not TestEx32 and not TestEx45")))
+ (propagated-inputs (list python-meshio python-numpy python-scipy))
+ (native-inputs (list python-pytest))
+ (home-page "https://scikit-fem.readthedocs.io/en/latest/")
+ (synopsis "Library for performing finite element assembly")
+ (description
+ "@code{scikit-fem} is a library for performing finite element assembly.
+Its main purpose is the transformation of bilinear forms into sparse matrices
+and linear forms into vectors.")
+ (license license:bsd-3)))
+
(define-public python-scikit-fuzzy
(package
(name "python-scikit-fuzzy")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6f855a503b..17c9563cfd 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1832,6 +1832,36 @@ is Python’s.")
service.")
(license license:expat)))
+(define-public python-openai
+ (package
+ (name "python-openai")
+ (version "0.27.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "openai" version))
+ (sha256
+ (base32
+ "0dlmxnib71fih9xzmd3v41alwv4qb8qrxixsrrsf5vmigmf0k0r4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ ;; These require internet access and an openai API key.
+ '(list "--ignore=openai/tests/asyncio/test_endpoints.py"
+ "--ignore=openai/tests/test_endpoints.py"
+ "-k" "not test_requestor_cycle_sessions\
+ and not test_requestor_sets_request_id\
+ and not test_file_cli")))
+ (propagated-inputs (list python-aiohttp python-requests python-tqdm
+ python-typing-extensions))
+ (native-inputs (list python-black python-pytest python-pytest-asyncio
+ python-pytest-mock))
+ (home-page "https://github.com/openai/openai-python")
+ (synopsis "Python client library for the OpenAI API")
+ (description "This package provides a Python client library for the
+OpenAI API.")
+ (license license:expat)))
+
(define-public python-openapi-schema-validator
(package
(name "python-openapi-schema-validator")
@@ -2228,7 +2258,7 @@ RFC6455, regardless of your programming paradigm.")
(define-public hypercorn
(package
(name "hypercorn")
- (version "0.14.3")
+ (version "0.14.4")
(source (origin
(method git-fetch) ;PyPI does not have tests
(uri (git-reference
@@ -2237,7 +2267,7 @@ RFC6455, regardless of your programming paradigm.")
(file-name (git-file-name name version))
(sha256
(base32
- "1hkph0sdr94hxmrq1grnh842snm561sw4az5q6a3ba9hqnrl890h"))))
+ "0zyf5b8959sd12ycmqzvsb8746i3gn76rz55gxvix5cwj672m7yx"))))
(build-system pyproject-build-system)
;; Propagate because Hypercorn also exposes functionality over a module.
(propagated-inputs
@@ -8539,6 +8569,35 @@ starlette.")
(modify-inputs (package-propagated-inputs python-fastapi)
(replace "python-starlette" python-starlette-for-fastapi-0.88)))))
+(define-public python-fastapi-csrf-protect
+ (package
+ (name "python-fastapi-csrf-protect")
+ (version "0.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aekasitt/fastapi-csrf-protect")
+ ;; This commit corresponds to version 0.3.1
+ (commit "536acd651d0d3f9862a0b753ba64dd2d187f8655")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zlwa0fplmcihylyvakskwkbkl2cq291fmys5x6wrpfdbjrqbgbj"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-fastapi python-itsdangerous
+ python-pydantic))
+ (native-inputs
+ (list python-poetry-core
+ python-pytest))
+ (home-page "https://github.com/aekasitt/fastapi-csrf-protect")
+ (synopsis "Cross-Site Request Forgery (XSRF) protection")
+ (description
+ "This package provides a stateless implementation of @dfn{Cross-Site
+Request Forgery} (XSRF) Protection by using the Double Submit Cookie mitigation
+pattern.")
+ (license license:expat)))
+
(define-public python-pyactiveresource
(package
(name "python-pyactiveresource")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index db3e69fb45..e54fcf0695 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13297,16 +13297,16 @@ third-party code.")
(define-public python-llfuse
(package
(name "python-llfuse")
- (version "1.4.1")
+ (version "1.4.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "llfuse" version))
(sha256
(base32
- "1jaf790rsxvz3hs9fbr3hrnmg0xzl6a2bqfa10bbbsjsdbcpk762"))))
+ "1jb4c9avvb0v3830xlbj1r9kj05i98vv6nq05105ppg57y7lq14j"))))
(build-system python-build-system)
(inputs
- (list fuse attr))
+ (list fuse-2 attr))
(native-inputs
(list pkg-config python-pytest))
(synopsis "Python bindings for FUSE")
@@ -24387,10 +24387,9 @@ commit, but it also includes some other useful statistics.")
(let ((fuse (assoc-ref inputs "fuse")))
(substitute* "fuse.py"
(("find_library\\('fuse'\\)")
- (string-append "'" fuse "/lib/libfuse.so'")))
- #t))))))
+ (string-append "'" fuse "/lib/libfuse.so'")))))))))
(propagated-inputs
- (list fuse))
+ (list fuse-2))
(home-page "https://github.com/fusepy/fusepy")
(synopsis "Simple ctypes bindings for FUSE")
(description "Python module that provides a simple interface to FUSE and
@@ -24417,10 +24416,9 @@ MacFUSE. The binding is created using the standard @code{ctypes} library.")
(let ((fuse (assoc-ref inputs "fuse")))
(substitute* "fusepyng.py"
(("os.environ.get\\('FUSE_LIBRARY_PATH'\\)")
- (string-append "\"" fuse "/lib/libfuse.so\""))))
- #t)))))
+ (string-append "\"" fuse "/lib/libfuse.so\"")))))))))
(inputs
- (list fuse))
+ (list fuse-2))
(propagated-inputs
(list python-paramiko))
(home-page "https://github.com/rianhunter/fusepyng")
@@ -31962,10 +31960,10 @@ Psycopg 2 is both Unicode and Python 3 friendly.")
(base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92"))))
(build-system python-build-system)
(native-inputs (list pkg-config))
- (inputs (list fuse-3))
+ (inputs (list fuse))
(propagated-inputs (list python-pytest-trio))
(home-page "https://github.com/libfuse/pyfuse3")
- (synopsis "Python bindings FUSE 3")
+ (synopsis "Python bindings to FUSE 3")
(description "This package provides Python 3 bindings for libfuse 3 with
async I/O support.")
(license license:gpl2+)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a79338f84e..e8654eee44 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4005,6 +4005,7 @@ color-related widgets.")
(substitute-keyword-arguments (package-arguments python-shiboken-2)
((#:phases p)
#~(modify-phases #$p
+ (delete 'workaround-importlib-error)
(replace 'use-shiboken-dir-only
(lambda _ (chdir "sources/shiboken6")))))
((#:configure-flags flags)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index fc00e1c8ee..66f89508fb 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1373,7 +1373,7 @@ for correctness.")
(define-public hackrf
(package
(name "hackrf")
- (version "2022.09.1")
+ (version "2023.01.1")
(source
(origin
(method git-fetch)
@@ -1382,7 +1382,7 @@ for correctness.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0m9j160q5zb3jimszv1lb6j76zf5lwijvpfl1k28d832rh847vvk"))))
+ (base32 "0ybgppwy09j9rmfhh84072li698k64w84q5hjrayc73avc495x6f"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 1f8c128eba..38e75bda98 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Alexandros Theodotou <[email protected]>
;;; Copyright © 2023 Alexey Abramov <[email protected]>
;;; Copyright © 2023 Sharlatan Hellseher <[email protected]>
+;;; Copyright © 2023 Vinicius Monego <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -628,6 +629,11 @@ RPC system. Think JSON, except binary. Or think Protocol Buffers, except faste
(url "https://github.com/jcrist/msgspec")
(commit version)))
(file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete autogenerated file, regenerate in a phase.
+ '(begin
+ (delete-file "msgspec/atof_consts.h")))
(sha256
(base32
"09q567klcv7ly60w9lqip2ffyhrij100ky9igh3p3vqwbml33zb3"))))
@@ -645,7 +651,12 @@ RPC system. Think JSON, except binary. Or think Protocol Buffers, except faste
(invoke "versioneer" "install")
(substitute* "setup.py"
(("version=versioneer.get_version\\(),")
- (format #f "version=~s," #$version))))))))
+ (format #f "version=~s," #$version)))))
+ (add-after 'versioneer 'atof-consts
+ (lambda _
+ (with-directory-excursion "scripts"
+ ;; Regenerate the autogenerated file.
+ (invoke "python" "generate_atof_consts.py")))))))
(native-inputs (list python-attrs
python-gcovr
python-msgpack
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index cbeaa05b3d..abcb7c2f2a 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2021 Wiktor Żelazny <[email protected]>
;;; Copyright © 2022 Jose G Perez Taveras <[email protected]>
;;; Copyright © 2023 Timo Wilken <[email protected]>
+;;; Copyright © 2023 Camilo Q.S. (Distopico) <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -482,7 +483,7 @@ are already there.")
(define-public direnv
(package
(name "direnv")
- (version "2.32.2")
+ (version "2.32.3")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -491,7 +492,7 @@ are already there.")
(file-name (git-file-name name version))
(sha256
(base32
- "17nn4qg1fj4i9rh1gdpbddn2nky71h9dkxyz5a4jsdq25bsx0ps2"))))
+ "1hyl67n7na19zm3ksiiyva4228alx0jfh9l3v1mxszn9prwgcfjc"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/direnv/direnv"
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index 98faaed940..d0cef54c1d 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -386,16 +386,26 @@ share smart cards from client system to local or remote virtual machines.")
(define-public virt-viewer
(package
(name "virt-viewer")
+ ;; XXX Remove the 'build-with-recent-meson phase when updating.
(version "11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://virt-manager.org/download/sources/virt-viewer/"
- "virt-viewer-" version ".tar.xz"))
- (sha256
- (base32
- "1l5bv6x6j21l487mk3n93ai121gg62n6b069r2jpf72cbhra4gx4"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://virt-manager.org/download/sources/virt-viewer/"
+ "virt-viewer-" version ".tar.xz"))
+ (sha256
+ (base32 "1l5bv6x6j21l487mk3n93ai121gg62n6b069r2jpf72cbhra4gx4"))))
(build-system meson-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'build-with-recent-meson
+ ;; Fix ‘ERROR: Function does not take positional arguments.’
+ (lambda _
+ (substitute* "data/meson.build"
+ (("i18n\\.merge_file \\(.*" match)
+ (string-append match "#"))))))))
(native-inputs
(list `(,glib "bin")
gettext-minimal
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 51c41bb0b8..dc620b13a1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -2129,7 +2129,7 @@ machine learning, computer vision, and high-dimensional statistics.")
(define-public python-arviz
(package
(name "python-arviz")
- (version "0.15.1")
+ (version "0.16.1")
(source (origin
(method git-fetch) ; PyPI misses some test files
(uri (git-reference
@@ -2138,7 +2138,7 @@ machine learning, computer vision, and high-dimensional statistics.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nqr4v927r9kc50z7rwlk2m8nw3dnnmmwmwcfijzd93gbg53wc4f"))))
+ "19phaqbpls82300z7ghicrldjxyjq4ilmmwsmd9zkl8c7ld5cb4j"))))
(build-system pyproject-build-system)
(arguments
;; FIXME: matplotlib tests fail because of the "--save" test flag.
@@ -2177,7 +2177,7 @@ comparison and diagnostics.")
(define-public python-pymc
(package
(name "python-pymc")
- (version "5.5.0")
+ (version "5.6.1")
(source (origin
(method git-fetch) ; no tests in PyPI
(uri (git-reference
@@ -2186,7 +2186,7 @@ comparison and diagnostics.")
(file-name (git-file-name name version))
(sha256
(base32
- "077xigv3lfcn9fqc14rsnam4v95fmqk2wpzfrgj08vg8m7f69wdj"))))
+ "0in5lw55camvgd6b4hiw4gr11bdy96jc74z1gvsd0xj7cfxvc043"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ; tests are too computationally intensive
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index f9b76b1d38..0dadd0914a 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -222,7 +222,7 @@
expat
fcgi
fmt-8
- fuse
+ fuse-2
icu4c
jemalloc
keyutils
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 28b5989d6a..8235332cb0 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -546,7 +546,7 @@ written in @command{scsh}. It makes use of @command{unison} and
acl
libselinux
eudev
- fuse
+ fuse-2
openssl
zlib))
(synopsis "File synchronization and backup system")
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index f70a4302fd..44c5754d6d 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1465,14 +1465,14 @@ highlighting for dozens of languages. Jed is very small and fast.")
(define-public xnedit
(package
(name "xnedit")
- (version "1.4.1")
+ (version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xnedit/" name "-"
version ".tar.gz"))
(sha256
(base32
- "0fw3li7hr47hckm9pl1njx30lfr6cx2p094ir8zmgr91hyxidgld"))))
+ "09wvhg7rywfj7njl2fkzdhgwlgxw358423yiv2ay3k5zhbysxfik"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 6a11cba42d..27be78b3ac 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1697,7 +1697,7 @@ visualize your public Git repositories on a web interface.")
(define-public pre-commit
(package
(name "pre-commit") ;formerly known as python-pre-commit
- (version "3.3.1")
+ (version "3.3.3")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@@ -1706,7 +1706,7 @@ visualize your public Git repositories on a web interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1cssp1p8xmidiimcjfp799zlldbr6id8ar0sf5rs0dd44ns1j3yr"))
+ (base32 "1spkg3ld3s6l7wz24lcywlf1z2ywp751bcdlxjfdsln76bi9ylp8"))
(modules '((guix build utils)))
(snippet '(substitute* "setup.cfg"
(("virtualenv>=20.10.0") ;our virtualenv (20.3.1) is fine
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index e366f0d2e0..c35890e9d8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1506,14 +1506,14 @@ quality and performance.")
(define-public libva
(package
(name "libva")
- (version "2.18.0")
+ (version "2.19.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/intel/libva/releases/download/"
version "/libva-" version ".tar.bz2"))
(sha256
- (base32 "10j9rm6ajgp3fda7pwl058lchdip0wq20bvydil28ff2l3mpwmx3"))))
+ (base32 "0x113spshsjcqh4pk8rkqq4r8vxf1nm83ym6ppp7zpsrsncfffwn"))))
(build-system gnu-build-system)
(native-inputs
(list config pkg-config))
@@ -2099,7 +2099,7 @@ streaming protocols.")
(define-public mplayer
(package
(name "mplayer")
- (version "1.4")
+ (version "1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2107,80 +2107,82 @@ streaming protocols.")
version ".tar.xz"))
(sha256
(base32
- "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2"))))
+ "11dzrdb74ayvivcid3giqncrfm98hi4aqvg3kjrwji6bnddxa335"))))
(build-system gnu-build-system)
- ;; FIXME: Add additional inputs once available.
- (native-inputs
- (list pkg-config yasm))
- (inputs
- `(("alsa-lib" ,alsa-lib)
- ("cdparanoia" ,cdparanoia)
- ("ffmpeg" ,ffmpeg-4)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("giflib" ,giflib)
- ("lame" ,lame)
- ("libass" ,libass)
- ("libdvdcss" ,libdvdcss)
- ("libdvdnav" ,libdvdnav) ; ignored without libdvdread
- ("libdvdread" ,libdvdread) ; ignored without libdvdnav
- ("libjpeg" ,libjpeg-turbo)
- ("libmpeg2" ,libmpeg2)
- ("libmpg123" ,mpg123) ; audio codec for MP3
- ("libpng" ,libpng)
- ("libtheora" ,libtheora)
- ("libvdpau" ,libvdpau)
- ("libvorbis" ,libvorbis)
- ("libx11" ,libx11)
- ("libx264" ,libx264)
- ("libxinerama" ,libxinerama)
- ("libxv" ,libxv)
- ("libxxf86dga" ,libxxf86dga)
- ("mesa" ,mesa)
- ("opus" ,opus)
- ("perl" ,perl)
- ("pulseaudio" ,pulseaudio)
- ("python" ,python-wrapper)
- ("sdl" ,sdl)
- ("speex" ,speex)
- ("zlib" ,zlib)))
(arguments
- `(#:tests? #f ; no test target
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; configure does not work followed by "SHELL=..." and
- ;; "CONFIG_SHELL=..."; set environment variables instead
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (libx11 (assoc-ref inputs "libx11")))
+ (list
+ #:tests? #f ; no test target
+ #:configure-flags
+ #~(list (string-append "--prefix=" #$output)
+ "--disable-ffmpeg_a" ; disables bundled ffmpeg
+ "--disable-iwmmxt"
+ (string-append "--extra-cflags=-I"
+ #$(this-package-input "libx11")
+ "/include") ; to detect libx11
+
+ ;; Enable runtime cpu detection where supported,
+ ;; and choose a suitable target.
+ #$@(match (or (%current-target-system)
+ (%current-system))
+ ("x86_64-linux"
+ '("--enable-runtime-cpudetection"
+ "--target=x86_64-linux"))
+ ("i686-linux"
+ '("--enable-runtime-cpudetection"
+ "--target=i686-linux"))
+ ("mips64el-linux"
+ '("--target=mips3-linux"))
+ (_ (list (string-append
+ "--target="
+ (or (%current-target-system)
+ (nix-system->gnu-triplet
+ (%current-system))))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; configure does not work followed by "SHELL=..." and
+ ;; "CONFIG_SHELL=..."; set environment variables instead
+ (lambda* (#:key (configure-flags '()) #:allow-other-keys)
(substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
- (invoke "./configure"
- (string-append "--extra-cflags=-I"
- libx11 "/include") ; to detect libx11
- "--disable-ffmpeg_a" ; disables bundled ffmpeg
- (string-append "--prefix=" out)
- ;; Enable runtime cpu detection where supported,
- ;; and choose a suitable target.
- ,@(match (or (%current-target-system)
- (%current-system))
- ("x86_64-linux"
- '("--enable-runtime-cpudetection"
- "--target=x86_64-linux"))
- ("i686-linux"
- '("--enable-runtime-cpudetection"
- "--target=i686-linux"))
- ("mips64el-linux"
- '("--target=mips3-linux"))
- (_ (list (string-append
- "--target="
- (or (%current-target-system)
- (nix-system->gnu-triplet
- (%current-system)))))))
- "--disable-iwmmxt")))))))
+ (apply invoke "./configure" configure-flags))))))
+ ;; FIXME: Add additional inputs once available.
+ (native-inputs
+ (list pkg-config yasm))
+ (inputs
+ (list alsa-lib
+ cdparanoia
+ ffmpeg-4
+ fontconfig
+ freetype
+ giflib
+ lame
+ libass
+ libdvdcss
+ libdvdnav ; ignored without libdvdread
+ libdvdread ; ignored without libdvdnav
+ libjpeg-turbo
+ libmpeg2
+ mpg123 ; audio codec for MP3
+ libpng
+ libtheora
+ libvdpau
+ libvorbis
+ libx11
+ libx264
+ libxinerama
+ libxv
+ libxxf86dga
+ mesa
+ opus
+ perl
+ pulseaudio
+ python-wrapper
+ sdl
+ speex
+ zlib))
(home-page "https://www.mplayerhq.hu")
(synopsis "Audio and video player")
(description "MPlayer is a movie player. It plays most MPEG/VOB, AVI,
@@ -2192,7 +2194,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.35.1")
+ (version "0.36.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2200,7 +2202,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lzaijqddr4ir9nb27cv9ki20b0k5jns2k47v4xvmi30v1gi71ha"))))
+ (base32 "1ri06h7pv6hrxmxxc618n9hymlgr0gfx38bqq5dcszdgnlashsgk"))))
(build-system waf-build-system)
(arguments
(list
@@ -2209,7 +2211,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(add-after 'unpack 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "player/lua/ytdl_hook.lua"
- (("\"yt-dlp\",")
+ (("\"yt-dlp\",")
(string-append
"\"" (search-input-file inputs "bin/yt-dlp") "\",")))))
(add-before 'configure 'build-reproducibly
@@ -3272,7 +3274,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
- (version "7.16.0")
+ (version "7.18.0")
(source
(origin
(method git-fetch)
@@ -3281,7 +3283,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0aas3zjc9xh7sn01xv67fa26bzlz9sapbgzsplmikwc9lwfl5pqi"))))
+ (base32 "1b79wcf4l099w6bp4jlhgdwnbaydkrp8rj1hflggihzn3awcrayy"))))
(build-system cmake-build-system)
(arguments
(list
@@ -4840,7 +4842,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(define-public openshot
(package
(name "openshot")
- (version "3.1.0")
+ (version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4849,7 +4851,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(file-name (git-file-name name version))
(sha256
(base32
- "1m1mq8kws00mwijx8j5gqharkw63jqyywbnzsswgcxlhmsyv3k4v"))
+ "11wmcipcx5icjcw4vaai5z06p8xj1j39dwl6kkjn5db2y00gak4h"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3f6c32f390..9556fbc61e 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -28,6 +28,7 @@
;;; Copyright © 2022 Ekaitz Zarraga <[email protected]>
;;; Copyright © 2022 Arun Isaac <[email protected]>
;;; Copyright © 2022 Zhu Zihao <[email protected]>
+;;; Copyright © 2023 Juliana Sims <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -96,6 +97,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
@@ -160,15 +162,14 @@
(define-public qemu
(package
(name "qemu")
- (version "7.2.1")
+ (version "7.2.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(sha256
- (base32
- "0fypm8blv0la17vvlx6h38nhq2rpavflr9i9zsjl6ylxryd6k1cc"))
+ (base32 "0795l8xsy67fnh4mbdz40jm880iisd7q6d7ly6nfzpac3gjr8zyf"))
(patches (search-patches "qemu-build-info-manual.patch"
"qemu-disable-aarch64-migration-test.patch"
"qemu-fix-agent-paths.patch"))
@@ -1127,6 +1128,57 @@ Guix to build virtual machines.")
Debian or a derivative using @command{debootstrap}.")
(license license:gpl2+)))
+(define-public rvvm
+ (package
+ (name "rvvm")
+ (version "0.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LekKit/RVVM")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ldabcrmpa044bahpqa6ymwbhhwy69slh77f0m3421sq6j50l06p"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ ;; See src/rvjit/rvjit.h for list of architectures.
+ #~(#$@(if (or (target-x86?)
+ (target-arm?))
+ #~'()
+ #~(list "-DRVVM_USE_JIT=NO")))
+ #:modules `((srfi srfi-26)
+ (guix build utils)
+ (guix build cmake-build-system))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Install phase inspired by the Makefile.
+ (replace 'install
+ (lambda _
+ (let ((src "../source/src/")
+ (incl (string-append #$output "/include/rvvm/")))
+ (install-file "rvvm" (string-append #$output "/bin"))
+ (for-each
+ (cut install-file <> (string-append #$output "/lib"))
+ (find-files "." "\\.(so|a)$"))
+ (install-file (string-append src "rvvmlib.h") incl)
+ (for-each
+ (cut install-file <> (string-append incl "devices"))
+ (find-files (string-append src "devices") "\\.h$"))))))
+ #:tests? #f)) ; no tests
+ (home-page "https://github.com/LekKit/RVVM")
+ (synopsis "RISC-V virtual machine")
+ (description
+ "RVVM is a RISC-V CPU and system software implementation written in C. It
+supports the entire RV64GC ISA, and it passes compliance tests for both RV64 and
+RV32. OpenSBI, U-Boot, and custom firmwares boot and execute properly. It is
+capable of running Linux, FreeBSD, OpenBSD, Haiku, and other OSes. Furthermore,
+it emulates a variety of hardware and peripherals.")
+ (license (list license:gpl3+ license:mpl2.0))))
+
(define-public spike
(package
(name "spike")
@@ -1259,23 +1311,25 @@ manage system or application containers.")
(define-public lxcfs
(package
(name "lxcfs")
- (version "4.0.11")
+ (version "5.0.4")
(home-page "https://github.com/lxc/lxcfs")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "lxcfs-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "02cgzh97cgxh9iyf7gkn5ikdc0sfzqfjj6al0hikdf9rbwcscqwd"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "lxcfs-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15cc7kvnln4qqlv22hprfzmq89jbkx7yra730hap8wkvamn33sxy"))))
+ (build-system meson-build-system)
(arguments
- '(#:configure-flags '("--localstatedir=/var")))
+ (list
+ #:configure-flags
+ #~(list "-Dinit-script=sysvinit"))) ; no ‘none’ option
(native-inputs
- (list autoconf automake libtool pkg-config))
+ (list help2man pkg-config python python-jinja2))
(inputs
(list fuse))
- (build-system gnu-build-system)
(synopsis "FUSE-based file system for LXC")
(description "LXCFS is a small FUSE file system written with the intention
of making Linux containers feel more like a virtual machine.
@@ -1448,7 +1502,7 @@ pretty simple, REST API.")
(inputs
(list acl
attr
- fuse
+ fuse-2
libxml2
eudev
libpciaccess
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 866bf077fb..012d607b19 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -586,7 +586,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt
(package
(name "nyxt")
- (version "3.4.0")
+ (version "3.5.0")
(source
(origin
(method git-fetch)
@@ -595,7 +595,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
- "0k1vk3qj9sc3wa0yhx1ih8xq9864dd34hfk622zdmyx2f8q81qd3"))
+ "13ldi191ccxyxr3hjxyhnjl2vw365v0fhb1pqia7rg1gl3id47gz"))
(file-name (git-file-name "nyxt" version))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ad5ec0aba7..e5fd081d27 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4824,8 +4824,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
license:freebsd-doc)))) ; documentation
(define-public guix-data-service
- (let ((commit "68850065d79ba05dad7201c3ed22f5e2e32680b7")
- (revision "41"))
+ (let ((commit "1c7539418743e0dfe3a9cad22c414fd732daef8f")
+ (revision "42"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -4837,64 +4837,63 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
- "0y7a9jbbkzhlhmn639kgmzlkw927w4nrsafm1sj51mrblr5qk4lq"))))
+ "1gp4mhjssxky0jjjz916rfgz4w2f327wfd5ixb6lb00ydlfh5mws"))))
(build-system gnu-build-system)
(arguments
- '(#:modules ((guix build utils)
+ (list
+ #:modules '((guix build utils)
(guix build gnu-build-system)
(ice-9 ftw)
(ice-9 match)
(ice-9 rdelim)
(ice-9 popen))
- #:test-target "check-with-tmp-database"
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'set-GUILE_AUTO_COMPILE
- (lambda _
- ;; To avoid warnings relating to 'guild'.
- (setenv "GUILE_AUTO_COMPILE" "0")
- #t))
- (add-after 'install 'wrap-executable
- (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")
- "-c" "(display (effective-version))")))
- (scm (string-append out "/share/guile/site/"
- guile-effective-version))
- (go (string-append out "/lib/guile/"
- guile-effective-version
- "/site-ccache")))
- (for-each
- (lambda (file)
- (simple-format (current-error-port)
- "wrapping: ~A\n"
- (string-append bin "/" file))
- (wrap-program (string-append bin "/" file)
- `("PATH" ":" prefix
- ,(cons*
- bin
- (map (lambda (input)
- (string-append
- (assoc-ref inputs input)
- "/bin"))
- '("ephemeralpg"
- "util-linux"
- "postgresql"))))
- `("GUILE_LOAD_PATH" ":" prefix
- (,scm ,(getenv "GUILE_LOAD_PATH")))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
- (scandir bin
- (match-lambda
- ((or "." "..") #f)
- (_ #t))))
- #t)))
- (delete 'strip)))) ; As the .go files aren't compatible
+ #:test-target "check-with-tmp-database"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-GUILE_AUTO_COMPILE
+ (lambda _
+ ;; To avoid warnings relating to 'guild'.
+ (setenv "GUILE_AUTO_COMPILE" "0")))
+ (add-after 'install 'wrap-executable
+ (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")
+ "-c" "(display (effective-version))")))
+ (scm (string-append out "/share/guile/site/"
+ guile-effective-version))
+ (go (string-append out "/lib/guile/"
+ guile-effective-version
+ "/site-ccache")))
+ (for-each
+ (lambda (file)
+ (simple-format (current-error-port)
+ "wrapping: ~A\n"
+ (string-append bin "/" file))
+ (wrap-program (string-append bin "/" file)
+ `("PATH" ":" prefix
+ ,(cons*
+ bin
+ (map (lambda (input)
+ (string-append
+ (assoc-ref inputs input)
+ "/bin"))
+ '("ephemeralpg"
+ "util-linux"
+ "postgresql"))))
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
+ (scandir bin
+ (match-lambda
+ ((or "." "..") #f)
+ (_ #t)))))))
+ (delete 'strip)))) ; As the .go files aren't compatible
(inputs
(list ephemeralpg
util-linux
@@ -5959,6 +5958,14 @@ on the fly.")
`(#:phases (modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
+ ;; Our grep is compiled without perl regexp support. So,
+ ;; rewrite the grep command to not use it. \t tab
+ ;; characters are supported only in perl regexps. So,
+ ;; put in literal tabs using printf instead.
+ (substitute* "src/tests/test32-proxy-authority.sh"
+ (("grep -Pq") "grep -q")
+ (("extension:\\\\tdefault")
+ "extension:$(printf '\\011')default"))
;; Most tests attempts to access hitch-tls.org which is
;; unavailable in the build container. Run them against
;; a dummy local web server instead.
@@ -5976,8 +5983,7 @@ on the fly.")
;; process has shut down.
(substitute* "src/tests/hitch_test.sh"
(("kill -0 \"\\$HITCH_PID\"")
- "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')"))
- #t)))))
+ "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')")))))))
(native-inputs
(list pkg-config
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index 690409b7a1..260abdefed 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -24,7 +24,8 @@
#:use-module (guix deprecation)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
- #:use-module (gnu services)
+ #:use-module (guix modules)
+ #:use-module ((gnu services) #:hide (delete))
#:use-module (gnu services admin)
#:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
@@ -143,7 +144,7 @@
;; Helpers for deprecated field types, to be removed later.
(define %lazy-group (make-symbol "%lazy-group"))
-(define (%set-user-group user group)
+(define (set-user-group user group)
(user-account
(inherit user)
(group (user-group-name group))))
@@ -184,13 +185,15 @@
(define %mpd-user
(user-account
- (name "mpd")
- (group %lazy-group)
- (system? #t)
- (comment "Music Player Daemon (MPD) user")
- ;; MPD can use $HOME (or $XDG_CONFIG_HOME) to place its data
- (home-directory "/var/lib/mpd")
- (shell (file-append shadow "/sbin/nologin"))))
+ (name "mpd")
+ ;; XXX: This is a place-holder to be lazily substituted in (…-accounts)
+ ;; with the value from the 'group' field of <mpd-configuration>.
+ (group %lazy-group)
+ (system? #t)
+ (comment "Music Player Daemon (MPD) user")
+ ;; MPD can use $HOME (or $XDG_CONFIG_HOME) to place its data.
+ (home-directory "/var/lib/mpd")
+ (shell (file-append shadow "/sbin/nologin"))))
(define %mpd-group
(user-group
@@ -235,10 +238,7 @@
user-account instead~%"))
(user-account
(inherit %mpd-user)
- (name value)
- ;; XXX: This is to be lazily substituted in (…-accounts)
- ;; with the value from 'group'.
- (group %lazy-group)))
+ (name value)))
(else
(configuration-field-error #f 'user value))))
@@ -253,6 +253,18 @@ user-group instead~%"))
(else
(configuration-field-error #f 'group value))))
+(define (mpd-log-file-sanitizer value)
+ (match value
+ (%unset-value
+ ;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is
+ ;; supposed to cause logging to happen via systemd (elogind provides a
+ ;; compatible interface), this doesn't work (nothing gets logged); use
+ ;; syslog instead.
+ "syslog")
+ ((? string?)
+ value)
+ (_ (configuration-field-error #f 'log-file value))))
+
;;;
;; Generic MPD plugin record, lists only the most prevalent fields.
@@ -350,15 +362,18 @@ open. This may be useful for streaming servers, when you don’t want to
disconnect all listeners even when playback is accidentally stopped.")
(mixer-type
- (string "none")
- "This field accepts a string that specifies which mixer should be used
-for this audio output: the @code{hardware} mixer, the @code{software}
-mixer, the @code{null} mixer (allows setting the volume, but with no
-effect; this can be used as a trick to implement an external mixer
-External Mixer) or no mixer (@code{none})."
+ maybe-string
+ "This field accepts a string that specifies which mixer should be used for
+this audio output: the @code{hardware} mixer, the @code{software} mixer, the
+@code{null} mixer (allows setting the volume, but with no effect; this can be
+used as a trick to implement an external mixer External Mixer) or no
+mixer (@code{none}). When left unspecified, a @code{hardware} mixer is used
+for devices that support it."
(sanitizer
(lambda (x) ; TODO: deprecated, remove me later.
(cond
+ ((eq? %unset-value x)
+ x)
((symbol? x)
(warning (G_ "symbol value for 'mixer-type' is deprecated, \
use string instead~%"))
@@ -425,16 +440,17 @@ will depend on."
empty-serializer)
(log-file
- (maybe-string "/var/log/mpd/log")
- "The location of the log file. Set to @code{syslog} to use the
-local syslog daemon or @code{%unset-value} to omit this directive
-from the configuration file.")
+ maybe-string
+ "The location of the log file. Unless specified, logs are sent to the
+local syslog daemon. Alternatively, a log file name can be specified, for
+example @file{/var/log/mpd.log}."
+ (sanitizer mpd-log-file-sanitizer))
(log-level
maybe-string
"Supress any messages below this threshold.
-Available values: @code{notice}, @code{info}, @code{verbose},
-@code{warning} and @code{error}.")
+The available values, in decreasing order of verbosity, are: @code{verbose},
+@code{info}, @code{notice}, @code{warning} and @code{error}.")
(music-directory
maybe-string
@@ -456,7 +472,8 @@ Available values: @code{notice}, @code{info}, @code{verbose},
(db-file
maybe-string
- "The location of the music database.")
+ "The location of the music database. When left unspecified,
+@file{~/.cache/db} is used.")
(state-file
maybe-string
@@ -514,6 +531,11 @@ To use a Unix domain socket, an absolute path can be specified here."
(serializer (lambda (_ x)
(mpd-serialize-list-of-mpd-plugin "archive_plugin" x))))
+ (auto-update?
+ maybe-boolean
+ "Whether to automatically update the music database when files are changed
+in the @var{music-directory}.")
+
(input-cache-size
maybe-string
"MPD input cache size."
@@ -563,44 +585,70 @@ appended to the configuration.")
(serialize-configuration configuration mpd-configuration-fields)))
(define (mpd-log-rotation config)
- (match-record config <mpd-configuration> (log-file)
- (log-rotation
- (files (list log-file))
- (post-rotate #~(begin
- (use-modules (gnu services herd))
- (with-shepherd-action 'mpd ('reopen) #f))))))
+ (match-record config <mpd-configuration>
+ (log-file)
+ (if (string=? "syslog" log-file)
+ '() ;nothing to do
+ (list (log-rotation
+ (files (list log-file))
+ (post-rotate #~(begin
+ (use-modules (gnu services herd))
+ (with-shepherd-action 'mpd ('reopen) #f))))))))
(define (mpd-shepherd-service config)
- (match-record config <mpd-configuration> (user package shepherd-requirement
- log-file playlist-directory
- db-file state-file sticker-file
- environment-variables)
+ (match-record config <mpd-configuration>
+ (user package shepherd-requirement
+ log-file playlist-directory
+ db-file state-file sticker-file
+ environment-variables)
(let ((config-file (mpd-serialize-configuration config))
(username (user-account-name user)))
(shepherd-service
(documentation "Run the MPD (Music Player Daemon)")
- (requirement `(user-processes loopback ,@shepherd-requirement))
+ (requirement `(user-processes loopback
+ ,@(if (string=? "syslog" log-file)
+ '(syslogd)
+ '())
+ ,@shepherd-requirement))
(provision '(mpd))
- (start #~(begin
- (and=> #$(maybe-value log-file)
- (compose mkdir-p dirname))
-
- (let ((user (getpw #$username)))
- (for-each
- (lambda (x)
- (when (and x (not (file-exists? x)))
- (mkdir-p x)
- (chown x (passwd:uid user) (passwd:gid user))))
- (list #$(maybe-value playlist-directory)
- (and=> #$(maybe-value db-file) dirname)
- (and=> #$(maybe-value state-file) dirname)
- (and=> #$(maybe-value sticker-file) dirname))))
-
- (make-forkexec-constructor
- (list #$(file-append package "/bin/mpd")
- "--no-daemon"
- #$config-file)
- #:environment-variables '#$environment-variables)))
+ (start
+ (with-imported-modules (source-module-closure
+ '((gnu build activation)))
+ #~(begin
+ (use-modules (gnu build activation))
+
+ (let ((home #$(user-account-home-directory user)))
+ (let ((user (getpw #$username))
+ (default-cache-dir (string-append home "/.cache")))
+
+ (define (init-directory directory)
+ (unless (file-exists? directory)
+ (mkdir-p/perms directory user #o755)))
+
+ ;; Define a cache location that can be automatically used
+ ;; for the database file, in case it hasn't been explicitly
+ ;; specified.
+ (for-each
+ init-directory
+ (cons default-cache-dir
+ '#$(map dirname
+ ;; XXX: Delete the potential "syslog"
+ ;; log-file value, which is not a directory.
+ (delete "syslog"
+ (filter-map maybe-value
+ (list db-file
+ log-file
+ state-file
+ sticker-file)))))))
+
+ (make-forkexec-constructor
+ (list #$(file-append package "/bin/mpd") "--no-daemon"
+ #$config-file)
+ #:environment-variables
+ ;; Set HOME so MPD can infer default paths, such as
+ ;; for the database file.
+ (cons (string-append "HOME=" home)
+ '#$environment-variables))))))
(stop #~(make-kill-destructor))
(actions
(list (shepherd-configuration-action config-file)
@@ -621,7 +669,7 @@ appended to the configuration.")
(match-record config <mpd-configuration> (user group)
;; TODO: Deprecation code, to be removed.
(let ((user (if (eq? (user-account-group user) %lazy-group)
- (%set-user-group user group)
+ (set-user-group user group)
user)))
(list user group))))
@@ -632,10 +680,8 @@ appended to the configuration.")
(extensions
(list (service-extension shepherd-root-service-type
(compose list mpd-shepherd-service))
- (service-extension account-service-type
- mpd-accounts)
- (service-extension rottlog-service-type
- (compose list mpd-log-rotation))))
+ (service-extension account-service-type mpd-accounts)
+ (service-extension rottlog-service-type mpd-log-rotation)))
(default-value (mpd-configuration))))
@@ -660,12 +706,14 @@ appended to the configuration.")
(define %mympd-user
(user-account
- (name "mympd")
- (group %lazy-group)
- (system? #t)
- (comment "myMPD user")
- (home-directory "/var/empty")
- (shell (file-append shadow "/sbin/nologin"))))
+ (name "mympd")
+ ;; XXX: This is a place-holder to be lazily substituted in 'mympd-accounts'
+ ;; with the value from the 'group' field of <mympd-configuration>.
+ (group %lazy-group)
+ (system? #t)
+ (comment "myMPD user")
+ (home-directory "/var/empty")
+ (shell (file-append shadow "/sbin/nologin"))))
(define %mympd-group
(user-group
@@ -680,10 +728,7 @@ appended to the configuration.")
user-account instead~%"))
(user-account
(inherit %mympd-user)
- (name value)
- ;; XXX: this is to be lazily substituted in (…-accounts)
- ;; with the value from 'group'.
- (group %lazy-group)))
+ (name value)))
(else
(configuration-field-error #f 'user value))))
@@ -697,8 +742,15 @@ user-group instead~%"))
(name value)))
(else
(configuration-field-error #f 'group value))))
-;;;
+(define (mympd-log-to-sanitizer value)
+ (match value
+ ('syslog
+ (warning (G_ "syslog symbol value for 'log-to' is deprecated~%"))
+ %unset-value)
+ ((or %unset-value (? string?))
+ value)
+ (_ (configuration-field-error #f 'log-to value))))
;; XXX: The serialization procedures are insufficient since we require
;; access to multiple fields at once.
@@ -763,10 +815,11 @@ will depend on."
"How much detail to include in logs, possible values: @code{0} to @code{7}.")
(log-to
- (string-or-symbol "/var/log/mympd/log")
- "Where to send logs. By default, the service logs to
-@file{/var/log/mympd.log}. The alternative is @code{'syslog}, which
-sends output to the running syslog service under the @samp{daemon} facility."
+ maybe-string
+ "Where to send logs. Unless specified, the service logs to the local
+syslog service under the @samp{daemon} facility. Alternatively, a log file
+name can be specified, for example @file{/var/log/mympd.log}."
+ (sanitizer mympd-log-to-sanitizer)
empty-serializer)
(lualibs
@@ -857,49 +910,58 @@ prompting a pin from the user.")
filename-to-field)))))
(define (mympd-shepherd-service config)
- (match-record config <mympd-configuration> (package shepherd-requirement
- user work-directory
- cache-directory log-level log-to)
- (let ((log-level* (format #f "MYMPD_LOGLEVEL=~a" log-level))
- (username (user-account-name user)))
- (shepherd-service
- (documentation "Run the myMPD daemon.")
- (requirement `(loopback user-processes
- ,@(if (eq? log-to 'syslog)
- '(syslog)
- '())
- ,@shepherd-requirement))
- (provision '(mympd))
- (start #~(begin
- (let* ((pw (getpwnam #$username))
- (uid (passwd:uid pw))
- (gid (passwd:gid pw)))
- (for-each (lambda (dir)
- (mkdir-p dir)
- (chown dir uid gid))
- (list #$work-directory #$cache-directory)))
-
- (make-forkexec-constructor
- `(#$(file-append package "/bin/mympd")
- "--user" #$username
- #$@(if (eq? log-to 'syslog) '("--syslog") '())
- "--workdir" #$work-directory
- "--cachedir" #$cache-directory)
- #:environment-variables (list #$log-level*)
- #:log-file #$(if (string? log-to) log-to #f))))
- (stop #~(make-kill-destructor))))))
+ (match-record config <mympd-configuration>
+ (package shepherd-requirement user work-directory cache-directory
+ log-level log-to)
+ (shepherd-service
+ (documentation "Run the myMPD daemon.")
+ (requirement `(loopback user-processes
+ ,@(if (maybe-value-set? log-to)
+ '()
+ '(syslogd))
+ ,@shepherd-requirement))
+ (provision '(mympd))
+ (start
+ (let ((username (user-account-name user)))
+ (with-imported-modules (source-module-closure
+ '((gnu build activation)))
+ #~(begin
+ (use-modules (gnu build activation))
+
+ (let ((user (getpw #$username)))
+
+ (define (init-directory directory)
+ (unless (file-exists? directory)
+ (mkdir-p/perms directory user #o755)))
+
+ (for-each init-directory
+ '#$(map dirname (filter-map maybe-value
+ (list log-to
+ work-directory
+ cache-directory)))))
+
+ (make-forkexec-constructor
+ `(#$(file-append package "/bin/mympd")
+ "--user" #$username
+ #$@(if (eq? log-to 'syslog) '("--syslog") '())
+ "--workdir" #$work-directory
+ "--cachedir" #$cache-directory)
+ #:environment-variables
+ (list #$(format #f "MYMPD_LOGLEVEL=~a" log-level))
+ #:log-file #$(maybe-value log-to)))))))))
(define (mympd-accounts config)
(match-record config <mympd-configuration> (user group)
;; TODO: Deprecation code, to be removed.
(let ((user (if (eq? (user-account-group user) %lazy-group)
- (%set-user-group user group)
+ (set-user-group user group)
user)))
(list user group))))
(define (mympd-log-rotation config)
- (match-record config <mympd-configuration> (log-to)
- (if (string? log-to)
+ (match-record config <mympd-configuration>
+ (log-to)
+ (if (maybe-value-set? log-to)
(list (log-rotation
(files (list log-to))))
'())))
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index ef77458255..1450eedf37 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -708,11 +708,7 @@ ca-certificates.crt file in the system profile."
(shepherd-service
(documentation "Guix Data Service process jobs")
(provision '(guix-data-service-process-jobs))
- (requirement '(postgres
- networking
- ;; Require guix-data-service, as that the database
- ;; migrations are handled through this service
- guix-data-service))
+ (requirement '(postgres networking))
(start #~(make-forkexec-constructor
(list
#$(file-append package
diff --git a/gnu/system.scm b/gnu/system.scm
index 23addf41e9..5598643910 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -1244,7 +1244,7 @@ deprecated; use 'setuid-program' instead~%"))
(file-append sudo "/bin/sudo")
(file-append sudo "/bin/sudoedit")
(file-append fuse "/bin/fusermount")
- (file-append fuse-3 "/bin/fusermount3")
+ (file-append fuse "/bin/fusermount3")
;; To allow mounts with the "user" option, "mount" and "umount" must
;; be setuid-root.
diff --git a/gnu/system/accounts.scm b/gnu/system/accounts.scm
index 586cff1842..e37b733c6d 100644
--- a/gnu/system/accounts.scm
+++ b/gnu/system/accounts.scm
@@ -19,7 +19,8 @@
(define-module (gnu system accounts)
#:use-module (guix records)
#:use-module (ice-9 match)
- #:export (user-account
+ #:export (<user-account>
+ user-account
user-account?
user-account-name
user-account-password