summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/aspell.scm4
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/backup.scm103
-rw-r--r--gnu/packages/base.scm5
-rw-r--r--gnu/packages/bittorrent.scm17
-rw-r--r--gnu/packages/books.scm6
-rw-r--r--gnu/packages/bootloaders.scm67
-rw-r--r--gnu/packages/ci.scm8
-rw-r--r--gnu/packages/clifm.scm62
-rw-r--r--gnu/packages/commencement.scm18
-rw-r--r--gnu/packages/conky.scm6
-rw-r--r--gnu/packages/coq.scm27
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/datastructures.scm45
-rw-r--r--gnu/packages/dav.scm10
-rw-r--r--gnu/packages/diffoscope.scm4
-rw-r--r--gnu/packages/disk.scm59
-rw-r--r--gnu/packages/emacs-xyz.scm336
-rw-r--r--gnu/packages/embedded.scm4
-rw-r--r--gnu/packages/emulators.scm27
-rw-r--r--gnu/packages/fcitx5.scm37
-rw-r--r--gnu/packages/finance.scm4
-rw-r--r--gnu/packages/flashing-tools.scm7
-rw-r--r--gnu/packages/fonts.scm12
-rw-r--r--gnu/packages/gnome.scm11
-rw-r--r--gnu/packages/golang.scm186
-rw-r--r--gnu/packages/guile-xyz.scm29
-rw-r--r--gnu/packages/instrumentation.scm25
-rw-r--r--gnu/packages/language.scm4
-rw-r--r--gnu/packages/linux.scm32
-rw-r--r--gnu/packages/lisp-check.scm29
-rw-r--r--gnu/packages/llvm.scm8
-rw-r--r--gnu/packages/lua.scm33
-rw-r--r--gnu/packages/mail.scm106
-rw-r--r--gnu/packages/markup.scm15
-rw-r--r--gnu/packages/maths.scm236
-rw-r--r--gnu/packages/mpd.scm26
-rw-r--r--gnu/packages/networking.scm129
-rw-r--r--gnu/packages/package-management.scm12
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/aria2-unbundle-wslay.patch54
-rw-r--r--gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch50
-rw-r--r--gnu/packages/patches/scilab-hdf5-1.8-api.patch71
-rw-r--r--gnu/packages/patches/yggdrasil-extra-config.patch134
-rw-r--r--gnu/packages/potassco.scm22
-rw-r--r--gnu/packages/protobuf.scm8
-rw-r--r--gnu/packages/python-xyz.scm4
-rw-r--r--gnu/packages/samba.scm32
-rw-r--r--gnu/packages/terminals.scm64
-rw-r--r--gnu/packages/textutils.scm30
-rw-r--r--gnu/packages/toys.scm2
-rw-r--r--gnu/packages/video.scm26
-rw-r--r--gnu/packages/vim.scm153
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/web.scm6
-rw-r--r--gnu/packages/xdisorg.scm8
-rw-r--r--gnu/packages/xorg.scm2
-rw-r--r--gnu/packages/zig.scm215
-rw-r--r--gnu/services/docker.scm260
61 files changed, 2138 insertions, 775 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index d250816999..b2ac495933 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -177,6 +177,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/chromium.scm \
%D%/packages/ci.scm \
%D%/packages/cinnamon.scm \
+ %D%/packages/clifm.scm \
%D%/packages/clojure.scm \
%D%/packages/cluster.scm \
%D%/packages/cmake.scm \
@@ -919,6 +920,7 @@ dist_patch_DATA = \
%D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \
%D%/packages/patches/apr-fix-atomics.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
+ %D%/packages/patches/aria2-unbundle-wslay.patch \
%D%/packages/patches/ark-skip-xar-test.patch \
%D%/packages/patches/arpack-ng-propagate-rng-state.patch \
%D%/packages/patches/asli-use-system-libs.patch \
@@ -1342,6 +1344,7 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-cc-1.72.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/go-fix-script-tests.patch \
+ %D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \
%D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index c0fe75ddfd..c454c69164 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -736,14 +736,14 @@ a C program.")
(define-public fftw
(package
(name "fftw")
- (version "3.3.8")
+ (version "3.3.10")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
version".tar.gz"))
(sha256
(base32
- "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1"))))
+ "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 17ba794201..ffb13025f3 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -398,14 +398,14 @@ dictionaries, including personal ones.")
(define-public ispell
(package
(name "ispell")
- (version "3.4.05")
+ (version "3.4.06")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-"
version ".tar.gz"))
(sha256
- (base32 "00jni7gvdswjd9sdwip5ixnvjg2qzv56mn3m8gdgl9gxwgnns36g"))))
+ (base32 "19pbhg3pbnykkk9hla2kfhfanm7wcdja2qria365l1y8shridj8p"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7c49ba1841..e4fe4c2da7 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -6320,7 +6320,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
- (version "0.5.3")
+ (version "0.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6329,7 +6329,7 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
- "1i9p8gqm9swa2szr7i8rf3dhqxlaqjslb6yd5s9z1rs1jdb9lhp7"))))
+ "17jl347rwagdyx6pgnp83l1ffhlyfl0s4jf7ii2i1j3s1m9sz7y0"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ; no tests
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 12c4a45b9d..49b0fe2620 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -104,34 +104,32 @@
(define-public duplicity
(package
(name "duplicity")
- (version "0.8.21")
+ (version "2.1.4")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://code.launchpad.net/duplicity/"
- (version-major+minor version)
- "-series/" version "/+download/duplicity-"
- version ".tar.gz"))
- (sha256
- (base32 "0ld4bhsi6iv4bvy99pblbr7vlwy9jbgfd6flyvb8qwbl8rvadzjp"))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/duplicity/duplicity")
+ (commit (string-append "rel." version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14x5brpq1l400i9l2hnyqmbn19cc1hnbmj5fn8cs8zzwzbgrfxng"))))
(build-system python-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal) ; for msgfmt
- ("util-linux" ,util-linux) ; setsid command, for the tests
- ("par2cmdline" ,par2cmdline)
- ("python-fasteners" ,python-fasteners)
- ("python-future" ,python-future) ; for tests
- ("python-paramiko" ,python-paramiko)
- ("python-pexpect" ,python-pexpect)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("tzdata" ,tzdata-for-tests)
- ("mock" ,python-mock)))
+ (list gettext-minimal ; for msgfmt
+ util-linux ; setsid command, for the tests
+ par2cmdline
+ python-fasteners
+ python-future ; for tests
+ python-paramiko
+ python-pexpect
+ python-pytest
+ python-pytest-runner
+ python-setuptools-scm
+ tzdata-for-tests
+ python-mock))
(propagated-inputs
- `(("lockfile" ,python-lockfile)
- ("pygobject" ,python-pygobject)
- ("urllib3" ,python-urllib3)))
+ (list python-lockfile python-pygobject python-urllib3))
(inputs
(list dbus ; dbus-launch (Gio backend)
librsync
@@ -139,30 +137,41 @@
gnupg ; gpg executable needed
util-linux)) ; for setsid
(arguments
- `(#:test-target "test"
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'use-store-file-names
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "duplicity/gpginterface.py"
- (("self.call = u'gpg'")
- (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
- (substitute* "duplicity/backends/giobackend.py"
- (("subprocess.Popen\\(\\[u'dbus-launch'\\]")
- (string-append "subprocess.Popen([u'"
- (assoc-ref inputs "dbus")
- "/bin/dbus-launch']")))
- (substitute* '("testing/functional/__init__.py"
- "testing/overrides/bin/lftp")
- (("/bin/sh") (which "sh")))))
- (add-before 'check 'set-up-tests
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "HOME" (getcwd)) ; gpg needs to write to $HOME
- (setenv "TZDIR" ; some timestamp checks need TZDIR
- (search-input-directory inputs "share/zoneinfo"))
- ;; Some things respect TMPDIR, others hard-code /tmp, and the
- ;; defaults don't match up, breaking test_restart. Fix it.
- (setenv "TMPDIR" "/tmp"))))))
+ (list #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'use-store-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "duplicity/gpginterface.py"
+ (("self.call = u'gpg'")
+ (string-append "self.call = '"
+ (search-input-file inputs
+ "/bin/gpg")
+ "'")))
+ (substitute* "duplicity/backends/giobackend.py"
+ (("subprocess.Popen\\(\\[u'dbus-launch'\\]")
+ (string-append "subprocess.Popen([u'"
+ (search-input-file inputs
+ "/bin/dbus-launch") "']")))
+ (substitute* '("testing/functional/__init__.py"
+ "testing/overrides/bin/lftp")
+ (("/bin/sh")
+ (which "sh")))))
+ (add-before 'build 'fix-version
+ (lambda _
+ (substitute* "duplicity/__init__.py"
+ (("\\$version")
+ #$(package-version this-package)))))
+ (add-before 'check 'set-up-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME"
+ (getcwd)) ; gpg needs to write to $HOME
+ (setenv "TZDIR" ; some timestamp checks need TZDIR
+ (search-input-directory inputs
+ "share/zoneinfo"))
+ ;; Some things respect TMPDIR, others hard-code /tmp, and the
+ ;; defaults don't match up, breaking test_restart. Fix it.
+ (setenv "TMPDIR" "/tmp"))))))
(home-page "https://duplicity.gitlab.io/duplicity-web/")
(synopsis "Encrypted backup using rsync algorithm")
(description
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2d8e9143cd..41aff0ca97 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1512,6 +1512,11 @@ command.")
(delete 'build))))) ; nothing to build
(supported-systems %hurd-systems)))
+(define-public glibc-utf8-locales/hurd
+ ;; Locales for the libc version used on GNU/Hurd.
+ (hidden-package
+ (make-glibc-utf8-locales glibc/hurd)))
+
(define* (libc-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index abf8a609e9..6f75a92cff 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -78,6 +78,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public transmission
@@ -285,7 +286,7 @@ Transmission BitTorrent daemon.")
(define-public aria2
(package
(name "aria2")
- (version "1.36.0")
+ (version "1.37.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/aria2/aria2/releases/"
@@ -293,7 +294,12 @@ Transmission BitTorrent daemon.")
"/aria2-" version ".tar.xz"))
(sha256
(base32
- "1987x4ywnnrhhfs9hi2h820c200d7nas9nd35414yh0jiihfglaq"))))
+ "0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
+ (patches (search-patches "aria2-unbundle-wslay.patch"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "deps")
+ (delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
@@ -312,7 +318,11 @@ Transmission BitTorrent daemon.")
(("CPPUNIT_TEST_SUITE_REGISTRATION\\(LpdMessageReceiverTest\\);" text)
(string-append "// " text))))))))
(native-inputs
- (list cppunit ; for the tests
+ (list autoconf ; since we adjusted configure.ac
+ automake
+ gettext-minimal
+ libtool
+ cppunit ; for the tests
pkg-config))
(inputs
(list c-ares
@@ -322,6 +332,7 @@ Transmission BitTorrent daemon.")
libxml2
nettle
sqlite
+ wslay
zlib))
(home-page "https://aria2.github.io/")
(synopsis "Utility for parallel downloading files")
diff --git a/gnu/packages/books.scm b/gnu/packages/books.scm
index 97a7e3b45c..c3504bb4ff 100644
--- a/gnu/packages/books.scm
+++ b/gnu/packages/books.scm
@@ -42,7 +42,7 @@
(define-public book-sparc
(package
(name "book-sparc")
- (version "1.0.1")
+ (version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -50,12 +50,11 @@
(commit (string-append "v" version))))
(sha256
(base32
- "0dswwwkb3h88cl3mhiy79s8i7sa9lmw6fxaj782vxgif795lcpxs"))
+ "0k1miyrnh5362qy50jzp5j3ww0c8hr7wk3y5kg6xlqgk9f8msvag"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
- (delete-file "sparc.pdf")
(substitute* "version.tex.in"
(("@COMMIT@") ""))
(substitute* "Makefile"
@@ -86,6 +85,7 @@
texlive-collection-langcyrillic
texlive-fontspec
texlive-glossaries
+ texlive-glossaries-english
texlive-glossaries-extra
texlive-koma-script
texlive-lilyglyphs
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index fb20ba0efa..e708641623 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@@ -295,6 +295,71 @@ menu to select one of the installed operating systems.")
#t))))))))
+(define-public grub-coreboot
+ (package
+ (inherit grub)
+ (name "grub-coreboot")
+ (synopsis "GRand Unified Boot loader (Coreboot payload version)")
+ (arguments
+ `(,@(substitute-keyword-arguments (package-arguments grub)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'disable-broken-tests
+ (lambda _
+ (setenv "DISABLE_HARD_ERRORS" "1")
+ (setenv
+ "XFAIL_TESTS"
+ (string-join
+ ;; TODO: All the tests below use grub shell
+ ;; (tests/util/grub-shell.in), and here grub-shell uses
+ ;; QEMU and a Coreboot image to run the tests. Since we
+ ;; don't have a Coreboot package in Guix yet these tests
+ ;; are disabled. See the Guix bug #64667 for more details
+ ;; (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64667).
+ (list
+ "pata_test"
+ "ahci_test"
+ "uhci_test"
+ "ehci_test"
+ "example_grub_script_test"
+ "ohci_test"
+ "grub_script_eval"
+ "grub_script_echo1"
+ "grub_script_test"
+ "grub_script_leading_whitespace"
+ "grub_script_echo_keywords"
+ "grub_script_vars1"
+ "grub_script_for1"
+ "grub_script_while1"
+ "grub_script_if"
+ "grub_script_comments"
+ "grub_script_functions"
+ "grub_script_continue"
+ "grub_script_break"
+ "grub_script_shift"
+ "grub_script_blockarg"
+ "grub_script_return"
+ "grub_script_setparams"
+ "grub_cmd_date"
+ "grub_cmd_sleep"
+ "grub_cmd_regexp"
+ "grub_script_not"
+ "grub_cmd_echo"
+ "grub_script_expansion"
+ "grub_script_gettext"
+ "grub_script_escape_comma"
+ "help_test"
+ "grub_script_strcmp"
+ "test_sha512sum"
+ "grub_cmd_tr"
+ "test_unset"
+ "file_filter_test")
+ " "))))))
+ ((#:configure-flags flags
+ ''())
+ `(cons* "--with-platform=coreboot"
+ ,flags)))))))
+
(define-public grub-efi
(package
(inherit grub)
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 1fa5818b6d..a367a5778b 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -59,11 +59,11 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
- (let ((commit "eb3f539dc95de705c89b07258efe4663e76f7dab")
- (revision "0"))
+ (let ((commit "bdc1f9f304a3f5931ec507dcfe0b91b185b70708")
+ (revision "1"))
(package
(name "cuirass")
- (version "1.2.0")
+ (version (git-version "1.2.0" revision commit))
(source
(origin
(method git-fetch)
@@ -73,7 +73,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0rvzcsm0zwwv8rb5z0jdgc7adzzx0cin9n2hhclp5d0kqn582hny"))))
+ "031vv3rk7vzal611iq8sgq5yackp78kdpz8qn78j561pl9bip80n"))))
(build-system gnu-build-system)
(arguments
(list #:modules `((guix build utils)
diff --git a/gnu/packages/clifm.scm b/gnu/packages/clifm.scm
new file mode 100644
index 0000000000..92d14f1072
--- /dev/null
+++ b/gnu/packages/clifm.scm
@@ -0,0 +1,62 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Rodion Goritskov <rodion.goritskov@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages clifm)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+ #:use-module (guix utils)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages acl)
+ #:use-module (gnu packages linux))
+
+(define-public clifm
+ (package
+ (name "clifm")
+ (version "1.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leo-arch/clifm")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r9pxlyn8jg0wmzbmbc71l42098lz5k32k6yid09yz6d0gaax7g1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "CC="
+ ,(cc-for-target))
+ (string-append "PREFIX="
+ (assoc-ref %outputs "out")))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (delete 'check))))
+ (inputs (list readline acl libcap))
+ (home-page "https://github.com/leo-arch/clifm")
+ (synopsis "Command-line file manager")
+ (description "Clifm a shell-like, text-based terminal file manager that
+sits on the command line.
+
+It is built with command line principles in mind: instead of navigating
+through a big menu of files, it lets you type, exactly as you do in your
+regular shell, but easier and faster.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 80fdb5aed7..03fecd6d9b 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3365,6 +3365,16 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(("glibc" ,glibc-final)
("gzip" ,(with-boot4 gzip))))))
+(define-public glibc-utf8-locales-final/hurd
+ ;; Locales for the libc version used on GNU/Hurd.
+ (package
+ (inherit glibc-utf8-locales/hurd)
+ (properties `((hidden? . #t)
+ ,@(package-properties glibc-utf8-locales/hurd)))
+ (native-inputs
+ `(("glibc" ,glibc-final)
+ ("gzip" ,(with-boot4 gzip))))))
+
(define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils.
(make-ld-wrapper "ld-wrapper"
@@ -3383,7 +3393,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
;; with an older libc, which cannot load the new locale format. See
;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
- `(("locales" ,glibc-utf8-locales-final)
+ `(("locales" ,(if (target-hurd?)
+ glibc-utf8-locales-final/hurd
+ glibc-utf8-locales-final))
,@(%boot4-inputs)))
(define with-boot5
@@ -3484,7 +3496,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("gcc" ,gcc-final)
("libc" ,glibc-final)
("libc:static" ,glibc-final "static")
- ("locales" ,glibc-utf8-locales-final))))))
+ ("locales" ,(if (target-hurd? (%current-system))
+ glibc-utf8-locales-final/hurd
+ glibc-utf8-locales-final)))))))
(define-public canonical-package
(let ((name->package (mlambda (system)
diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm
index bd26cdd015..e29c6e1070 100644
--- a/gnu/packages/conky.scm
+++ b/gnu/packages/conky.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
+;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,7 +40,7 @@
(package
(name "conky")
(home-page "https://github.com/brndnmtthws/conky")
- (version "1.19.4")
+ (version "1.19.6")
(source
(origin
(method git-fetch)
@@ -49,7 +49,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "03zzssdg1qdv83p4c3dbjgr0g1n0spc0ndk9bds1rd2n82i6g6sy"))))
+ (base32 "02mdqsizc36v3zqhxnyv2mch9w0gqnl4a25yxishka9yv5ni5iig"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 09ca4030ea..f30f231f3b 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages texinfo)
#:use-module (guix build-system dune)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -285,6 +286,32 @@ multi-precision arithmetic. It also supports efficient numerical computations
inside Coq.")
(license license:lgpl3+)))
+;; Union of coq and coq-ide-server as vim-coqtail expects coqc and coqidetop
+;; to be in the same bin folder, when vim-coqtail is installed coqc and
+;; coqidetop will be in the "same" bin folder in the profile, so this is only
+;; required for testing the package.
+;;
+;; This is deeply ingrained in the internals of vim-coqtail so this is why
+;; it's necessary.
+(define-public coq-for-coqtail
+ (hidden-package
+ (package
+ (inherit coq)
+ (name "coq-for-coqtail")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build union))
+ #:builder
+ (begin
+ (use-modules (ice-9 match)
+ (guix build union))
+ (match %build-inputs
+ (((names . directories) ...)
+ (union-build (assoc-ref %outputs "out")
+ directories))))))
+ (inputs (list coq coq-ide-server)))))
+
(define-public coq-gappa
(package
(name "coq-gappa")
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 49e5b52e5f..5e35a03254 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1397,7 +1397,7 @@ standard GNU style syntax for options.")
(define-public folly
(package
(name "folly")
- (version "2022.10.31.00")
+ (version "2023.11.06.00")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1406,7 +1406,7 @@ standard GNU style syntax for options.")
(file-name (git-file-name name version))
(sha256
(base32
- "06r9xnj8ilghc0vv6r17k5apl3w19iwd76nr02svnv96c74bz2aa"))))
+ "0z0jhkma2qacc2kc27qsiwqwqkv07i9mwpc4vwcbawyzdajq6hd0"))))
(build-system cmake-build-system)
(arguments
'(;; Tests must be explicitly enabled
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 0689ef4259..c6b2396537 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -444,28 +445,26 @@ better with a poor hash function.")
(license license:expat)))
(define-public zix
- (let ((commit "a13ae5ad9dc70075740f11139f1db96cc79faa59")
- (revision "0"))
- (package
- (name "zix")
- (version (git-version "0.3.3" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/drobilla/zix.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1njyb8lz1d5qzf0k14pb3rq13xkxnddwbz090dj69138ymz1xgyl"))))
- (build-system meson-build-system)
- (arguments
- (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen"
- (native-inputs (list pkg-config))
- (home-page "https://gitlab.com/drobilla/zix")
- (synopsis "C library of portability wrappers and data structures")
- (description
- "Zix is a C library of portability wrappers and data structures. It
+ (package
+ (name "zix")
+ (version "0.4.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/drobilla/zix.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07pbq4bi64iv39swldfbcp7131b5n4hs64pgd417gqlwv8qvgjcw"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen"
+ (native-inputs (list pkg-config))
+ (home-page "https://gitlab.com/drobilla/zix")
+ (synopsis "C library of portability wrappers and data structures")
+ (description
+ "Zix is a C library of portability wrappers and data structures. It
provides the following components:
@table @code
@item ZixAllocator A customizable allocator.
@@ -480,4 +479,4 @@ provides the following components:
zix/filesystem.h Functions for working with filesystems.
@item zix/path.h Functions for working with filesystem paths lexically.
@end table")
- (license license:isc))))
+ (license license:isc)))
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index e0306b8a97..ae03442374 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -43,23 +43,17 @@
(define-public radicale
(package
(name "radicale")
- (version "3.1.7")
+ (version "3.1.8")
(source
(origin
- ;; There are no tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/Kozea/Radicale")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mv1w9qazbis9ir5shr1ybsfn4cxd3rmxa3ns6kbk23yramlzwhg"))))
+ (base32 "1qy2azn02bw772yhzgqvyf1pyl0ijj9ccvl1078w9icl261yljap"))))
(build-system python-build-system)
- (arguments
- (list
- ;; TODO: enable again when https://github.com/Kozea/Radicale/issues/1184
- ;; is fixed
- #:tests? #f))
(native-inputs
(list python-pytest
python-pytest-cov
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index 5ab54de0e9..1ac5aff719 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
- (version "251")
+ (version "252")
(source
(origin
(method git-fetch)
@@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1200kzwqyw2m298z8rfbiiziprz4s1n176z42xyziwc6mbx8m09z"))))
+ (base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r"))))
(build-system python-build-system)
(arguments
(list
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 9d2e170cc0..113455eee5 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,6 +62,7 @@
#:use-module (gnu packages file-systems)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -71,6 +73,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
@@ -102,6 +105,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
@@ -343,6 +347,61 @@ fdisk. fdisk is used for the creation and manipulation of disk partition
tables, and it understands a variety of different formats.")
(license license:gpl3+)))
+(define-public findimagedupes
+ (package
+ (name "findimagedupes")
+ (version "2.20.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jhnc/findimagedupes")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zfxmc6c1z4hzsq3k85xxida1v291frq4wbmxv9cg4jmw0ddk5ic"))))
+ (build-system perl-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ ;; There's no ‘make install’ target.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "findimagedupes"
+ (string-append #$output "/bin"))))
+ (add-after 'unpack 'use-image-magick
+ ;; TODO: package perl-graphics-magick and switch this out
+ (lambda _
+ (substitute* "findimagedupes"
+ (("Graphics::Magick")
+ "Image::Magick"))))
+ (add-after 'unpack 'set-inline-dir
+ (lambda _
+ (substitute* "findimagedupes"
+ (("/usr/local")
+ #$output))))
+ (add-after 'install 'inline-generation
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/findimagedupes"))
+ (invoke (string-append #$output "/bin/findimagedupes"))))
+ (add-after 'install 'wrap-findimagedupes
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-program (string-append #$output
+ "/bin/findimagedupes")
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB") ,(string-append #$output
+ "/lib/perl5/site_perl")))))))))
+ (inputs (list bash-minimal perl-db-file perl-file-mimeinfo
+ perl-image-magick perl-inline-c))
+ (home-page "https://github.com/jhnc/findimagedupes")
+ (synopsis "Find visually similar or duplicate images")
+ (description "findimagedupes compares a list of files for visual
+similarity.")
+ (license license:gpl3+)))
+
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 90fe9fceeb..996142dc3e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -135,6 +135,7 @@
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com>
+;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3294,6 +3295,29 @@ immediately activated. Also filtering can be applied so selection can be
incrementally confined in Isearch manner.")
(license license:gpl3+)))
+(define-public emacs-dnt
+ (let ((commit "d28d232d682094ab79cfa78c97668c6ebd327c8c")
+ (revision "1"))
+ (package
+ (name "emacs-dnt")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/dnt.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bls9j1ibw0npjapslbrh6nmlbn3d4ajhjygsqlf6h9qg12sxm3r"))))
+ (inputs (list emacs-s))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/dnt")
+ (synopsis "Strip trackers from URLs")
+ (description "This package provides a series of rules and helper functions
+to prevent advertisers from tracking you when you open URLs (or listen to
+podcasts) in Emacs.")
+ (license (list license:gpl3+)))))
;;;
@@ -5022,6 +5046,28 @@ written in the Go programming language.")
directly inside Emacs. It requires a Google Map Static API key to function.")
(license license:gpl3+))))
+(define-public emacs-geoclue
+ (let ((commit "f409b544be4d2cfd848f4658618374b0bc76cb3c")
+ (revision "1"))
+ (package
+ (name "emacs-geoclue")
+ (version (git-version "0.8.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/geoclue.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ggyn9rvc6si3xy1rrw2f2hyw6cys4bgb9v0ah0qq65y3dnziq6m"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/geoclue")
+ (synopsis "Determine your current location using GeoClue2 over D-Bus")
+ (description "This package provides an Emacs library which lets you
+determine your current location using GeoClue2 over D-Bus.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-nominatim
(let ((revision "0")
(commit "f814e16f8f4e2cfd633f52b29699a009ab704fbf"))
@@ -9771,6 +9817,52 @@ interacting with the sbt shell and Scala console, compiling code and
navigation to errors.")
(license license:gpl3+)))
+(define-public emacs-9lc-mode
+ (let ((commit "7871476488fc7b66e05714797a9a5b8275988662")
+ (revision "1"))
+ (package
+ (name "emacs-9lc-mode")
+ (version (git-version "0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/9lc-mode.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kmx0c413yvvaq33v7lf3gzdjpxkr5faa1wj2j0m25lyyz8dsdm7"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/geoclue")
+ (synopsis "Major mode for editing Fluke 9000 scripts")
+ (description
+ "This package provides a major mode for editing Fluke 9010a \"9LC\" files.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-tl1-mode
+ (let ((commit "48d12893cc81d7f92dc7b603d3751d8512ed0eb0")
+ (revision "1"))
+ (package
+ (name "emacs-tl1-mode")
+ (version (git-version "1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/tl1-mode.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mf0wqbn9h0353hkhcykzrm2dk1jvyijqs4hsvgj3kwp1whws7br"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/geoclue")
+ (synopsis "Major mode for editing Fluke 9100 TL/1 source code")
+ (description
+ "This package provides a major mode for editing Fluke TL/1 source code.
+TL/1 is a language used to control Fluke’s 9100 series of testing and
+troubleshooting mainframes.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-scheme-complete
;; Upstream does not provide tags. The commit below corresponds to the
;; exact version update. Version is extracted from main file.
@@ -17747,6 +17839,29 @@ in Org buffers and displays matching entries.")
information inside the Dired buffer.")
(license license:gpl3+))))
+(define-public emacs-diss
+ (let ((commit "8a99a1b34de4575087da49fe1e19bcf33ac49f46")
+ (revision "1"))
+ (package
+ (name "emacs-diss")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/diss.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06xvl85dkp3c2cw41f2gy7db2d7fy5pv5w1wr7vd7ccdlg3fq4gc"))))
+
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/diss")
+ (synopsis "Dired Image Slideshow")
+ (description "Diss is a full-featured image slideshow for Emacs, based
+on Dired and image-mode.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-dired-toggle-sudo
(let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
(revision "0"))
@@ -31182,6 +31297,29 @@ generating a temp buffer in which any useful Emacs utilities and modes can be
invoked.")
(license license:gpl3+))))
+(define-public emacs-exwm-mff
+ (let ((commit "89206f2e3189f589c27c56bd2b6203e906ee7100")
+ (revision "1"))
+ (package
+ (name "emacs-exwm-mff")
+ (version (git-version "1.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/exwm-mff.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ipmapyd4jmpnk34wk9kfbvqnl04x74yg2pmj298wqa61ylw1n9j"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/exwm-mff")
+ (synopsis "Mouse follows focus for EXWM")
+ (description "This package provides a minor mode to automatically warp
+the mouse pointer to the center of a focused window, as well as a command to
+warp it to the currently selected window.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-exwm-modeline
(package
(name "emacs-exwm-modeline")
@@ -31203,6 +31341,78 @@ invoked.")
workspaces.")
(license license:gpl3+)))
+(define-public emacs-exwm-firefox-core
+ (let ((commit "e2fe2a895e8f973307ef52f8c9976b26e701cbd0")
+ (revision "1"))
+ (package
+ (name "emacs-exwm-firefox-core")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/walseb/exwm-firefox-core.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0k5jkjzx6f8nfmbkc61raj585p9pymycgzv7rr3fhv2drgkaa4yi"))))
+ (inputs (list emacs-exwm))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/walseb/exwm-firefox-core")
+ (synopsis "Control Firefox with EXWM")
+ (description
+ "This package contains functions that execute exwm
+keypresses mapped in firefox to the action described in the function name.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-exwm-firefox
+ (let ((commit "7390c3bc425894aeda3c12c23f61a234bb71a2d9")
+ (revision "1"))
+ (package
+ (name "emacs-exwm-firefox")
+ (version (git-version "0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/exwm-firefox.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xmgij04h4cbcgqafyyf9qajf0wp6mxpfpwjm6gi1jgisrql882d"))))
+ (build-system emacs-build-system)
+ (inputs (list emacs-exwm-firefox-core emacs-s emacs-exwm))
+ (home-page "https://codeberg.org/emacs-weirdware/exwm-firefox")
+ (synopsis "Enhanced support for Firefox under EXWM")
+ (description
+ "This package adds enhanced support for Firefox (and forks
+based on Firefox) under EXWM. Keybindings intentionally mirror other Emacs
+navigation controls.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-exwm-ss
+ (let ((commit "b11d3df7a50c39b4e1b92ef8a6685cf80b53912c")
+ (revision "1"))
+ (package
+ (name "emacs-exwm-ss")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/exwm-ss.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "045b0cjycf7nf52ap89w5dz16l1qyh940qxwvdi76v6al78amrap"))))
+ (build-system emacs-build-system)
+ (inputs (list emacs-exwm))
+ (home-page "https://codeberg.org/emacs-weirdware/exwm-ss")
+ (synopsis "Automatically inhibit screensaver activation in EXWM")
+ (description "This package provides a global minor mode to inhibit
+screensaver activation in EXWM.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-ert-async
(package
(name "emacs-ert-async")
@@ -34680,6 +34890,52 @@ on removable volumes in Linux.")
(home-page "https://github.com/Akirak/helm-linux-disks")
(license license:gpl3+))))
+(define-public emacs-debase
+ (let ((commit "0b6fc2af3440d68798e3a85d4c889341aae07936")
+ (revision "1"))
+ (package
+ (name "emacs-debase")
+ (version (git-version "0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/debase.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "112vk1svnc6516vhs47sx5jw6bg8lwrc15l99dxj0sc313lxjy3k"))))
+ (build-system emacs-build-system)
+ (inputs (list))
+ (home-page "https://codeberg.org/emacs-weirdware/debase")
+ (synopsis "D-Bus convenience layer for Emacs")
+ (description
+ "Debase provides a higher-level API for using and implementing D-Bus
+services inside Emacs.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-discomfort
+ (let ((commit "873eea833bbae7196b92bb1102494b8bf5dc5df6")
+ (revision "1"))
+ (package
+ (name "emacs-discomfort")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/discomfort.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01p4bfiasqxfmp9x1bxdc7763bh712d3vlp2014y8pzrwb1jqdaq"))))
+ (build-system emacs-build-system)
+ (inputs (list emacs-debase))
+ (home-page "https://codeberg.org/emacs-weirdware/discomfort")
+ (synopsis "User interface to mount & unmount disks in Emacs.")
+ (description "Discomfort is an interface to mount and unmount disks in Emacs, using UDisks2.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-psession
(let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
(revision "1"))
@@ -36209,6 +36465,80 @@ easily. Four pre-set options are: @samp{shell}, @samp{terminal},
you use some other configuration.")
(license license:gpl3+))))
+(define-public emacs-shell-here
+ (let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
+ (revision "1"))
+ (package
+ (name "emacs-shell-here")
+ (version (git-version "1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/shell-here.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0x8lnybxj7k6wj941lgqmm57f3qqnmb0gc7573l1fxwfhf39fl20"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/shell-here")
+ (synopsis "Launch a shell relative to default-directory")
+ (description
+ "This package provides commands to open a shell buffer in (or relative
+to) the default-directory or – using projectile or find-file-in-project – a
+project root.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-hyperspace
+ (let ((commit "f574d07fd8715e806ba4f0487b73c699963baed3")
+ (revision "1"))
+ (package
+ (name "emacs-hyperspace")
+ (version (git-version "0.8.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/hyperspace.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19h3d12a99i7a92k3iw4zmjmw3dazsgnkc6j4965h033r1s40amx"))))
+ (build-system emacs-build-system)
+ (inputs (list emacs-s))
+ (home-page "https://codeberg.org/emacs-weirdware/hyperspace")
+ (synopsis "Get there from here")
+ (description
+ "Hyperspace is a way to get nearly anywhere from wherever
+you are, whether that's within Emacs or on the web. It's somewhere in between
+Quicksilver and keyword URLs, giving you a single, consistent interface to get
+directly where you want to go. It’s for things that you use often, but not
+often enough to justify a dedicated binding.")
+ (license (list license:gpl3+)))))
+
+(define-public emacs-nssh
+ (let ((commit "74d43738565749af680e4d1388e0c2f88e93498d")
+ (revision "1"))
+ (package
+ (name "emacs-nssh")
+ (version (git-version "0.9.12" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/emacs-weirdware/nssh.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i2nnrg7xv7b2bbby6idszs9byk2jd83q7vqj6lxgn80w94i56nn"))))
+ (build-system emacs-build-system)
+ (home-page "https://codeberg.org/emacs-weirdware/nssh")
+ (synopsis "SSH mode for Emacs")
+ (description "This package provides an SSH mode for Emacs, built on
+top of Tramp and shell mode. It keeps a history of previously connected
+hosts and supports auto-completion of known hosts.")
+ (license (list license:gpl3+)))))
+
(define-public emacs-tshell
;; XXX: Upstream has no tagged release. Version is extracted from keyword
;; in main file.
@@ -37335,10 +37665,10 @@ execute code split into cells according to certain magic comments.")
(define-public emacs-ein
;; XXX: Upstream doesn't make any release, and didn't set any version.
- (let ((commit "b2410dc96f61aa806a7934099d8f1e40c8f6ca18"))
+ (let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
(package
(name "emacs-ein")
- (version "20220911")
+ (version "20230826")
(source
(origin
(method git-fetch)
@@ -37349,7 +37679,7 @@ execute code split into cells according to certain magic comments.")
(file-name (git-file-name name version))
(sha256
(base32
- "02392bxl0msda58cls0i79mzqjs73x39czx0mlb0sg2vxp84gy15"))))
+ "09qbswzz6kbxc74dmdgagrk5wgbm89sabf0bfy76j4qlcg6550mx"))))
(build-system emacs-build-system)
(arguments
(list
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index af2cab1e67..313675814a 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1592,7 +1592,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
(define-public ucsim
(package
(name "ucsim")
- (version "0.8.0")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1601,7 +1601,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
"ucsim_" version "_orig.tar.gz"))
(sha256
(base32
- "0qyrrna2ssvwla15al183r9zqnqdxxlqawyhx9c86a10m8q8qqlz"))))
+ "1zdvzfhdsbydyyjy5rf2934bn06skdlnky6l9ngbp2k645g0ynlh"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 0729feb071..138b68bc21 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Hendursaga <hendursaga@aol.com>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -111,7 +112,8 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
- #:use-module (guix build-system python))
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system qt))
(define-public vice
(package
@@ -2492,6 +2494,29 @@ on a Commodore C64, C128 etc.")
;; zlib license with an (non-)advertising clause.
(license license:zlib)))
+(define-public qtrvsim
+ (package
+ (name "qtrvsim")
+ (version "0.9.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cvut/qtrvsim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zi39q8ajkzl8d47sacj0dk1a2n5jmfgr29x9iby59v792g7p8ac"))
+ (modules '((guix build utils)))
+ (snippet #~(begin (delete-file-recursively "external/libelf")))))
+ (build-system qt-build-system)
+ (inputs (list libelf qtbase-5))
+ (home-page "https://github.com/cvut/qtrvsim")
+ (synopsis "RISC-V CPU simulator for education purposes")
+ (description "RISC-V CPU simulator for education purposes with pipeline and
+cache visualization. Developed at FEE CTU for computer architecture classes.")
+ (license license:gpl3+)))
+
(define-public cc65
(package
(name "cc65")
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index dcf2695118..043eeffbc4 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -29,6 +29,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages anthy)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages enchant)
@@ -87,7 +88,7 @@ client.")
(define-public fcitx5
(package
(name "fcitx5")
- (version "5.1.0")
+ (version "5.1.5")
(source
(origin
(method url-fetch)
@@ -95,7 +96,7 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-"
version "_dict.tar.xz"))
(sha256
- (base32 "1a1d3bcxddv3hsmffgf608arhamia17bq82q932sy5zl9j8s423y"))))
+ (base32 "108a8561wh01vl5gqp2rnmnrh9qq3v8md3410dw46lx705a1wy4r"))))
(arguments
(list #:configure-flags #~(list "-DUSE_SYSTEMD=OFF")))
(build-system cmake-build-system)
@@ -138,7 +139,7 @@ client.")
(define-public fcitx5-lua
(package
(name "fcitx5-lua")
- (version "5.0.10")
+ (version "5.0.11")
(source
(origin
(method url-fetch)
@@ -146,7 +147,7 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-"
version ".tar.xz"))
(sha256
- (base32 "13vh6i7pap3h9jrjri3cfi7pcjwhlkw9g24ibfh0aykdhd8d7p99"))))
+ (base32 "1hc1vhaycfp9bjvch7qrvza5gdimr30rvwavbwqd27lrh36910yc"))))
(build-system cmake-build-system)
(arguments
(list
@@ -164,19 +165,19 @@ client.")
(define-public libime
(package
(name "libime")
- (version "1.1.0")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
version "_dict.tar.xz"))
(sha256
- (base32 "0jqr9riwygr3c9qzs8hx46smhgys68bf6m70fmam819903a9gpf0"))))
+ (base32 "0c1zn4bi71a84jh7x0fly3xqrsjm08ja3sglxrkfm9snk0x6ybhf"))))
(build-system cmake-build-system)
(inputs
- (list fcitx5 boost))
+ (list fcitx5 boost (list zstd "lib")))
(native-inputs
- (list extra-cmake-modules python)) ;needed to run test
+ (list extra-cmake-modules pkg-config))
(home-page "https://github.com/fcitx/libime")
(synopsis "Library for implementing generic input methods")
(description "Libime is a library for implementing various input method
@@ -304,7 +305,7 @@ IM module for GTK+3 applications.
(define-public fcitx5-qt
(package
(name "fcitx5-qt")
- (version "5.1.0")
+ (version "5.1.3")
(source
(origin
(method url-fetch)
@@ -312,7 +313,7 @@ IM module for GTK+3 applications.
"/fcitx5-qt/fcitx5-qt-"
version ".tar.xz"))
(sha256
- (base32 "02gnzwf0mlshmh1hw8c1866643qmdqazwjz339jq0c3ll61f8m7h"))))
+ (base32 "0wyzq91fcqhv655fjhzfjmlj0xr365sl5cjgck75xaj08gj3mw61"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -339,7 +340,7 @@ for Qt based application.")
(define-public fcitx5-anthy
(package
(name "fcitx5-anthy")
- (version "5.1.0")
+ (version "5.1.2")
(source
(origin
(method url-fetch)
@@ -347,7 +348,7 @@ for Qt based application.")
"/fcitx5-anthy/fcitx5-anthy-"
version ".tar.xz"))
(sha256
- (base32 "0hzk3v36ph6f2nnlqqyw08w3qakbcb71y572ff09cy5b20vb29dp"))))
+ (base32 "0a1x1b7y5n1a9clb9j9mryhx2fnd5l5rwb74f38c0s93rxx8fhpf"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; no tests
@@ -363,7 +364,7 @@ the Anthy input method.")
(define-public fcitx5-chinese-addons
(package
(name "fcitx5-chinese-addons")
- (version "5.1.0")
+ (version "5.1.2")
(source
(origin
(method url-fetch)
@@ -371,7 +372,7 @@ the Anthy input method.")
"/fcitx5-chinese-addons/fcitx5-chinese-addons-"
version "_dict.tar.xz"))
(sha256
- (base32 "1akf4qqvck7m93i0183ffb7jfsz0rq4f3bkf89vfxlqp4i7lfw5l"))))
+ (base32 "13na8qvz0vh43gmxa81jn96xpp6maz71ga039z6lqr069hzsx1vc"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -427,7 +428,7 @@ including input methods previous bundled inside Fcitx 4:
(define-public fcitx5-configtool
(package
(name "fcitx5-configtool")
- (version "5.1.0")
+ (version "5.1.2")
(source
(origin
(method url-fetch)
@@ -435,7 +436,7 @@ including input methods previous bundled inside Fcitx 4:
"https://download.fcitx-im.org/fcitx5"
"/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz"))
(sha256
- (base32 "0xv5kckm6bsbavw0s2iqg128fv7j8sh49lpwc0acqrdmwj49x1pz"))))
+ (base32 "1k6101wjl5j9qb174j75g5nbvz7hvh0cj01w6b9n65pqcv4hsf6c"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -537,7 +538,7 @@ for Fcitx 5 with following color variants:
(define-public fcitx5-rime
(package
(name "fcitx5-rime")
- (version "5.1.1")
+ (version "5.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5"
@@ -545,7 +546,7 @@ for Fcitx 5 with following color variants:
".tar.xz"))
(sha256
(base32
- "1h6vh5pkak8l528l2d2nw5gy6zqa2sy3ris3xzkakb8kmgyjd3da"))))
+ "0cs3zq69fpasch6sq9yar2qw8403rxr2g4hjxn7mmshi1h1j6nm8"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;no tests
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 4f3415232c..cd419f2102 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1957,13 +1957,13 @@ that allows you to run services and through them access the Bitcoin Cash network
(define-public beancount
(package
(name "beancount")
- (version "2.3.5")
+ (version "2.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beancount" version))
(sha256
- (base32 "0sn3x6c5vwvdfak1qm0y4vv284izrc4dly31mqyd9jz9l8jmdqql"))
+ (base32 "0nj7sdh7wxc0hv8wxwqhw9v1zgx1sn4w92368ci2wzdmssz967w0"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 23d21ca6a9..6165845261 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -580,7 +580,7 @@ formats, and can perform many different manipulations.")
(define-public uuu
(package
(name "uuu")
- (version "1.4.165")
+ (version "1.5.125")
(source
(origin
(method git-fetch)
@@ -590,7 +590,7 @@ formats, and can perform many different manipulations.")
(file-name (git-file-name name version))
(sha256
(base32
- "0k309lp27d4k6x4qq0badbk8i47xsc6f3fffz73650iyfs4hcniw"))))
+ "02nyax1z2qkcxs764lj5cpazv8n957hv9ipd9b5rqpgi9pgnvlvz"))))
(arguments
`(#:tests? #f ; no tests
#:modules ((guix build utils)
@@ -618,7 +618,8 @@ formats, and can perform many different manipulations.")
(native-inputs
(list pkg-config))
(inputs
- (list libusb bzip2 zlib libzip openssl))
+ (list libusb bzip2 zlib libzip openssl
+ `(,zstd "lib")))
(home-page "https://github.com/NXPmicro/mfgtools")
(synopsis "Freescale/NXP I.MX chip image deploy tools")
(description "@code{uuu} is a command line tool, evolved out of MFGTools.
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 22a42d227f..813367be8a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1952,7 +1952,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
- (version "0.42.1")
+ (version "0.42.6")
(source
(origin
(method url-fetch)
@@ -1960,7 +1960,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
- (base32 "0lrhipis21cafpsf8wsrdavlblfgzz424r23rj78ik8npbws1a3v"))))
+ (base32 "0czx10yph2lxg2k4w6qjnil73zb2pgg3g400apm9gay41m04990v"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -3159,7 +3159,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
- (version "1.310")
+ (version "1.311")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3167,7 +3167,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
- "10z8ilcpfxmll6j6ck4yj90x48vh3c7ck0lm61qjangpw9fcgfb1"))))
+ "0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@@ -3181,7 +3181,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
- (version "1.010")
+ (version "1.011")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3189,7 +3189,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
- "1yppqrfmynai1canlq0hksl3yaj8kflbnj41ljl4lxwaz6q9i1ly"))))
+ "0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv"))))
(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 ac3035e07d..0be935585d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -30,7 +30,7 @@
;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
-;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
+;;; Copyright © 2018, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
@@ -8635,7 +8635,10 @@ Cisco's AnyConnect SSL VPN.")
libsecret
network-manager
openfortivpn
- ppp))
+
+ ;; ppp < 2.5.0 is currently required:
+ ;; https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6
+ ppp-2.4.9))
(home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
(synopsis "Fortinet SSLVPN plug-in for NetworkManager")
(description
@@ -8669,7 +8672,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.")
(define-public network-manager-applet
(package
(name "network-manager-applet")
- (version "1.32.0")
+ (version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/network-manager-applet/"
@@ -8677,7 +8680,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.")
"network-manager-applet-" version ".tar.xz"))
(sha256
(base32
- "0f5sxxi9rywg8mhglcyk3sqmgv5wwl4vxzar56847b852pxazdd2"))))
+ "1a55mf4ww06lqacs6zndp29ayyby5f8rgg1lp341y5kb1x3qwdmb"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9c707e5414..ead9622d8c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2022 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3988,6 +3989,23 @@ the official package.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
+(define-public go-golang-org-x-net-0.17
+ (let ((commit "b225e7ca6dde1ef5a5ae5ce922861bda011cfabd")
+ (revision "0"))
+ (package
+ (inherit go-golang-org-x-net)
+ (name "go-golang-org-x-net")
+ (version (git-version "0.17.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/net")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17zhim2m0r8nyy18g2lsawxm4rawix2qbjyn80x9vc6jc8fv05m9")))))))
+
(define-public go-golang-org-x-net-html
(package
(inherit go-golang-org-x-net)
@@ -4091,6 +4109,24 @@ support for low-level interaction with the operating system.")
(home-page "https://go.googlesource.com/sys")
(license license:bsd-3))))
+;; XXX: This version is required for "go-github-com-quic-go-qtls-go1-20".
+(define-public go-golang-org-x-sys-0.8
+ (let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78")
+ (revision "0"))
+ (package
+ (inherit go-golang-org-x-sys)
+ (name "go-golang-org-x-sys")
+ (version (git-version "0.8.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/sys")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq")))))))
+
(define-public go-golang-org-x-text
(package
(name "go-golang-org-x-text")
@@ -5577,7 +5613,8 @@ values.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))))
+ (base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
+ (patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/yaml.v3"))
@@ -7691,35 +7728,110 @@ implementation of generics.")
(home-page "https://github.com/cheekybits/genny/")
(license license:expat)))
-(define-public go-github-com-lucas-clemente-quic-go
+(define-public go-github-com-quic-go-qtls-go1-20
+ (package
+ (name "go-github-com-quic-go-qtls-go1-20")
+ (version "0.3.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quic-go/qtls-go1-20")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fl3yv1w8cygag3lav45vvzb4k9i72p92x13wcq0xn13wxirzirn"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/quic-go/qtls-go1-20"
+ #:go go-1.20))
+ (propagated-inputs (list go-golang-org-x-crypto
+ go-golang-org-x-sys-0.8))
+ (synopsis "TLS 1.3 for QUIC")
+ (description
+ "Go standard library TLS 1.3 implementation, modified for QUIC. For
+Go 1.20.")
+ (home-page "https://github.com/quic-go/qtls-go1-20")
+ (license license:expat)))
+
+(define-public go-github-com-quic-go-qpack
(package
- (name "go-github-com-lucas-clemente-quic-go")
- (version "0.14.4")
+ (name "go-github-com-quic-go-qpack")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/quic-go/qpack")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/quic-go/qpack"
+ ;; Tests require ginkgo v2.
+ #:tests? #f
+ #:go go-1.20))
+ (propagated-inputs (list go-github-com-onsi-gomega
+ go-github-com-onsi-ginkgo
+ go-golang-org-x-net))
+ (synopsis "Minimal QPACK (RFC 9204) implementation for Go")
+ (description
+ "A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense
+that it doesn't use the dynamic table at all, but just the static table and (Huffman
+encoded) string literals. Wherever possible, it reuses code from the
+@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in
+the Go standard library}.")
+ (home-page "https://github.com/quic-go/qpack")
+ (license license:expat)))
+
+(define-public go-github-com-quic-go-quic-go
+ (package
+ (name "go-github-com-quic-go-quic-go")
+ (version "0.39.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/lucas-clemente/quic-go")
+ (url "https://github.com/quic-go/quic-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz"))))
+ "0acabl3cz48nxpggc5s7fwxpmr5amyi09jygn5m5xxkkbhqs2cxq"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/lucas-clemente/quic-go"
- ;; XXX More packages required...
- #:tests? #f))
+ (list #:import-path "github.com/quic-go/quic-go"
+ ;; XXX More packages required...
+ #:tests? #f
+ #:go go-1.20))
(propagated-inputs
- (list go-golang-org-x-crypto go-github-com-cheekybits-genny
- go-github-com-marten-seemann-chacha20
- go-github-com-marten-seemann-qtls
- go-github-com-golang-protobuf-proto))
+ (let ((p (package-input-rewriting
+ `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8))
+ #:deep? #true)))
+ (cons go-golang-org-x-sys-0.8
+ (map p
+ (list go-github-com-quic-go-qtls-go1-20
+ go-github-com-quic-go-qpack
+ go-golang-org-x-crypto
+ go-github-com-cheekybits-genny
+ go-github-com-marten-seemann-chacha20
+ go-github-com-golang-protobuf-proto
+ go-golang-org-x-crypto
+ go-golang-org-x-exp
+ go-golang-org-x-net
+ go-golang-org-x-sync)))))
(synopsis "QUIC in Go")
(description "This package provides a Go language implementation of the QUIC
network protocol.")
- (home-page "https://github.com/lucas-clemente/quic-go")
+ (home-page "https://github.com/quic-go/quic-go")
(license license:expat)))
+(define-public go-github-com-lucas-clemente-quic-go
+ (deprecated-package "go-github-com-lucas-clemente-quic-go" go-github-com-quic-go-quic-go))
+
(define-public go-github-com-lunixbochs-vtclean
(package
(name "go-github-com-lunixbochs-vtclean")
@@ -8635,45 +8747,48 @@ directories. It is optimized for filewalking.")
@code{database/sql}.")
(license license:expat)))
-(define-public go-github-com-willf-bitset
+(define-public go-github-com-bits-and-blooms-bitset
(package
- (name "go-github-com-willf-bitset")
- (version "1.1.10")
+ (name "go-github-com-bits-and-blooms-bitset")
+ (version "1.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/willf/bitset")
- (commit (string-append "v" version))))
+ (url "https://github.com/bits-and-blooms/bitset")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg"))))
+ "1ialciixmr98p10rh61rnnkxpqi1j9hycbkv9rnjl0vnmsnpy0cy"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/willf/bitset"))
+ '(#:import-path "github.com/bits-and-blooms/bitset"))
(synopsis "Bitsets in Go")
(description "This package provides a Go implementation of bitsets, which
are a mapping between non-negative integers and boolean values focused on
efficient space usage.")
- (home-page "https://github.com/willf/bitset")
+ (home-page "https://github.com/bits-and-blooms/bitset")
(license license:bsd-3)))
-(define-public go-github-com-willf-bloom
+(define-public go-github-com-willf-bitset
+ (deprecated-package "go-github-com-willf-bitset" go-github-com-bits-and-blooms-bitset))
+
+(define-public go-github-com-bits-and-blooms-bloom
(package
- (name "go-github-com-willf-bloom")
- (version "2.0.3")
+ (name "go-github-com-bits-and-blooms-bloom")
+ (version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/willf/bloom")
- (commit (string-append "v" version))))
+ (url "https://github.com/bits-and-blooms/bloom")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
+ "02rpjlgl7k3755qnlsk519xazgqlk73b8wvkpqlvccywms5w77bq"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/willf/bloom"
+ '(#:import-path "github.com/bits-and-blooms/bloom"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-import-path
@@ -8681,17 +8796,20 @@ efficient space usage.")
;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for
;; more information.
;; <https://github.com/spaolacci/murmur3/issues/29>
- (substitute* "src/github.com/willf/bloom/bloom.go"
+ (substitute* "src/github.com/bits-and-blooms/bloom/bloom.go"
(("spaolacci") "twmb"))
#t)))))
(propagated-inputs
- (list go-github-com-twmb-murmur3 go-github-com-willf-bitset))
+ (list go-github-com-twmb-murmur3 go-github-com-bits-and-blooms-bitset))
(synopsis "Bloom filters in Go")
(description "This package provides a Go implementation of bloom filters,
based on murmurhash.")
- (home-page "https://github.com/willf/bloom")
+ (home-page "https://github.com/bits-and-blooms/bitset")
(license license:bsd-2)))
+(define-public go-github-com-willf-bloom
+ (deprecated-package "go-github-com-willf-bloom" go-github-com-bits-and-blooms-bloom))
+
(define-public go-golang-org-rainycape-unidecode
(let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
(revision "1"))
@@ -11959,7 +12077,7 @@ dependencies and a simple API.")
(define-public go-github-com-arceliar-ironwood
(package
(name "go-github-com-arceliar-ironwood")
- (version "0.0.0-20221115123222-ec61cea2f439")
+ (version "v0.0.0-20231028101932-ceac99571f43")
(source
(origin
(method git-fetch)
@@ -11969,7 +12087,7 @@ dependencies and a simple API.")
(file-name (git-file-name name version))
(sha256
(base32
- "0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
+ "1shxpmi847jf7rfa5mb0m4nflwmlg65hjgjm9v7ynjvcp0licsi4"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Arceliar/ironwood"
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index af032db680..557589d2bb 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1373,6 +1373,31 @@ non-mutating insert, delete, and search operations, with support for
convenient nested tree operations.")
(license license:gpl3+)))
+(define-public guile-algorithms
+ (package
+ (name "guile-algorithms")
+ (version "0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git@git.sr.ht/~filiplajszczak/guile-algorithms")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1a4ffnnhw92gqphjji5ajy3xfaqzww7xv3h8p82gkawx0rqvj5ni"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake pkg-config texinfo))
+ (inputs (list guile-3.0))
+ (synopsis "Guile port of racket-algorithms")
+ (description
+ "Guile port of @url{https://docs.racket-lang.org/algorithms/index.html,
+racket-algorithms}, a package containing useful algorithms borrowed from other
+programming languages).")
+ (home-page "https://guile-algorithms.lajszczak.dev/")
+ (license license:gpl3+)))
+
(define-public guile-aws
(let ((commit "f32bea12333e1054b97ab50e58a72636edabb5b7")
(revision "1"))
@@ -4593,7 +4618,7 @@ according to Bitorrent BEP003.")
(define-public guile-ts
(package
(name "guile-ts")
- (version "0.1.0")
+ (version "0.2.0")
(source (origin (method git-fetch)
(uri (git-reference
(url
@@ -4602,7 +4627,7 @@ according to Bitorrent BEP003.")
(file-name (git-file-name name version))
(sha256
(base32
- "0xmq2d3mv921m0g1hqw6bjzh4m622g2c7pal11ks7vjn0m8d4bxj"))))
+ "1iqbr9rcpmq2f1zxxvl36ajwm81rkp38rrp42ixr4q59154r5513"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list "GUILE_AUTO_COMPILE=0")
diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 7fa7b2f7ba..8b1a2a1c02 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -85,7 +85,9 @@
`(#:tests? #f ; FIXME - When Python's bindings are enabled, tests do not
; pass.
#:make-flags
- ,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
+ ,#~(list
+ (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
+ "DISTSETUPOPTS=--single-version-externally-managed") ;no .egg files
#:configure-flags
'("--enable-debug-info"
"--enable-man-pages"
@@ -95,11 +97,9 @@
(modify-phases %standard-phases
;; These are recommended in the project's README for a development
;; build configuration.
- (add-before 'configure 'set-environment-variables
+ (add-after 'unpack 'reconfigure
(lambda _
- (setenv "BABELTRACE_DEV_MODE" "1")
- (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE")
- (invoke "autoreconf" "-vfi"))))))
+ (delete-file "configure"))))))
(inputs
(list glib))
;; NOTE - elfutils is used for the LTTng debug information filter
@@ -141,6 +141,21 @@ LTTng and barectf. This package provides a library with a C API, Python 3
bindings, and the command-line tool @command{babeltrace2}.")
(license license:expat)))
+(define-public babeltrace/dev
+ (package/inherit babeltrace
+ ;; This dev variant of the package babeltrace is slower but allows better
+ ;; development of plugins as recommended by the authors.
+ (name "babeltrace-dev")
+ (synopsis "Trace manipulation toolkit (variant for plugin developers)")
+ (arguments
+ (substitute-keyword-arguments (package-arguments babeltrace)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'set-environment-variables
+ (lambda _
+ (setenv "BABELTRACE_DEV_MODE" "1")
+ (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE")))))))))
+
(define-public barectf
(package
(name "barectf")
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index faf3114b84..db78425ec9 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -854,7 +854,7 @@ noun phrases, verb phrases, etc.).")
(define-public praat
(package
(name "praat")
- (version "6.3.10")
+ (version "6.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -863,7 +863,7 @@ noun phrases, verb phrases, etc.).")
(file-name (git-file-name name version))
(sha256
(base32
- "0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
+ "1rabv4175r1kbgb6n5xbir4j9ldpfr3wr6xa8jakzgny3dwlmsbg"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC="
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2024163a08..2c2164d83c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -493,7 +493,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.6-version "6.6.1")
+(define-public linux-libre-6.6-version "6.6.2")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -503,12 +503,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
- (hash (base32 "0d42b1hbvv9w3y3q4wydr6il0g5a823n54a06p4p5vcpgkadf7ns")))
+ (hash (base32 "0zmpk5ls6282j88xpnymkr8z5hxpk2495hjjxm0jmb6ninnzdm3k")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
-(define-public linux-libre-6.5-version "6.5.11")
+(define-public linux-libre-6.5-version "6.5.12")
(define-public linux-libre-6.5-gnu-revision "gnu")
(define deblob-scripts-6.5
(linux-libre-deblob-scripts
@@ -518,7 +518,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh")))
(define-public linux-libre-6.5-pristine-source
(let ((version linux-libre-6.5-version)
- (hash (base32 "06dmb4hbwrms0lp4axphwgj8wbnzsym70sx55lxr501b53wlmqif")))
+ (hash (base32 "17rmkzxszp2jg1zx2mmdcy30ffrsd0qms513sxd14klp5k9w2saa")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.5)))
@@ -526,7 +526,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-6.1-version "6.1.62")
+(define-public linux-libre-6.1-version "6.1.63")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -536,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
- (hash (base32 "1v453q4sf0j8708ivs1zmdf645hgimqvxfc8xz7czgnnmipn3zdr")))
+ (hash (base32 "13bmy22mi4ybl21kr3hdy6qiaawiqz2jgl2gl9hwqkyx04xh97f2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
-(define-public linux-libre-5.15-version "5.15.138")
+(define-public linux-libre-5.15-version "5.15.139")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -551,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "1ajaxy97gx0c9cdxiyxa49ykfsykir22i9abfrcizh71ci0yb15g")))
+ (hash (base32 "0kh4v1224a7p7ib64pnmc1qid3d1lvg3c14l5s4rpr8qzq6w2s4w")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.200")
+(define-public linux-libre-5.10-version "5.10.201")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -566,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "012i41bj8rcqn0vhfxrwq3gg82nb6pp2cwq8n146wj47pwgrcbcx")))
+ (hash (base32 "0642y6qj2d4aww6jcki81ba53pvjyfazjxgzgj8brqx8ixchdz3a")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.260")
+(define-public linux-libre-5.4-version "5.4.261")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1zpbaipd2j3idj8h9iznlj0ywcq5nkhwj707a1f9ixf82h3q4c4q")))
+ (hash (base32 "1hsgnv2vcziflhzrrxiny2yp88ybdqda48fm60xhpaphhs0cgfii")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.298")
+(define-public linux-libre-4.19-version "4.19.299")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@@ -596,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0mhgq6hdcls1af7nj999x1mds5b37s7vwin8nsb4q0lnx2y1da4x")))
+ (hash (base32 "12p431p2jqjfsf0all3fgn47z9fr2cdqyxipfrf4s4mlw4hpbyy6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.329")
+(define-public linux-libre-4.14-version "4.14.330")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@@ -611,7 +611,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1dvb4xf0b7snabznl7bg7gga7ffdmywy8vr8q65pzl9yf6fnhdny")))
+ (hash (base32 "0rwgzyfmrns6zir0dpxkwz2hm3z8c0af3wy11lmxamaa5i2wq3k7")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm
index 63a16d608c..5f5e39c193 100644
--- a/gnu/packages/lisp-check.scm
+++ b/gnu/packages/lisp-check.scm
@@ -1149,3 +1149,32 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
(define-public ecl-xlunit
(sbcl-package->ecl-package sbcl-xlunit))
+
+(define-public sbcl-lisp-critic
+ (let ((commit "ea19f82a168a6119ac1b10d0f457c01a7119602f")
+ (revision "1"))
+ (package
+ (name "sbcl-lisp-critic")
+ (version (git-version "1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/g000001/lisp-critic")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15zg05pqfs2dhc5j7gfkwjmxawaizjpyb0p7386mpl4w93l9h84l"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp linter")
+ (description "The Lisp Critic scans your code for instances of bad
+ Lisp programming practice.")
+ (home-page
+ "https://courses.cs.northwestern.edu/325/exercises/critic.html#critic")
+ (license license:expat))))
+
+(define-public cl-lisp-critic
+ (sbcl-package->cl-source-package sbcl-lisp-critic))
+
+(define-public ecl-lisp-critic
+ (sbcl-package->ecl-package sbcl-lisp-critic))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 82a4088829..6bd52969e6 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -601,13 +601,13 @@ output), and Binutils.")
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2")
("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky")
- ("17.0.3" . "1fhrnsv87if7kbqmrsxy2r7ykx3gnr9lmbmvkhvycc91ii4ihybx")))
+ ("17.0.5" . "149flpr96vcn7a1ckya6mm93m9yp85l47w156fjd0r99ydxrw5kv")))
(define %llvm-patches
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
("15.0.7" . ("clang-15.0-libc-search-path.patch"))
("16.0.6" . ("clang-16.0-libc-search-path.patch"))
- ("17.0.3" . ("clang-17.0-libc-search-path.patch"))))
+ ("17.0.5" . ("clang-17.0-libc-search-path.patch"))))
(define (llvm-monorepo version)
(origin
@@ -1500,7 +1500,7 @@ Library.")
(define-public llvm-17
(package
(inherit llvm-15)
- (version "17.0.3")
+ (version "17.0.5")
(source (llvm-monorepo version))))
(define-public clang-runtime-17
@@ -1516,7 +1516,7 @@ Library.")
(package-version llvm-17)))
(sha256
(base32
- "0an16xdc8rgrdf0dcq3sdg82ajyb00h4bff9n0gm7gqf48ds0da8")))))
+ "12dbp10bhq25a44qnvz978mf9y6pdycwpp7sgq8a93by0fpgb72r")))))
(define-public libomp-17
(package
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 65cab6511c..1cde6bd66c 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -1269,6 +1269,39 @@ simplicity, and reach of Lua with the flexibility of a Lisp syntax and macro
system.")
(license license:expat)))
+(define-public antifennel
+ (package
+ (version "0.2.0")
+ (name "antifennel")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~technomancy/antifennel")
+ (commit version)))
+ (sha256
+ (base32 "1hd9h17q31b3gg88c657zq4han4air2ag55rrakbmcpy6n8acsqc"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (inputs (list luajit))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ ;; Tests pass after the fix introduced by the commit
+ ;; ecd2169fcad1fa6616fdf6e6a8569f5b866601e5
+ (delete 'check)
+ (replace 'install
+ (lambda _
+ (install-file "antifennel"
+ (string-append #$output "/bin")))))))
+ (home-page "https://git.sr.ht/~technomancy/antifennel")
+ (synopsis "Turn Lua code into Fennel code")
+ (description
+ "This package provides a way to turn Lua code into Fennel code.
+This compiler does the opposite of what the Fennel compiler does.")
+ (license license:expat)))
+
(define-public fnlfmt
(package
(name "fnlfmt")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 256bd4b03a..b49b045197 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1206,14 +1206,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
- (version "1.10.7")
+ (version "1.10.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/download/v"
version "/mu-" version ".tar.xz"))
(sha256
- (base32 "089w1m6sd0nk9l9j40d357fjym8kxmz7kwh3bclk58jxa6xckapa"))))
+ (base32 "129m6rz8vbd7370c3h3ma66bxqdkm6wsdix5qkmv1vm7sanxh4bb"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config
@@ -1221,7 +1221,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
gnupg ; for tests
texinfo))
(inputs
- (list glib gmime xapian))
+ (list glib gmime guile-3.0 xapian))
(arguments
(list
#:modules '((guix build meson-build-system)
@@ -1229,6 +1229,8 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(guix build utils))
#:imported-modules `(,@%meson-build-system-modules
(guix build emacs-utils))
+ #:configure-flags
+ #~(list (format #f "-Dguile-extension-dir=~a/lib" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-bin-references
@@ -1241,6 +1243,11 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(substitute* '("lib/tests/bench-indexer.cc"
"lib/utils/mu-test-utils.cc")
(("/bin/rm") (which "rm")))))
+ (add-after 'install 'fix-ffi
+ (lambda _
+ (substitute* (find-files #$output "mu.scm")
+ (("\"libguile-mu\"")
+ (format #f "\"~a/lib/libguile-mu\"" #$output)))))
(add-after 'install 'install-emacs-autoloads
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
@@ -4908,11 +4915,12 @@ remote SMTP server.")
(string-append
"\"" (search-input-file inputs "bin/sh")
"\"")))
- (substitute* "commands/z.go"
- (("\"zoxide\"")
- (string-append
- "\"" (search-input-file inputs "bin/zoxide")
- "\"")))
+ (when (assoc-ref inputs "zoxide")
+ (substitute* "commands/z.go"
+ (("\"zoxide\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/zoxide")
+ "\""))))
(substitute* (list "lib/crypto/gpg/gpg.go"
"lib/crypto/gpg/gpg_test.go"
"lib/crypto/gpg/gpgbin/keys.go"
@@ -4932,45 +4940,49 @@ remote SMTP server.")
(invoke "make" "CC=gcc" "install" "-C"
(string-append "src/" import-path)
(string-append "PREFIX=" #$output)))))))
- (inputs (list gnupg
- go-github-com-zenhack-go-notmuch
- go-golang-org-x-oauth2
- go-github-com-xo-terminfo
- go-github-com-stretchr-testify
- go-github-com-riywo-loginshell
- go-github-com-pkg-errors
- go-github-com-mitchellh-go-homedir
- go-github-com-miolini-datacounter
- go-github-com-mattn-go-runewidth
- go-github-com-mattn-go-isatty
- go-github-com-lithammer-fuzzysearch
- go-github-com-kyoh86-xdg
- go-github-com-imdario-mergo
- go-github-com-google-shlex
- go-github-com-go-ini-ini
- go-github-com-gdamore-tcell-v2
- go-github-com-gatherstars-com-jwz
- go-github-com-fsnotify-fsnotify
- go-github-com-emersion-go-smtp
- go-github-com-emersion-go-sasl
- go-github-com-emersion-go-pgpmail
- go-github-com-emersion-go-message
- go-github-com-emersion-go-maildir
- go-github-com-emersion-go-imap-sortthread
- go-github-com-emersion-go-imap
- go-github-com-emersion-go-msgauth
- go-github-com-emersion-go-mbox
- go-github-com-ddevault-go-libvterm
- go-github-com-danwakefield-fnmatch
- go-github-com-creack-pty
- go-github-com-arran4-golang-ical
- go-github-com-protonmail-go-crypto
- go-github-com-syndtr-goleveldb-leveldb
- go-git-sr-ht-sircmpwn-getopt
- go-git-sr-ht-rockorager-tcell-term
- python
- python-vobject
- zoxide))
+ (inputs
+ (append
+ (list gnupg
+ go-github-com-zenhack-go-notmuch
+ go-golang-org-x-oauth2
+ go-github-com-xo-terminfo
+ go-github-com-stretchr-testify
+ go-github-com-riywo-loginshell
+ go-github-com-pkg-errors
+ go-github-com-mitchellh-go-homedir
+ go-github-com-miolini-datacounter
+ go-github-com-mattn-go-runewidth
+ go-github-com-mattn-go-isatty
+ go-github-com-lithammer-fuzzysearch
+ go-github-com-kyoh86-xdg
+ go-github-com-imdario-mergo
+ go-github-com-google-shlex
+ go-github-com-go-ini-ini
+ go-github-com-gdamore-tcell-v2
+ go-github-com-gatherstars-com-jwz
+ go-github-com-fsnotify-fsnotify
+ go-github-com-emersion-go-smtp
+ go-github-com-emersion-go-sasl
+ go-github-com-emersion-go-pgpmail
+ go-github-com-emersion-go-message
+ go-github-com-emersion-go-maildir
+ go-github-com-emersion-go-imap-sortthread
+ go-github-com-emersion-go-imap
+ go-github-com-emersion-go-msgauth
+ go-github-com-emersion-go-mbox
+ go-github-com-ddevault-go-libvterm
+ go-github-com-danwakefield-fnmatch
+ go-github-com-creack-pty
+ go-github-com-arran4-golang-ical
+ go-github-com-protonmail-go-crypto
+ go-github-com-syndtr-goleveldb-leveldb
+ go-git-sr-ht-sircmpwn-getopt
+ go-git-sr-ht-rockorager-tcell-term
+ python
+ python-vobject)
+ (if (supported-package? zoxide)
+ (list zoxide)
+ '())))
(native-inputs (list scdoc))
(home-page "https://git.sr.ht/~rjarry/aerc")
(synopsis "Email client for the terminal")
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index 595b08fa20..4a9a382104 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -428,13 +429,13 @@ additions.")))
(base32 "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CC=gcc"
- (string-append "PREFIX="
- (assoc-ref %outputs "out")))
- #:tests? #f ; no tests included
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
+ (list #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:tests? #f ; no tests included
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))))
(home-page "https://github.com/Gottox/smu")
(synopsis "Simple markup")
(description
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 34710fc65c..246f189115 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -58,6 +58,7 @@
;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Maximilian Heisinger <mail@maxheisinger.at>
;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
+;;; Copyright © 2022, 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
@@ -103,6 +104,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -9529,7 +9531,7 @@ computation is supported via MPI.")
(define-public scilab
(package
(name "scilab")
- (version "2023.1.0")
+ (version "2024.0.0")
(source
(origin
(method git-fetch)
@@ -9539,10 +9541,9 @@ computation is supported via MPI.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hbqsnc67b4f8zc690kl79bwhjaasykjlmqbln8iymnjcn3l5ypd"))
+ "08nyfli3x7gd396ffd1a8zn9fj3gm6a8yw0ggm547c09sp2rgvl7"))
(modules '((guix build utils)
(ice-9 ftw)))
- (patches (search-patches "scilab-hdf5-1.8-api.patch"))
(snippet
#~(begin
;; Delete everything except for scilab itself:
@@ -9559,7 +9560,8 @@ computation is supported via MPI.")
(for-each delete-file-recursively
'("scilab"
"config"
- "libs/GetWindowsVersion"))
+ "libs/GetWindowsVersion"
+ "Visual-Studio-settings"))
(for-each delete-file
(cons* "aclocal.m4"
"configure"
@@ -9571,22 +9573,23 @@ computation is supported via MPI.")
"m4/ltversion.m4"
"m4/lt~obsolete.m4"
"m4/pkg.m4"
+ "Scilab.sln"
(find-files "." "^Makefile\\.in$")))
;; And finally some files in the modules directory:
(for-each
- (lambda (file)
- (delete-file
- (string-append "modules/dynamic_link/src/scripts/" file)))
- '("aclocal.m4"
- "configure"
- "compile"
- "config.guess"
- "config.sub"
- "ltmain.sh"
- "depcomp"
- "install-sh"
- "missing"))
+ (lambda (file)
+ (delete-file
+ (string-append "modules/dynamic_link/src/scripts/" file)))
+ '("aclocal.m4"
+ "configure"
+ "compile"
+ "config.guess"
+ "config.sub"
+ "ltmain.sh"
+ "depcomp"
+ "install-sh"
+ "missing"))
(delete-file-recursively "modules/dynamic_link/src/scripts/m4")
(for-each delete-file
'("modules/ast/src/cpp/parse/scanscilab.cpp"
@@ -9595,7 +9598,7 @@ computation is supported via MPI.")
"modules/ast/src/cpp/parse/parsescilab.cpp"))))))
(build-system gnu-build-system)
(native-inputs
- (list autoconf
+ (list autoconf-2.71
autoconf-archive
automake
bison
@@ -9612,8 +9615,9 @@ computation is supported via MPI.")
curl
fftw
gettext-minimal
- hdf5-1.14
+ hdf5-1.10
lapack
+ libarchive
libx11
libxml2
matio
@@ -9624,83 +9628,125 @@ computation is supported via MPI.")
tcl
tk))
(arguments
- (list
- ;; The tests require java code.
- #:tests? #f
- #:configure-flags
- #~(list
- "--enable-relocatable"
- "--disable-static-system-lib"
- "--enable-build-parser"
- ;; Disable all java code.
- "--without-gui"
- "--without-javasci"
- "--disable-build-help"
- "--with-external-scirenderer"
- ;; Tcl and Tk library locations.
- (string-append "--with-tcl-include="
- (dirname
- (search-input-file %build-inputs "include/tcl.h")))
- (string-append "--with-tcl-library="
- (dirname
- (search-input-directory %build-inputs "lib/tcl8")))
- (string-append "--with-tk-include="
- (dirname
- (search-input-file %build-inputs "include/tk.h")))
- (string-append "--with-tk-library="
- (dirname
- (search-input-directory %build-inputs "lib/tk8.6")))
- (string-append "--with-eigen-include="
- (search-input-directory %build-inputs "include/eigen3"))
- ;; Find and link to the OCaml Num package
- "OCAMLC=ocamlfind ocamlc -package num"
- "OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg"
- ;; There are some 2018-fortran errors that are ignored
- ;; with this fortran compiler flag.
- "FFLAGS=-fallow-argument-mismatch")
- #:phases
- #~(modify-phases %standard-phases
- ;; The Num library is specified with the OCAMLC and
- ;; OCAMLOPT variables above.
- (add-after 'unpack 'fix-ocaml-num
- (lambda _
- (substitute*
- '("modules/scicos/Makefile.modelica.am"
- "modules/scicos/src/translator/makefile.mak"
- "modules/scicos/src/modelica_compiler/makefile.mak")
- (("nums\\.cmx?a") ""))))
- ;; Install only scilab-cli.desktop
- (add-after 'unpack 'remove-desktop-files
- (lambda _
- (substitute* "desktop/Makefile.am"
- (("desktop_DATA =")
- "desktop_DATA = scilab-cli.desktop\nDUMMY ="))))
- ;; These generated files are assumed to be present during
- ;; the build.
- (add-after 'bootstrap 'bootstrap-dynamic_link-scripts
- (lambda _
- (with-directory-excursion "modules/dynamic_link/src/scripts"
- ((assoc-ref %standard-phases 'bootstrap)))))
- (add-before 'build 'pre-build
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Fix scilab script.
- (substitute* "bin/scilab"
- (("\\/bin\\/ls")
- (search-input-file inputs "bin/ls")))
- ;; Fix core.start.
- (substitute* "modules/core/etc/core.start"
- (("'SCI/modules")
- "SCI+'/modules"))
- ;; Set SCIHOME to /tmp before macros compilation.
- (setenv "SCIHOME" "/tmp")))
- ;; Prevent race condition
- (add-after 'pre-build 'build-parsers
- (lambda* (#:key (make-flags #~'()) #:allow-other-keys)
- (with-directory-excursion "modules/ast"
- (apply invoke "make"
- "src/cpp/parse/parsescilab.cpp"
- "src/cpp/parse/scanscilab.cpp"
- make-flags)))))))
+ (let* ((tcl (this-package-input "tcl"))
+ (tk (this-package-input "tk")))
+ (list
+ #:configure-flags
+ #~(list
+ "--enable-relocatable"
+ "--disable-static-system-lib"
+ "--enable-build-parser"
+ ;; Disable all java code.
+ "--without-gui"
+ "--without-javasci"
+ "--disable-build-help"
+ "--with-external-scirenderer"
+ ;; Tcl and Tk library locations.
+ (string-append "--with-tcl-include=" #$tcl "/include")
+ (string-append "--with-tcl-library=" #$tcl "/lib")
+ (string-append "--with-tk-include=" #$tk "/include")
+ (string-append "--with-tk-library=" #$tk "/lib")
+ (string-append "--with-eigen-include="
+ (search-input-directory %build-inputs "include/eigen3"))
+ ;; Find and link to the OCaml Num package
+ "OCAMLC=ocamlfind ocamlc -package num"
+ "OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; The Num library is specified with the OCAMLC and
+ ;; OCAMLOPT variables above.
+ (add-after 'unpack 'fix-ocaml-num
+ (lambda _
+ (substitute*
+ '("modules/scicos/Makefile.modelica.am"
+ "modules/scicos/src/translator/makefile.mak"
+ "modules/scicos/src/modelica_compiler/makefile.mak")
+ (("nums\\.cmx?a") ""))))
+ (add-after 'unpack 'fix-linking
+ (lambda _
+ (substitute* "modules/Makefile.am"
+ (("libscilab_cli_la_LDFLAGS = .*\\)" all)
+ (string-append all " -lcurl")))))
+ (add-after 'unpack 'set-version
+ (lambda _
+ (substitute* "modules/core/includes/version.h.in"
+ (("scilab-branch-main") ; version
+ (string-append
+ "scilab-"
+ #$(version-major+minor (package-version this-package)))))))
+ (add-after 'unpack 'restrain-to-scilab-cli
+ (lambda _
+ ;; Install only scilab-cli.desktop
+ (substitute* "desktop/Makefile.am"
+ (("desktop_DATA =")
+ "desktop_DATA = scilab-cli.desktop\nDUMMY ="))
+ ;; Replace scilab with scilab-cli for tests.
+ (substitute* "Makefile.incl.am"
+ (("scilab-bin") "scilab-cli-bin")
+ (("scilab -nwni") "scilab-cli")
+ ;; Do not install tests, demos and examples.
+ ;; This saves up to 140 Mo in the final output.
+ (("(TESTS|DEMOS|EXAMPLES)_DIR=.*" all kind)
+ (string-append kind "_DIR=")))))
+ (add-before 'check 'disable-failing-tests
+ (lambda _
+ (substitute* "Makefile"
+ (("TESTS = .*")
+ "TESTS =\n"))
+ (substitute* "modules/functions_manager/Makefile"
+ (("check:.*")
+ "check:\n"))
+ (substitute* "modules/types/Makefile"
+ (("\\$\\(MAKE\\) \\$\\(AM_MAKEFLAGS\\) check-am")
+ ""))))
+ ;; These generated files are assumed to be present during
+ ;; the build.
+ (add-after 'bootstrap 'bootstrap-dynamic_link-scripts
+ (lambda _
+ (with-directory-excursion "modules/dynamic_link/src/scripts"
+ ((assoc-ref %standard-phases 'bootstrap)))))
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix scilab script.
+ (substitute* "bin/scilab"
+ (("/bin/ls")
+ (search-input-file inputs "bin/ls")))
+ ;; Fix core.start.
+ (substitute* "modules/core/etc/core.start"
+ (("'SCI/modules")
+ "SCI+'/modules"))))
+ ;; Prevent race condition
+ (add-after 'pre-build 'build-parsers
+ (lambda* (#:key (make-flags #~'()) #:allow-other-keys)
+ (with-directory-excursion "modules/ast"
+ (apply invoke "make"
+ "src/cpp/parse/parsescilab.cpp"
+ "src/cpp/parse/scanscilab.cpp"
+ make-flags))))
+ ;; The startup script is mostly there to define the following env
+ ;; variables properly. We can do this with guix directly.
+ (add-after 'install 'rewrap-scilab-cli
+ (lambda _
+ (define (bin path) (string-append #$output "/bin/" path))
+ (delete-file (bin "scilab-cli"))
+ (wrap-program (bin "scilab-cli-bin")
+ `("SCI" = (,(string-append #$output "/share/scilab")))
+ `("LD_LIBRARY_PATH" ":" prefix
+ (,(string-append #$output "/lib/scilab")))
+ `("TCL_LIBRARY" = (,(string-append #$tcl "/lib")))
+ `("TK_LIBRARY" = (,(string-append #$tk "/lib"))))
+ (copy-file (bin "scilab-cli-bin") (bin "scilab-cli"))
+ (copy-file (bin ".scilab-cli-bin-real") (bin "scilab-cli-bin"))
+ (delete-file (bin ".scilab-cli-bin-real"))
+ (substitute* (bin "scilab-cli")
+ ;; Also set SCIHOME to sensible XDG base dirs value.
+ (("\\.scilab-cli-bin-real\"")
+ (string-append
+ "scilab-cli-bin\" -scihome "
+ "\"${XDG_STATE_HOME:-$HOME/.local/state}/scilab/"
+ #$(package-version this-package) "\""))
+ (("export SCI=")
+ "unset LANGUAGE\nexport SCI="))))))))
(home-page "https://www.scilab.org/")
(synopsis "Software for engineers and scientists")
(description "This package provides the non-graphical version of the Scilab
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 0e762144a1..dc827a4670 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -57,6 +57,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages lua)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -116,7 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
- (version "0.23.13")
+ (version "0.23.14")
(source (origin
(method url-fetch)
(uri
@@ -125,7 +126,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
- "06fmy68lfrsi5y03l53dnwcynqhwh5f5vhdpbsr8lzmvzgk02sx9"))))
+ "1lh9nn4a7ng6i08df7rbs8c4nbgmz883pss9p2gswa6m4rsadfc5"))))
(build-system meson-build-system)
(arguments
(list
@@ -622,7 +623,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
- (version "12.1.1")
+ (version "13.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -631,22 +632,29 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bal31xmdmq46bi0qmia07sqcwy695vcz5y5hxwkz71rcfywbsf9"))))
+ "1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm"))))
+ (outputs '("out" "doc"))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
- #~(list "-DMYMPD_BUILD_TESTING=ON"
- ;; Handled by 'strip' phase.
- "-DMYMPD_STRIP_BINARY=OFF")
+ #~(list "-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
+ "-DMYMPD_BUILD_TESTING=ON"
+ "-DMYMPD_DOC_HTML=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The following test requires network connectivity.
- (invoke "ctest" "--exclude-regex" "test_http_client")))))))
- (native-inputs (list jq perl pkg-config))
+ (invoke "ctest" "--exclude-regex" "test_http_client"))))
+ (add-after 'install 'move-doc
+ (lambda _
+ (let ((old (string-append #$output "/share/doc"))
+ (new (string-append #$output:doc "/share/doc")))
+ (mkdir-p (dirname new))
+ (rename-file old new)))))))
+ (native-inputs (list jekyll jq perl pkg-config))
(inputs (list flac libid3tag lua openssl pcre2))
(home-page "https://jcorporation.github.io/")
(synopsis "Web-based MPD client")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2028830087..6b415076e8 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -60,6 +60,7 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,6 +128,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages libbsd)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
@@ -326,42 +328,26 @@ Unix Domain Sockets, SCTP for both IPv4 and IPv6.")
(define-public lcsync
(package
(name "lcsync")
- (version "0.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/librecast/lcsync")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5"))))
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/librecast/lcsync")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rhk80ybd2zranay76z1ysifnnm786lg9kiiijcwv76qy95in9ks"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
- #:configure-flags
- (list
- (string-append "--prefix="
- (assoc-ref %outputs "out")))
+ #:configure-flags (list (string-append "--prefix="
+ (assoc-ref %outputs "out")))
#:make-flags (let ((target ,(%current-target-system)))
(list ,(string-append "CC="
(cc-for-target))))
- #:test-target "test"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'use-prefix-from-configure-in-doc-makefile
- ;; Use prefix from configure. Fixed upstream:
- ;; https://codeberg.org/librecast/lcsync/commit/4ba00f6
- ;; XXX: Remove for 0.2.2+
- (lambda _
- (substitute* "doc/Makefile.in"
- (("PREFIX .= /usr/local") "PREFIX ?= @prefix@"))))
- (add-before 'build 'add-library-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((librecast (assoc-ref inputs "librecast")))
- (substitute* (list "./src/Makefile" "./test/Makefile")
- (("-llibrecast")
- (string-append "-L" librecast "/lib -llibrecast")))))))))
- (inputs (list lcrq librecast libsodium))
+ #:test-target "test"))
+ (inputs (list lcrq librecast libsodium libbsd))
(home-page "https://librecast.net/lcsync.html")
(synopsis "Librecast file and data syncing tool")
(description
@@ -522,16 +508,16 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(define-public librecast
(package
(name "librecast")
- (version "0.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/librecast/librecast")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n"))))
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/librecast/librecast")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01m0q4n2hy3csbzil8ivjyzb1mh4w9jlh9iiv6z53kasl7aas27i"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
@@ -541,7 +527,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(string-append "PREFIX="
(assoc-ref %outputs "out"))))
#:test-target "test"))
- (inputs (list libsodium lcrq))
+ (inputs (list libsodium lcrq libbsd))
(synopsis "IPv6 multicast library")
(description "Librecast is a C library which supports IPv6 multicast
networking.")
@@ -4422,7 +4408,7 @@ QUIC protocol.")
(define-public yggdrasil
(package
(name "yggdrasil")
- (version "0.4.7")
+ (version "0.5.2")
(source
(origin
(method git-fetch)
@@ -4433,8 +4419,8 @@ QUIC protocol.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
- (patches (search-patches "yggdrasil-extra-config.patch"))))
+ (base32 "0ahgb94s30sq1wwyc8h53mjj3j43ifr0aanj8262rsm6rqk04kzq"))
+ (patches (search-patches "yggdrasil-extra-config.patch"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
@@ -4460,32 +4446,37 @@ QUIC protocol.")
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
- ;; https://github.com/kardianos/minwinsvc is windows only
(propagated-inputs
- (list ;;("go-golang-zx2c4-com-wireguard-windows"
- ;; ,go-golang-zx2c4-com-wireguard-windows)
- go-golang-zx2c4-com-wireguard
- go-golang-org-x-text
- go-golang-org-x-sys
- go-golang-org-x-net
- go-golang-org-x-crypto
- go-golang-org-x-tools
- go-netns
- go-netlink
- go-github-com-olekukonko-tablewriter
- go-github-com-mitchellh-mapstructure
- go-github-com-mattn-go-runewidth
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-colorable
- go-github-com-kardianos-minwinsvc
- go-github-com-hjson-hjson-go
- go-github-com-hashicorp-go-syslog
- go-github-com-gologme-log
- go-github-com-fatih-color
- go-github-com-cheggaaa-pb-v3
- go-github-com-vividcortex-ewma
- go-github-com-arceliar-phony
- go-github-com-arceliar-ironwood))
+ (let ((p (package-input-rewriting
+ `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8))
+ #:deep? #true)))
+ (cons go-golang-org-x-sys-0.8
+ (map p
+ (list go-golang-zx2c4-com-wireguard
+ go-golang-org-x-text
+ go-golang-org-x-net
+ go-golang-org-x-crypto
+ go-golang-org-x-tools
+ go-netns
+ go-netlink
+ go-github-com-bits-and-blooms-bitset
+ go-github-com-bits-and-blooms-bloom
+ go-github-com-quic-go-quic-go
+ go-github-com-hjson-hjson-go
+ go-github-com-olekukonko-tablewriter
+ go-github-com-mitchellh-mapstructure
+ go-github-com-mattn-go-runewidth
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-colorable
+ go-github-com-kardianos-minwinsvc
+ go-github-com-hjson-hjson-go
+ go-github-com-hashicorp-go-syslog
+ go-github-com-gologme-log
+ go-github-com-fatih-color
+ go-github-com-cheggaaa-pb-v3
+ go-github-com-vividcortex-ewma
+ go-github-com-arceliar-phony
+ go-github-com-arceliar-ironwood)))))
(home-page "https://yggdrasil-network.github.io/blog.html")
(synopsis
"Experiment in scalable routing as an encrypted IPv6 overlay network")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 4b585362a4..756222318b 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1510,8 +1510,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "c226d48d97ce3a248cf2d814c9b4c4f48e67511e")
- (revision "91"))
+ (let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900")
+ (revision "92"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1522,7 +1522,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "0ig9hq483q2ir26gj6m9kj13a9hmq6sw18q0fiqvbvn31p4c8zvn"))
+ "06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1754,8 +1754,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
- (let ((commit "bf539aa08edfe8010606a31c00e0296c3d400319")
- (revision "22"))
+ (let ((commit "5ccd6cbbdf5fc41e43a491d3414c1663e1fba64d")
+ (revision "23"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@@ -1766,7 +1766,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
- "1i9q7ys26r6y2xa4qqy21bcxlqiynxp3p1wl5gmyj33jnb9ryjby"))
+ "1lid5k4wgghl9lzhazx1c473qv18yxp0xxrvj04b33pdvxnaawl8"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index f3af1680b0..92ff023a6e 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20231022")
+ (version "20231122")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "1316ydijavz41078c99mbrbaddnshspbs8nsbm5qlyah317vkwlk"))
+ (base32 "1qpa3dhmdddw7l5906y8ck8rnri66kqkxcbxhsnj058pmbw9qb42"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/patches/aria2-unbundle-wslay.patch b/gnu/packages/patches/aria2-unbundle-wslay.patch
new file mode 100644
index 0000000000..e3e534bbe1
--- /dev/null
+++ b/gnu/packages/patches/aria2-unbundle-wslay.patch
@@ -0,0 +1,54 @@
+This patch causes aria2 to depend on an external wslay.
+The wslay version was copied from the configure.ac in deps/wslay
+configure still needs to be deleted to update the script
+deps/wslay is no longer necessary and can also be removed
+
+diff --git a/Makefile.am b/Makefile.am
+index afe70a2..8c4d058 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = po lib deps src doc test
++SUBDIRS = po lib src doc test
+
+ ACLOCAL_AMFLAGS = -I m4 --install
+ RST2HTML = @RST2HTML@
+diff --git a/configure.ac b/configure.ac
+index 14b340f..74d5937 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1001,15 +1001,18 @@ if test "x$have_option_const_name" = "xyes"; then
+ fi
+
+ if test "x$enable_websocket" = "xyes"; then
+- AC_CONFIG_SUBDIRS([deps/wslay])
++ PKG_CHECK_MODULES([WSLAY], [libwslay >= 1.1.1], [have_wslay=yes], [have_wslay=no])
+ enable_websocket=yes
+ AC_DEFINE([ENABLE_WEBSOCKET], [1],
+ [Define 1 if WebSocket support is enabled.])
+- # $(top_srcdir) for `make distcheck`
+- WSLAY_CFLAGS="-I\$(top_builddir)/deps/wslay/lib/includes -I\$(top_srcdir)/deps/wslay/lib/includes"
+- WSLAY_LIBS="\$(top_builddir)/deps/wslay/lib/libwslay.la"
+- AC_SUBST([WSLAY_CFLAGS])
+- AC_SUBST([WSLAY_LIBS])
++ if test "x$have_wslay" = "xyes"; then
++ WSLAY_CFLAGS="$WSLAY_CFLAGS"
++ WSLAY_LIBS="$WSLAY_LIBS"
++ AC_SUBST([WSLAY_CFLAGS])
++ AC_SUBST([WSLAY_LIBS])
++ else
++ ARIA2_DEP_NOT_MET([wslay])
++ fi
+ fi
+ AM_CONDITIONAL([ENABLE_WEBSOCKET], [test "x$enable_websocket" = "xyes"])
+
+@@ -1071,8 +1074,7 @@ AC_CONFIG_FILES([Makefile
+ doc/manual-src/ru/Makefile
+ doc/manual-src/ru/conf.py
+ doc/manual-src/pt/Makefile
+- doc/manual-src/pt/conf.py
+- deps/Makefile])
++ doc/manual-src/pt/conf.py])
+ AC_OUTPUT
+
+ AC_MSG_NOTICE([summary of build options:
diff --git a/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch
new file mode 100644
index 0000000000..7a243f5d80
--- /dev/null
+++ b/gnu/packages/patches/go-gopkg-in-yaml-v3-32bit.patch
@@ -0,0 +1,50 @@
+https://sources.debian.org/src/golang-gopkg-yaml.v3/3.0.1-3/debian/patches/0001-Fix-0b-on-32-bit-systems.patch/
+
+From: Shengjing Zhu <zhsj@debian.org>
+Date: Fri, 16 Apr 2021 00:40:09 +0800
+Subject: Fix -0b on 32-bit systems
+
+Origin: backport, https://github.com/go-yaml/yaml/pull/442
+---
+ decode_test.go | 7 ++++---
+ resolve.go | 2 +-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/decode_test.go b/decode_test.go
+index 51f5070..9cac74c 100644
+--- a/decode_test.go
++++ b/decode_test.go
+@@ -175,9 +175,6 @@ var unmarshalTests = []struct {
+ }, {
+ "bin: -0b101010",
+ map[string]interface{}{"bin": -42},
+- }, {
+- "bin: -0b1000000000000000000000000000000000000000000000000000000000000000",
+- map[string]interface{}{"bin": -9223372036854775808},
+ }, {
+ "decimal: +685_230",
+ map[string]int{"decimal": 685230},
+@@ -357,6 +354,10 @@ var unmarshalTests = []struct {
+ "int64_min: -9223372036854775808",
+ map[string]int64{"int64_min": math.MinInt64},
+ },
++ {
++ "int64_min_base2: -0b1000000000000000000000000000000000000000000000000000000000000000",
++ map[string]int64{"int64_min_base2": math.MinInt64},
++ },
+ {
+ "int64_neg_base2: -0b111111111111111111111111111111111111111111111111111111111111111",
+ map[string]int64{"int64_neg_base2": -math.MaxInt64},
+diff --git a/resolve.go b/resolve.go
+index 64ae888..1b7d8c3 100644
+--- a/resolve.go
++++ b/resolve.go
+@@ -223,7 +223,7 @@ func resolve(tag string, in string) (rtag string, out interface{}) {
+ } else if strings.HasPrefix(plain, "-0b") {
+ intv, err := strconv.ParseInt("-"+plain[3:], 2, 64)
+ if err == nil {
+- if true || intv == int64(int(intv)) {
++ if intv == int64(int(intv)) {
+ return intTag, int(intv)
+ } else {
+ return intTag, intv
diff --git a/gnu/packages/patches/scilab-hdf5-1.8-api.patch b/gnu/packages/patches/scilab-hdf5-1.8-api.patch
deleted file mode 100644
index 8b453e4720..0000000000
--- a/gnu/packages/patches/scilab-hdf5-1.8-api.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-This patch fixes the compilation with hdf5 version >= 1.10. Adapted from
-https://aur.archlinux.org/cgit/aur.git/plain/hdf5_18_api.patch?h=scilab-git.
-
-diff -ur a/scilab/modules/hdf5/includes/HDF5Objects.h b/scilab/modules/hdf5/includes/HDF5Objects.h
---- a/scilab/modules/hdf5/includes/HDF5Objects.h
-+++ b/scilab/modules/hdf5/includes/HDF5Objects.h
-@@ -16,14 +16,12 @@
- #ifndef __HDF5OBJECTS_H__
- #define __HDF5OBJECTS_H__
-
--#define H5_NO_DEPRECATED_SYMBOLS
- #undef H5_USE_16_API
-+#define H5_USE_18_API
-
--#define H5Eset_auto_vers 2
- #include <hdf5.h>
- #include <hdf5_hl.h>
-
--#undef H5_NO_DEPRECATED_SYMBOLS
-
- //#define __HDF5OBJECTS_DEBUG__
- //#define __HDF5ERROR_PRINT__
-diff -ur a/scilab/modules/hdf5/Makefile.am b/scilab/modules/hdf5/Makefile.am
---- a/scilab/modules/hdf5/Makefile.am
-+++ b/scilab/modules/hdf5/Makefile.am
-@@ -104,8 +104,7 @@
- -DH5Gopen_vers=2 \
- -DH5Tget_array_dims_vers=2 \
- -DH5Acreate_vers=2 \
-- -DH5Rdereference_vers=2 \
-- -DNO_DEPRECATED_SYMBOLS
-+ -DH5Rdereference_vers=2
-
-
- libscihdf5_la_CPPFLAGS = \
-diff -ur a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
---- a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
-+++ b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
-@@ -13,6 +13,8 @@
- *
- */
-
-+#define H5_USE_18_API
-+
- #include <vector>
- #include "function.hxx"
- #include "string.hxx"
-diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
---- a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
-+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
-@@ -13,7 +13,7 @@
- *
- */
-
--#define H5_NO_DEPRECATED_SYMBOLS
-+#define H5_USE_18_API
-
- #ifndef _MSC_VER
- #include <sys/time.h>
-diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
---- a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
-+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
-@@ -13,7 +13,7 @@
- *
- */
-
--#define H5_NO_DEPRECATED_SYMBOLS
-+#define H5_USE_18_API
-
- #ifndef _MSC_VER
- #include <sys/time.h>
diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch
index 7934e2b50f..44c58a8fbd 100644
--- a/gnu/packages/patches/yggdrasil-extra-config.patch
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -1,108 +1,62 @@
-From 779f980451d20079b34812f7006f2d7230738ad0 Mon Sep 17 00:00:00 2001
-From: csepp <raingloom@riseup.net>
-Date: Wed, 3 Nov 2021 21:14:54 +0100
+From 5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d Mon Sep 17 00:00:00 2001
+Message-ID: <5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d.1699726745.git.avityazev@posteo.org>
+From: Aleksandr Vityazev <avityazev@posteo.org>
+Date: Sat, 11 Nov 2023 19:50:46 +0300
Subject: [PATCH] add extra config file option to yggdrasil command
This is useful in Guix and Nix, because one config file can come
from the world-readable store and another can be placed directly
into /etc with much stricter permissions.
---
- cmd/yggdrasil/main.go | 29 ++++++++++++++++++++++-------
- 1 file changed, 22 insertions(+), 7 deletions(-)
+ cmd/yggdrasil/main.go | 12 ++++++++++++
+ src/config/config.go | 2 +-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go
-index 58b8230..b9df98a 100644
+index a225755..3f53dda 100644
--- a/cmd/yggdrasil/main.go
+++ b/cmd/yggdrasil/main.go
-@@ -43,11 +43,12 @@ type node struct {
- admin *admin.AdminSocket
- }
-
--func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config.NodeConfig {
-+func readConfig(log *log.Logger, useconf bool, useconffile string, extraconffile string, normaliseconf bool) *config.NodeConfig {
- // Use a configuration file. If -useconf, the configuration will be read
- // from stdin. If -useconffile, the configuration will be read from the
- // filesystem.
- var conf []byte
-+ var extraconf []byte
- var err error
- if useconffile != "" {
- // Read the file from the filesystem
-@@ -59,6 +60,21 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
- if err != nil {
- panic(err)
- }
-+ if extraconffile != "" {
-+ extraconf, err = os.ReadFile(extraconffile);
-+ }
-+ if err != nil {
-+ panic(err)
-+ }
-+ // Generate a new configuration - this gives us a set of sane defaults -
-+ // then parse the configuration we loaded above on top of it. The effect
-+ // of this is that any configuration item that is missing from the provided
-+ // configuration will use a sane default.
-+ cfg := defaults.GenerateConfig()
-+ var confs [2][]byte
-+ confs[0]=conf
-+ confs[1]=extraconf
-+ for _, conf := range confs { if len(conf)>0 {
- // If there's a byte order mark - which Windows 10 is now incredibly fond of
- // throwing everywhere when it's converting things into UTF-16 for the hell
- // of it - remove it and decode back down into UTF-8. This is necessary
-@@ -72,11 +88,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
- panic(err)
- }
- }
-- // Generate a new configuration - this gives us a set of sane defaults -
-- // then parse the configuration we loaded above on top of it. The effect
-- // of this is that any configuration item that is missing from the provided
-- // configuration will use a sane default.
-- cfg := defaults.GenerateConfig()
- var dat map[string]interface{}
- if err := hjson.Unmarshal(conf, &dat); err != nil {
- panic(err)
-@@ -136,6 +147,7 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
- if err = mapstructure.Decode(dat, &cfg); err != nil {
- panic(err)
- }
-+ }}
- return cfg
- }
-
-@@ -192,6 +204,7 @@ type yggArgs struct {
- getaddr bool
- getsnet bool
- useconffile string
-+ extraconffile string
- logto string
- loglevel string
- }
-@@ -200,6 +213,7 @@ func getArgs() yggArgs {
+@@ -42,6 +42,7 @@ func main() {
genconf := flag.Bool("genconf", false, "print a new config to stdout")
useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path")
+ extraconffile := flag.String("extraconffile", "", "extra (usually private) HJSON/JSON config from specified file path")
normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
+ exportkey := flag.Bool("exportkey", false, "use in combination with either -useconf or -useconffile, outputs your private key in PEM format")
confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
- autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
-@@ -213,6 +227,7 @@ func getArgs() yggArgs {
- genconf: *genconf,
- useconf: *useconf,
- useconffile: *useconffile,
-+ extraconffile: *extraconffile,
- normaliseconf: *normaliseconf,
- confjson: *confjson,
- autoconf: *autoconf,
-@@ -265,7 +280,7 @@ func run(args yggArgs, ctx context.Context, done chan struct{}) {
- cfg = defaults.GenerateConfig()
- case args.useconffile != "" || args.useconf:
- // Read the configuration from either stdin or from the filesystem
-- cfg = readConfig(logger, args.useconf, args.useconffile, args.normaliseconf)
-+ cfg = readConfig(logger, args.useconf, args.useconffile, args.extraconffile, args.normaliseconf)
- // If the -normaliseconf option was specified then remarshal the above
- // configuration and print it back to stdout. This lets the user update
- // their configuration file with newly mapped names (like above) or to
+@@ -137,6 +138,17 @@ func main() {
+ return
+ }
+
++ if *extraconffile !="" {
++ f, err := os.Open(*extraconffile)
++ if err != nil {
++ panic(err)
++ }
++ if _, err := cfg.ReadFrom(f); err != nil {
++ panic(err)
++ }
++ _ = f.Close()
++ }
++
+ privateKey := ed25519.PrivateKey(cfg.PrivateKey)
+ publicKey := privateKey.Public().(ed25519.PublicKey)
+
+diff --git a/src/config/config.go b/src/config/config.go
+index e899a35..76b9ec8 100644
+--- a/src/config/config.go
++++ b/src/config/config.go
+@@ -112,7 +112,7 @@ func (cfg *NodeConfig) ReadFrom(r io.Reader) (int64, error) {
+ // then parse the configuration we loaded above on top of it. The effect
+ // of this is that any configuration item that is missing from the provided
+ // configuration will use a sane default.
+- *cfg = *GenerateConfig()
++ // *cfg = *GenerateConfig()
+ if err := cfg.UnmarshalHJSON(conf); err != nil {
+ return n, err
+ }
+
+base-commit: b759683b76985665b5218346abab35f08d9f4d38
--
-2.33.1
+2.41.0
diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm
index e6d7caa1ef..887c220ccf 100644
--- a/gnu/packages/potassco.scm
+++ b/gnu/packages/potassco.scm
@@ -221,6 +221,28 @@ satisfiability checking (SAT).")
(description "Clingo computes answer sets for a given logic program.")
(license license:expat)))
+(define-public clingo-dl
+ (package
+ (name "clingo-dl")
+ (version "1.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/potassco/clingo-dl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dncwj63vdm6958vb7355d5j9mdr7hm037j4z82yz6l77jg3sipw"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f ; no tests
+ #:configure-flags #~`("-DPYCLINGODL_ENABLE=off")))
+ (inputs (list clingo))
+ (home-page "https://github.com/potassco/clingo-dl")
+ (synopsis "Solver for answer set programs modulo difference constraints")
+ (description "Clingo-DL is an extension to Clingo that models constraints
+over difference logic.")
+ (license license:expat)))
+
(define-public emacs-pasp-mode
(let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
(revision "1"))
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index 8cd805799e..c157eabce0 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -156,8 +157,11 @@ data in motion, or as a file format for data at rest.")
(install-file file slib)
(delete-file file))
(find-files lib "\\.a$"))))))))
- (native-inputs (list googletest))
- (inputs (list zlib))
+ (native-inputs (append (if (%current-target-system)
+ (list this-package)
+ '())
+ (list googletest)))
+ (inputs (list zlib googletest))
(home-page "https://github.com/protocolbuffers/protobuf")
(synopsis "Data encoding for remote procedure calls (RPCs)")
(description
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a6f69e6bb..5a017b76d0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -32496,13 +32496,13 @@ Psycopg 2 is both Unicode and Python 3 friendly.")
(define-public python-pyfuse3
(package
(name "python-pyfuse3")
- (version "3.2.1")
+ (version "3.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyfuse3" version))
(sha256
- (base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92"))))
+ (base32 "1gbkwmk7gpyy70cqj9226qvwrx13xlwxfz86l86n5ybr4i0zwc9b"))))
(build-system python-build-system)
(native-inputs (list pkg-config))
(inputs (list fuse))
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 89a79cee2d..f52b86e1ed 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -507,6 +507,38 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
license:gpl2+
license:public-domain))))
+(define-public ppp-2.4.9
+ (package
+ (inherit ppp)
+ (name "ppp")
+ (version "2.4.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ppp-project/ppp")
+ (commit (string-append "ppp-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk"))))
+ (arguments
+ (list #:tests? #f ;; No "check" target
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'patch-Makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((openssl (assoc-ref inputs "openssl"))
+ (libpcap (assoc-ref inputs "libpcap")))
+ (substitute* "pppd/Makefile.linux"
+ (("/usr/include/openssl")
+ (string-append openssl "/include"))
+ (("-DPPP_FILTER")
+ (string-append "-DPPP_FILTER -I" libpcap "/include")))
+ (substitute* "pppd/pppcrypt.h"
+ (("des\\.h") "openssl/des.h")))
+ #t)))))))
+
(define-public wsdd
(package
(name "wsdd")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index adb5e223e7..27b1e1a2ac 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -156,32 +156,27 @@ less to gain, as only the helper process is running with privileges (e.g.,
(package
(name "tilda")
(version "1.5.4")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lanoxx/tilda")
- (commit (string-append "tilda-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lanoxx/tilda")
+ (commit (string-append "tilda-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'make-po-writable
- (lambda _
- (for-each make-file-writable (find-files "po" "."))
- #t)))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
- (inputs
- (list libconfuse vte))
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'make-po-writable
+ (lambda _
+ (for-each make-file-writable
+ (find-files "po" ".")) #t)))))
+ (native-inputs (list autoconf automake gettext-minimal pkg-config))
+ (inputs (list libconfuse vte))
(synopsis "GTK+-based drop-down terminal")
- (description "Tilda is a terminal emulator similar to normal terminals like
+ (description
+ "Tilda is a terminal emulator similar to normal terminals like
gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
from the edge of a screen when a certain configurable hotkey is pressed. This
is similar to the built-in consoles in some applications. Tilda is highly
@@ -189,6 +184,29 @@ configurable through a graphical wizard.")
(home-page "https://github.com/lanoxx/tilda")
(license license:gpl2+)))
+(define-public tilda-dbus
+ (package
+ (inherit tilda)
+ (name "tilda")
+ (version "1.6-alpha")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lanoxx/tilda")
+ (commit "51a980a55ad6d750daa21d43a66d44577dad277b")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pdarmlxkap9v689s88b89l5hi4vspsrrysh7pbm9rhdjmzk5m2c"))))
+ (synopsis "GTK+-based drop-down terminal with experimental D-Bus support")
+ (description
+ "Tilda is a terminal emulator similar to normal terminals like
+gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
+from the edge of a screen when a certain configurable hotkey is pressed. This
+is similar to the built-in consoles in some applications. Tilda is highly
+configurable through a graphical wizard. This version enables D-Bus support
+which is necessary for using Tilda on Wayland.")))
+
(define-public termite
(package
(name "termite")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 41a34b6c4e..ea182b1925 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1129,13 +1130,13 @@ documents into plain text.")
"0im3kzvhxkjlx57w6h13mc9584c74ma1dyymgvpq2y61av3gc35v"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no make check
- #:make-flags (list "CC=gcc"
- (string-append "DESTDIR=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- ;; no configure script
- (delete 'configure))))
+ (list #:tests? #f ; no make check
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure))))
(inputs
(list zlib))
(home-page "https://github.com/dstosberg/odt2txt/")
@@ -1289,13 +1290,14 @@ Mainland China, Taiwan, and Hong-Kong.")
"0anw0knr1iy4p9w3d3b3pbwzh1c43p1i2q4c28kw9zviw8kx2rly"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; test for perl module
- #:make-flags (list "CC=gcc" "CFLAGS=-O2 -Wall -pedantic"
- (string-append "prefix=" %output)
- "MKDIR=mkdir -p")
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; No ./configure script
+ (list #:tests? #f ; test for perl module
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ "CFLAGS=-O2 -Wall -pedantic"
+ (string-append "prefix=" #$output)
+ "MKDIR=mkdir -p")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)))) ; No ./configure script
(home-page "https://ja.osdn.net/projects/nkf/")
(synopsis "Network Kanji Filter")
(description "Nkf is yet another kanji code converter among networks,
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
index 21d5279e85..2fa47315c0 100644
--- a/gnu/packages/toys.scm
+++ b/gnu/packages/toys.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -70,6 +71,7 @@
(search-input-file inputs
(string-append "bin/" cmd)))))))))
(inputs (list bash-minimal coreutils sed
+ diffutils
fmt gmp))
(native-inputs (list pkg-config))
(home-page "https://gitlab.com/lilyp/daikichi")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 561268aabd..e9b2a17851 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -66,6 +66,7 @@
;;; Copyright © 2023 Ott Joon <oj@vern.cc>
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
+;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2683,7 +2684,7 @@ YouTube.com and many more sites.")
(define-public yt-dlp
(package/inherit youtube-dl
(name "yt-dlp")
- (version "2023.09.24")
+ (version "2023.10.13")
(source
(origin
(method git-fetch)
@@ -2692,7 +2693,7 @@ YouTube.com and many more sites.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "15ngsg3cadf2bv700fa1k5az5xpsm0wqr0cixbz8fcbhwdflfq6f"))))
+ (base32 "1cy8cpqwq6yfsbrnln3qqp9lsjckn20m6w7b890ha7jahyir5m1n"))))
(arguments
(substitute-keyword-arguments (package-arguments youtube-dl)
((#:tests? _) (not (%current-target-system)))
@@ -3618,18 +3619,15 @@ and JACK.")
(define-public obs-looking-glass
(package
(name "obs-looking-glass")
- (version "B5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gnif/LookingGlass")
- (commit version)
- (recursive? #t)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09mn544x5hg1z31l92ksk7fi7yj9r8xdk0dcl9fk56ivcr452ylm"))))
+ (version "B6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://looking-glass.io/artifact/" version
+ "/source"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15d7wwbzfw28yqbz451b6n33ixy50vv8acyzi8gig1mq5a8gzdib"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 469c8b64cb..9debed0b86 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -14,6 +14,8 @@
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022, 2023 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;; Copyright © 2023 Charles Jackson <charles.b.jackson@protonmail.com>
+;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +40,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
@@ -48,7 +51,9 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages check)
#:use-module (gnu packages code)
+ #:use-module (gnu packages coq)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
@@ -448,6 +453,65 @@ trouble using them, because you do not have to remember each snippet name.")
(home-page "https://github.com/Shougo/context_filetype.vim")
(license license:expat)))) ; ??? check again
+(define-public vim-coqtail
+ (let ((commit "dfe3939c9caff69d9af76bfd74f1a40fb7dc5609")
+ (revision "0"))
+ (package
+ (name "vim-coqtail")
+ (version (git-version "1.7.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/whonore/Coqtail")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
+ (build-system vim-build-system)
+ (arguments
+ '(#:plugin-name "coqtail"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key inputs native-inputs tests? #:allow-other-keys)
+ (when tests?
+ (display "Running Python unit tests.\n")
+ (setenv "PYTHONPATH" (string-append (getcwd) "/python"))
+ (invoke "pytest" "-q" "tests/unit")
+
+ (display "Running Python Coq tests.\n")
+ (invoke "pytest" "-q" "tests/coq")
+
+ (display "Running Vim unit tests.\n")
+ (let* ((vim-vader (assoc-ref (or native-inputs inputs)
+ "vim-vader"))
+ (vader-path (string-append
+ vim-vader
+ "/share/vim/vimfiles/pack/guix/start/vader")))
+ (with-directory-excursion "tests/vim"
+ (setenv "VADER_PATH" vader-path)
+ (invoke (string-append
+ (assoc-ref (or native-inputs inputs) "vim-full")
+ "/bin/vim")
+ "-E" "-Nu" "vimrc"
+ "-c" "Vader! *.vader")))
+
+ ;; Remove __pycache__ files generated during testing so that
+ ;; they don't get installed.
+ (delete-file-recursively "python/__pycache__")))))))
+ (native-inputs
+ `(("coq-for-coqtail" ,coq-for-coqtail)
+ ("python-pytest" ,python-pytest)
+ ("vim-full" ,vim-full) ; Plugin needs Python 3.
+ ("vim-vader" ,vim-vader)))
+ (propagated-inputs (list coq coq-ide-server))
+ (synopsis "Interactive Coq proofs in Vim")
+ (description "Coqtail enables interactive Coq proof development in Vim
+similar to CoqIDE or ProofGeneral.")
+ (home-page "https://github.com/whonore/Coqtail")
+ (license license:expat))))
+
(define-public vim-fugitive
(package
(name "vim-fugitive")
@@ -1423,3 +1487,92 @@ files for reading or editing, and perform basic file system operations.")
operations and styles which are invoked via key mappings and a menu. These
operations are available for most filetypes.")
(license license:cc0)))
+
+(define-public vim-vader
+ (let ((revision "0")
+ (commit "6fff477431ac3191c69a3a5e5f187925466e275a"))
+ (package
+ (name "vim-vader")
+ (version (git-version "0.4.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/junegunn/vader.vim")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "179dbbqdyl6qf6jdb6kdazn3idz17m1h2n88rlggb1wnly74vjin"))))
+ (build-system vim-build-system)
+ (arguments
+ '(#:plugin-name "vader"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; FIXME: suite1.vader fails with an unknown reason,
+ ;; lang-if.vader requires Python and Ruby.
+ (substitute* "test/vader.vader"
+ (("Include.*feature/suite1.vader.*$") "")
+ (("Include.*feature/lang-if.vader.*$") ""))
+
+ (display "Running Vim tests\n")
+ (with-directory-excursion "test"
+ (setenv "VADER_TEST_VIM" "vim -E")
+ (invoke "bash" "./run-tests.sh"))))))))
+ (native-inputs (list vim))
+ (home-page "https://github.com/junegunn/vader.vim")
+ (synopsis "Test framework for Vimscript")
+ (description "Vader is a test framework for Vimscript designed to
+simplify the process of writing and running unit tests. Vader.vim provides an
+intuitive test syntax for defining test cases and expectations, it also can
+be integrated with @acronym{CI, Continuous Integration} pipelines to
+automate testing and is compatible with Vim and Neovim.")
+ (license license:expat)))) ;; Specified in README.md.
+
+(define-public vim-jedi-vim
+ (package
+ (name "vim-jedi-vim")
+ (version "0.11.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/davidhalter/jedi-vim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03fj7f5cpchrdmz9szal6fdg05wdwb0j6260nnyp37nmpcpn13yc"))))
+ (build-system vim-build-system)
+ (arguments (list #:plugin-name "jedi-vim"))
+ (propagated-inputs (list python-jedi))
+ (home-page "https://github.com/davidhalter/jedi-vim")
+ (synopsis "Jedi autocompletion library for Vim")
+ (description
+ "@code{jedi-vim} is a VIM binding to the autocompletion library Jedi.")
+ (license license:expat)))
+
+(define-public vim-srcery-vim
+ (package
+ (name "vim-srcery-vim")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/srcery-colors/srcery-vim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0nwk81y9j5ljjm3k19kf1zmscdxiis4mwan026wv7cqp7f9qhxlr"))))
+ (build-system vim-build-system)
+ (arguments
+ (list #:plugin-name "srcery"
+ #:mode "opt"))
+ (home-page "https://srcery.sh")
+ (synopsis "Dark colorscheme for gvim and vim")
+ (description
+ "Srcery is a color scheme with clearly defined contrasting colors
+and a slightly earthy tone.")
+ (license license:expat)))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 972f9b0329..489a35da42 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -825,7 +825,9 @@ others.")
(native-inputs
(list autoconf automake pkg-config))
(inputs
- (list openssl ppp))
+ ;; ppp < 2.5.0 is required due to
+ ;; <https://github.com/adrienverge/openfortivpn/pull/1148>.
+ (list openssl ppp-2.4.9))
(home-page "https://github.com/adrienverge/openfortivpn")
(synopsis "Client for PPP+SSL VPN tunnel services")
(description "Openfortivpn is a client for PPP+SSL VPN tunnel services. It
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f06f0d6abf..e4a99429cd 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4956,8 +4956,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
- (let ((commit "37a07c2d6e8285877ad0440a7e4ae286b7b65177")
- (revision "43"))
+ (let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180")
+ (revision "44"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -4969,7 +4969,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
- "0h83j10bq7dyda2idbqh5y6dcvmbl3xgc147yq4pk6bkh10y29y6"))))
+ "0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f9bf42b721..ede2d73627 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1732,7 +1732,7 @@ less if you are working in front of the screen at night.")
(define-public xscreensaver
(package
(name "xscreensaver")
- (version "6.04")
+ (version "6.08")
(source
(origin
(method url-fetch)
@@ -1740,7 +1740,7 @@ less if you are working in front of the screen at night.")
(string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
version ".tar.gz"))
(sha256
- (base32 "0lmiyvp3qs2gngd53f191jmlizs9l04i2gnrqbn96mqckyr18w3q"))
+ (base32 "18vnbs2ns42cgnnsvwn0zh98wcfzxf2k9mib5x5zkv6f4njjpxaw"))
(modules '((guix build utils)))
(snippet
;; 'configure.ac' checks for $ac_unrecognized_opts and exits if it's
@@ -1787,14 +1787,13 @@ less if you are working in front of the screen at night.")
libjpeg-turbo
linux-pam
pango
- gdk-pixbuf-xlib
gtk+
perl
cairo
bc
libxrandr
glu
- glib))
+ `(,glib "bin")))
(home-page "https://www.jwz.org/xscreensaver/")
(synopsis "Classic screen saver suite supporting screen locking")
(description
@@ -3225,6 +3224,7 @@ initialize programs.")
(build-system gnu-build-system)
(native-inputs
(list autoconf automake
+ dbus-glib ;; for dbus-binding-tool
`(,glib "bin") pkg-config))
(inputs
(list dbus-glib glib libx11))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 8f359c3e2f..62000946e1 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6090,7 +6090,7 @@ Conventions Manual) and some of the @dfn{EWMH}
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- (list pkg-config autoconf automake))
+ (list util-macros pkg-config autoconf automake))
(inputs
(list libx11
libxext
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index dcca9a1121..08ee650d8b 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -20,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages zig)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix git-download)
@@ -29,10 +30,10 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages llvm))
-(define-public zig-0.10
+(define-public zig-0.9
(package
(name "zig")
- (version "0.10.1")
+ (version "0.9.1")
(source
(origin
(method git-fetch)
@@ -41,57 +42,66 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
- (patches (search-patches "zig-do-not-link-against-librt.patch"))))
+ (base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
+ (patches (search-patches "zig-0.9-riscv-support.patch"
+ "zig-use-system-paths.patch"
+ "zig-do-not-link-against-librt.patch"))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list #$@(if (%current-target-system)
+ (list (string-append "-DZIG_TARGET_TRIPLE="
+ (%current-target-system)))
+ '()))
+ #:out-of-source? #f ; for tests
+ ;; There are too many unclear test failures.
+ #:tests? (not (or (target-riscv64?)
+ (%current-target-system)))
+ #:phases
+ #~(modify-phases %standard-phases
+ #$@(if (target-riscv64?)
+ ;; It is unclear why all these tests fail to build.
+ `((add-after 'unpack 'adjust-tests
+ (lambda _
+ (substitute* "build.zig"
+ ((".*addRuntimeSafetyTests.*") "")
+ ((".*addRunTranslatedCTests.*") ""))
+ (substitute* "test/standalone.zig"
+ ;; These tests fail to build on riscv64-linux.
+ ;; They both contain 'exe.linkSystemLibrary("c");'
+ ((".*shared_library.*") "")
+ ((".*mix_o_files.*") "")
+ ;; ld.lld: error: undefined symbol: __tls_get_addr
+ ;; Is this symbol x86 only in glibc?
+ ((".*link_static_lib_as_system_lib.*") "")))))
+ '())
+ (add-after 'configure 'set-cache-dir
+ (lambda _
+ ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
+ (setenv "ZIG_GLOBAL_CACHE_DIR"
+ (string-append (getcwd) "/zig-cache"))))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke (string-append #$output "/bin/zig")
+ ;; Testing the standard library takes >7.5GB RAM, and
+ ;; will fail if it is OOM-killed. The 'test-toolchain'
+ ;; target skips standard library and doc tests.
+ "build" "test-toolchain"
+ ;; Stage 2 is experimental, not what we run with `zig',
+
+ "-Dskip-stage2-tests"
+ ;; Non-native tests try to link and execute non-native
+ ;; binaries.
+ "-Dskip-non-native")))))))
(inputs
- (list clang-15 ; Clang propagates llvm.
- lld-15
- zlib
- (list zstd "lib")))
+ (list clang-13 ;Clang propagates llvm.
+ lld-13))
;; Zig compiles fine with GCC, but also needs native LLVM libraries.
(native-inputs
- (list llvm-15))
- (arguments
- `(#:configure-flags
- (list ,@(if (%current-target-system)
- '(string-append "-DZIG_TARGET_TRIPLE="
- (%current-target-system))
- '())
- (string-append "-DZIG_TARGET_MCPU=baseline")
- "-DZIG_SHARED_LLVM=ON"
- (string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out")
- "/lib/zig"))
- #:validate-runpath? #f ; TODO: zig binary can't find ld-linux.
- #:out-of-source? #f ; for tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-env-variables
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- ;; Set CC, since the stage 2 zig relies on it to find the libc
- ;; installation, and otherwise silently links against its own.
- (setenv "CC" ,(cc-for-target))
- ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
- (setenv "ZIG_GLOBAL_CACHE_DIR"
- (string-append (getcwd) "/zig-cache"))))
- (add-after 'patch-source-shebangs 'patch-more-shebangs
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Zig uses information about /usr/bin/env to determine the
- ;; version of glibc and other data.
- (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
- (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key outputs tests? #:allow-other-keys)
- (when tests?
- (invoke (string-append (assoc-ref outputs "out") "/bin/zig")
- "build" "test"
- ;; We're not testing the compiler bootstrap chain.
- "-Dskip-stage1"
- "-Dskip-stage2-tests"
- ;; Non-native tests try to link and execute non-native
- ;; binaries.
- "-Dskip-non-native")))))))
+ (list llvm-13))
(native-search-paths
(list
(search-path-specification
@@ -122,11 +132,11 @@ toolchain. Among other features it provides
(properties `((max-silent-time . 9600)))
(license license:expat)))
-(define-public zig-0.9
+(define-public zig-0.10
(package
- (inherit zig-0.10)
+ (inherit zig-0.9)
(name "zig")
- (version "0.9.1")
+ (version "0.10.1")
(source
(origin
(method git-fetch)
@@ -135,63 +145,52 @@ toolchain. Among other features it provides
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
- (patches (search-patches "zig-0.9-riscv-support.patch"
- "zig-use-system-paths.patch"
- "zig-do-not-link-against-librt.patch"))))
+ (base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
+ (patches (search-patches "zig-do-not-link-against-librt.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments zig-0.9)
+ ((#:configure-flags flags ''())
+ #~(cons* "-DZIG_TARGET_MCPU=baseline"
+ "-DZIG_SHARED_LLVM=ON"
+ (string-append "-DZIG_LIB_DIR=" #$output "/lib/zig")
+ #$flags))
+ ;; TODO: zig binary can't find ld-linux.
+ ((#:validate-runpath? _ #t) #f)
+ ((#:tests? _ #t) #t)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ #$@(if (target-riscv64?)
+ `((delete 'adjust-tests))
+ '())
+ (add-after 'unpack 'set-CC
+ (lambda _
+ ;; Set CC, since the stage 2 zig relies on it to find the libc
+ ;; installation, and otherwise silently links against its own.
+ (setenv "CC" #$(cc-for-target))))
+ (add-after 'patch-source-shebangs 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Zig uses information about /usr/bin/env to determine the
+ ;; version of glibc and other data.
+ (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
+ (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke (string-append #$output "/bin/zig")
+ "build" "test"
+ ;; We're not testing the compiler bootstrap chain.
+ "-Dskip-stage1"
+ "-Dskip-stage2-tests"
+ ;; Non-native tests try to link and execute non-native
+ ;; binaries.
+ "-Dskip-non-native"))))))))
(inputs
- (list clang-13 ; Clang propagates llvm.
- lld-13))
- ;; Zig compiles fine with GCC, but also needs native LLVM libraries.
+ (modify-inputs (package-inputs zig-0.9)
+ (prepend zlib `(,zstd "lib"))
+ (replace "clang" clang-15)
+ (replace "lld" lld-15)))
(native-inputs
- (list llvm-13))
- (arguments
- `(#:configure-flags
- (list ,@(if (%current-target-system)
- (string-append "-DZIG_TARGET_TRIPLE="
- (%current-target-system))
- '()))
- #:out-of-source? #f ; for tests
- ;; There are too many unclear test failures.
- #:tests? ,(not (or (target-riscv64?)
- (%current-target-system)))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'set-cache-dir
- (lambda _
- ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
- (setenv "ZIG_GLOBAL_CACHE_DIR"
- (string-append (getcwd) "/zig-cache"))))
- ,@(if (target-riscv64?)
- ;; It is unclear why all these tests fail to build.
- `((add-after 'unpack 'adjust-tests
- (lambda _
- (substitute* "build.zig"
- ((".*addRuntimeSafetyTests.*") "")
- ((".*addRunTranslatedCTests.*") ""))
- (substitute* "test/standalone.zig"
- ;; These tests fail to build on riscv64-linux.
- ;; They both contain 'exe.linkSystemLibrary("c");'
- ((".*shared_library.*") "")
- ((".*mix_o_files.*") "")
- ;; ld.lld: error: undefined symbol: __tls_get_addr
- ;; Is this symbol x86 only in glibc?
- ((".*link_static_lib_as_system_lib.*") "")))))
- '())
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key outputs tests? #:allow-other-keys)
- (when tests?
- (invoke (string-append (assoc-ref outputs "out") "/bin/zig")
- ;; Testing the standard library takes >7.5GB RAM, and
- ;; will fail if it is OOM-killed. The 'test-toolchain'
- ;; target skips standard library and doc tests.
- "build" "test-toolchain"
- ;; Stage 2 is experimental, not what we run with `zig',
- ;; and stage 2 tests require a lot of RAM.
- "-Dskip-stage2-tests"
- ;; Non-native tests try to link and execute non-native
- ;; binaries.
- "-Dskip-non-native")))))))))
+ (modify-inputs (package-native-inputs zig-0.9)
+ (replace "llvm" llvm-15)))))
(define-public zig zig-0.10)
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm
index c2023d618c..ebea0a473a 100644
--- a/gnu/services/docker.scm
+++ b/gnu/services/docker.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,15 +30,36 @@
#:use-module (gnu services shepherd)
#:use-module (gnu system setuid)
#:use-module (gnu system shadow)
+ #:use-module (gnu packages admin) ;shadow
#:use-module (gnu packages docker)
#:use-module (gnu packages linux) ;singularity
#:use-module (guix records)
+ #:use-module (guix diagnostics)
#:use-module (guix gexp)
+ #:use-module (guix i18n)
#:use-module (guix packages)
+ #:use-module (srfi srfi-1)
+ #:use-module (ice-9 format)
+ #:use-module (ice-9 match)
#:export (docker-configuration
docker-service-type
- singularity-service-type))
+ singularity-service-type
+ oci-container-configuration
+ oci-container-configuration?
+ oci-container-configuration-fields
+ oci-container-configuration-user
+ oci-container-configuration-group
+ oci-container-configuration-command
+ oci-container-configuration-entrypoint
+ oci-container-configuration-environment
+ oci-container-configuration-image
+ oci-container-configuration-provision
+ oci-container-configuration-network
+ oci-container-configuration-ports
+ oci-container-configuration-volumes
+ oci-container-service-type
+ oci-container-shepherd-service))
(define-configuration docker-configuration
(docker
@@ -216,3 +238,239 @@ bundles in Docker containers.")
(service-extension activation-service-type
(const %singularity-activation))))
(default-value singularity)))
+
+
+;;;
+;;; OCI container.
+;;;
+
+(define (oci-sanitize-pair pair delimiter)
+ (define (valid? member)
+ (or (string? member)
+ (gexp? member)
+ (file-like? member)))
+ (match pair
+ (((? valid? key) . (? valid? value))
+ #~(string-append #$key #$delimiter #$value))
+ (_
+ (raise
+ (formatted-message
+ (G_ "pair members must contain only strings, gexps or file-like objects
+but ~a was found")
+ pair)))))
+
+(define (oci-sanitize-mixed-list name value delimiter)
+ (map
+ (lambda (el)
+ (cond ((string? el) el)
+ ((pair? el) (oci-sanitize-pair el delimiter))
+ (else
+ (raise
+ (formatted-message
+ (G_ "~a members must be either a string or a pair but ~a was
+found!")
+ name el)))))
+ value))
+
+(define (oci-sanitize-environment value)
+ ;; Expected spec format:
+ ;; '(("HOME" . "/home/nobody") "JAVA_HOME=/java")
+ (oci-sanitize-mixed-list "environment" value "="))
+
+(define (oci-sanitize-ports value)
+ ;; Expected spec format:
+ ;; '(("8088" . "80") "2022:22")
+ (oci-sanitize-mixed-list "ports" value ":"))
+
+(define (oci-sanitize-volumes value)
+ ;; Expected spec format:
+ ;; '(("/mnt/dir" . "/dir") "/run/current-system/profile:/java")
+ (oci-sanitize-mixed-list "volumes" value ":"))
+
+(define-maybe/no-serialization string)
+
+(define-configuration/no-serialization oci-container-configuration
+ (user
+ (string "oci-container")
+ "The user under whose authority docker commands will be run.")
+ (group
+ (string "docker")
+ "The group under whose authority docker commands will be run.")
+ (command
+ (list-of-strings '())
+ "Overwrite the default command (@code{CMD}) of the image.")
+ (entrypoint
+ (maybe-string)
+ "Overwrite the default entrypoint (@code{ENTRYPOINT}) of the image.")
+ (environment
+ (list '())
+ "Set environment variables. This can be a list of pairs or strings, even
+mixed:
+
+@lisp
+(list '(\"LANGUAGE\" . \"eo:ca:eu\")
+ \"JAVA_HOME=/opt/java\")
+@end lisp
+
+String are passed directly to the Docker CLI. You can refer to the
+@url{https://docs.docker.com/engine/reference/commandline/run/#env,upstream}
+documentation for semantics."
+ (sanitizer oci-sanitize-environment))
+ (image
+ (string)
+ "The image used to build the container. Images are resolved by the Docker
+Engine, and follow the usual format
+@code{myregistry.local:5000/testing/test-image:tag}.")
+ (provision
+ (maybe-string)
+ "Set the name of the provisioned Shepherd service.")
+ (network
+ (maybe-string)
+ "Set a Docker network for the spawned container.")
+ (ports
+ (list '())
+ "Set the port or port ranges to expose from the spawned container. This can
+be a list of pairs or strings, even mixed:
+
+@lisp
+(list '(\"8080\" . \"80\")
+ \"10443:443\")
+@end lisp
+
+String are passed directly to the Docker CLI. You can refer to the
+@url{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream}
+documentation for semantics."
+ (sanitizer oci-sanitize-ports))
+ (volumes
+ (list '())
+ "Set volume mappings for the spawned container. This can be a
+list of pairs or strings, even mixed:
+
+@lisp
+(list '(\"/root/data/grafana\" . \"/var/lib/grafana\")
+ \"/gnu/store:/gnu/store\")
+@end lisp
+
+String are passed directly to the Docker CLI. You can refer to the
+@url{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream}
+documentation for semantics."
+ (sanitizer oci-sanitize-volumes))
+ (container-user
+ (maybe-string)
+ "Set the current user inside the spawned container. You can refer to the
+@url{https://docs.docker.com/engine/reference/run/#user,upstream}
+documentation for semantics.")
+ (workdir
+ (maybe-string)
+ "Set the current working for the spawned Shepherd service.
+You can refer to the
+@url{https://docs.docker.com/engine/reference/run/#workdir,upstream}
+documentation for semantics."))
+
+(define oci-container-configuration->options
+ (lambda (config)
+ (let ((entrypoint
+ (oci-container-configuration-entrypoint config))
+ (network
+ (oci-container-configuration-network config))
+ (user
+ (oci-container-configuration-user config))
+ (workdir
+ (oci-container-configuration-workdir config)))
+ (apply append
+ (filter (compose not unspecified?)
+ `(,(if (maybe-value-set? entrypoint)
+ `("--entrypoint" ,entrypoint)
+ '())
+ ,(append-map
+ (lambda (spec)
+ (list "--env" spec))
+ (oci-container-configuration-environment config))
+ ,(if (maybe-value-set? network)
+ `("--network" ,network)
+ '())
+ ,(if (maybe-value-set? user)
+ `("--user" ,user)
+ '())
+ ,(if (maybe-value-set? workdir)
+ `("--workdir" ,workdir)
+ '())
+ ,(append-map
+ (lambda (spec)
+ (list "-p" spec))
+ (oci-container-configuration-ports config))
+ ,(append-map
+ (lambda (spec)
+ (list "-v" spec))
+ (oci-container-configuration-volumes config))))))))
+
+(define (oci-container-shepherd-service config)
+ (define (guess-name name image)
+ (if (maybe-value-set? name)
+ name
+ (string-append "docker-"
+ (basename (car (string-split image #\:))))))
+
+ (let* ((docker-command (file-append docker-cli "/bin/docker"))
+ (user (oci-container-configuration-user config))
+ (group (oci-container-configuration-group config))
+ (command (oci-container-configuration-command config))
+ (provision (oci-container-configuration-provision config))
+ (image (oci-container-configuration-image config))
+ (options (oci-container-configuration->options config))
+ (name (guess-name provision image)))
+
+ (shepherd-service (provision `(,(string->symbol name)))
+ (requirement '(dockerd user-processes))
+ (respawn? #f)
+ (documentation
+ (string-append
+ "Docker backed Shepherd service for image: " image))
+ (start
+ #~(make-forkexec-constructor
+ ;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
+ (list #$docker-command "run" "--rm"
+ "--name" #$name
+ #$@options #$image #$@command)
+ #:user #$user
+ #:group #$group))
+ (stop
+ #~(lambda _
+ (invoke #$docker-command "rm" "-f" #$name)))
+ (actions
+ (list
+ (shepherd-action
+ (name 'pull)
+ (documentation
+ (format #f "Pull ~a's image (~a)."
+ name image))
+ (procedure
+ #~(lambda _
+ (invoke #$docker-command "pull" #$image)))))))))
+
+(define %oci-container-accounts
+ (list (user-account
+ (name "oci-container")
+ (comment "OCI services account")
+ (group "docker")
+ (system? #t)
+ (home-directory "/var/empty")
+ (shell (file-append shadow "/sbin/nologin")))))
+
+(define (configs->shepherd-services configs)
+ (map oci-container-shepherd-service configs))
+
+(define oci-container-service-type
+ (service-type (name 'oci-container)
+ (extensions (list (service-extension profile-service-type
+ (lambda _ (list docker-cli)))
+ (service-extension account-service-type
+ (const %oci-container-accounts))
+ (service-extension shepherd-root-service-type
+ configs->shepherd-services)))
+ (default-value '())
+ (extend append)
+ (compose concatenate)
+ (description
+ "This service allows the management of Docker and OCI
+containers as Shepherd services.")))