summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi2
-rw-r--r--gnu/build/file-systems.scm15
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/algebra.scm46
-rw-r--r--gnu/packages/browser-extensions.scm4
-rw-r--r--gnu/packages/c.scm22
-rw-r--r--gnu/packages/containers.scm78
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/databases.scm18
-rw-r--r--gnu/packages/engineering.scm92
-rw-r--r--gnu/packages/fonts.scm8
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnunet.scm54
-rw-r--r--gnu/packages/graphics.scm180
-rw-r--r--gnu/packages/gtk.scm4
-rw-r--r--gnu/packages/image-viewers.scm5
-rw-r--r--gnu/packages/man.scm39
-rw-r--r--gnu/packages/music.scm6
-rw-r--r--gnu/packages/package-management.scm9
-rw-r--r--gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch27
-rw-r--r--gnu/packages/python-science.scm4
-rw-r--r--gnu/packages/python-xyz.scm43
-rw-r--r--gnu/packages/python.scm2
-rw-r--r--gnu/packages/qt.scm304
-rw-r--r--gnu/packages/racket.scm2
-rw-r--r--gnu/packages/shellutils.scm25
-rw-r--r--gnu/packages/sqlite.scm4
-rw-r--r--gnu/packages/tcl.scm2
-rw-r--r--gnu/packages/tex.scm94
-rw-r--r--gnu/services/base.scm2
-rw-r--r--gnu/tests/dict.scm3
-rw-r--r--guix/build/syscalls.scm116
-rw-r--r--guix/import/gnome.scm14
-rw-r--r--guix/search-paths.scm19
34 files changed, 883 insertions, 369 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 20abfee772..db72e75a69 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -36437,7 +36437,7 @@ This is the data type representing the configuration of rshiny.
@item @code{package} (default: @code{r-shiny})
The package to use.
-@item @code{binary} (defaunlt @code{"rshiny"})
+@item @code{binary} (default @code{"rshiny"})
The name of the binary or shell script located at @code{package/bin/} to
run when the service is run.
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index b9d46c9350..0ed5dc5671 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -98,6 +98,18 @@ standard input is /dev/null."
system*/console)
program args))
+(define (call-with-input-file file proc)
+ "Like 'call-with-input-file', but pass O_CLOEXEC."
+ (let ((port #f))
+ (dynamic-wind
+ (lambda ()
+ (set! port (open file (logior O_RDONLY O_CLOEXEC))))
+ (lambda ()
+ (proc port))
+ (lambda ()
+ (close-port port)
+ (set! port #f)))))
+
(define (bind-mount source target)
"Bind-mount SOURCE at TARGET."
(mount source target "" MS_BIND))
@@ -1183,7 +1195,8 @@ corresponds to the symbols listed in FLAGS."
(not (file-is-directory? source)))
(unless (file-exists? target)
(mkdir-p (dirname target))
- (call-with-output-file target (const #t)))
+ (close-fdes
+ (open-fdes target (logior O_WRONLY O_CREAT O_CLOEXEC))))
(mkdir-p target))
(cond
diff --git a/gnu/local.mk b/gnu/local.mk
index 50b9c37fac..cc96b77e03 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1681,6 +1681,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-3-fix-tests.patch \
%D%/packages/patches/python-3-hurd-configure.patch \
%D%/packages/patches/python-3-no-static-lib.patch \
+ %D%/packages/patches/python-apsw-3.39.2.1-test-fix.patch \
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
%D%/packages/patches/python-cross-compile.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index d3f2549152..e5bd12eeb8 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -74,7 +74,8 @@
#:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
- #:use-module (guix utils))
+ #:use-module (guix utils)
+ #:use-module (ice-9 match))
(define-public mpfrcx
@@ -1009,10 +1010,39 @@ extends it by a set of algebraic capabilities.")
#t))))
(build-system cmake-build-system)
(arguments
- '(;; Turn off debugging symbols to save space.
+ `(;; Turn off debugging symbols to save space.
#:build-type "Release"
+ #:modules ((ice-9 match)
+ (guix build utils)
+ (guix build cmake-build-system))
+
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-some-tests
+ ;; Not all platforms are well supported by the test suite.
+ (lambda _
+ ,@(match (%current-system)
+ ("i686-linux"
+ `((substitute* "test/CMakeLists.txt"
+ ((".*packetmath.*") ""))))
+ ("aarch64-linux"
+ `((substitute* "test/CMakeLists.txt"
+ ((".*array_cwise.*") "")
+ ((".*vectorization_logic.*") ""))))
+ ("armhf-linux"
+ `((substitute* "test/CMakeLists.txt"
+ ((".*geo_quaternion.*") "")
+ ((".*jacobisvd.*") "")
+ ((".*packetmath.*") "")
+ ((".*prec_inverse.*") "")
+ ((".*qr_colpivoting.*") "")
+ ((".*vectorization_logic.*") ""))))
+ ("riscv64-linux"
+ `((substitute* "test/CMakeLists.txt"
+ ((".*array_cwise.*") "")
+ ((".*geo_quaternion.*") ""))))
+ (_
+ '((display "No tests to disable on this architecture.\n"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(let* ((cores (parallel-job-count))
@@ -1101,6 +1131,11 @@ features, and more.")
(substitute* "unsupported/CMakeLists.txt"
(("add_subdirectory\\(test.*")
"# Do not build the tests for unsupported features.\n"))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments eigen)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'disable-some-tests)))))
(native-inputs
(list gcc-7)))))
@@ -1129,7 +1164,12 @@ features, and more.")
'(begin
(substitute* "unsupported/CMakeLists.txt"
(("add_subdirectory\\(test.*")
- "# Do not build the tests for unsupported features.\n")))))))))
+ "# Do not build the tests for unsupported features.\n"))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments eigen)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'disable-some-tests))))))))
(define-public xtensor
(package
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 63bd11b226..db27101b9b 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -51,7 +51,7 @@ supported content to the Kodi media center.")
(define ublock-origin
(package
(name "ublock-origin")
- (version "1.44.0")
+ (version "1.44.2")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@@ -62,7 +62,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
- "0sws7xd8nvxnzcyw92i9sc5xv3hpqw1kzdj9vm8bhfxlh042l7ly"))))
+ "0hci19wv5sj4vph8k24bmcz7q74y1adyykwijqyga4p7h68jklw1"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(arguments
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d7d649488b..10275970b1 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1083,6 +1083,28 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://github.com/awslabs/aws-c-mqtt")
(license license:asl2.0)))
+;; Note: there is another mimalloc embedded in rust-mimalloc (version 1.6.4).
+(define-public mimalloc
+ (package
+ (name "mimalloc")
+ (version "2.0.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/microsoft/mimalloc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:build-type "Release"))
+ (synopsis "General purpose memory allocator")
+ (description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
+ (home-page "https://microsoft.github.io/mimalloc/")
+ (license license:expat)))
+
;;; Factored out of the ck package so that it can be adjusted and called on
;;; the host side easily, without impacting the package definition.
(define (gnu-triplet->ck-machine target)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index a156f4191c..2c7e7ae9c4 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Timmy Douglas <mail@timmydouglas.com>
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -271,7 +272,7 @@ configure network interfaces in Linux containers.")
(define-public podman
(package
(name "podman")
- (version "3.4.4")
+ (version "4.2.0")
(source
(origin
(method git-fetch)
@@ -279,46 +280,49 @@ configure network interfaces in Linux containers.")
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
- (base32 "1q09qsl1wwiiy5njvb97n1j5f5jin4ckmzj5xbdfs28czb2kx3g5"))
+ (base32 "00wyjppd11hznmals9ax4s2qjklj6p1vfz4jjkp50bk8q4blxfbj"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
- (string-append "PREFIX=" %output))
- #:tests? #f ; /sys/fs/cgroup not set up in guix sandbox
- #:test-target "test"
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'set-env
- (lambda* (#:key inputs #:allow-other-keys)
- ;; when running go, things fail because
- ;; HOME=/homeless-shelter.
- (setenv "HOME" "/tmp")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; (invoke "strace" "-f" "bin/podman" "version")
- (invoke "make" "localsystem")
- (invoke "make" "remotesystem"))))
- (add-after 'unpack 'fix-hardcoded-paths
- (lambda _
- (substitute* (find-files "libpod" "\\.go")
- (("exec.LookPath[(][\"]slirp4netns[\"][)]")
- (string-append "exec.LookPath(\""
- (which "slirp4netns") "\")")))
- (substitute* "hack/install_catatonit.sh"
- (("CATATONIT_PATH=\"[^\"]+\"")
- (string-append "CATATONIT_PATH=" (which "true"))))
- (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
- (("/usr/local/libexec/podman")
- (string-append (assoc-ref %outputs "out") "/bin")))
- (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
- (("/usr/libexec/podman/conmon") (which "conmon"))
- (("/usr/local/libexec/cni")
- (string-append (assoc-ref %build-inputs "cni-plugins")
- "/bin"))
- (("/usr/bin/crun") (which "crun"))))))))
+ (list
+ #:make-flags
+ #~(list #$(string-append "CC=" (cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:tests? #f ; /sys/fs/cgroup not set up in guix sandbox
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; when running go, things fail because
+ ;; HOME=/homeless-shelter.
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; (invoke "strace" "-f" "bin/podman" "version")
+ (invoke "make" "localsystem")
+ (invoke "make" "remotesystem"))))
+ (add-after 'unpack 'fix-hardcoded-paths
+ (lambda _
+ (substitute* (find-files "libpod" "\\.go")
+ (("exec.LookPath[(][\"]slirp4netns[\"][)]")
+ (string-append "exec.LookPath(\""
+ (which "slirp4netns") "\")")))
+ (substitute* "hack/install_catatonit.sh"
+ (("CATATONIT_PATH=\"[^\"]+\"")
+ (string-append "CATATONIT_PATH=" (which "true"))))
+ (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
+ (("/usr/local/libexec/podman")
+ (string-append #$output "/bin")))
+ (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
+ (("/usr/libexec/podman/conmon") (which "conmon"))
+ (("/usr/local/libexec/cni")
+ (string-append #$(this-package-input "cni-plugins")
+ "/bin"))
+ (("/usr/bin/crun") (which "crun"))))))))
(inputs
(list btrfs-progs
cni-plugins
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index f00317e949..606cd792c1 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1023,7 +1023,7 @@ Google's C++ code base.")
(let ((base abseil-cpp-20200923.3))
(package/inherit base
(name "abseil-cpp")
- (version "20220623.0")
+ (version "20220623.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1032,7 +1032,7 @@ Google's C++ code base.")
(file-name (git-file-name name version))
(sha256
(base32
- "1kyvlpdkkh8spqrdh9yvq2d4ri46hwxljicy3i9mp7mk2rqcnyvj"))))
+ "0vxh2a74g4s45yr8kdjqnzl64k10qdlc0hbnn987a4cnwdj4bp9r"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 3b8d6db967..84aa0f5ebc 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3540,18 +3540,22 @@ PickleShare.")
(define-public python-apsw
(package
(name "python-apsw")
- (version "3.39.2.0")
+ (version "3.39.2.1")
+ ;; The compressed release has fetching functionality disabled.
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rogerbinns/apsw")
- (commit version)))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/rogerbinns/apsw/releases/download/"
+ version "/apsw-" version ".zip"))
(sha256
(base32
- "0q7fnk8n3m5mpjzh6xyhj409k8sacdbjsfis98my9c50fdn5sr7y"))))
+ "06x3qgg71xz8l3kz8gz04wkfp5f6zfrg476a4mm1c5hikqyw6ykj"))
+ ;; Cherry-picked from upstream, remove when bumping to 3.39.3.
+ (patches
+ (search-patches "python-apsw-3.39.2.1-test-fix.patch"))))
(build-system python-build-system)
+ (native-inputs (list unzip))
(inputs (list sqlite-next)) ;SQLite 3.39 required.
(arguments
(list #:phases
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..a8b9f1e786 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -78,6 +78,7 @@
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages commencement)
@@ -2895,6 +2896,97 @@ for the milling of PCBs. It also includes an autoleveller for the automatic
dynamic calibration of the milling depth.")
(license license:gpl3+))))
+;; libdxfrw has no readme, no version release, no tags. Initial commit says
+;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
+;; https://github.com/codelibs/libdxfrw. Both are difficult to package
+;; separately as they don't install properly. Copying in-tree instead of
+;; #:recursive #t to avoid downloading the other bigger dependencies which
+;; aren't needed.
+(define libdxfrw-sources
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url
+ "https://github.com/solvespace/libdxfrw")
+ (commit
+ "0b7b7b709d9299565db603f878214656ef5e9ddf")))
+ (sha256 (base32
+ "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))
+
+(define-public solvespace
+ (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
+ (version "3.1"))
+ (package
+ (name "solvespace")
+ (version version)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/solvespace/solvespace")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
+ (build-system cmake-build-system)
+ (native-inputs (list pkg-config gettext-minimal))
+ (arguments
+ (list
+ #:build-type "Release"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-libdxfrw
+ (lambda _
+ (copy-recursively #$libdxfrw-sources
+ "extlib/libdxfrw")))
+ (add-before 'configure 'embed-git-commit-hash
+ (lambda _
+ ;; `git describe` doesn't work here, so embed
+ ;; the commit hash directly in CMakeLists.txt as
+ ;; described instead.
+ (substitute* "CMakeLists.txt"
+ (("include\\(GetGitCommitHash\\)")
+ (string-append "set(GIT_COMMIT_HASH "
+ #$commit ")")))))
+ (add-before 'configure 'use-packaged-mimalloc
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("message\\(STATUS \"Using in-tree mimalloc\"\\)")
+ "message(STATUS \"Using guix packaged mimalloc\")")
+ (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
+ "find_package(mimalloc REQUIRED)")))))))
+ (inputs (list cairo
+ eigen
+ freetype
+ gtkmm-3
+ json-c
+ libpng
+ libspnav ;spaceware
+ mimalloc
+ mesa
+ zlib))
+ (synopsis
+ "Parametric 2D/3D @acronym{CAD, computer-aided design} software")
+ (description
+ "SOLVESPACE is a parametric 3D @acronym{CAD,
+computer-aided design} tool. Applications include:
+
+@itemize
+@item modeling 3D parts — draw with extrudes, revolves, helixes and
+ Boolean (union / difference / intersection) operations
+@item modeling 2D parts — draw the part as a single section,
+ and export DXF, PDF, SVG; use 3D assembly to verify fit
+@item 3D-printed parts — export the STL or other triangle mesh
+ expected by most 3D printers
+@item preparing CAM data — export 2D vector art for a waterjet
+ machine or laser cutter; or generate STEP or STL, for import into
+ third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+ or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+ with a live dimensioned drawing
+@end itemize")
+ (home-page "https://solvespace.com/")
+ (license license:gpl3+))))
+
(define-public syscall-intercept
;; Upstream provides no tag. Also, last version update is 4 years old.
(let ((commit "304404581c57d43478438d175099d20260bae74e")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 09445cd00c..7a23aa8552 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -2735,7 +2735,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
- (version "1.235.2")
+ (version "1.240")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2743,7 +2743,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
- "17li3xry4j4ccdnwz2pcnf0gv7c5mwq0h5fwvl7ar28brn2qgdbk"))))
+ "1rg6i6fqs1b0b2g4kijimkyqbxfn6n8ac74rppsizq65n6crvfib"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@@ -2757,7 +2757,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
- (version "0.920")
+ (version "0.921")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2765,7 +2765,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
- "1kysqzi19ldd1a3pd9axmggcbm1719myq6i6q6fdb1afscn272cp"))))
+ "0s7zvb8i1f7ziw8r94l1f3rcv21b80dbgc43zjwz34s43465lwrb"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2057aa47cf..fbb0dc1206 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12471,7 +12471,7 @@ profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
- (version "0.40.0")
+ (version "0.41.0")
(source
(origin
(method git-fetch)
@@ -12481,7 +12481,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
- "12l6qks4kwi75ss61yx1f515nb30d987qw3yhi4a36w5xz721p5z"))))
+ "17r059srxrx26w40swy47pdpyigyjdczp8550g4rfh86qs3ld4il"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index a0f902e534..b477fee537 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -33,6 +33,7 @@
#:use-module (gnu packages file)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
@@ -349,29 +350,35 @@ services.")
(define-public gnunet-scheme
(package
(name "gnunet-scheme")
- (version "0.2")
+ (version "0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.gnunet.org/git/gnunet-scheme.git")
- (commit (string-append "v" version))))
+ ;; Go three commits beyond the v0.3 tag, as these three
+ ;; commits work-around
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>.
+ (commit "f5dc44e66373c29f1c84ea89d8080939a8dfbfd2")))
(file-name (git-file-name name version))
(sha256
(base32
- "0a11n58m346vs2khns2hfnxv8lbscf8aaqzhmq0d7nwdpn808nrp"))
+ "0kvqbqijfyp3fhsqjyzwd7b3cm5khwv557wq196mv6rx47aaivgd"))
(modules '((guix build utils)))
- ;; XXX: Work-around
- ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>,
- ;; this can be removed once Guile > 3.0.7 is released.
- (snippet '(substitute* '("gnu/gnunet/config/parser.scm"
- "tests/config-parser.scm")
- (("#\\{\\$\\{\\}\\}#") "#{${;};}#")
- (("#\\{\\$\\{:-\\}\\}#") "#{${;:-};}#")
- (("#\\{\\$\\{\\}\\}# #\\{\\$\\{:-\\}\\}#")
- "#{$\\x7b;\\x7d;}# #{$\\x7b;:-\\x7d;}#")
- (("'#\\{\\$\\{\\}\\}# '#\\{\\$\\{:-\\}\\}#")
- "'#{$\\x7b;\\x7d;}# '#{$\\x7b;:-\\x7d;}#")))))
+ (snippet
+ ;; Unbundle dependencies. TODO: build-aux/test-driver.scm
+ ;; is bundled too, but it's not yet automatically copied by
+ ;; autoreconf -i.
+ #~(delete-file "build-aux/config.rpath"))))
(build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ ;; For reproducibility, do not insert real timestamps in the PDF.
+ (add-after 'unpack 'reproducible-timestamp
+ (lambda _
+ (substitute* "Makefile.am"
+ (("\\$\\(TEXMACS_CONVERT\\)")
+ "faketime -m -f '1970-01-01 00:00:00' $(TEXMACS_CONVERT)")))))))
(inputs (list guile-3.0)) ;for pkg-config
(propagated-inputs (list guile-bytestructures guile-gcrypt guile-pfds
guile-fibers-1.1))
@@ -382,6 +389,7 @@ services.")
guile-gcrypt
guile-pfds
guile-fibers-1.1
+ libfaketime
automake
autoconf
pkg-config
@@ -390,11 +398,19 @@ services.")
guile-quickcheck)) ;for tests
(synopsis "Guile implementation of GNUnet client libraries")
(description
- "This package provides Guile modules for connecting to the NSE (network
-size estimation) and DHT (distributed hash table) services of GNUnet. It also
-has infrastructure for writing new GNUnet services and connecting to them and
-can be used from multi-threaded environments. It is not to be confused with
-@code{guile-gnunet} -- @code{guile-gnunet} supports a different set of services.")
+ "This package provides Guile modules for connecting to various
+GNUnet services. It also has infrastructure for writing new GNUnet services and
+connecting to them and can be used from multi-threaded environments. It is not
+to be confused with @code{guile-gnunet} -- @code{guile-gnunet} supports a different
+set of services.
+
+The following services are supported:
+
+@itemize
+@item NSE (network size estimation)
+@item DHT (distributed hash table)
+@item CADET (secure end-to-end communication between arbitrary peers)
+@end itemize")
;; Most code is licensed as AGPL and a few modules are licensed as LGPL
;; or GPL. Documentation is licensed as GFDL.
(license (list license:agpl3+ license:gpl3+ license:fdl1.3+ license:lgpl3+))
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 697223cfdb..d4300f01da 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2306,97 +2306,89 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
(license license:lgpl3+)))
(define-public f3d
- ;; There have been many improvements since the last tagged version (1.2.1,
- ;; released in December 2021), including support for the Alembic file
- ;; format.
- (let ((commit "46df21fe9409349917af5e6f7d1cb931f4c68e59")
- (revision "0"))
- (package
- (name "f3d")
- ;; F3D has not actually been tagged as 1.3.0-pre, but upstream commit
- ;; 401d4d27b2094568378c07f400fbad48b7af3168 updated the version string
- ;; to 1.3.0.
- (version (git-version "1.3.0-pre" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/f3d-app/f3d")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0x0jw9vqf1b8pxh84xpr47hzcjynk07dp8q7r2xihh9cd00kglp1"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file "application/cxxopts.hpp")
- (delete-file "application/json.hpp")
- (substitute* "application/F3DOptionsParser.cxx"
- (("^#include \"cxxopts\\.hpp\"")
- "#include <cxxopts.hpp>")
- (("^#include \"json\\.hpp\"")
- "#include <nlohmann/json.hpp>"))))))
- (build-system cmake-build-system)
- ;; The package cannot easily be split into out and lib outputs because
- ;; VTK's vtkModule.cmake complains, and also the CMake files in
- ;; /lib/cmake/f3d expect the f3d executable and library to be available,
- ;; as they set up targets for both of them.
- (arguments
- (list
- ;; Many tests require files supplied by git-lfs.
- ;; Also, some tests segfault (after an exception?) but the tested
- ;; behavior, i.e., when the program is run manually, does not (for
- ;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
- ;; Upstream is aware of occasionally flaky tests [1], but the tests
- ;; run in CI seem to be passing.
- ;; Anyway, the program runs and is able to open at least STL files
- ;; without issue.
- ;;
- ;; [1]: https://github.com/f3d-app/f3d/issues/92
- #:tests? #f
- #:configure-flags
- #~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
- "/share/doc/" #$name "-" #$version)
- "-DBUILD_TESTING=OFF"
- "-DF3D_GENERATE_MAN=ON"
- "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
- "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
- "-DF3D_INSTALL_MIME_TYPES_FILE=ON"
- "-DF3D_INSTALL_THUMBNAILER_FILES=ON"
- "-DF3D_MODULE_ALEMBIC=ON"
- "-DF3D_MODULE_ASSIMP=ON"
- "-DF3D_MODULE_EXTERNAL_RENDERING=ON"
- "-DF3D_MODULE_OCCT=ON")))
- (native-inputs
- (list cxxopts
- help2man
- json-modern-cxx))
- (inputs
- (list alembic
- assimp
- double-conversion
- eigen
- expat
- fontconfig
- freetype
- glew
- hdf5
- imath
- jsoncpp
- libjpeg-turbo
- libpng
- libtiff
- libx11
- lz4
- netcdf
- opencascade-occt
- vtk
- zlib))
- (home-page "https://f3d-app.github.io/f3d/")
- (synopsis "VTK-based 3D viewer")
- (description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer
-with simple interaction mechanisms and which is fully controllable using
-arguments on the command line. It supports a range of file formats (including
-animated glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and
-texturing options.")
- (license license:bsd-3))))
+ (package
+ (name "f3d")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/f3d-app/f3d")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hdfgwf5d24ykab634xg4vv9r09nh96ss7hhnqnh5nmw4abhxzg7"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file "application/cxxopts.hpp")
+ (delete-file "application/json.hpp")
+ (substitute* "application/F3DOptionsParser.cxx"
+ (("^#include \"cxxopts\\.hpp\"")
+ "#include <cxxopts.hpp>")
+ (("^#include \"json\\.hpp\"")
+ "#include <nlohmann/json.hpp>"))))))
+ (build-system cmake-build-system)
+ ;; The package cannot easily be split into out and lib outputs because
+ ;; VTK's vtkModule.cmake complains, and also the CMake files in
+ ;; /lib/cmake/f3d expect the f3d executable and library to be available,
+ ;; as they set up targets for both of them.
+ (arguments
+ (list
+ ;; Many tests require files supplied by git-lfs.
+ ;; Also, some tests segfault (after an exception?) but the tested
+ ;; behavior, i.e., when the program is run manually, does not (for
+ ;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
+ ;; Upstream is aware of occasionally flaky tests [1], but the tests
+ ;; run in CI seem to be passing.
+ ;; Anyway, the program runs and is able to open at least STL files
+ ;; without issue.
+ ;;
+ ;; [1]: https://github.com/f3d-app/f3d/issues/92
+ #:tests? #f
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
+ "/share/doc/" #$name "-" #$version)
+ "-DBUILD_TESTING=OFF"
+ "-DF3D_GENERATE_MAN=ON"
+ "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
+ "-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
+ "-DF3D_INSTALL_MIME_TYPES_FILES=ON"
+ "-DF3D_INSTALL_THUMBNAILER_FILES=ON"
+ "-DF3D_MODULE_ALEMBIC=ON"
+ "-DF3D_MODULE_ASSIMP=ON"
+ "-DF3D_MODULE_EXTERNAL_RENDERING=ON"
+ "-DF3D_MODULE_OCCT=ON")))
+ (native-inputs
+ (list cxxopts
+ help2man
+ json-modern-cxx))
+ (inputs
+ (list alembic
+ assimp
+ double-conversion
+ eigen
+ expat
+ fontconfig
+ freetype
+ glew
+ hdf5
+ imath
+ jsoncpp
+ libjpeg-turbo
+ libpng
+ libtiff
+ libx11
+ lz4
+ netcdf
+ opencascade-occt
+ vtk
+ zlib))
+ (home-page "https://f3d-app.github.io/f3d/")
+ (synopsis "VTK-based 3D viewer")
+ (description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer with
+simple interaction mechanisms and which is fully controllable using arguments
+on the command line. It supports a range of file formats (including animated
+glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing
+options.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c3ef7085a5..3c1e1ac848 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -2566,7 +2566,7 @@ shell scripts. Example of how to use @code{yad} can be consulted at
(define-public dragon-drop
(package
(name "dragon-drop")
- (version "1.1.1")
+ (version "1.2.0")
(source (origin
(method git-fetch)
(uri
@@ -2576,7 +2576,7 @@ shell scripts. Example of how to use @code{yad} can be consulted at
(file-name (git-file-name name version))
(sha256
(base32
- "0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra"))))
+ "1cspkrr976mqi6cjkgrckdmjbgahnxmq267wn1zd7gamv64vm8f2"))))
(build-system gnu-build-system)
(inputs (list gtk+))
(native-inputs (list pkg-config))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index ff880ef79d..77979e8b8f 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -110,7 +110,7 @@
(define-public ytfzf
(package
(name "ytfzf")
- (version "2.3")
+ (version "2.4.1")
(home-page "https://github.com/pystardust/ytfzf")
(source
(origin
@@ -121,7 +121,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01prcg6gfwy1r49v92pkzxay9iadqqhpaxvn8jmij2jm5l50iynd"))))
+ (base32 "198qhnjklrgrjs35ygym6sgx1ibwn6qrihfiginvmx38gdavdj4x"))))
(build-system gnu-build-system)
(arguments
(list
@@ -162,6 +162,7 @@
libnotify
mpv
ncurses
+ perl ;for convert-ascii-escape.pl
python-ueberzug
sed
util-linux
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 1c1d82758b..50796df89e 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -282,7 +282,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
(base32 "12vb15gs56g8wl5nqlm4llr508brh4m2lfknhq4lizbxzqzawkb1"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases (delete 'configure))
+ `(#:phases (modify-phases %standard-phases (delete 'configure))
;; The 'all' target depends on three targets that directly populate
;; $(MANDIR) based on its current contents. Doing that in parallel
@@ -290,9 +290,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
#:parallel-build? #f
#:tests? #f
- #:make-flags (list (string-append "mandir="
- (assoc-ref %outputs "out")
- "/share/man"))))
+ #:make-flags ,#~(list (string-append "mandir=" #$output "/share/man"))))
(home-page "https://www.kernel.org/doc/man-pages/")
(synopsis "Development manual pages from the Linux project")
(description
@@ -302,6 +300,39 @@ Linux kernel and C library interfaces employed by user-space programs.")
;; Each man page has its own license; some are GPLv2+, some are MIT/X11.
(license license:gpl2+)))
+(define-public man-pages-posix
+ (package
+ (name "man-pages-posix")
+ (version "2013-a")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/docs/man-pages/"
+ "man-pages-posix/man-pages-posix-" version
+ ".tar.xz"))
+ (sha256
+ (base32 "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ ;; The compress-documentation phase doesn't pick up on our manpages as
+ ;; its regex doesn't support trailing letters, so manually compress.
+ #:make-flags ,#~(list (string-append "prefix=" #$output) "gz")
+ #:license-file-regexp "POSIX-COPYRIGHT"
+ #:phases (modify-phases %standard-phases (delete 'configure))))
+ (home-page "https://www.kernel.org/doc/man-pages/")
+ (synopsis "Man pages from the POSIX.1-2013 standard")
+ (description
+ "This package provides excerpts from the POSIX.1-2008 and TC1 standards
+(collectively, POSIX.1-2013) in manual page form. While the Linux man-pages
+project documents the system as it exists on Linux- and glibc-based systems,
+this package documents the portable software API as nominally implemented by
+many Unix-likes.")
+ (license (license:fsdg-compatible "file://POSIX-COPYRIGHT"
+ "Redistribution of this material is permitted so long as this
+notice and the corresponding notices within each POSIX manual page are retained
+on any distribution, and the nroff source is included."))))
+
(define-public help2man
;; TODO: Manual pages for languages not available from the implicit
;; input "locales" contain the original (English) text.
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5b6440455e..627050eeec 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -134,6 +134,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
@@ -476,7 +477,7 @@ playing your music.")
(define-public strawberry
(package
(name "strawberry")
- (version "1.0.7")
+ (version "1.0.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -485,7 +486,7 @@ playing your music.")
(file-name (git-file-name name version))
(sha256
(base32
- "17mfavbbzx7hp7j5n9i7c3rajy16jicarabrl174p4gjv4zpy2sc"))
+ "0gm97sdz78s67rnyrs4ixg5dwv2haxdmb7s21yqb8axp624vvalp"))
(modules '((guix build utils)
(ice-9 regex)))
(snippet
@@ -542,6 +543,7 @@ playing your music.")
gstreamer
gst-plugins-base
gst-plugins-good
+ icu4c
libcdio
libmtp
protobuf
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 4ac32581fa..2d1fe914e3 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -63,6 +63,7 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages docbook)
#:use-module (gnu packages file)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -1900,14 +1901,14 @@ the boot loader configuration.")
(define-public flatpak
(package
(name "flatpak")
- (version "1.12.7")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
version "/flatpak-" version ".tar.xz"))
(sha256
- (base32 "05lkpbjiwp69q924i1jfyk5frcqbdbv9kyzbqwm2hy723i9jmdbd"))
+ (base32 "05bqy9kwmaj32y7f94fydcz3k63bsgn4mbcp4pglv8hffxrnj9wf"))
(patches
(search-patches "flatpak-fix-path.patch"
"flatpak-unset-gdk-pixbuf-for-sandbox.patch"))))
@@ -1976,8 +1977,10 @@ cp -r /tmp/locale/*/en_US.*")))
socat
which))
(inputs
- (list appstream-glib
+ (list appstream
+ appstream-glib
bubblewrap
+ curl
dconf
fuse
gdk-pixbuf
diff --git a/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch b/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch
new file mode 100644
index 0000000000..cc233e3ccd
--- /dev/null
+++ b/gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch
@@ -0,0 +1,27 @@
+From 1111f902075169bd0d96cdd10607ef8499f0fed5 Mon Sep 17 00:00:00 2001
+From: Roger Binns <rogerb@rogerbinns.com>
+Date: Mon, 5 Sep 2022 07:12:25 -0700
+Subject: [PATCH] Deal with mismatched SQLITE_ENABLE_COLUMN_METADATA
+
+Address #363
+---
+ apsw/tests.py | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletion(-)
+
+diff --git a/apsw/tests.py b/apsw/tests.py
+index b4a94d3..256ead0 100644
+--- a/apsw/tests.py
++++ b/apsw/tests.py
+@@ -772,8 +772,8 @@ class APSW(unittest.TestCase):
+ c.execute("drop table foo; create table foo (%s)" % (", ".join(["[%s] %s" % (n, t) for n, t in cols]), ))
+ c.execute("insert into foo([x a space]) values(1)")
+ c.execute("create temp table two(fred banana); insert into two values(7); create temp view three as select fred as [a space] from two")
+- has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options)
++ has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options) if apsw.using_amalgamation else hasattr(c, "description_full")
+ for row in c.execute("select * from foo"):
+ self.assertEqual(cols, c.getdescription())
+ self.assertEqual(has_full, hasattr(c, "description_full"))
+
+base-commit: f628374c5857d940067ef26c9ea4e85a08a94f76
+--
+2.37.2
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index ce0ba4b6d2..b218759bf8 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1226,7 +1226,7 @@ aggregated sum and more.")
(define-public python-pyvista
(package
(name "python-pyvista")
- (version "0.35.2")
+ (version "0.36.1")
(source
;; The PyPI tarball does not contain the tests.
;; (However, we don't yet actually run the tests.)
@@ -1237,7 +1237,7 @@ aggregated sum and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1qmxrhqm3ag736yb761jy1himwlr3p676xyqbry61h97dj11n6sq"))))
+ (base32 "1kjilcrz2cyh67n79r8dpxrans99mlviz2whc6g7j8hgn7v14z2n"))))
(build-system python-build-system)
(propagated-inputs
(list python-appdirs
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3ec132ea22..59b4264285 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29,7 +29,7 @@
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2016, 2017, 2018, 2021 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -10008,13 +10008,13 @@ function signatures.")
(define-public python-sympy
(package
(name "python-sympy")
- (version "1.10.1")
+ (version "1.11.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sympy" version))
(sha256
- (base32 "0yvqb2fhrm81skl8s9znbkkjfb1a09n64qqlc1r225cyvzzywfar"))))
+ (base32 "0n46x1rfy8c2a9za3yp2va5icigxj805f9fmiq8c1drwwvf808z3"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -30739,3 +30739,40 @@ platform using the ActivityPub protocol.")
"@code{python-lief} is a cross platform library which can parse, modify
and abstract ELF, PE and MachO formats.")
(license license:asl2.0)))
+
+(define-public python-pymonad
+ (package
+ (name "python-pymonad")
+ (version "2.4.0")
+ ;; The tests are incomplete in the PyPI archive.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jasondelaat/pymonad")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ci1mpydldiyg9qv6d19ljhfh7wxlrl2k4mlvqd9bm7dqvpdjsx7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./run_tests.sh")))))))
+ (home-page "https://github.com/jasondelaat/pymonad")
+ (synopsis "Monadic style functional programming for Python")
+ (description "@code{python-pymonad} implements data structures typically
+available in purely functional or functional first programming languages such
+as Haskell and F#. Included are
+
+@itemize
+@item Monad and Monoid data types with several common monads such as Maybe and
+State
+@item Useful tools such as the @code{@@curry} decorator for defining curried
+functions
+@item Type annotations to help ensure correct usage
+@end itemize")
+ (license license:bsd-3)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6b571f6d12..edbdf7cfad 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -865,7 +865,7 @@ ease from the desktop to a microcontroller or embedded system.")
(substitute* '("lib_pypy/_md5.py"
"lib_pypy/_sha1.py")
((shebang-match-python) shebang-pypy3))))
- (copy-recursively dist-dir out)))))))
+ (copy-recursively dist-dir #$output)))))))
(native-inputs
(list gzip
nss-certs ; For ssl tests
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9359a9f382..a1ef352263 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
+;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3751,6 +3752,9 @@ color-related widgets.")
"QCustomPlot is a Qt C++ widget providing 2D plots, graphs and charts.")
(license license:gpl3+)))
+;; TODO: Split shiboken2 binding generator into a dedicated output.
+;; This executable requires libxml2, libxslt, clang-toolchain at runtime.
+;; The libshiboken library only requires Qt and Python at runtime.
(define-public python-shiboken-2
(package
(name "python-shiboken-2")
@@ -3773,30 +3777,31 @@ color-related widgets.")
qtbase-5
qtxmlpatterns))
(arguments
- `(#:tests? #f
- ;; FIXME: Building tests fails
- #:configure-flags '("-DBUILD_TESTS=off")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'use-shiboken-dir-only
- (lambda _ (chdir "sources/shiboken2") #t))
- (add-before 'configure 'make-files-writable-and-update-timestamps
- (lambda _
- ;; The build scripts need to modify some files in
- ;; the read-only source directory, and also attempts
- ;; to create Zip files which fails because the Zip
- ;; format does not support timestamps before 1980.
- (let ((circa-1980 (* 10 366 24 60 60)))
- (for-each (lambda (file)
- (make-file-writable file)
- (utime file circa-1980 circa-1980))
- (find-files ".")))
- #t))
- (add-before 'configure 'set-build-env
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((llvm (assoc-ref inputs "clang-toolchain")))
- (setenv "CLANG_INSTALL_DIR" llvm)
- #t))))))
+ (list
+ #:tests? #f
+ ;; FIXME: Building tests fails
+ #:configure-flags #~(list "-DBUILD_TESTS=off")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-shiboken-dir-only
+ (lambda _ (chdir "sources/shiboken2") #t))
+ (add-before 'configure 'make-files-writable-and-update-timestamps
+ (lambda _
+ ;; The build scripts need to modify some files in
+ ;; the read-only source directory, and also attempts
+ ;; to create Zip files which fails because the Zip
+ ;; format does not support timestamps before 1980.
+ (let ((circa-1980 (* 10 366 24 60 60)))
+ (for-each (lambda (file)
+ (make-file-writable file)
+ (utime file circa-1980 circa-1980))
+ (find-files ".")))
+ #t))
+ (add-before 'configure 'set-build-env
+ (lambda _
+ (let ((llvm #$(this-package-input "clang-toolchain")))
+ (setenv "CLANG_INSTALL_DIR" llvm)
+ #t))))))
(home-page "https://wiki.qt.io/Qt_for_Python")
(synopsis
"Shiboken generates bindings for C++ libraries using CPython source code")
@@ -3810,6 +3815,40 @@ color-related widgets.")
license:lgpl3
license:bsd-3))))
+(define-public python-shiboken-6
+ (package
+ (inherit python-shiboken-2)
+ (name "python-shiboken-6")
+ (version "6.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.qt.io/official_releases"
+ "/QtForPython/pyside6/PySide6-" version
+ "-src/pyside-setup-opensource-src-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0xwri69nnbhn6fajm7l045r0s0qv8nlq6qj8wcj87srli3b5xa75"))))
+ (build-system cmake-build-system)
+ (inputs
+ (modify-inputs (package-inputs python-shiboken-2)
+ (replace "qtbase" qtbase)
+ (delete "qtxmlpatterns")))
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-shiboken-2)
+ ((#:phases p)
+ #~(modify-phases #$p
+ (replace 'use-shiboken-dir-only
+ (lambda _ (chdir "sources/shiboken6") #t))))
+ ((#:configure-flags flags)
+ #~(cons*
+ ;; The RUNPATH of shibokenmodule contains the entry in build
+ ;; directory instead of install directory.
+ "-DCMAKE_SKIP_RPATH=TRUE"
+ (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath="
+ #$output "/lib")
+ #$flags))))))
+
(define-public python-pyside-2
(package
(name "python-pyside-2")
@@ -3817,10 +3856,7 @@ color-related widgets.")
(source (package-source python-shiboken-2))
(build-system cmake-build-system)
(inputs
- (list libxml2
- libxslt
- clang-toolchain
- qtbase-5
+ (list qtbase-5
qtdatavis3d
qtdeclarative-5
qtlocation
@@ -3832,6 +3868,7 @@ color-related widgets.")
qtsensors
qtspeech
qtsvg-5
+ qttools-5
qtwebchannel-5
qtwebengine-5
qtwebsockets-5
@@ -3840,68 +3877,63 @@ color-related widgets.")
(propagated-inputs
(list python-shiboken-2))
(native-inputs
- `(("cmake" ,cmake-minimal)
- ("python" ,python-wrapper)
- ("qttools-5" ,qttools-5)
- ("which" ,which)))
+ (list python-wrapper))
(arguments
- `(#:tests? #f
- ;; FIXME: Building tests fail.
- #:configure-flags
- (list "-DBUILD_TESTS=FALSE"
- (string-append "-DPYTHON_EXECUTABLE="
- (assoc-ref %build-inputs "python")
- "/bin/python"))
- #:modules ((guix build cmake-build-system)
+ (list
+ #:tests? #f
+ ;; FIXME: Building tests fail.
+ #:configure-flags
+ #~(list "-DBUILD_TESTS=FALSE"
+ (string-append "-DPYTHON_EXECUTABLE="
+ (search-input-file %build-inputs
+ "/bin/python")))
+ #:modules '((guix build cmake-build-system)
(guix build utils)
(srfi srfi-1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'go-to-source-dir
- (lambda _ (chdir "sources/pyside2") #t))
- (add-after 'go-to-source-dir 'fix-qt-module-detection
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Activate qt module support even if it not in the same
- ;; directory as qtbase.
- (substitute* "../cmake_helpers/helpers.cmake"
- (("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
- "true"))
- ;; Add include directories for qt modules.
- (let ((dirs (map (lambda (name)
- (string-append (assoc-ref inputs name)
- "/include/qt5"))
- '("qtdatavis3d"
- "qtdeclarative"
- "qtlocation"
- "qtmultimedia"
- "qtquickcontrols"
- "qtquickcontrols2"
- "qtscript"
- "qtscxml"
- "qtsensors"
- "qtspeech"
- "qtsvg"
- "qttools-5"
- "qtwebchannel"
- "qtwebengine"
- "qtwebsockets"
- "qtx11extras"
- "qtxmlpatterns"))))
- (substitute* "cmake/Macros/PySideModules.cmake"
- (("\\$\\{PATH_SEP\\}\\$\\{core_includes\\}" all)
- (fold (lambda (dir paths)
- (string-append paths "${PATH_SEP}" dir))
- all
- dirs)))
- (setenv "CXXFLAGS" (fold (lambda (dir paths)
- (string-append paths " -I" dir))
- ""
- dirs)))))
- (add-before 'configure 'set-clang-dir
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "clang-toolchain")))
- (setenv "CLANG_INSTALL_DIR" clang)
- #t))))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'go-to-source-dir
+ (lambda _ (chdir "sources/pyside2") #t))
+ (add-after 'go-to-source-dir 'fix-qt-module-detection
+ (lambda _
+ ;; Activate qt module support even if it not in the same
+ ;; directory as qtbase.
+ (substitute* "../cmake_helpers/helpers.cmake"
+ (("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
+ "true"))
+ ;; Add include directories for qt modules.
+ (let ((dirs (map (lambda (path)
+ (string-append path "/include/qt5"))
+ (list
+ #$@(map (lambda (name)
+ (this-package-input name))
+ '("qtdatavis3d"
+ "qtdeclarative"
+ "qtlocation"
+ "qtmultimedia"
+ "qtquickcontrols"
+ "qtquickcontrols2"
+ "qtscript"
+ "qtscxml"
+ "qtsensors"
+ "qtspeech"
+ "qtsvg"
+ "qttools"
+ "qtwebchannel"
+ "qtwebengine"
+ "qtwebsockets"
+ "qtx11extras"
+ "qtxmlpatterns"))))))
+ (substitute* "cmake/Macros/PySideModules.cmake"
+ (("\\$\\{PATH_SEP\\}\\$\\{core_includes\\}" all)
+ (fold (lambda (dir paths)
+ (string-append paths "${PATH_SEP}" dir))
+ all
+ dirs)))
+ (setenv "CXXFLAGS" (fold (lambda (dir paths)
+ (string-append paths " -I" dir))
+ ""
+ dirs))))))))
(home-page "https://wiki.qt.io/Qt_for_Python")
(synopsis
"The Qt for Python product enables the use of Qt5 APIs in Python applications")
@@ -3923,6 +3955,78 @@ generate Python bindings for your C or C++ code.")
license:gpl3
license:gpl2))))
+(define-public python-pyside-6
+ (package
+ (inherit python-pyside-2)
+ (name "python-pyside-6")
+ (version (package-version python-shiboken-6))
+ (source (package-source python-shiboken-6))
+ ;; TODO: Add more Qt components if available.
+ (inputs
+ (list qtbase
+ qtdeclarative
+ qtmultimedia
+ qtnetworkauth
+ qtpositioning
+ qtsvg
+ qttools
+ qtwebchannel
+ qtwebengine
+ qtwebsockets))
+ (propagated-inputs
+ (list python-shiboken-6))
+ (native-inputs
+ (list python-wrapper))
+ (arguments
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_TESTS=FALSE"
+ (string-append "-DPYTHON_EXECUTABLE="
+ (search-input-file %build-inputs
+ "/bin/python")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'go-to-source-dir
+ (lambda _ (chdir "sources/pyside6") #t))
+ (add-after 'go-to-source-dir 'fix-qt-module-detection
+ (lambda _
+ (substitute* "cmake/PySideHelpers.cmake"
+ (("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
+ "true"))
+ (let ((dirs (map (lambda (path)
+ (string-append path "/include/qt6"))
+ (list
+ #$@(map (lambda (name)
+ (this-package-input name))
+ '("qtdeclarative"
+ "qtmultimedia"
+ "qtnetworkauth"
+ "qtpositioning"
+ "qtsvg"
+ "qttools"
+ "qtwebchannel"
+ "qtwebengine"
+ "qtwebsockets"))))))
+ (substitute* "cmake/Macros/PySideModules.cmake"
+ (("set\\(shiboken_include_dir_list " all)
+ (string-append all (string-join dirs ";") " ")))
+ (setenv "CXXFLAGS"
+ (string-join
+ (map (lambda (dir)
+ (string-append "-I" dir))
+ dirs)
+ " "))))))))
+ (synopsis
+ "The Qt for Python product enables the use of Qt6 APIs in Python applications")
+ (description
+ "The Qt for Python product enables the use of Qt6 APIs in Python
+applications. It lets Python developers utilize the full potential of Qt,
+using the PySide6 module. The PySide6 module provides access to the
+individual Qt modules such as QtCore, QtGui,and so on. Qt for Python also
+comes with the Shiboken6 CPython binding code generator, which can be used to
+generate Python bindings for your C or C++ code.")))
+
(define-public python-pyside-2-tools
(package
(name "python-pyside-2-tools")
@@ -3932,22 +4036,24 @@ generate Python bindings for your C or C++ code.")
(inputs
(list python-pyside-2 python-shiboken-2 qtbase-5))
(native-inputs
- `(("python" ,python-wrapper)))
+ (list python-wrapper))
(arguments
- `(#:tests? #f
- #:configure-flags
- (list "-DBUILD_TESTS=off"
- (string-append "-DPYTHON_EXECUTABLE="
- (assoc-ref %build-inputs "python")
- "/bin/python"))
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'go-to-source-dir
- (lambda _ (chdir "sources/pyside2-tools") #t)))))
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_TESTS=off"
+ (string-append "-DPYTHON_EXECUTABLE="
+ (search-input-file %build-inputs
+ "/bin/python")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'go-to-source-dir
+ (lambda _ (chdir "sources/pyside2-tools") #t)))))
(home-page "https://wiki.qt.io/Qt_for_Python")
(synopsis
- "Contains command line tools for PySide2")
+ "Command line tools for PySide2")
(description
- "Contains lupdate, rcc and uic tools for PySide2")
+ "Python-pyside-2-tools contains lupdate, rcc and uic tools for PySide2")
(license license:gpl2)))
(define-public libqglviewer
diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index 32ea866bff..10f93a1362 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -255,7 +255,7 @@
;; ^ This is downstream of https://github.com/racket/racket,
;; but it's designed to be a friendly landing place
(synopsis "Tiny Racket for build scripts")
- (description "Zuo (作) is a tiny Racket with primitives for dealing
+ (description "Zuo is a tiny Racket with primitives for dealing
with files and running processes. It comes with a @command{make}-like
embedded DSL, which is used to build Racket itself.
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 110cbe9fda..06860dc5b2 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -38,6 +38,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
@@ -145,6 +146,30 @@ chart.")
text.")
(license license:gpl2)))
+(define-public zsh-autopair
+ (package
+ (name "zsh-autopair")
+ (version "1.0")
+ (home-page "https://github.com/hlissner/zsh-autopair")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hlissner/zsh-autopair.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan '(("autopair.zsh"
+ "/share/zsh/plugins/zsh-autopair/zsh-autopair.zsh"))))
+ (synopsis "Auto-close and delete matching delimiters in Zsh")
+ (description
+ "This Zsh plugin auto-closes, deletes, and skips over matching delimiters
+in Zsh intelligently.")
+ (license license:expat)))
+
(define-public zsh-autosuggestions
(package
(name "zsh-autosuggestions")
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm
index c6b1b63173..7e8d444b7d 100644
--- a/gnu/packages/sqlite.scm
+++ b/gnu/packages/sqlite.scm
@@ -113,10 +113,10 @@ is in the public domain.")
(define-public sqlite-next
(package
(inherit sqlite)
- (version "3.39.1")
+ (version "3.39.3")
(source (origin
(method url-fetch)
(uri (sqlite-uri version 2022))
(sha256
(base32
- "1i0wjd1mig720q1gk9jkpw6h0mialbrlkfh8w8lans0czakygj47"))))))
+ "1f922kq16g7f4h3gpzim78lvrp5xw9nvlvqw97s2qgxyh8qgns3q"))))))
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 4cbc9d84b4..ab86ddee2f 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -180,7 +180,7 @@ multiple inheritance and public and private classes and variables.")
#t)))
#:test-target "test"))
- (home-page "http://expect.sourceforge.net/")
+ (home-page "https://core.tcl-lang.org/expect/")
(synopsis "Tool for automating interactive applications")
(description
"Expect is a tool for automating interactive applications such as
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 7bb6c4bd22..46ad251a64 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -11589,3 +11589,97 @@ within ‘words’ that contain non-alphabetic characters (e.g., that include
underscores), and hyphenation of text typeset in monospaced (e.g., cmtt)
fonts.")
(license license:lppl1.3c+)))
+
+(define-public texlive-latex-lastpage
+ (package
+ (inherit (simple-texlive-package
+ "texlive-latex-lastpage"
+ (list "doc/latex/lastpage/"
+ "tex/latex/lastpage/")
+ (base32 "0q6x743b8fkw9r82lrxy49f9xsg81bffynwvpnvpnp3h4mkafvdb")
+ #:trivial? #t))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/lastpage")
+ (synopsis "Reference last page for Page N of M type footers")
+ (description
+ "This package enables referencing the number of pages in a LaTeX document
+through the introduction of a new label which can be referenced like
+@code{\\pageref{LastPage}} to give a reference to the last page of a document.
+It is particularly useful in the page footer that says: Page N of M.")
+ (license license:lppl1.3c+)))
+
+(define-public texlive-latex-tabto-ltx
+ (package
+ (name "texlive-latex-tabto-ltx")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference (url (string-append
+ "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/latex/tabto-ltx"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1vq9s3n0mdgx2w84bjdsqxp3vcasfb824agjy56713902li1g8vm"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/tex/latex/tabto")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source")
+ target) #t))))
+ (home-page "https://ctan.org/pkg/tabto-ltx")
+ (synopsis "``Tab'' to a measured position in the line")
+ (description
+ "This package provides @code{\\tabto{<length>}}, which moves the
+typesetting position to @code{<length>} from the left margin of the paragraph.
+If the typesetting position is already further along, @code{\\tabto} starts a
+new line; the command @code{\\tabto*} will move position backwards if
+necessary, so that previous text may be overwritten. In addition, the command
+@code{\\TabPositions} may be used to define a set of tabbing positions, after
+which the command @code{\\tab} advances typesetting position to the next
+defined ``tab stop''.")
+ (license license:lppl1.3+)))
+
+(define-public texlive-generic-soul
+ (let ((template (simple-texlive-package
+ "texlive-generic-soul"
+ (list "/doc/generic/soul/"
+ "/tex/generic/soul/")
+ (base32
+ "11jdgvfpcv10y5j898495lf29k2m03x39v9jzb4v79w4cgxcmfps")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (home-page "http://www.ctan.org/pkg/soul")
+ (synopsis "Hyphenation for letterspacing, underlining, and more")
+ (description
+ "@code{soul} enables hyphenatable spacing out (letterspacing),
+underlining, striking out, etc., using the TeX hyphenation algorithm to find
+the proper hyphens automatically. The package also provides a mechanism that
+can be used to implement similar tasks, that have to treat text syllable by
+syllable. The package itself does not support UTF-8 input in ordinary
+(PDF)LaTeX; some UTF-8 support is offered by package @code{soulutf8}.")
+ (license license:lppl))))
+
+(define-public texlive-latex-totcount
+ (package
+ (inherit (simple-texlive-package
+ "texlive-latex-totcount"
+ (list "doc/latex/totcount/"
+ "tex/latex/totcount/")
+ (base32 "0z4mijyk3z7555q8da41aiji602plis5z261z4rr1fl8sndhnhn1")
+ #:trivial? #t))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/totcount")
+ (synopsis "Find the last value of a counter")
+ (description
+ "This package records the value that was last set, for any counter of
+interest. Since most such counters are simply incremented when they are
+changed, the recorded value will usually be the maximum value.")
+ (license license:lppl1.3c+)))
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index bb11732de2..616bc42e69 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -880,7 +880,7 @@ the message of the day, among other things."
(default #f))
(no-hints? agetty-no-hints? ;Boolean
(default #f))
- (no-hostname? agetty-no hostname? ;Boolean
+ (no-hostname? agetty-no-hostname? ;Boolean
(default #f))
(long-hostname? agetty-long-hostname? ;Boolean
(default #f))
diff --git a/gnu/tests/dict.scm b/gnu/tests/dict.scm
index 4d9702360c..f02bd5ac99 100644
--- a/gnu/tests/dict.scm
+++ b/gnu/tests/dict.scm
@@ -63,7 +63,8 @@
(define vm
(virtual-machine
(operating-system os)
- (port-forwardings '((8000 . 2628)))))
+ (port-forwardings '((8000 . 2628)))
+ (memory-size 1024)))
(define test
(with-imported-modules '((gnu build marionette))
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index eda487f52e..7842b0a9fc 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -549,50 +549,50 @@ the last argument of `mknod'."
(define MNT_EXPIRE 4)
(define UMOUNT_NOFOLLOW 8)
-(define-as-needed (mount source target type
- #:optional (flags 0) options
- #:key (update-mtab? #f))
- "Mount device SOURCE on TARGET as a file system TYPE.
-Optionally, FLAGS may be a bitwise-or of the MS_* <sys/mount.h>
-constants, and OPTIONS may be a string. When FLAGS contains
-MS_REMOUNT, SOURCE and TYPE are ignored. When UPDATE-MTAB? is true,
-update /etc/mtab. Raise a 'system-error' exception on error."
+(define-as-needed mount
;; XXX: '#:update-mtab?' is not implemented by core 'mount'.
(let ((proc (syscall->procedure int "mount" `(* * * ,unsigned-long *))))
- (let-values (((ret err)
- (proc (if source
- (string->pointer source)
- %null-pointer)
- (string->pointer target)
- (if type
- (string->pointer type)
- %null-pointer)
- flags
- (if options
- (string->pointer options)
- %null-pointer))))
- (unless (zero? ret)
- (throw 'system-error "mount" "mount ~S on ~S: ~A"
- (list source target (strerror err))
- (list err)))
- (when update-mtab?
- (augment-mtab source target type options)))))
-
-(define-as-needed (umount target
- #:optional (flags 0)
- #:key (update-mtab? #f))
- "Unmount TARGET. Optionally FLAGS may be one of the MNT_* or UMOUNT_*
-constants from <sys/mount.h>."
+ (lambda* (source target type
+ #:optional (flags 0) options
+ #:key (update-mtab? #f))
+ "Mount device SOURCE on TARGET as a file system TYPE.
+Optionally, FLAGS may be a bitwise-or of the MS_* <sys/mount.h> constants, and
+OPTIONS may be a string. When FLAGS contains MS_REMOUNT, SOURCE and TYPE are
+ignored. When UPDATE-MTAB? is true, update /etc/mtab. Raise a 'system-error'
+exception on error."
+ (let-values (((ret err)
+ (proc (if source
+ (string->pointer source)
+ %null-pointer)
+ (string->pointer target)
+ (if type
+ (string->pointer type)
+ %null-pointer)
+ flags
+ (if options
+ (string->pointer options)
+ %null-pointer))))
+ (unless (zero? ret)
+ (throw 'system-error "mount" "mount ~S on ~S: ~A"
+ (list source target (strerror err))
+ (list err)))
+ (when update-mtab?
+ (augment-mtab source target type options))))))
+
+(define-as-needed umount
;; XXX: '#:update-mtab?' is not implemented by core 'umount'.
- (let ((proc (syscall->procedure int "umount2" `(* ,int))))
- (let-values (((ret err)
- (proc (string->pointer target) flags)))
- (unless (zero? ret)
- (throw 'system-error "umount" "~S: ~A"
- (list target (strerror err))
- (list err)))
- (when update-mtab?
- (remove-from-mtab target)))))
+ (let ((proc (syscall->procedure int "umount2" `(* ,int)))) ;XXX
+ (lambda* (target #:optional (flags 0) #:key (update-mtab? #f))
+ "Unmount TARGET. Optionally FLAGS may be one of the MNT_* or UMOUNT_*
+constants from <sys/mount.h>."
+ (let-values (((ret err)
+ (proc (string->pointer target) flags)))
+ (unless (zero? ret)
+ (throw 'system-error "umount" "~S: ~A"
+ (list target (strerror err))
+ (list err)))
+ (when update-mtab?
+ (remove-from-mtab target))))))
;; Mount point information.
(define-record-type <mount>
@@ -732,25 +732,27 @@ current process."
(define-as-needed RB_SW_SUSPEND #xd000fce2)
(define-as-needed RB_KEXEC #x45584543)
-(define-as-needed (reboot #:optional (cmd RB_AUTOBOOT))
+(define-as-needed reboot
(let ((proc (syscall->procedure int "reboot" (list int))))
- (let-values (((ret err) (proc cmd)))
- (unless (zero? ret)
- (throw 'system-error "reboot" "~S: ~A"
- (list cmd (strerror err))
- (list err))))))
+ (lambda* (#:optional (cmd RB_AUTOBOOT))
+ (let-values (((ret err) (proc cmd)))
+ (unless (zero? ret)
+ (throw 'system-error "reboot" "~S: ~A"
+ (list cmd (strerror err))
+ (list err)))))))
-(define-as-needed (load-linux-module data #:optional (options ""))
+(define-as-needed load-linux-module
(let ((proc (syscall->procedure int "init_module"
(list '* unsigned-long '*))))
- (let-values (((ret err)
- (proc (bytevector->pointer data)
- (bytevector-length data)
- (string->pointer options))))
- (unless (zero? ret)
- (throw 'system-error "load-linux-module" "~A"
- (list (strerror err))
- (list err))))))
+ (lambda* (data #:optional (options ""))
+ (let-values (((ret err)
+ (proc (bytevector->pointer data)
+ (bytevector-length data)
+ (string->pointer options))))
+ (unless (zero? ret)
+ (throw 'system-error "load-linux-module" "~A"
+ (list (strerror err))
+ (list err)))))))
(define (kernel? pid)
"Return #t if PID designates a \"kernel thread\" rather than a normal
diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm
index 3915f19e84..49ad7169fd 100644
--- a/guix/import/gnome.scm
+++ b/guix/import/gnome.scm
@@ -62,14 +62,16 @@ not be determined."
(define (even-minor-version? version)
(match (string-tokenize version %not-dot)
- (((= string->number major) (= string->number minor) micro)
+ (((= string->number major) (= string->number minor) (= string->number micro))
;; This is for things like GLib, with version strings like "2.72.3".
- (and minor (even? minor)))
- (((= string->number major) . _)
+ (and minor (even? minor) micro))
+ (((= string->number major) (= string->number minor))
;; GNOME applications have version strings like "42.1" (only two
- ;; integers) and are not subject to the odd/even policy. MAJOR should
- ;; be a valid number though.
- major)))
+ ;; integers) and are not subject to the odd/even policy. MAJOR and
+ ;; MINOR should be valid numbers though; "43.alpha" is rejected.
+ (and major minor))
+ (_
+ #f)))
(define upstream-name
;; Some packages like "NetworkManager" have camel-case names.
diff --git a/guix/search-paths.scm b/guix/search-paths.scm
index 5a0cddac8f..4a8f5131ed 100644
--- a/guix/search-paths.scm
+++ b/guix/search-paths.scm
@@ -74,33 +74,32 @@
(variable "PATH")
(files '("bin" "sbin"))))
-(define-public $GUIX_EXTENSIONS_PATH
+(define $GUIX_EXTENSIONS_PATH
;; 'GUIX_EXTENSIONS_PATH' is used by Guix to locate extension commands.
- ;; Like 'PATH', it's not attached to any package, so that users don't have
- ;; to install the 'guix' package (which is not supposed to be installed,
- ;; as it will mess up the 'guix pull' installation) or set the variable
- ;; manually.
+ ;; Unlike 'PATH', it is attached to a package, Guix; however, it is
+ ;; convenient to define it by default because the 'guix' package is not
+ ;; supposed to be installed in a profile.
(search-path-specification
(variable "GUIX_EXTENSIONS_PATH")
(files '("share/guix/extensions"))))
-;; Two variables for certificates (see (guix)X.509 Certificates),
-;; respected by 'openssl', possibly GnuTLS in the future
+;; Two variables for certificates (info "(guix)X.509 Certificates"),
+;; respected by OpenSSL and possibly GnuTLS in the future
;; (https://gitlab.com/gnutls/gnutls/-/merge_requests/1541)
-;; and many of their dependents -- even some GnuTLS depepdents
+;; and many of their dependents -- even some GnuTLS dependents
;; like Guile. As they are not tied to a single package, define
;; them here to avoid duplication.
;;
;; Additionally, the 'native-search-paths' field is not thunked,
;; so doing (package-native-search-paths openssl)
;; could cause import cycle issues.
-(define-public $SSL_CERT_DIR
+(define $SSL_CERT_DIR
(search-path-specification
(variable "SSL_CERT_DIR")
(separator #f) ;single entry
(files '("etc/ssl/certs"))))
-(define-public $SSL_CERT_FILE
+(define $SSL_CERT_FILE
(search-path-specification
(variable "SSL_CERT_FILE")
(file-type 'regular)