diff options
author | John Kehayias <john.kehayias@protonmail.com> | 2023-11-26 11:12:59 -0500 |
---|---|---|
committer | John Kehayias <john.kehayias@protonmail.com> | 2023-11-26 11:12:59 -0500 |
commit | d15ffea6f47a40a9d36f3f32935e63f92e90af03 (patch) | |
tree | 826b3be17acf0f680e7888b3f7a3eeeaaedded7d /gnu | |
parent | 8d2a5a36af4c36dfa08c7ee75d7a06ebb7a8225a (diff) | |
parent | 176440c056fdde6da98b11720989b1ed060ec97c (diff) | |
download | guix-d15ffea6f47a40a9d36f3f32935e63f92e90af03.tar.gz guix-d15ffea6f47a40a9d36f3f32935e63f92e90af03.zip |
Merge branch 'master' into mesa-updates
Change-Id: Ide02272218e76dfae6dc9f8748871c8d61704260
Diffstat (limited to 'gnu')
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."))) |