diff options
61 files changed, 2097 insertions, 863 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index 6a11e1b23b..f262d4d95a 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix @@ -275,9 +275,13 @@ _guix_complete () fi elif [[ "$command" = "environment" || "$command" = "shell" ]] then - if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l - then - _guix_complete_file + if _guix_is_dash_f && [[ "$command" = "shell" ]] + then + # The otherwise identical ‘guix environment’ lacks the ‘-f’ option. + _guix_complete_file + elif _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l + then + _guix_complete_file elif _guix_is_option "$word_at_point" then _guix_complete_option "$command_index" "$word_at_point" diff --git a/gnu/ci.scm b/gnu/ci.scm index 283b7e34f4..6039af8f07 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -140,7 +140,7 @@ SYSTEM." ;; chain.) (list gcc-8 gcc-9 gcc-10 gcc-11 glibc binutils gmp mpfr mpc coreutils findutils diffutils patch sed grep - gawk gnu-gettext hello guile-2.2 guile-3.0 zlib gzip xz + gawk gnu-gettext hello guile-2.2 guile-3.0 zlib gzip xz guix %bootstrap-binaries-tarball %binutils-bootstrap-tarball (%glibc-bootstrap-tarball) diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index cf121e79a6..289cd660fd 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1169,9 +1169,8 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise." (lambda (key-file) (syslog "formatting and opening LUKS entry ~s at ~s~%" label file-name) - (system* "cryptsetup" "-q" "luksFormat" "--type" "luks2" - "--pbkdf" "pbkdf2" file-name key-file) - (system* "cryptsetup" "open" + (system* "cryptsetup" "-q" "luksFormat" file-name key-file) + (system* "cryptsetup" "open" "--type" "luks" "--key-file" key-file file-name label))))) (define (luks-close user-partition) diff --git a/gnu/local.mk b/gnu/local.mk index efc12fa370..0d39de5c6e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -885,6 +885,7 @@ dist_patch_DATA = \ %D%/packages/patches/bc-fix-cross-compilation.patch \ %D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \ %D%/packages/patches/bear-disable-preinstall-tests.patch \ + %D%/packages/patches/bind-re-add-attr-constructor-priority.patch \ %D%/packages/patches/brightnessctl-elogind-support.patch \ %D%/packages/patches/bsd-games-2.17-64bit.patch \ %D%/packages/patches/bsd-games-add-configure-config.patch \ @@ -1189,6 +1190,7 @@ dist_patch_DATA = \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/go-fix-script-tests.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 \ %D%/packages/patches/go-skip-gc-test.patch \ @@ -1255,7 +1257,6 @@ dist_patch_DATA = \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-makeicecat.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ - %D%/packages/patches/icecat-CVE-2021-43527.patch \ %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \ @@ -1763,6 +1764,8 @@ dist_patch_DATA = \ %D%/packages/patches/screen-hurd-path-max.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seed-webkit.patch \ + %D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch \ + %D%/packages/patches/sendgmail-remove-domain-restriction.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/serf-python3.patch \ %D%/packages/patches/shakespeare-spl-fix-grammar.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 1d934f0d89..afb3afac75 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,6 +130,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) @@ -1171,7 +1173,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "32") + (bind-patch-version "36") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -1330,7 +1332,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "0hhkb4d14hvly2751cxl2s2xyim3bri8qaisgkcm456xfi5wpy6b")))) + "108nh7hha4r0lb5hf1fn7lqaascvhsrghpz6afm5lf9vf2vgqly9")))) ("coreutils*" ,coreutils) ("sed*" ,sed))) @@ -1551,6 +1553,56 @@ console window to allow commands to be interactively run on multiple servers over ssh connections.") (license license:gpl2+))) +(define-public realmd + (package + (name "realmd") + (version "0.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/freedesktop/realmd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c6q2a86kk2f1akzc36nh52hfwsmmc0mbp6ayyjxj4zsyk9zx5bf")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--with-systemd-unit-dir=no" + "--with-systemd-journal=no" + "--with-distro=GNU guix" + "--disable-doc") + #:phases + (modify-phases %standard-phases + (add-before 'install 'fix-service + (lambda* (#:key outputs #:allow-other-keys) + ;; GNU Guix does not have service config file, therefore we remove + ;; the line that copies the file. + (substitute* "Makefile" + ((".*/service/realmd-.*") ""))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib-bin" ,glib "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("glib" ,glib) + ("mit-krb5" ,mit-krb5) + ("openldap" ,openldap) + ("polkit" ,polkit))) + (synopsis "DBus service for network authentication") + (description "This package provides an on demand system DBus service. +It allows callers to configure network authentication and domain membership +in a standard way. Realmd discovers information about the domain or realm +automatically and does not require complicated configuration in order to join +a domain or realm. Dbus system service that manages discovery and enrollment in +realms/domains like Active Directory or IPA.") + (home-page "https://www.freedesktop.org/software/realmd/") + (license license:lgpl2.1+))) + (define-public rename (package (name "rename") @@ -3755,14 +3807,14 @@ information tool.") (define-public nnn (package (name "nnn") - (version "4.1.1") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/jarun/nnn/releases/download/v" version "/nnn-v" version ".tar.gz")) (sha256 - (base32 "1fnf35s3b2nfp18s712n5vhg6idx4rfgwdfv74nc2933v9l2dq7h")))) + (base32 "0lqn7pyy8c1vy29vn8ad4x23cw67cy1d21ghns6f3w9a1h7kyjp0")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 1beb739aa7..d30b9b7930 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -343,7 +343,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.7.0-39") + (version "1.7.0-43") (source (origin (method url-fetch) @@ -355,7 +355,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "0mmdzhnahiz6hr7a4brnjdmmm4mcaqkigrh1b6n9z5l46bilaii3")))) + (base32 "0zsa506isvmixwwg0xgvxhlns6i75jsc3qjzcrny4fl11hkj9xw5")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index dad111472a..e390001d06 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -671,7 +671,8 @@ file system.") (add-after 'enter-source 'patch-source (lambda _ (substitute* "Android.mk" - (("libext4_utils_host") "libext4_utils_host libselinux libpcre")) + (("libext4_utils_host") "libext4_utils_host libselinux libpcre") + (("\\$\\(shell git .*\\)") ,version)) #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index edf2958dac..b60f6ae846 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -143,6 +143,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages shells) + #:use-module (gnu packages skribilo) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) @@ -16009,3 +16010,56 @@ identifying multiple clusters/cell types, learning the batch effects from the control samples and applying quantile normalization on all markers of interest.") (license license:gpl2+)))) + +(define-public ccwl + (package + (name "ccwl") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://ccwl.systemreboot.net/releases/ccwl-" + version ".tar.lz")) + (sha256 + (base32 + "1ar8rfz3zrksgygrv67zv77y8gfvvz54zcs546jn6j28y20basla")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings + #:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (effective-version (target-guile-effective-version))) + (wrap-program (string-append out "/bin/ccwl") + `("GUILE_LOAD_PATH" prefix + (,(string-append out "/share/guile/site/" effective-version) + ,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append out "/lib/guile/" effective-version "/site-ccache") + ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))) + (inputs + `(("bash" ,bash-minimal) + ("guile" ,guile-3.0) + ("guile-libyaml" ,guile-libyaml))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("lzip" ,lzip) + ;; To build documentation + ("cwltool" ,cwltool) + ("graphviz" ,graphviz) + ("skribilo" ,skribilo))) + (home-page "https://ccwl.systemreboot.net") + (synopsis "Concise common workflow language") + (description "The @acronym{ccwl, Concise Common Workflow Language} is a +concise syntax to express CWL workflows. ccwl is a compiler to generate CWL +workflows from concise descriptions in ccwl. It is implemented as an +@acronym{EDSL, Embedded Domain Specific Language} in the Scheme programming +language.") + (license license:gpl3+))) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 183b44f2c3..6b2f4ad4a3 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -51,7 +51,7 @@ supported content to the Kodi media center.") (define ublock-origin (package (name "ublock-origin") - (version "1.38.6") + (version "1.39.2") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -60,7 +60,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "1jdi7p537dj0bpxsdnvs722cw8xv5ifh8mjj1ndwjvgasvj18fsd")))) + "12dqn7hm72ha7xclc7cny67l1ndsanhpgbwx1s9d74z0jhdl2iks")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 375a00e1a6..50a00e5a90 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -587,32 +587,6 @@ and it supports a very flexible form of test discovery.") has been designed to be fast, light and unintrusive.") (license license:expat))) -(define-public go-gopkg.in-check.v1 - (let ((commit "788fd78401277ebd861206a03c884797c6ec5541") - (revision "1")) - (package - (name "go-gopkg.in-check.v1") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/go-check/check") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a")))) - (build-system go-build-system) - (arguments - '(#:import-path "gopkg.in/check.v1")) - (propagated-inputs - `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty))) - (synopsis "Rich testing extension for Go's testing package") - (description - "@code{check} is a rich testing extension for Go's testing package.") - (home-page "https://github.com/go-check/check") - (license license:bsd-2)))) - (define-public go-github.com-smartystreets-gunit (package (name "go-github.com-smartystreets-gunit") diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index c5d7fccd63..420c53cf36 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -336,7 +336,7 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %chromium-version "96.0.4664.45") +(define %chromium-version "96.0.4664.93") (define %ungoogled-revision (string-append %chromium-version "-1")) (define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491") (define %debian-revision "debian/90.0.4430.85-1") @@ -367,7 +367,7 @@ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "1k0kf5ika1sz489bcbn485kmdq1xp7ssa80gbqrpd60xihkhnrm3")))) + "0r8cwriaxbmzy9sxa6mx71h8n1a0x7pdx3kmqc1sg97b2qwmg15r")))) (define %guix-patches (list (local-file @@ -477,7 +477,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "01q4fsf2cbx6g9nnaihvc5jj3ap8jq2gf16pnhf7ixzbhgcnm328")) + "14rlm91pzpdll6x2r1sxdswiv19h1ykxcq0csi9k9g0a9s71yyvw")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index e3be9bcdcd..d50056e948 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -3005,6 +3005,33 @@ the platform-specific getters provided by winit, or another library.") (description "This crate provides X11 library bindings for Rust.") (license license:expat))) +(define-public rust-x11rb-0.8 + (package + (name "rust-x11rb") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11rb" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "068g5ll4l5f35c2v098hj0kj2c9ma0r7v3pbli164q9g7w5hiyvg")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gethostname" ,rust-gethostname-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-libloading" ,rust-libloading-0.7) + ("rust-nix" ,rust-nix-0.20) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winapi-wsapoll" ,rust-winapi-wsapoll-0.1)))) + (home-page "https://github.com/psychon/x11rb") + (synopsis "Rust bindings to X11") + (description "This package provides Rust bindings to X11") + (license (list license:expat license:asl2.0)))) + (define-public rust-x11-clipboard-0.5 (package (name "rust-x11-clipboard") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index b8c4c7bd39..719f212181 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -2043,7 +2043,7 @@ escape codes.") (define-public rust-anyhow-1 (package (name "rust-anyhow") - (version "1.0.37") + (version "1.0.46") (source (origin (method url-fetch) @@ -2052,7 +2052,7 @@ escape codes.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11kaqp25lchr2ckyc46zm6blzndnw0w2w8qv0sp8z4xcxqgw2rzf")))) + "0w0zm1bqk5kbk834r4xszlzqiln4vw5k1lnlswyjkh24khi2ia1s")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -2267,20 +2267,21 @@ coverage-guided, mutation-based fuzzers.") (define-public rust-arboard-1 (package (name "rust-arboard") - (version "1.1.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (crate-uri "arboard" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0wpyv732fxkplmiwik1sbgdlnbk748w1aqpkc71gn5lm2ns9w545")))) + (base32 "1a5qfmpzcf5rwlwsligf9z1gzndpvj0jncc4s3k3z5g214c4l127")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-clipboard-win" ,rust-clipboard-win-4) ("rust-core-graphics" ,rust-core-graphics-0.21) + ("rust-env-logger" ,rust-env-logger-0.8) ("rust-image" ,rust-image-0.23) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) @@ -2288,9 +2289,11 @@ coverage-guided, mutation-based fuzzers.") ("rust-objc-foundation" ,rust-objc-foundation-0.1) ("rust-objc-id" ,rust-objc-id-0.1) ("rust-scopeguard" ,rust-scopeguard-1) + ("rust-simple-logger" ,rust-simple-logger-1) ("rust-thiserror" ,rust-thiserror-1) ("rust-winapi" ,rust-winapi-0.3) - ("rust-xcb" ,rust-xcb-0.9)))) + ("rust-wl-clipboard-rs" ,rust-wl-clipboard-rs-0.4) + ("rust-x11rb" ,rust-x11rb-0.8)))) (home-page "https://github.com/ArturKovacs/arboard") (synopsis "Image and text handling for the OS clipboard") (description @@ -2375,6 +2378,71 @@ coverage-guided, mutation-based fuzzers.") @code{arg_enum}.") (license license:expat))) +(define-public rust-argh-shared-0.1 + (package + (name "rust-argh-shared") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "argh_shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0crzkzr4mq9gyys3m0idgsfwwrwd4dk70scp7rspvb2fmgd01piq")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/google/argh") + (synopsis "Derive-based argument parsing optimized for code size") + (description "Derive-based argument parsing optimized for code size") + (license license:bsd-3))) + +(define-public rust-argh-derive-0.1 + (package + (name "rust-argh-derive") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "argh_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "13qz9i9frdjl1v9aqw5b2cs7wn3h34x2xkpsi9wcl1hcpjd23ba8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? + #t + #:cargo-inputs + (("rust-argh-shared" ,rust-argh-shared-0.1) + ("rust-heck" ,rust-heck-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/google/argh") + (synopsis "Derive-based argument parsing optimized for code size") + (description "Derive-based argument parsing optimized for code size") + (license license:bsd-3))) + +(define-public rust-argh-0.1 + (package + (name "rust-argh") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "argh" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1gy9y69d38q7f5147kj823swgggc3m30x7z2z1lrjpwpsxncf8zh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-argh-derive" ,rust-argh-derive-0.1) + ("rust-argh-shared" ,rust-argh-shared-0.1)))) + (home-page "https://github.com/google/argh") + (synopsis "Derive-based argument parser optimized for code size") + (description "Derive-based argument parser optimized for code size") + (license license:bsd-3))) + (define-public rust-argon2rs-0.2 (package (name "rust-argon2rs") @@ -4084,6 +4152,26 @@ methods.") "This package provides a simple interface for querying atty.") (license license:expat))) +(define-public rust-atty-0.2.11 + (package + (inherit rust-atty-0.2) + (name "rust-atty") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lln6vaczj521qqjbaqnb81w5p6xk4fjfkg33r0m22cm4f3mnzcs")))) + (arguments + `(#:skip-build? + #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-termion" ,rust-termion-1) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-autocfg-1 (package (name "rust-autocfg") @@ -14136,6 +14224,31 @@ for arbitrary structs.") #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))))) +(define-public rust-derive-builder-0.7 + (package + (inherit rust-derive-builder-0.9) + (name "rust-derive-builder") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "derive_builder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m34zpj6fw764g7s368r2wgazp154m24d4rshbgn18fdlfk3zi9s")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiletest-rs" ,rust-compiletest-rs-0.3) + ("rust-darling" ,rust-darling-0.9) + ("rust-derive-builder-core" ,rust-derive-builder-core-0.5) + ("rust-env-logger" ,rust-env-logger-0.5) + ("rust-log" ,rust-log-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-skeptic" ,rust-skeptic-0.13) + ("rust-syn" ,rust-syn-0.15)))))) + (define-public rust-derive-builder-0.5 (package (inherit rust-derive-builder-0.9) @@ -14212,6 +14325,27 @@ for arbitrary structs.") #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))))) +(define-public rust-derive-builder-core-0.5 + (package + (inherit rust-derive-builder-core-0.9) + (name "rust-derive-builder-core") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "derive_builder_core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0drbjk6n8ywls8cmhp4r8xkyjsja0wk3854cn5mj8g1km4ys5202")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-darling" ,rust-darling-0.9) + ("rust-log" ,rust-log-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)))))) + (define-public rust-derive-builder-core-0.2 (package (inherit rust-derive-builder-core-0.9) @@ -14764,6 +14898,23 @@ Diesel.") "This crate provides all necessary tools for comparing word sequences.") (license license:expat))) +(define-public rust-diffr-lib-0.1 + (package + (name "rust-diffr-lib") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "diffr-lib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0id3hpblvvcw4ydcd1cc7wgcwqjbh3grlihrmd8zp7k0d2h47i3g")))) + (build-system cargo-build-system) + (home-page "https://github.com/mookid/diffr") + (synopsis "Implementation of Myers diff algorithm") + (description "An implementation of Myers diff algorithm.") + (license license:expat))) + (define-public rust-diffs-0.3 (package (name "rust-diffs") @@ -15572,6 +15723,28 @@ for graphs.") Rust.") (license license:expat))) +(define-public rust-dotenv-0.13 + (package + (inherit rust-dotenv-0.15) + (name "rust-dotenv") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dotenv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11jdifvvwbn60gf5iq2awyq9fik1d9xk7rhch332nwwnkhks3l60")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-clap" ,rust-clap-2) + ("rust-failure" ,rust-failure-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))))) + (define-public rust-dotenv-0.10 (package (inherit rust-dotenv-0.15) @@ -32133,6 +32306,26 @@ while still providing platform specific APIs.") to nl80211 and receive messages.") (license license:expat))) +(define-public rust-no-color-0.1 + (package + (name "rust-no-color") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "no_color" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m0x6i5q1jav2jgajkg4irrkfgv4lakpdvmj310b90wswdyy9xdx")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/sitkevij/no_color") + (synopsis "Library to detect NO_COLOR environment variable") + (description +"@code{no_color} is a rust library for detecting if the @code{NO_COLOR} +environment variable is set.") + (license license:expat))) + (define-public rust-no-panic-0.1 (package (name "rust-no-panic") @@ -48793,6 +48986,32 @@ extensions.") (description "This package provides a diff library for Rust.") (license license:asl2.0))) +(define-public rust-simple-logger-1 + (package + (name "rust-simple-logger") + (version "1.13.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "simple-logger" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "01wz5xjpski45xq8v1bg8g05flj5h1sl63aabl2c6kj0hz337pmp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-colored" ,rust-colored-1) + ("rust-log" ,rust-log-0.4) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/borntyping/rust-simple_logger") + (synopsis "Logger with a readable output format") + (description + "This package provides a logger that prints all messages with +a readable output format") + (license license:expat))) + (define-public rust-simple-mutex-1 (package (name "rust-simple-mutex") @@ -49998,6 +50217,45 @@ SPIR-V.") (description "Simple SPMC channel") (license (list license:expat license:asl2.0)))) +(define-public rust-rspotify-0.10 + (package + (name "rust-rspotify") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rspotify" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "196wd157l3fn6hlyixgffhl2x516g4fpa3s91arhcikiifsppzgf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-derive-builder" ,rust-derive-builder-0.7) + ("rust-dotenv" ,rust-dotenv-0.13) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-failure" ,rust-failure-0.1) + ("rust-itertools" ,rust-itertools-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-percent-encoding" ,rust-percent-encoding-1) + ("rust-rand" ,rust-rand-0.6) + ("rust-random" ,rust-random-0.12) + ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-url" ,rust-url-1) + ("rust-webbrowser" ,rust-webbrowser-0.5)))) + (home-page "https://github.com/ramsayleung/rspotify") + (synopsis "Spotify API wrapper") + (description "This package provides wrapper API forSpotify streaming +service.") + (license license:expat))) + (define-public rust-spsc-buffer-0.1 (package (name "rust-spsc-buffer") @@ -50404,6 +50662,32 @@ in @code{stb_truetype.h} from C to Rust.") codebase.") (license license:expat))) +(define-public rust-stderrlog-0.4 + (package + (name "rust-stderrlog") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "stderrlog" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09bzvmx2lzyycr1xfcvfwnvqsjg9kb4w22hb19bjqid5j2dyxr9j")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-atty" ,rust-atty-0.2.11) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-log" ,rust-log-0.4) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-thread-local" ,rust-thread-local-0.3.4)))) + (home-page "https://github.com/cardoe/stderrlog-rs") + (synopsis "Logger that logs to stderr") + (description "This package provides logger that logs to stderr based +on verbosity specified") + (license (list license:expat license:asl2.0)))) + (define-public rust-stdweb-0.4 (package (name "rust-stdweb") @@ -54173,6 +54457,25 @@ different for every thread.") `(#:skip-build? #t #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1)))))) +(define-public rust-thread-local-0.3.4 + (package + (inherit rust-thread-local-0.3) + (name "rust-thread-local") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread_local" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "055vj0ddb6vh0zaqdlxssfqzzpgs4ll5l5j7nqvabdzfgasw95qn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-unreachable" ,rust-unreachable-1)))))) + (define-public rust-thread-local-0.2 (package (inherit rust-thread-local-0.3) @@ -57168,6 +57471,38 @@ be used directly. See @code{rust-trackable} for more information.") recycle bin.") (license license:expat))) +(define-public rust-tree-magic-0.2 + (package + (name "rust-tree-magic") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "tree_magic" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0adndj775gjcvkf7yxdfj3pl39fcdiibswwgff23lm9yrrkr7ndi")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? + #t + #:cargo-inputs + (("rust-clap" ,rust-clap-2) + ("rust-fnv" ,rust-fnv-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nom" ,rust-nom-3) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-parking-lot" ,rust-parking-lot-0.10) + ("rust-petgraph" ,rust-petgraph-0.5) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tabwriter" ,rust-tabwriter-1) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/aahancoc/tree_magic/") + (synopsis "Determines the MIME type") + (description "This package determines the MIME type of a file by +traversing a filetype tree.") + (license license:expat))) + (define-public rust-treeline-0.1 (package (name "rust-treeline") @@ -58112,31 +58447,34 @@ the Trust-DNS client to use rustls for TLS.") parser.") (license (list license:expat license:asl2.0)))) -(define-public rust-tui-0.15 +(define-public rust-tui-0.16 (package (name "rust-tui") - (version "0.15.0") + (version "0.16.0") (source (origin (method url-fetch) (uri (crate-uri "tui" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0w9azg9zj1nnwcwbra9pxrwy47ab0m2bhanbkchydv8lscx8y7c6")))) + (base32 "08qcdjmi8sn2xyh38ilr17i9bn89ic2aaqx3rybyv7h44x7cxj1r")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cassowary" ,rust-cassowary-0.3) - ("rust-crossterm" ,rust-crossterm-0.19) + ("rust-crossterm" ,rust-crossterm-0.20) ("rust-easycurses" ,rust-easycurses-0.12) ("rust-pancurses" ,rust-pancurses-0.16) ("rust-rustbox" ,rust-rustbox-0.11) ("rust-serde" ,rust-serde-1) ("rust-termion" ,rust-termion-1) ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1)))) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs + (("rust-argh" ,rust-argh-0.1) + ("rust-rand" ,rust-rand-0.8)))) (home-page "https://github.com/fdehau/tui-rs") (synopsis "Library to build rich terminal user interfaces or dashboards") (description @@ -58144,6 +58482,32 @@ parser.") or dashboards.") (license license:expat))) +(define-public rust-tui-0.15 + (package + (inherit rust-tui-0.16) + (name "rust-tui") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tui" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0w9azg9zj1nnwcwbra9pxrwy47ab0m2bhanbkchydv8lscx8y7c6")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cassowary" ,rust-cassowary-0.3) + ("rust-crossterm" ,rust-crossterm-0.19) + ("rust-easycurses" ,rust-easycurses-0.12) + ("rust-pancurses" ,rust-pancurses-0.16) + ("rust-rustbox" ,rust-rustbox-0.11) + ("rust-serde" ,rust-serde-1) + ("rust-termion" ,rust-termion-1) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1)))))) + (define-public rust-tui-0.14 (package (inherit rust-tui-0.15) @@ -60827,6 +61191,44 @@ WebAssembly binary files.") modifications.") (license license:asl2.0))) +(define-public rust-wl-clipboard-rs-0.4 + (package + (name "rust-wl-clipboard-rs") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "wl-clipboard-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "rust-wl-clipboard-rs-newer-wl.patch")) + (sha256 + (base32 "1252cm67pkrr6ik5ys2cdyfr2zzw6ds7v351i1cmyi94yiv01l13")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-derive-new" ,rust-derive-new-0.5) + ("rust-derive-more" ,rust-derive-more-0.99) + ("rust-exitfailure" ,rust-exitfailure-0.5) + ("rust-failure" ,rust-failure-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-nix" ,rust-nix-0.18) + ("rust-os-pipe" ,rust-os-pipe-0.9) + ("rust-stderrlog" ,rust-stderrlog-0.4) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-tree-magic" ,rust-tree-magic-0.2) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.28)))) + (home-page "https://github.com/YaLTeR/wl-clipboard-rs") + (synopsis "Access to the Wayland clipboard") + (description "This package provides access to the Wayland clipboard +for terminal and other window-less applications.") + (license (list license:expat license:asl2.0)))) + (define-public rust-web-sys-0.3 (package (name "rust-web-sys") @@ -61482,6 +61884,27 @@ winapi.") (license (list license:unlicense license:expat)))) +(define-public rust-winapi-wsapoll-0.1 + (package + (name "rust-winapi-wsapoll") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-wsapoll" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0vnzlcm6yrlx0xdx4g7zr41n84aj73h0p8fwh0m60mbiyl873ha4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/psychon/winapi-wsapoll") + (synopsis "Safe wrapper around WSAPoll") + (description "This package provides safe wrapper around WSAPoll.") + (license (list license:expat license:asl2.0)))) + (define-public rust-winapi-x86-64-pc-windows-gnu-0.4 (package (name "rust-winapi-x86-64-pc-windows-gnu") diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 73c5244655..00a4e3f175 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Sam <smbaines8@gmail.com> ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,13 +50,13 @@ (define-public python-django (package (name "python-django") - (version "3.2.9") + (version "3.2.10") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "023ag89799z53034ya71b636gih7ldvgdgfc0zdzqbsjy4046a2i")))) + "1i6my7qrivj0ag9dq22lg0lq6maxapbdqrwy6v1cs2mlnhc8hkh7")))) (build-system python-build-system) (arguments '(#:phases @@ -132,15 +133,15 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (define-public python-django-2.2 (package (inherit python-django) - (version "2.2.24") + (version "2.2.25") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "1dvx3x85lggm91x7mpvaf9nmpxyz7r97pbpnmr2k1qfy0c7gyf9k")))) + "171ll8m1wp684z1r0lz93l377jc6jyq63q5p7sqx8iqk6ypmxrmi")))) (native-inputs - `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. + `(;; 2.2 requires Selenium for the test suite. ("python-selenium" ,python-selenium) ,@(package-native-inputs python-django))))) @@ -1333,3 +1334,28 @@ for filtering data. It allows the user to safely filter by model attributes and also specify the lookup type for each filter (very much like Django's filtering system in ORM).") (license license:expat))) + +(define-public python-django-svg-image-form-field + (package + (name "python-django-svg-image-form-field") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/artrey/django-svg-image-form-field") + (commit (string-append version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "131m545khn8l20j4x2bvlvz36dlbnhj9pc98i2dw72s3bw8pgws0")))) + (build-system python-build-system) + (propagated-inputs + `(("python-defusedxml" ,python-defusedxml) + ("python-django" ,python-django) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/artrey/django-svg-image-form-field") + (synopsis "Form field to validate SVG and other images") + (description "This form field allows users to provide SVG images for +models that use Django's standard @code{ImageField}, in addition to the +image files already supported by it.") + (license license:expat))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 1b785f2c83..63bf66647c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -373,15 +373,17 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.16") - (source (origin - (method url-fetch) - (uri (string-append - "https://ftp.isc.org/isc/bind9/" version - "/bind-" version ".tar.xz")) - (sha256 - (base32 - "0yqxfq7qc26x7qhk0nkp8h7x9jggzaafm712bvfffy7qml13k4bc")))) + (version "9.16.23") + (source + (origin + (method url-fetch) + (uri (string-append + "https://ftp.isc.org/isc/bind9/" version + "/bind-" version ".tar.xz")) + (sha256 + (base32 "0g0pxzhzcz6nzkiab4cs9sgbjdzqgy44aa477v7akdlwm8kmxnyy")) + (patches + (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index be46389319..392b4a5d8f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -235,7 +235,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.18") + (version "0.19") (source (origin (method git-fetch) @@ -244,7 +244,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1dd1jqfnwghqhsm2r5akqq1s4d621rd5rh93rxdqix2xg0nr9yp6")))) + (base32 "1pfdax2wsfyjz4ddfqh54n3lbxhqpg97grj7kgi641lbhppnq02g")))) (build-system emacs-build-system) (arguments '(#:phases @@ -11333,12 +11333,12 @@ CIDER).") (define-public emacs-sly ;; Update together with sbcl-slynk. - (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309")) + (let ((commit "0470c0281498b9de072fcbf3718fc66720eeb3d0")) ;; Versions are not always tagged. Besides, latest master contains ;; important fixes. (package (name "emacs-sly") - (version (git-version "1.0.43" "4" commit)) + (version (git-version "1.0.43" "5" commit)) (source (origin (method git-fetch) @@ -11348,7 +11348,7 @@ CIDER).") (file-name (git-file-name name version)) (sha256 (base32 - "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj")))) + "1ws2a9azmdkkg47xnd4jggna45nf0bh54gyp0799b44c4bgjp029")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -15061,7 +15061,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.") (define-public emacs-which-key (package (name "emacs-which-key") - (version "3.5.3") + (version "3.5.4") (source (origin (method git-fetch) @@ -15070,7 +15070,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "144i3hkgm36wnfmqk5vq390snziy3zhwifbh6q6dzs99ic77d5g6")))) + (base32 "0wz3bb7vzxqi3wqpn46z6ps00m9wjcpv9cfvqi7lyvm920sxzlv7")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -16011,14 +16011,14 @@ let users kill or mark things easily.") (define-public emacs-csv-mode (package (name "emacs-csv-mode") - (version "1.16") + (version "1.17") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "csv-mode-" version ".tar")) (sha256 - (base32 "1i43b2p31xhrf97xbdi35y550ysp69fasa5gcrhg6iyxw176807p")))) + (base32 "16kv3n70pl4h3jfmmqy9bzflsm4nv7cwvrj7g4mgy8yb76nbyka2")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/csv-mode.html") (synopsis "Major mode for editing comma/char separated values") @@ -17870,7 +17870,7 @@ files to be expanded upon opening them.") (define-public emacs-parsebib (package (name "emacs-parsebib") - (version "3.0.1") + (version "3.1") (source (origin (method git-fetch) @@ -17879,7 +17879,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1hd6izpb4irinjmfy7zxy8fqnr1fm4iw2sipvl9261nm68dzha6z")))) + (base32 "08vrkadjxaw1w1bx8dg12kxxkvgl65p0d7gkpfhwpvv35k0d9z3y")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/parsebib") (synopsis "Library for parsing @file{.bib} files") @@ -17890,7 +17890,7 @@ files to be expanded upon opening them.") (define-public emacs-ebib (package (name "emacs-ebib") - (version "2.33") + (version "2.34") (source (origin (method git-fetch) @@ -17899,7 +17899,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18gvmymkpzws8s4zjcm1kijyr55dgfcq201z3w1jzhkhcs01bfsc")))) + (base32 "0al846i1dn5wrx3r0ak63m80g9j9xk2q5cpcpk63lq0l0gfdff2m")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-biblio" ,emacs-biblio) @@ -20782,42 +20782,6 @@ and the Zotero research assistant: Insertion of links to Zotero items into an Org-mode file, and citations of Zotero items in Pandoc Markdown files.") (license license:gpl3+))) -(define-public emacs-evil-magit - (let ((commit "98c076fbeb6d2d7d71e02dc204ba3ad5d577abda") - (revision "5")) - (package - (name "emacs-evil-magit") - (version (git-version "0.4.2" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacs-evil/evil-magit") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0b4iplxh3rmy8jadhf05pgksv1798d68d1jrhfry93jca8x9crxs")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-evil" ,emacs-evil) - ("magit" ,emacs-magit))) - (arguments - `(#:tests? #t - #:test-command '("emacs" "-Q" "-batch" - "-L" "." - "-l" "evil-magit-tests" - "-f" "ert-run-tests-batch-and-exit"))) - (home-page - "https://github.com/emacs-evil/evil-magit") - (synopsis "Evil-based key bindings for Magit") - (description - "This Emacs library configures Magit and Evil to play well with each other. -For some background see @url{https://github.com/magit/evil-magit/issues/1}. -See the README at @url{https://github.com/justbur/evil-magit} for a table -describing the key binding changes.") - (license license:gpl3+)))) - (define-public emacs-evil-multiedit (package (name "emacs-evil-multiedit") @@ -21435,6 +21399,32 @@ and might also fail at times but makes it unnecessary to maintain package recipes.") (license license:gpl3+))) +(define-public emacs-dpd + ;; XXX: Upstream does not use tag yet. Version is extracted from "dpd.el". + (let ((commit "f53f251a58859f375617ce4f257fecc83c8ca5da") + (revision "0")) + (package + (name "emacs-dpd") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/lilyp/emacs-dpd") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nislvaxjb53x2ah330szcca4d595npx6zxrrwa5xximj6365wk0")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-packed" ,emacs-packed))) + (home-page "https://gitlab.com/lilyp/emacs-dpd") + (synopsis "Deliver packages to package.el") + (description + "This package provides tools for generating package-desc structures and +feeding them to package.el library.") + (license license:gpl3+)))) + (define-public emacs-picpocket (let ((version "41") (commit "fa3a49f011b5ae139728548fec7375743f61c7c7")) @@ -27147,7 +27137,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.") (define-public emacs-telega-server (package (name "emacs-telega-server") - (version "0.7.030") + (version "0.7.031") (source (origin (method git-fetch) @@ -27155,7 +27145,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.") (url "https://github.com/zevlg/telega.el") (commit (string-append "v" version)))) (sha256 - (base32 "1g29v5fgkqx43wsvh1npx0g3hj00n37lxgvxjvy85fs4h9226gl9")) + (base32 "05j82796s4k3yr0igl6hir3p8qj0cw66vvhbpbcy28d6q9v9vjjz")) (file-name (git-file-name "emacs-telega" version)) (patches (search-patches "emacs-telega-path-placeholder.patch" diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ee7c73893d..4237b042e3 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1175,7 +1175,7 @@ the 'showing the effect of'-style of operation.") (define-public valeronoi (package (name "valeronoi") - (version "0.1.4") + (version "0.1.6") (source (origin (method git-fetch) @@ -1185,7 +1185,7 @@ the 'showing the effect of'-style of operation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zp653bjqsyixa5j1pp9k12iqsl8dz72yyi38asxmcym1wngsjcd")))) + (base32 "1hpyh4mmjnxgkij7a6rynk2ril5413nkdvf8syn0lqvrmibdg7wv")))) (build-system cmake-build-system) (arguments `(#:phases @@ -2790,25 +2790,62 @@ GUI.") (define-public poke (package (name "poke") - (version "1.3") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/poke/poke-" version ".tar.gz")) (sha256 - (base32 - "06qgry1pal2vampmbmc1lzlhf1qnjkd8py781r5h020v981n6y5s")))) + (base32 "095a0qal1fwnqxnal0xb4mp0n4zy97j3ww1j04ij3jb0jpr4s1ff")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete files generated by Bison. + (delete-file "gl/parse-datetime.c") + (delete-file "gl/parse-datetime-gen.h") + (delete-file "jitter/example-vms/structured/structured-parser.c") + (delete-file "jitter/example-vms/structured/structured-parser.h") + (delete-file "jitter/jitterc/jitterc-parser.c") + (delete-file "jitter/jitterc/jitterc-parser.h") + (delete-file "jitter/jitter/jitter-routine-parser.c") + (delete-file "jitter/jitter/jitter-routine-parser.h") + (delete-file "libpoke/pkl-tab.c") + (delete-file "libpoke/pkl-tab.h") + (delete-file "poke/pk-map-tab.c") + (delete-file "poke/pk-map-tab.h") + ;; Delete files generated by flex. + (delete-file "jitter/example-vms/structured/structured-scanner.c") + (delete-file "jitter/example-vms/structured/structured-scanner.h") + (delete-file "jitter/jitterc/jitterc-scanner.c") + (delete-file "jitter/jitterc/jitterc-scanner.h") + (delete-file "jitter/jitter/jitter-routine-scanner.c") + (delete-file "jitter/jitter/jitter-routine-scanner.h") + (delete-file "libpoke/pkl-lex.c") + (delete-file "libpoke/pkl-lex.h") + (delete-file "poke/pk-map-lex.c") + (delete-file "poke/pk-map-lex.h") + ;; Other generated files: + (delete-file "jitter/example-vms/jitterlisp/jitterlispvm-vm1.c") + (delete-file "jitter/example-vms/jitterlisp/jitterlispvm-vm2.c") + (delete-file "jitter/example-vms/jitterlisp/jitterlispvm-vm.h") + (delete-file "jitter/example-vms/structured/structuredvm-vm1.c") + (delete-file "jitter/example-vms/structured/structuredvm-vm2.c") + (delete-file "jitter/example-vms/structured/structuredvm-vm.h") + (delete-file "jitter/example-vms/structured/structuredvm-vm-main.c") + (delete-file "jitter/example-vms/uninspired/uninspired-vm1.c") + (delete-file "jitter/example-vms/uninspired/uninspired-vm2.c") + (delete-file "jitter/example-vms/uninspired/uninspired-vm.h") + (delete-file "jitter/example-vms/uninspired/uninspired-vm-main.c") + (delete-file "libpoke/pvm-vm.h") + (delete-file "libpoke/pvm-vm1.c") + (delete-file "libpoke/pvm-vm2.c"))))) (build-system gnu-build-system) ;; The GUI, which we elide, requires tcl and tk. (native-inputs `(("bison" ,bison) - ("clisp" ,clisp) ("dejagnu" ,dejagnu) ("flex" ,flex) ("libtool" ,libtool) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python-2" ,python-2) - ("python-3" ,python-3))) + ("pkg-config" ,pkg-config))) ;; FIXME: Enable NBD support by adding `libnbd' (currently unpackaged). (inputs `(("json-c" ,json-c) ("libgc" ,libgc) @@ -2818,12 +2855,12 @@ GUI.") ;; To build the GUI, add the `--enable-gui' configure flag. ;; To enable the "hyperlink server", add the `--enable-hserver' flag. `(#:configure-flags '("--enable-mi"))) - (home-page "http://jemarch.net/poke.html") - (synopsis "Interactive, extensible editor for binary data") - (description "GNU poke is an interactive, extensible editor for binary - data. Not limited to editing basic entities such as bits and bytes, it - provides a full-fledged procedural, interactive programming language designed - to describe data structures and to operate on them.") + (home-page "https://www.gnu.org/software/poke/#documentation") + (synopsis "Editing of arbitrary binary data") + (description "GNU poke is an interactive, extensible editor for binary data. +Not limited to editing basic entities such as bits and bytes, it provides a +full-fledged procedural, interactive programming language designed to describe +data structures and to operate on them.") (license license:gpl3+))) (define-public pcb2gcode diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 306144c37a..30beb36eaf 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1505,26 +1505,22 @@ compatible directories.") (define-public python-dropbox (package (name "python-dropbox") - (version "11.5.0") + (version "11.25.0") (source (origin (method url-fetch) (uri (pypi-uri "dropbox" version)) (sha256 - (base32 - "16bxx9xqx2s4d9khrw57a0bj4q7nc6kq355wl4pfddn9cqvh9rg2")))) + (base32 "0vq9c2hp2amsxr2ys2mlgqp6a8hxmvrcwav70ri7wjzalfs32gj6")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; Tests require a network connection. (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) (propagated-inputs - `(("python-certifi" ,python-certifi) - ("python-chardet" ,python-chardet) - ("python-requests" ,python-requests) + `(("python-requests" ,python-requests) ("python-six" ,python-six) - ("python-stone" ,python-stone) - ("python-urllib3" ,python-urllib3))) + ("python-stone" ,python-stone))) (home-page "https://www.dropbox.com/developers") (synopsis "Official Dropbox API Client") (description "This package provides a Python SDK for integrating with the diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7177f20834..9ab860c9a1 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -665,7 +665,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.17.2.3") + (version "0.17.3.0") (source (origin (method git-fetch) @@ -690,7 +690,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (string-append all "\n#include <boost/mpl/contains.hpp>"))) #t)) (sha256 - (base32 "0nax991fshfh51grhh2ryfrwwws35k16gzl1l3niva28zff2xmq6")))) + (base32 "1spsf7m3x4psp9s7mivr6x4886jnbq4i8ll2dl8bv5bsdhcd3pjm")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -744,12 +744,13 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch #t)) ;; Only try tests that don't need access to network or system (replace 'check - (lambda _ + (lambda* (#:key tests? #:allow-other-keys) ;; Core tests sometimes fail, at least on i686-linux. ;; Let's disable them for now and just try hash tests ;; and unit tests. ;; (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test"))) - (invoke "make" "ARGS=-R 'hash' --verbose" "test"))) + (when tests? + (invoke "make" "ARGS=-R 'hash' --verbose" "test")))) (add-after 'check 'unit-tests (lambda _ (let ((excluded-unit-tests @@ -780,7 +781,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.17.2.3") + (version "0.17.3.0") (source (origin (method git-fetch) @@ -797,7 +798,7 @@ the Monero command line client and daemon.") (delete-file-recursively "monero") #t)) (sha256 - (base32 "0qb746z1sxqrja7q9lqhhbm64v83sn67az4k7gs5q90iaw584qfc")))) + (base32 "0sc3g8g4mlcgz1ys1mqx9klyfl02z17zv2z22clx33jni0l3bqkr")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -1141,7 +1142,7 @@ the KeepKey Hardware Wallet.") (commit "v0.14.4"))) (file-name (git-file-name name version)) (sha256 - (base32 "0nl44ldfw9s2v3p7g5bldfw3ds2hz9r28j42bpnp8bj0v5na3ivk")) + (base32 "1ksv494xpga27ifrjyn1bkqaya5h769lqb9rx1ng0n4kvmnrqr3l")) (modules '((guix build utils) (ice-9 ftw) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index aefc0a8b69..3ce4b0306e 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,18 +31,24 @@ #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages assembly) #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages cmake) + #:use-module (gnu packages curl) #:use-module (gnu packages cross-base) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages pkg-config)) (define-public ath9k-htc-firmware (package @@ -190,6 +197,33 @@ Broadcom/AirForce chipset BCM43xx with Wireless-Core Revision 5. It is used by the b43-open driver of Linux-libre.") (license license:gpl2))) +(define-public eg25-manager + (package + (name "eg25-manager") + (version "0.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/mobian1/devices/eg25-manager") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h4c4ndcnh88jn65h1kycxkjrydwwwh3irkxvpaxb6ry4wpc45r0")))) + (build-system meson-build-system) + (native-inputs `(("curl" ,curl) + ("glib" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs `(("libgpiod" ,libgpiod) + ("libgudev" ,libgudev) + ("libusb" ,libusb))) + (synopsis "Manager daemon for the Quectel EG25 mobile broadband modem") + (description + "This package provides a manager daemon for the Quectel EG25 mobile +broadband modem as found, for example, on PinePhone.") + (home-page "https://gitlab.com/mobian1/devices/eg25-manager") + (license license:gpl3+))) + (define* (make-opensbi-package platform name #:optional (arch "riscv64")) (package (name name) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index c3ad57f203..0e5904b2f0 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -35,7 +35,7 @@ ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020, 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> -;;; Copyright © 2020 Simen Endsjø <simendsjo@gmail.com> +;;; Copyright © 2020, 2021 Simen Endsjø <simendsjo@gmail.com> ;;; Copyright © 2020 Tim Van den Langenbergh <tmt_vdl@gmx.com> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> @@ -1279,7 +1279,7 @@ guix repl <<EOF (ice-9 string-fun) (gnu packages fonts)) -(let ((new-version "7.0.3") +(let ((new-version "11.2.0") (iosevka-hashes #nil) (iosevka-fails #nil)) (for-each (lambda (font) @@ -1313,7 +1313,7 @@ EOF (define-public font-iosevka (package (name "font-iosevka") - (version "7.0.3") + (version "11.2.0") (source (origin (method url-fetch/zipbomb) @@ -1321,7 +1321,7 @@ EOF "/releases/download/v" version "/ttc-iosevka-" version ".zip")) (sha256 - (base32 "08n1c2j38vd1qrf18ilgvq6rl7z9yrsyq9ljf037yiw6zlphx4da")))) + (base32 "16a5bbjy9kn62pbrmam6jvcki4xvbakxbqzv72kkpz7p10b10vz7")))) (build-system font-build-system) (home-page "https://be5invis.github.io/Iosevka/") (synopsis "Coders' typeface, built from code") @@ -1344,7 +1344,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/ttc-iosevka-slab-" version ".zip")) (sha256 - (base32 "1ggrbl8gi2hv8yiw7vw8cajlv7nkz8i975165cayyzppjlrfs3nr")))))) + (base32 "068nd8wph44r9ka3fd7b5jhph505w08ibn3dmd7czdcp1fkr7dhi")))))) (define-public font-iosevka-term (package @@ -1358,7 +1358,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/ttf-iosevka-term-" version ".zip")) (sha256 - (base32 "1jmbp3hni99l92653b356nbmj45kd54kbl6c6ws1k5jxydrjglrh")))) + (base32 "0a22pnr74l87ajprcki3j3fc5cryfr5krpxang0b51grkdb9l724")))) (arguments `(#:phases (modify-phases %standard-phases @@ -1379,7 +1379,7 @@ programming. Iosevka is completely generated from its source code.") "releases/download/v" version "/" "ttf-iosevka-term-slab-" version ".zip")) (sha256 - (base32 "19fc6jbkv0aif6ds9ddxaarz2ambzln7y6k2qjsczwlbznr8cf09")))) + (base32 "00nsykwa1r198wrh85d42vbjwpxxsmzdn3i4fighdrd3c99fbv60")))) (arguments `(#:phases (modify-phases %standard-phases @@ -1400,7 +1400,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/ttc-iosevka-aile-" version ".zip")) (sha256 - (base32 "1bkrk4dqkj45fbaac2n61a5kwxs3bk6sdm5hanw7g2h4xb83fi8d")))))) + (base32 "11xajywv20ah6yg3a0sqv2lp5phg8yv268dw2myz3ciazwnvdpqq")))))) (define-public font-iosevka-curly (package @@ -1414,7 +1414,7 @@ programming. Iosevka is completely generated from its source code.") "releases/download/v" version "/" "ttc-iosevka-curly-" version ".zip")) (sha256 - (base32 "12jdb38dlbwa58q0b0sf9sp1dcafzp9dcf71jf1wrlnn8047vxyx")))))) + (base32 "1ss11pdrk7k0kwbaklllz4mb961j6issjp53jpp7p9pvs4qad8xf")))))) (define-public font-iosevka-curly-slab (package @@ -1428,7 +1428,7 @@ programming. Iosevka is completely generated from its source code.") "releases/download/v" version "/" "ttc-iosevka-curly-slab-" version ".zip")) (sha256 - (base32 "0zn21bxyj0ni4vbdarwam2piixzvkdk769vg3k4fl3h03q56cj24")))))) + (base32 "141jyarpmln5q3cjyq79nw9kfm55vaiy3cin3rlamghrhjw8wg9q")))))) (define-public font-iosevka-etoile (package @@ -1442,7 +1442,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/ttc-iosevka-etoile-" version ".zip")) (sha256 - (base32 "0lnpdvv20g2bg6rwl0gv83bkbgfmkbyfxshhpw9vprfs2g8k6lil")))))) + (base32 "097b8acia49fqpsy3w6ldk73k4abn6z9mlkl1p4iw99k26ip1sy7")))))) (define-public font-sarasa-gothic (package diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 30a1b3d6a1..90855fc1e3 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1844,7 +1844,7 @@ games.") (define-public godot (package (name "godot") - (version "3.2.3") + (version "3.4") (source (origin (method git-fetch) (uri (git-reference @@ -1853,7 +1853,7 @@ games.") (file-name (git-file-name name version)) (sha256 (base32 - "19vrp5lhyvxbm6wjxzn28sn3i0s8j08ca7nani8l1nrhvlc8wi0v")) + "0y542zla6msgxf31rd0349d9j3ya7f3njnwmmrh8lmzfgxx86qbx")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) @@ -1868,19 +1868,23 @@ games.") "assimp" "certs" "cvtt" + "embree" "enet" "etc2comp" "fonts" "glad" "jpeg-compressor" "libsimplewebm" + "minimp3" "miniupnpc" "minizip" "misc" "nanosvg" + "oidn" "pvrtccompressor" "recastnavigation" "squish" + "stb_rect_pack" "tinyexr" "vhacd" "xatlas"))) @@ -1948,6 +1952,19 @@ games.") (wrap-program (string-append out "/bin/godot") `("PATH" ":" prefix (,(string-append zenity "/bin"))))) #t)) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a + ;; fix of the mesa package we wrap the pcb executable such that + ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. + ;; also append ld path for pulseaudio and alsa-lib + (let* ((out (assoc-ref outputs "out")) + (udev_path (string-append (assoc-ref inputs "udev") "/lib")) + (pulseaudio_path (string-append (assoc-ref inputs "pulseaudio") "/lib")) + (alas_lib_path (string-append (assoc-ref inputs "alsa-lib") "/lib"))) + (wrap-program (string-append out "/bin/godot") + `("LD_LIBRARY_PATH" ":" prefix (,udev_path ,pulseaudio_path ,alas_lib_path)))) + #t)) (add-after 'install 'install-godot-desktop (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1984,6 +2001,7 @@ games.") ("opusfile" ,opusfile) ("pcre2" ,pcre2) ("pulseaudio" ,pulseaudio) + ("udev" ,eudev) ;FIXME: required by mesa ("wslay" ,wslay) ("zenity" ,zenity) ("zstd" ,zstd "lib"))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9410eaf111..4ea9aaaa66 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2581,16 +2581,18 @@ modify quests for the Solarus engine."))) (define-public superstarfighter (package (name "superstarfighter") - (version "0.6.4") + (version "0.6.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/notapixelstudio/superstarfighter") - (commit (string-append "v" version)))) + ;; The commit is not tagged upstream: + ;; https://github.com/notapixelstudio/superstarfighter/commit/350605bf5454c26ebe2c57d8217edd03689c0573 + (commit "32521f467616bb390e3929d07e1936ff43fe64da"))) (file-name (git-file-name name version)) (sha256 - (base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y")))) + (base32 "1ckghzrfgvk9z1n5f4ivnamm6s8h9sbv0a3aq9pp4a3yrhkgld0k")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;there are no tests diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index f6d18bdcb6..a825b6661e 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -865,9 +865,9 @@ provides the GNU compiler for the Go programming language.") (tooldir (dirname (car (find-files exedir "^cgo$"))))) (wrap-program (string-append out "/bin/go") `("GCCGOTOOLDIR" = - (,(string-append "${GCCGOTOOLDIR-" tooldir "}"))) + (,(string-append "${GCCGOTOOLDIR:-" tooldir "}"))) `("GOROOT" = - (,(string-append "${GOROOT-" out "}"))))))) + (,(string-append "${GOROOT:-" out "}"))))))) (add-before 'configure 'fix-gotools-runpath (lambda _ (substitute* "gotools/Makefile.in" diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index a6386247f2..35304a7485 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml> +;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> ;;; ;;; This file is part of GNU Guix. ;;; @@ -982,40 +983,39 @@ palette.") (license license:gpl3)))) (define-public tiramisu - (let ((commit "8eb946dae0e2f98d3850d89e1bb535640e8c3266") - (revision "0")) - (package - (name "tiramisu") - (version (git-version "1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Sweets/tiramisu") - (commit commit))) - (sha256 - (base32 - "0wz2r8369d40vnxswknx0zxzbs03gzv0nc8al4g0ffg972p15j25")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "tiramisu" (string-append out "/bin")) - #t)))) - #:make-flags - (list (string-append "CC=" ,(cc-for-target))))) - (inputs - `(("glib" ,glib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://github.com/Sweets/tiramisu") - (synopsis "Desktop notifications, the UNIX way") - (description "tiramisu is a notification daemon based on dunst that -outputs notifications to STDOUT in order to allow the user to process -notifications any way they prefer.") - (license license:expat)))) + (package + (name "tiramisu") + (version "2.0.20211107") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Sweets/tiramisu") + (commit version))) + (sha256 + (base32 + "1n1x1ybbwbanibw7b90k7v4cadagl41li17hz2l8s2sapacvq3mw")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "tiramisu" (string-append out "/bin")) + #t)))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target))))) + (inputs + `(("glib" ,glib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://github.com/Sweets/tiramisu") + (synopsis "Desktop notifications, the UNIX way") + (description "tiramisu is a notification daemon based on dunst that outputs +notifications to STDOUT in order to allow the user to process notifications any +way they prefer.") + (license license:expat))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9313603048..596745f613 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10783,14 +10783,14 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (define-public lollypop (package (name "lollypop") - (version "1.4.6") + (version "1.4.24") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/lollypop/" "lollypop-" version ".tar.xz")) (sha256 - (base32 "1hlahr50gsagx1ifcdk4yn43xps6w0vqn0gnd6xckfc7qmg1pgq7")))) + (base32 "10cw3x75siibmnbh4zhfmf2vd08fqjs3lj3l4wpk6zj9h22ncfxw")))) (build-system meson-build-system) (arguments `(#:imported-modules @@ -10814,8 +10814,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (add-after 'install 'wrap-python (assoc-ref python:%standard-phases 'wrap))))) (native-inputs - `(("intltool" ,intltool) - ("itstool" ,itstool) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; For glib-compile-resources ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 32411d0d1b..0cd8dbd788 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -712,8 +712,8 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "91.3.0-guix0-preview1") -(define %icecat-build-id "20211102000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "91.4.0-guix0-preview1") +(define %icecat-build-id "20211207000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -735,11 +735,11 @@ in C/C++.") "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0v79c435vfbhsx7pqyq4jm5rv8iysig69wwqhvys1n0jy54m72qj")))) + "09xkzk27krzyj1qx8cjjn2zpnws1cncka75828kk7ychnjfq48p7")))) - (upstream-icecat-base-version "91.3.0") ; maybe older than base-version + (upstream-icecat-base-version "91.4.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "32631cac00953abbac61dc7ab1a0eafbdd59b53a") + (gnuzilla-commit "dd79d69e5dc6e6e751195001f322b30746be6903") (gnuzilla-source (origin (method git-fetch) @@ -751,7 +751,7 @@ in C/C++.") (string-take gnuzilla-commit 8))) (sha256 (base32 - "13ckga49h5azf0c6q3c6b6wcmahzyywryxgwmwr1dahsjgy0wwrw")))) + "1vv97wmgdmkwddh8n30dak5l8akzbw49ca0w6krhq9dnj7n74cxh")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -765,7 +765,6 @@ in C/C++.") (origin (method computed-origin-method) (file-name (string-append "icecat-" %icecat-version ".tar.xz")) - (patches (search-patches "icecat-CVE-2021-43527.patch")) (sha256 #f) (uri (delay diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d97267b939..41f4d1d218 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; Copyright © 2021 Chadwain Holness <chadwainholness@gmail.com> +;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -459,7 +460,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.14) (name "go") - (version "1.16.8") + (version "1.16.11") (source (origin (method git-fetch) @@ -469,7 +470,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (file-name (git-file-name name version)) (sha256 (base32 - "00zv65v09kr2cljxxqypk980r4b4aqjijhbw4ikppn8km68h831n")))) + "1jn45bci9cvkvybvy9ql2rsgj06kg3sl027vhv0h0bavgqa7qk20")))) (arguments (substitute-keyword-arguments (package-arguments go-1.14) ((#:tests? _) #t) @@ -618,7 +619,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.16) (name "go") - (version "1.17.1") + (version "1.17.4") (source (origin (method git-fetch) @@ -628,7 +629,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (file-name (git-file-name name version)) (sha256 (base32 - "0wk99lwpzp4qwrksl932lm9vb70nyf4vgb5lxwh7gzjcbhlqj992")))) + "14c08fmj2c5arcd73ryha2qhl2bawpm22rcbiq47a6x7kvr31hi4")))) (outputs '("out" "tests")) ; 'tests' contains distribution tests. (arguments `(#:modules ((ice-9 match) @@ -3047,41 +3048,6 @@ with the HTTP protocol definition.") API service accounts for Go.") (license license:asl2.0))) -(define-public go-github-com-google-gmail-oauth2-tools-go-sendgmail - (let ((commit "e3229155a4037267ce40f1a3a681f53221aa4d8d") - (revision "0")) - (package - (name "go-github-com-google-gmail-oauth2-tools-go-sendgmail") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/google/gmail-oauth2-tools") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cxpkiaajhq1gjsg47r2b5xgck0r63pvkyrkm7af8c8dw7fyn64f")))) - (propagated-inputs - `(("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2) - ("go-cloud-google-com-go-compute-metadata" - ,go-cloud-google-com-go-compute-metadata))) - (build-system go-build-system) - (arguments - '(#:unpack-path "github.com/google/gmail-oauth2-tools" - #:import-path "github.com/google/gmail-oauth2-tools/go/sendgmail")) - (home-page - "https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail") - (synopsis - "Sendmail-compatible tool for using Gmail with @code{git send-email}") - (description - "The @command{sendgmail} command provides a minimal sendmail-compatible -front-end that connects to Gmail using OAuth2. It is specifically designed -for use with @code{git send-email}. The command needs a Gmail API key to -function.") - (license license:asl2.0)))) - (define-public go-github-com-google-cadvisor (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd") (revision "0")) @@ -3886,7 +3852,7 @@ which satisfies the cron expression.") (define-public go-gopkg-in-yaml-v2 (package (name "go-gopkg-in-yaml-v2") - (version "2.2.2") + (version "2.4.0") (source (origin (method git-fetch) @@ -3896,7 +3862,18 @@ which satisfies the cron expression.") (file-name (git-file-name name version)) (sha256 (base32 - "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa")))) + "1pbmrpj7gcws34g8vwna4i2nhm9p6235piww36436xhyaa10cldr")) + (modules '((guix build utils))) + (snippet + '(begin + ;; https://github.com/go-yaml/yaml/issues/441 and + ;; https://github.com/go-yaml/yaml/pull/442 + ;; Don't assume 64-bit wide integers + (substitute* "decode_test.go" + (("bin: (-0b1000000000000000000000000000000000000000000000000000000000000000)" all number) + (string-append "int64_min_base2: " number)) + (("map\\[string\\]interface\\{\\}\\{\"bin\": -9223372036854775808\\}") + "map[string]int64{\"int64_min_base2\": math.MinInt64}")))))) (build-system go-build-system) (arguments '(#:import-path "gopkg.in/yaml.v2")) @@ -7622,11 +7599,8 @@ ssh-agent process using the sample server. ") `(#:import-path "github.com/alcortesm/tgz" #:phases (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (lambda* (#:key outputs #:allow-other-keys) - (for-each make-file-writable (find-files ".")) - (for-each make-file-writable (find-files (assoc-ref outputs "out"))) - #t))))) + ;; Files are test fixtures, not generated. + (delete 'reset-gzip-timestamps)))) (home-page "https://github.com/alcortesm/tgz/") (synopsis "Go library to extract tgz files to temporal directories") (description "This package provides a Go library to extract tgz files to diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 674f19a8d8..dfdb0a5b56 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -182,7 +182,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (define-public gpxsee (package (name "gpxsee") - (version "7.37") + (version "10.0") (source (origin (method git-fetch) (uri (git-reference @@ -191,7 +191,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (file-name (git-file-name name version)) (sha256 (base32 - "0fpb43smh0kwic5pdxs46c0hkqj8g084h72pa024x1my6w12y9b8")))) + "0kj7130imhppb0bam34a1xr2lxk76fyida31idzvfk3m7z39w02w")))) (build-system gnu-build-system) (arguments '(#:phases @@ -206,7 +206,8 @@ coordinates as well as partial support for adjustments in global coordinate syst (string-append "PREFIX=" (assoc-ref outputs "out")))))))) (inputs - `(("qtbase" ,qtbase-5))) + `(("qtbase" ,qtbase-5) + ("qtlocation" ,qtlocation))) (native-inputs `(("qttools" ,qttools))) (home-page "https://www.gpxsee.org") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index a1562e555f..03c3c08171 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -4771,7 +4771,7 @@ locations.") (define-public guile-netlink (package (name "guile-netlink") - (version "1.1") + (version "1.1.1") (source (origin (method git-fetch) @@ -4781,7 +4781,7 @@ locations.") (file-name (git-file-name name version)) (sha256 (base32 - "1x1rx6agjdah56r50cfs41vyvycydyjdq0plq3jxgvl1q2dar1gw")))) + "0jcl6mzqy04if5drflmygmggbgzsxa42mlmskqb3cfqmksq0zj0y")))) (build-system gnu-build-system) (arguments `(#:tests? #f)); no tests diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 879e698265..5a3aba50b7 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -571,6 +571,39 @@ interface for those who are accustomed to the ircII way of doing things.") ;; distribute binaries. (license:non-copyleft "http://epicsol.org/copyright"))))) +(define-public litterbox + (package + (name "litterbox") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://git.causal.agency/litterbox/snapshot/litterbox-" + version ".tar.gz")) + (sha256 + (base32 "0ll5d18slngdg2qhaxkvrcq2p1admh0h7sr06wx8347ka0vvrgjl")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:make-flags + (list + (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("universal-ctags" ,universal-ctags))) + (inputs + `(("libressl" ,libressl) + ("sqlite" ,sqlite))) + (home-page "https://code.causal.agency/june/litterbox") + (synopsis "TLS-only IRC logger") + (description +"@command{litterbox} is a TLS-only IRC logger. It logs +events from IRC in a SQLite database, indexing messages for full-text +search. It is intended for use with the IRC bouncer @command{pounce}, +but can also be used independently as a logging bot.") + (license license:gpl3+))) + (define-public inspircd (package (name "inspircd") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b41c2d5b4f..4866f6bf05 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1335,8 +1335,8 @@ and the notification, WiFi, and Bluetooth LED.") (license license:gpl2))) (define-public rtl8821ce-linux-module - (let ((commit "897e7c4c15dd5a0a569745dc223d969a26ff5bfc") - (revision "3")) + (let ((commit "ca204c60724d23ab10244f920d4e50759ed1affb") + (revision "4")) (package (name "rtl8821ce-linux-module") (version (git-version "0.0.0" revision commit)) @@ -1349,7 +1349,7 @@ and the notification, WiFi, and Bluetooth LED.") (file-name (git-file-name name version)) (sha256 (base32 - "0935dzz0njxh78wfd17yqah1dxn6b3kaszvzclwwrwwhwcrdp80j")))) + "18ma8a8h1l90dss0k6al7q6plwr57jc9g67p22g9917k1jfbhm97")))) (build-system linux-module-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 01aa7b0d7a..465b0829c6 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1019,10 +1020,10 @@ antialiased TrueType font rendering using CLX and XRender extension.") (sbcl-package->ecl-package sbcl-clx-truetype)) (define-public sbcl-slynk - (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309")) + (let ((commit "0470c0281498b9de072fcbf3718fc66720eeb3d0")) (package (name "sbcl-slynk") - (version (git-version "1.0.43" "4" commit)) + (version (git-version "1.0.43" "5" commit)) (source (origin (method git-fetch) @@ -1031,7 +1032,7 @@ antialiased TrueType font rendering using CLX and XRender extension.") (url "https://github.com/joaotavora/sly") (commit commit))) (sha256 - (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj")) + (base32 "1ws2a9azmdkkg47xnd4jggna45nf0bh54gyp0799b44c4bgjp029")) (file-name (git-file-name "slynk" version)))) (build-system asdf-build-system/sbcl) (outputs '("out" "image")) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8fc9446300..5863ea8788 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca> ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1351,14 +1352,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.34.1") - (source (origin - (method url-fetch) - (uri (string-append "https://notmuchmail.org/releases/notmuch-" - version ".tar.xz")) - (sha256 - (base32 - "05nq64gp8vnrwrl22d60v7ixgdhm9339ajhcdfkq0ll1qiycyyj5")))) + (version "0.34.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://notmuchmail.org/releases/notmuch-" + version ".tar.xz")) + (sha256 + (base32 "1ls7dbgqhvyn9arf1r1jijfllypylgr5l86p489732gn8zpcxwn1")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1915,7 +1916,7 @@ facilities for checking incoming mail.") (package (name "dovecot") ;; Also update dovecot-pigeonhole when updating to a new minor version. - (version "2.3.17") + (version "2.3.17.1") (source (origin (method url-fetch) @@ -1923,7 +1924,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1y9dpn4jgzrfjibp5zrc11bdk0q843d998kxhpxkyfm2fz6i4i12")))) + (base32 "1f525bvpjvi4rnwqjsqaqrbdii08sqmc1v8xq03m19w1vk6cqrqw")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1979,7 +1980,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") (let ((dovecot-version (version-major+minor (package-version dovecot)))) (package (name "dovecot-pigeonhole") - (version "0.5.17") + (version "0.5.17.1") (source (origin (method url-fetch) @@ -1987,7 +1988,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") "https://pigeonhole.dovecot.org/releases/" dovecot-version "/" "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) (sha256 - (base32 "0j6ng173hh5iiqxdkxfb5v9djpn39gxdrv5ki7i22cf5cqwq47h3")) + (base32 "04j5z3y8yyci4ni9j9i7cy0zg1qj2sm9zfarmjcvs9vydpga7i1w")) (modules '((guix build utils))) (snippet '(begin @@ -2140,14 +2141,14 @@ hashing scheme (such as scrypt) plug-in for @code{Dovecot}.") (define-public isync (package (name "isync") - (version "1.4.3") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/isync/isync/" version "/isync-" version ".tar.gz")) (sha256 (base32 - "024p3glj4p7fhrssw5sr55arls9zna1igxxrspxlfd6sbds21ixl")))) + "1zq0wwvmqsl9y71546dr0aygzn9gjjfiw19hlcq87s929y4p6ckw")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -4004,8 +4005,8 @@ It is a replacement for the @command{urlview} program.") (license license:gpl2+))) (define-public mumi - (let ((commit "9f070bd90adc67064cd8aff4e40f303d5957ef4a") - (revision "5")) + (let ((commit "8a45281801ade7524dbdee423c28b326051719de") + (revision "6")) (package (name "mumi") (version (git-version "0.0.1" revision commit)) @@ -4017,7 +4018,7 @@ It is a replacement for the @command{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "1ym1j3nzy8qhd1ydadccbgm0nckkmnq3vnz9qh9x8rasx7zg1ldp")))) + "0p1i66j721y5hwbdy97kv4gw892nx7xrdfjrs12fn90cwkl611mp")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -4043,8 +4044,7 @@ It is a replacement for the @command{urlview} program.") `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) - #t)))))) + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))) (inputs `(("guile-email" ,guile-email-latest) ("guile-fibers" ,guile-fibers) @@ -4648,3 +4648,45 @@ feeds, converts them into emails, and sends them.") ;; GPL version 2 or 3. NOT 2+. (license (list license:gpl2 license:gpl3)))) + +(define-public sendgmail + (let ((commit "e3229155a4037267ce40f1a3a681f53221aa4d8d") + (revision "1")) + (package + (name "sendgmail") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/gmail-oauth2-tools") + (commit commit))) + (file-name (git-file-name name version)) + (patches (search-patches + "sendgmail-remove-domain-restriction.patch" + "sendgmail-accept-ignored-gsuite-flag.patch")) + (sha256 + (base32 + "1cxpkiaajhq1gjsg47r2b5xgck0r63pvkyrkm7af8c8dw7fyn64f")))) + (inputs + `(("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2) + ("go-cloud-google-com-go-compute-metadata" + ,go-cloud-google-com-go-compute-metadata))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/google/gmail-oauth2-tools" + #:import-path "github.com/google/gmail-oauth2-tools/go/sendgmail")) + (home-page + "https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail") + (synopsis + "Sendmail-compatible tool for using Gmail with @code{git send-email}") + (description + "The @command{sendgmail} command provides a minimal sendmail-compatible +front-end that connects to Gmail using OAuth2. It is specifically designed +for use with @code{git send-email}. The command needs a Gmail API key to +function. + +Guix's version of @command{sendgmail} has been patched for compatibility with +all known forks, including support for non-@code{@@gmail.com} email +addresses.") + (license license:asl2.0)))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 48cd994511..3ed454d92d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) @@ -1207,6 +1209,13 @@ of xmpppy.") (guix build utils)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; XXX Gajim builds fine on some (my) machines but fails elsewhere: + ;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data' + ;; https://dev.gajim.org/gajim/gajim/-/issues/10478 + (delete-file "test/lib/gajim_mocks.py") + (delete-file "test/unit/test_gui_interface.py"))) (replace 'check (lambda _ ;; Tests require a running X server. @@ -3186,6 +3195,37 @@ API. Mattermost is not required.") (home-page "https://github.com/42wim/matterbridge") (license license:asl2.0))) +(define-public pounce + (package + (name "pounce") + (version "3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://git.causal.agency/pounce/snapshot/pounce-" + version ".tar.gz")) + (sha256 + (base32 "1w4x34bspkqvk9p7bfj0zmvmbzvxb7lxrrr3g6lrfdj9f3qzfxpp")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;there are no tests + #:make-flags + (list + (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("universal-ctags" ,universal-ctags))) + (inputs + `(("libressl" ,libressl))) + (home-page "https://code.causal.agency/june/pounce") + (synopsis "Simple multi-client TLS-only IRC bouncer") + (description + "@command{pounce} is a multi-client, TLS-only IRC bouncer. It maintains +a persistent connection to an IRC server, acting as a proxy and buffer for +a number of clients.") + (license license:gpl3+))) + (define-public weechat-matrix (package (name "weechat-matrix") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 6d04aae59c..c01671b909 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -5210,7 +5210,7 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "21.06.1") + (version "21.12") (source (origin (method url-fetch) @@ -5218,7 +5218,7 @@ specification and header.") (version-major+minor version) "/" "rosegarden-" version ".tar.bz2")) (sha256 - (base32 "0yir279gxc5b298sr0fg9jxgdi75bb1gvvy4mh3pxqjsnp00sxc7")))) + (base32 "02984qff9rc2r83a5a5zgwawfgd583gnj2w3zvllsxaf0vdx6gnw")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index a731432530..909728fc66 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -772,7 +772,7 @@ the opam file format.") (define-public opam (package (name "opam") - (version "2.1.1") + (version "2.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -781,7 +781,7 @@ the opam file format.") (file-name (git-file-name name version)) (sha256 (base32 - "12cxpnkv8n90g66b31c7hsxl2yy537fgf19xhr6zn4n024bh6dh3")))) + "0mdr32mg63yaw89p44zx8b9dxp1167ckmlxkp8svd6fwgb3z49yx")))) (build-system dune-build-system) (arguments `(#:test-target "." @@ -1813,7 +1813,7 @@ module of this library is parameterised by the type of S-expressions.") (define-public ocaml-migrate-parsetree (package (name "ocaml-migrate-parsetree") - (version "2.2.0") + (version "2.3.0") (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree") (source (origin @@ -1824,7 +1824,7 @@ module of this library is parameterised by the type of S-expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0midpqjw53b5gx2zbkxs2hqrvh12y8n5681indficp9h3zr822l6")))) + "1nqmhsc72xmgm865nn8q0hngklhvqav281hgnx1gf5ns49a0n3ig")))) (build-system dune-build-system) (arguments `(#:tests? #f)) (propagated-inputs @@ -6202,7 +6202,7 @@ useful errors on failure.") (define-public ocaml-ppx-expect (package (name "ocaml-ppx-expect") - (version "0.14.1") + (version "0.14.2") (source (origin (method git-fetch) @@ -6212,7 +6212,7 @@ useful errors on failure.") (file-name (git-file-name name version)) (sha256 (base32 - "0vbbnjrzpyk5p0js21lafr6fcp2wqka89p1876rdf472cmg0l7fv")))) + "1v886rsl93wdmaw61z10q8nqshf8hvlznj9gym2ljrjz4cqyjsa4")))) (build-system dune-build-system) (propagated-inputs `(("ocaml-base" ,ocaml-base) @@ -7427,7 +7427,7 @@ representation.") (define-public ocaml-fix (package (name "ocaml-fix") - (version "20201120") + (version "20211125") (source (origin (method git-fetch) @@ -7437,7 +7437,7 @@ representation.") (file-name (git-file-name name version)) (sha256 (base32 - "1j40mg1gy03c0djzx3nzmpvnl984s14n04zwcmp2xnlidq48kvs4")))) + "00vq2das1l8xca013z7z7jy5622fsy3jha2cj72psp22wx9199l1")))) (build-system dune-build-system) (arguments ;; No tests. @@ -7466,10 +7466,33 @@ or the list of statically linked libraries with their versions. It supports reporting the version from the version control system during development to get an precise reference of when the executable was built."))) +(define-public ocaml-either + (package + (name "ocaml-either") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mirage/either") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "099p1m24vz5i0043zcfp88krzjsa2qbrphrm4bnx84gif5vgkxwm")))) + (build-system dune-build-system) + (arguments + ;; no tests + `(#:tests? #f)) + (home-page "https://github.com/mirage/either") + (synopsis "Compatibility Either module") + (description "This library is a compatibility module for the Either module +defined in OCaml 4.12.0.") + (license license:expat))) + (define-public ocamlformat (package (name "ocamlformat") - (version "0.19.0") + (version "0.20.0") (source (origin (method git-fetch) @@ -7479,7 +7502,7 @@ get an precise reference of when the executable was built."))) (file-name (git-file-name name version)) (sha256 (base32 - "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z")))) + "0zhvhb8ky0danmfvp4vvbh0pg89d7r7ka6m3q81vlyvb7gk08r6r")))) (build-system dune-build-system) (arguments '(#:package "ocamlformat" @@ -7491,6 +7514,7 @@ get an precise reference of when the executable was built."))) ("ocaml-base" ,ocaml-base) ("ocaml-cmdliner" ,ocaml-cmdliner) ("ocaml-dune-build-info" ,ocaml-dune-build-info) + ("ocaml-either" ,ocaml-either) ("ocaml-fix" ,ocaml-fix) ("ocaml-fpath" ,ocaml-fpath) ("ocaml-menhir" ,ocaml-menhir) diff --git a/gnu/packages/patches/bind-re-add-attr-constructor-priority.patch b/gnu/packages/patches/bind-re-add-attr-constructor-priority.patch new file mode 100644 index 0000000000..5d6765dd92 --- /dev/null +++ b/gnu/packages/patches/bind-re-add-attr-constructor-priority.patch @@ -0,0 +1,57 @@ +From 6361de07a35f2e9dc1d7201d6b26ca31da93ee69 Mon Sep 17 00:00:00 2001 +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Thu, 9 Dec 2021 01:07:32 +0100 +Subject: [PATCH] Revert "Remove priority from attribute + constructor/destructor" + +This reverts commit 0340df46ec5897636dd071bc8b5c4272cfa7d7be. It works +around an irrelevant operating system and breaks compilation on Guix: + +mem.c:873: fatal error: RUNTIME_CHECK(((pthread_mutex_lock(((&contextslock))) == 0) ? 0 : 34) == 0) failed +/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin/bash: line 1: 13768 Aborted ./${fuzzer} + +Let's simply revert it for now---there are securities at stake! +--- + lib/isc/include/isc/util.h | 8 ++++---- + lib/isc/lib.c | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/lib/isc/include/isc/util.h b/lib/isc/include/isc/util.h +index f0f7f85fa4..64c26587ac 100644 +--- a/lib/isc/include/isc/util.h ++++ b/lib/isc/include/isc/util.h +@@ -49,11 +49,11 @@ + #endif /* __GNUC__ */ + + #if HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR && HAVE_FUNC_ATTRIBUTE_DESTRUCTOR +-#define ISC_CONSTRUCTOR __attribute__((constructor)) +-#define ISC_DESTRUCTOR __attribute__((destructor)) ++#define ISC_CONSTRUCTOR(priority) __attribute__((constructor(priority))) ++#define ISC_DESTRUCTOR(priority) __attribute__((destructor(priority))) + #elif WIN32 +-#define ISC_CONSTRUCTOR +-#define ISC_DESTRUCTOR ++#define ISC_CONSTRUCTOR(priority) ++#define ISC_DESTRUCTOR(priority) + #endif + + /*% +diff --git a/lib/isc/lib.c b/lib/isc/lib.c +index f3576b2659..2a167fec21 100644 +--- a/lib/isc/lib.c ++++ b/lib/isc/lib.c +@@ -35,9 +35,9 @@ isc_lib_register(void) { + } + + void +-isc__initialize(void) ISC_CONSTRUCTOR; ++isc__initialize(void) ISC_CONSTRUCTOR(101); + void +-isc__shutdown(void) ISC_DESTRUCTOR; ++isc__shutdown(void) ISC_DESTRUCTOR(101); + + void + isc__initialize(void) { +-- +2.34.0 + diff --git a/gnu/packages/patches/go-github-com-golang-snappy-32bit-test.patch b/gnu/packages/patches/go-github-com-golang-snappy-32bit-test.patch new file mode 100644 index 0000000000..95b5819cdb --- /dev/null +++ b/gnu/packages/patches/go-github-com-golang-snappy-32bit-test.patch @@ -0,0 +1,53 @@ +https://salsa.debian.org/go-team/packages/golang-github-golang-snappy/-/raw/debian/0.0.2-2/debian/patches/0002-Skip-failed-test-on-32bit-system.patch + +From: Shengjing Zhu <zhsj@debian.org> +Date: Sun, 31 Jan 2021 22:41:42 +0800 +Subject: Skip failed test on 32bit system + +The test doesn't pass on old version too, not a regression. + +Bug: https://github.com/golang/snappy/issues/58 +--- + snappy_test.go | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/snappy_test.go b/snappy_test.go +index d7c3ea6..c310ba1 100644 +--- a/snappy_test.go ++++ b/snappy_test.go +@@ -19,6 +19,7 @@ import ( + "runtime" + "strings" + "testing" ++ "unsafe" + ) + + var ( +@@ -316,13 +317,22 @@ func TestDecode(t *testing.T) { + "\x06" + "\x0cabcd" + "\x07\x03\x00\x00\x00", + "abcdbc", + nil, +- }, { +- `decodedLen=0; tagCopy4, 4 extra length|offset bytes; with msb set (0x93); discovered by go-fuzz`, +- "\x00\xfc000\x93", +- "", +- ErrCorrupt, + }} + ++ if unsafe.Sizeof(int(0)) == 8 { ++ testCases = append(testCases, struct { ++ desc string ++ input string ++ want string ++ wantErr error ++ }{ ++ `decodedLen=0; tagCopy4, 4 extra length|offset bytes; with msb set (0x93); discovered by go-fuzz`, ++ "\x00\xfc000\x93", ++ "", ++ ErrCorrupt, ++ }) ++ } ++ + const ( + // notPresentXxx defines a range of byte values [0xa0, 0xc5) that are + // not present in either the input or the output. It is written to dBuf diff --git a/gnu/packages/patches/icecat-CVE-2021-43527.patch b/gnu/packages/patches/icecat-CVE-2021-43527.patch deleted file mode 100644 index 66706ea5e0..0000000000 --- a/gnu/packages/patches/icecat-CVE-2021-43527.patch +++ /dev/null @@ -1,354 +0,0 @@ -Fixes CVE-2021-43527. -Copied from <https://hg.mozilla.org/projects/nss/rev/dea71cbef9e03636f37c6cb120f8deccce6e17dd>, -but with the file names adjusted to allow easy use within GNU Guix. - -# HG changeset patch -# User Dennis Jackson <djackson@mozilla.com> -# Date 1637577642 0 -# Node ID dea71cbef9e03636f37c6cb120f8deccce6e17dd -# Parent da3d22d708c9cc0a32cff339658aeb627575e371 -Bug 1737470 - Ensure DER encoded signatures are within size limits. r=jschanck,mt,bbeurdouche,rrelyea - -Differential Revision: https://phabricator.services.mozilla.com/D129514 - ---- a/security/nss/lib/cryptohi/secvfy.c -+++ b/security/nss/lib/cryptohi/secvfy.c -@@ -159,58 +159,89 @@ verifyPKCS1DigestInfo(const VFYContext * - SECItem pkcs1DigestInfo; - pkcs1DigestInfo.data = cx->pkcs1RSADigestInfo; - pkcs1DigestInfo.len = cx->pkcs1RSADigestInfoLen; - return _SGN_VerifyPKCS1DigestInfo( - cx->hashAlg, digest, &pkcs1DigestInfo, - PR_FALSE /*XXX: unsafeAllowMissingParameters*/); - } - -+static unsigned int -+checkedSignatureLen(const SECKEYPublicKey *pubk) -+{ -+ unsigned int sigLen = SECKEY_SignatureLen(pubk); -+ if (sigLen == 0) { -+ /* Error set by SECKEY_SignatureLen */ -+ return sigLen; -+ } -+ unsigned int maxSigLen; -+ switch (pubk->keyType) { -+ case rsaKey: -+ case rsaPssKey: -+ maxSigLen = (RSA_MAX_MODULUS_BITS + 7) / 8; -+ break; -+ case dsaKey: -+ maxSigLen = DSA_MAX_SIGNATURE_LEN; -+ break; -+ case ecKey: -+ maxSigLen = 2 * MAX_ECKEY_LEN; -+ break; -+ default: -+ PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); -+ return 0; -+ } -+ if (sigLen > maxSigLen) { -+ PORT_SetError(SEC_ERROR_INVALID_KEY); -+ return 0; -+ } -+ return sigLen; -+} -+ - /* - * decode the ECDSA or DSA signature from it's DER wrapping. - * The unwrapped/raw signature is placed in the buffer pointed - * to by dsig and has enough room for len bytes. - */ - static SECStatus - decodeECorDSASignature(SECOidTag algid, const SECItem *sig, unsigned char *dsig, - unsigned int len) - { - SECItem *dsasig = NULL; /* also used for ECDSA */ -- SECStatus rv = SECSuccess; - -- if ((algid != SEC_OID_ANSIX9_DSA_SIGNATURE) && -- (algid != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) { -- if (sig->len != len) { -- PORT_SetError(SEC_ERROR_BAD_DER); -- return SECFailure; -+ /* Safety: Ensure algId is as expected and that signature size is within maxmimums */ -+ if (algid == SEC_OID_ANSIX9_DSA_SIGNATURE) { -+ if (len > DSA_MAX_SIGNATURE_LEN) { -+ goto loser; - } -- -- PORT_Memcpy(dsig, sig->data, sig->len); -- return SECSuccess; -+ } else if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { -+ if (len > MAX_ECKEY_LEN * 2) { -+ goto loser; -+ } -+ } else { -+ goto loser; - } - -- if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { -- if (len > MAX_ECKEY_LEN * 2) { -- PORT_SetError(SEC_ERROR_BAD_DER); -- return SECFailure; -- } -+ /* Decode and pad to length */ -+ dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); -+ if (dsasig == NULL) { -+ goto loser; - } -- dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); -- -- if ((dsasig == NULL) || (dsasig->len != len)) { -- rv = SECFailure; -- } else { -- PORT_Memcpy(dsig, dsasig->data, dsasig->len); -+ if (dsasig->len != len) { -+ SECITEM_FreeItem(dsasig, PR_TRUE); -+ goto loser; - } - -- if (dsasig != NULL) -- SECITEM_FreeItem(dsasig, PR_TRUE); -- if (rv == SECFailure) -- PORT_SetError(SEC_ERROR_BAD_DER); -- return rv; -+ PORT_Memcpy(dsig, dsasig->data, len); -+ SECITEM_FreeItem(dsasig, PR_TRUE); -+ -+ return SECSuccess; -+ -+loser: -+ PORT_SetError(SEC_ERROR_BAD_DER); -+ return SECFailure; - } - - const SEC_ASN1Template hashParameterTemplate[] = - { - { SEC_ASN1_SEQUENCE, 0, NULL, sizeof(SECItem) }, - { SEC_ASN1_OBJECT_ID, 0 }, - { SEC_ASN1_SKIP_REST }, - { 0 } -@@ -276,17 +307,17 @@ sec_GetEncAlgFromSigAlg(SECOidTag sigAlg - * - * Returns: SECSuccess if the algorithm was acceptable, SECFailure if the - * algorithm was not found or was not a signing algorithm. - */ - SECStatus - sec_DecodeSigAlg(const SECKEYPublicKey *key, SECOidTag sigAlg, - const SECItem *param, SECOidTag *encalgp, SECOidTag *hashalg) - { -- int len; -+ unsigned int len; - PLArenaPool *arena; - SECStatus rv; - SECItem oid; - SECOidTag encalg; - - PR_ASSERT(hashalg != NULL); - PR_ASSERT(encalgp != NULL); - -@@ -461,58 +492,62 @@ vfy_CreateContext(const SECKEYPublicKey - cx->wincx = wincx; - cx->hasSignature = (sig != NULL); - cx->encAlg = encAlg; - cx->hashAlg = hashAlg; - cx->key = SECKEY_CopyPublicKey(key); - cx->pkcs1RSADigestInfo = NULL; - rv = SECSuccess; - if (sig) { -- switch (type) { -- case rsaKey: -- rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, -- &cx->pkcs1RSADigestInfo, -- &cx->pkcs1RSADigestInfoLen, -- cx->key, -- sig, wincx); -- break; -- case rsaPssKey: -- sigLen = SECKEY_SignatureLen(key); -- if (sigLen == 0) { -- /* error set by SECKEY_SignatureLen */ -- rv = SECFailure; -+ rv = SECFailure; -+ if (type == rsaKey) { -+ rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, -+ &cx->pkcs1RSADigestInfo, -+ &cx->pkcs1RSADigestInfoLen, -+ cx->key, -+ sig, wincx); -+ } else { -+ sigLen = checkedSignatureLen(key); -+ /* Check signature length is within limits */ -+ if (sigLen == 0) { -+ /* error set by checkedSignatureLen */ -+ rv = SECFailure; -+ goto loser; -+ } -+ if (sigLen > sizeof(cx->u)) { -+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); -+ rv = SECFailure; -+ goto loser; -+ } -+ switch (type) { -+ case rsaPssKey: -+ if (sig->len != sigLen) { -+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); -+ rv = SECFailure; -+ goto loser; -+ } -+ PORT_Memcpy(cx->u.buffer, sig->data, sigLen); -+ rv = SECSuccess; - break; -- } -- if (sig->len != sigLen) { -- PORT_SetError(SEC_ERROR_BAD_SIGNATURE); -+ case ecKey: -+ case dsaKey: -+ /* decodeECorDSASignature will check sigLen == sig->len after padding */ -+ rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); -+ break; -+ default: -+ /* Unreachable */ - rv = SECFailure; -- break; -- } -- PORT_Memcpy(cx->u.buffer, sig->data, sigLen); -- break; -- case dsaKey: -- case ecKey: -- sigLen = SECKEY_SignatureLen(key); -- if (sigLen == 0) { -- /* error set by SECKEY_SignatureLen */ -- rv = SECFailure; -- break; -- } -- rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); -- break; -- default: -- rv = SECFailure; -- PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); -- break; -+ goto loser; -+ } -+ } -+ if (rv != SECSuccess) { -+ goto loser; - } - } - -- if (rv) -- goto loser; -- - /* check hash alg again, RSA may have changed it.*/ - if (HASH_GetHashTypeByOidTag(cx->hashAlg) == HASH_AlgNULL) { - /* error set by HASH_GetHashTypeByOidTag */ - goto loser; - } - /* check the policy on the hash algorithm. Do this after - * the rsa decode because some uses of this function get hash implicitly - * from the RSA signature itself. */ -@@ -645,21 +680,26 @@ VFY_EndWithSignature(VFYContext *cx, SEC - if (cx->hashcx == NULL) { - PORT_SetError(SEC_ERROR_INVALID_ARGS); - return SECFailure; - } - (*cx->hashobj->end)(cx->hashcx, final, &part, sizeof(final)); - switch (cx->key->keyType) { - case ecKey: - case dsaKey: -- dsasig.data = cx->u.buffer; -- dsasig.len = SECKEY_SignatureLen(cx->key); -+ dsasig.len = checkedSignatureLen(cx->key); - if (dsasig.len == 0) { - return SECFailure; - } -+ if (dsasig.len > sizeof(cx->u)) { -+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); -+ return SECFailure; -+ } -+ dsasig.data = cx->u.buffer; -+ - if (sig) { - rv = decodeECorDSASignature(cx->encAlg, sig, dsasig.data, - dsasig.len); - if (rv != SECSuccess) { - PORT_SetError(SEC_ERROR_BAD_SIGNATURE); - return SECFailure; - } - } -@@ -681,18 +721,23 @@ VFY_EndWithSignature(VFYContext *cx, SEC - cx->params, - &mech); - PORT_DestroyCheapArena(&tmpArena); - if (rv != SECSuccess) { - return SECFailure; - } - - rsasig.data = cx->u.buffer; -- rsasig.len = SECKEY_SignatureLen(cx->key); -+ rsasig.len = checkedSignatureLen(cx->key); - if (rsasig.len == 0) { -+ /* Error set by checkedSignatureLen */ -+ return SECFailure; -+ } -+ if (rsasig.len > sizeof(cx->u)) { -+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); - return SECFailure; - } - if (sig) { - if (sig->len != rsasig.len) { - PORT_SetError(SEC_ERROR_BAD_SIGNATURE); - return SECFailure; - } - PORT_Memcpy(rsasig.data, sig->data, rsasig.len); -@@ -744,37 +789,42 @@ VFY_End(VFYContext *cx) - static SECStatus - vfy_VerifyDigest(const SECItem *digest, const SECKEYPublicKey *key, - const SECItem *sig, SECOidTag encAlg, SECOidTag hashAlg, - void *wincx) - { - SECStatus rv; - VFYContext *cx; - SECItem dsasig; /* also used for ECDSA */ -- - rv = SECFailure; - - cx = vfy_CreateContext(key, sig, encAlg, hashAlg, NULL, wincx); - if (cx != NULL) { - switch (key->keyType) { - case rsaKey: - rv = verifyPKCS1DigestInfo(cx, digest); -+ /* Error (if any) set by verifyPKCS1DigestInfo */ - break; -- case dsaKey: - case ecKey: -+ case dsaKey: - dsasig.data = cx->u.buffer; -- dsasig.len = SECKEY_SignatureLen(cx->key); -+ dsasig.len = checkedSignatureLen(cx->key); - if (dsasig.len == 0) { -+ /* Error set by checkedSignatureLen */ -+ rv = SECFailure; - break; - } -- if (PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx) != -- SECSuccess) { -+ if (dsasig.len > sizeof(cx->u)) { - PORT_SetError(SEC_ERROR_BAD_SIGNATURE); -- } else { -- rv = SECSuccess; -+ rv = SECFailure; -+ break; -+ } -+ rv = PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx); -+ if (rv != SECSuccess) { -+ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); - } - break; - default: - break; - } - VFY_DestroyContext(cx, PR_TRUE); - } - return rv; - diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch index c5d376d793..2bd179946f 100644 --- a/gnu/packages/patches/monero-use-system-miniupnpc.patch +++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch @@ -1,14 +1,16 @@ diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt -index 7553f87e..8e865c6c 100644 +index 5b7f69a56..3a353a0f3 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt -@@ -37,19 +37,7 @@ +@@ -37,21 +37,7 @@ find_package(Miniupnpc REQUIRED) -message(STATUS "Using in-tree miniupnpc") +-set(UPNPC_NO_INSTALL TRUE CACHE BOOL "Disable miniupnp installation" FORCE) -add_subdirectory(miniupnp/miniupnpc) -set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +-set_property(TARGET libminiupnpc-static PROPERTY POSITION_INDEPENDENT_CODE ON) -if(MSVC) - set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") -elseif(NOT MSVC) @@ -24,12 +26,12 @@ index 7553f87e..8e865c6c 100644 find_package(Unbound) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl -index 74924e4f..3554dd0d 100644 +index d4b39869c..13071d898 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl -@@ -49,9 +49,9 @@ - #include "storages/levin_abstract_invoke2.h" +@@ -61,9 +61,9 @@ #include "cryptonote_core/cryptonote_core.h" + #include "net/parse.h" -#include <miniupnp/miniupnpc/miniupnpc.h> -#include <miniupnp/miniupnpc/upnpcommands.h> diff --git a/gnu/packages/patches/rust-wl-clipboard-rs-newer-wl.patch b/gnu/packages/patches/rust-wl-clipboard-rs-newer-wl.patch new file mode 100644 index 0000000000..9fb692e9a6 --- /dev/null +++ b/gnu/packages/patches/rust-wl-clipboard-rs-newer-wl.patch @@ -0,0 +1,26 @@ +diff --git a/Cargo.toml b/Cargo.toml +index 7b975e0..313cb63 100644 +--- a/Cargo.toml ++++ b/Cargo.toml.new +@@ -75,17 +75,17 @@ version = "3" + version = "0.2" + + [dependencies.wayland-client] +-version = "0.27" ++version = "0.28" + + [dependencies.wayland-protocols] +-version = "0.27" ++version = "0.28" + features = ["client", "unstable_protocols"] + [dev-dependencies.wayland-protocols] +-version = "0.27" ++version = "0.28" + features = ["server", "unstable_protocols"] + + [dev-dependencies.wayland-server] +-version = "0.27" ++version = "0.28" + + [features] + dlopen = ["native_lib", "wayland-client/dlopen", "wayland-server/dlopen"] diff --git a/gnu/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch b/gnu/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch new file mode 100644 index 0000000000..8405ff4e42 --- /dev/null +++ b/gnu/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch @@ -0,0 +1,39 @@ +From 854490dc4a8a6a661b4750730c3ff749519f6e36 Mon Sep 17 00:00:00 2001 +From: Philip McGrath <philip@philipmcgrath.com> +Date: Sun, 14 Nov 2021 10:14:24 -0500 +Subject: [PATCH] sendgmail: accept and ignore a "-gsuite" flag + +Accepting a "-gsuite" flag provides compatability with +https://github.com/Flameeyes/gmail-oauth2-tools/commit/eabb456 +so users do not have to change their scripts or config files. + +Full hash of original: eabb45608ff4ce04045ff4ea92d05450e789ac81 + +Related to https://github.com/google/gmail-oauth2-tools/pull/17 +--- + go/sendgmail/main.go | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/go/sendgmail/main.go b/go/sendgmail/main.go +index 405aa1b..5cfd0c1 100644 +--- a/go/sendgmail/main.go ++++ b/go/sendgmail/main.go +@@ -40,6 +40,7 @@ var ( + setUp bool + dummyF string + dummyI bool ++ gsuite bool + ) + + func init() { +@@ -47,6 +48,7 @@ func init() { + flag.BoolVar(&setUp, "setup", false, "If true, sendgmail sets up the sender's OAuth2 token and then exits.") + flag.StringVar(&dummyF, "f", "", "Dummy flag for compatibility with sendmail.") + flag.BoolVar(&dummyI, "i", true, "Dummy flag for compatibility with sendmail.") ++ flag.BoolVar(&gsuite, "gsuite", true, "Dummy flag for compatibility with other forks of sendgmail.") + } + + func main() { +-- +2.32.0 + diff --git a/gnu/packages/patches/sendgmail-remove-domain-restriction.patch b/gnu/packages/patches/sendgmail-remove-domain-restriction.patch new file mode 100644 index 0000000000..d23af33375 --- /dev/null +++ b/gnu/packages/patches/sendgmail-remove-domain-restriction.patch @@ -0,0 +1,34 @@ +From a5ecd1b2302d0def2f6f8349747022a615a9f017 Mon Sep 17 00:00:00 2001 +From: Tamas K Lengyel <tamas@tklengyel.com> +Date: Tue, 26 May 2020 13:27:50 -0600 +Subject: [PATCH] Don't limit to email with @gmail.com + +--- + go/sendgmail/main.go | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/go/sendgmail/main.go b/go/sendgmail/main.go +index b35ef23..405aa1b 100644 +--- a/go/sendgmail/main.go ++++ b/go/sendgmail/main.go +@@ -30,7 +30,6 @@ import ( + "log" + "net/smtp" + "os" +- "strings" + + "golang.org/x/oauth2" + googleOAuth2 "golang.org/x/oauth2/google" +@@ -52,9 +51,6 @@ func init() { + + func main() { + flag.Parse() +- if atDomain := "@gmail.com"; !strings.HasSuffix(sender, atDomain) { +- log.Fatalf("-sender must specify an %v email address.", atDomain) +- } + config := getConfig() + tokenPath := fmt.Sprintf("%v/.sendgmail.%v.json", os.Getenv("HOME"), sender) + if setUp { +-- +2.32.0 + diff --git a/gnu/packages/perl-maths.scm b/gnu/packages/perl-maths.scm index 4f70c85fcf..b1110f94d2 100644 --- a/gnu/packages/perl-maths.scm +++ b/gnu/packages/perl-maths.scm @@ -35,7 +35,12 @@ version ".tar.gz")) (sha256 (base32 - "18c3xg53d1vv7hlj43601jj7ks119fm6ndpwpv94irr2905806jn")))) + "18c3xg53d1vv7hlj43601jj7ks119fm6ndpwpv94irr2905806jn")) + ;; For reproducibility + (modules '((guix build utils))) + (snippet + '(substitute* "libmd/Makefile.PL" + (("readdir DIR") "sort readdir DIR"))))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Math-Cephes") (synopsis "Perl interface to the Cephes math library") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 96a77d8b58..2d6715440b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14812,7 +14812,6 @@ is made as zipfile like as possible.") `(("python-attrs" ,python-attrs) ("python-colorama" ,python-colorama) ("python-commonmark" ,python-commonmark) - ("python-ipywidgets" ,python-ipywidgets) ("python-pygments" ,python-pygments) ("python-typing-extensions" ,python-typing-extensions))) (native-inputs @@ -21711,14 +21710,14 @@ package updates.") (define-public python-userspacefs (package (name "python-userspacefs") - (version "2.0.3") + (version "2.0.4") (source (origin (method url-fetch) (uri (pypi-uri "userspacefs" version)) (sha256 (base32 - "1v6saf62ml3j63adalvlkj4iavxjbsbapl20b21mn73p7kvn4ayf")))) + "06f2gsiypas270nqfjir4wwjlpkjp097pm6zchc7k20ggg32gv1k")))) (build-system python-build-system) (propagated-inputs `(("python-fusepyng" ,python-fusepyng))) @@ -22480,14 +22479,14 @@ library's @code{threading} module.") (define-public python-toolz (package (name "python-toolz") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) (uri (pypi-uri "toolz" version)) (sha256 (base32 - "1grz3zvw5ixwqqlbv0n7j11mlcxb66cirh5i9x9zw8kqy0hpk967")))) + "0cxwlh8dz8gq0l0bzchjnqqwhdp261nfd958ppqm518k2mg2scbb")))) (build-system python-build-system) (arguments `(#:phases @@ -25620,13 +25619,13 @@ dictionaries.") (define-public pyzo (package (name "pyzo") - (version "4.11.4") + (version "4.11.7") (source (origin (method url-fetch) (uri (pypi-uri "pyzo" version)) (sha256 - (base32 "18djnzx9wwlhxk0v2gcpmwnn3iw572n7gkdyh7ghh92yxck6qqkl")))) + (base32 "1qa007nw464r7jw8y8fqf17jx473q55p5ay5bh8kq55v0zyi27yn")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 568b67a1b2..e8c09335a9 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> +;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -149,6 +150,46 @@ highlighting for a large number of languages, git integration, and automatic paging.") (license (list license:expat license:asl2.0)))) +(define-public diffr + (package + (name "diffr") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "diffr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1b0mz1ki2ksxni6g49x5l5j9ijpyhc11mywvxr9i9h3nr098nc5l")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + ;; https://github.com/mookid/diffr/issues/79 + #:cargo-test-flags + '("--release" "--" + "--skip=tests::success" + "--skip=test_cli::color_invalid_attribute_name" + "--skip=test_cli::color_invalid_color_not_done" + "--skip=test_cli::color_invalid_color_value_ansi" + "--skip=test_cli::color_invalid_color_value_name" + "--skip=test_cli::color_invalid_color_value_rgb" + "--skip=test_cli::color_invalid_face_name" + "--skip=test_cli::color_ok" + "--skip=test_cli::color_ok_multiple" + "--skip=test_cli::color_only_face_name" + "--skip=test_cli::debug_flag") + #:cargo-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-clap" ,rust-clap-2) + ("rust-diffr-lib" ,rust-diffr-lib-0.1) + ("rust-termcolor" ,rust-termcolor-1)))) + (home-page "https://github.com/mookid/diffr") + (synopsis "Longest Common Sequence based diff highlighting tool") + (description + "This package provides an @acronym{LCS, longest common sequence} based diff +highlighting tool to ease code review from your terminal.") + (license license:expat))) + (define-public drill (package (name "drill") @@ -190,6 +231,42 @@ paging.") Ansible syntax. Benchmark files can be written in YAML.") (license license:gpl3))) +(define-public dutree + (package + (name "dutree") + (version "0.2.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "dutree" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1611h27i8fm3jndscd6w65z8z7w09nnrm61vdgs9kb8ln57gqm8x")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs + (("rust-getopts" ,rust-getopts-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-terminal-size" ,rust-terminal-size-0.1) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1)))) + (home-page "https://ownyourbits.com/2018/03/25/analyze-disk-usage-with-dutree/") + (synopsis "Command line tool to analyze disk usage") + (description + "@command{dutree} is command line tool to analyze disk usage. +Features include: +@enumerate +@item coloured output, according to the @code{LS_COLORS} environment variable. +@item display the file system tree. +@item ability to aggregate small files. +@item ability to exclude files or directories. +@item ability to compare different directories. +@item fast, written in Rust. +@end enumerate\n") + (license license:gpl3))) + (define-public exa (package (name "exa") @@ -777,6 +854,41 @@ are parsed concurrently using a thread pool to utilize all cpu cores. A goal of the project is to be runnable on untrusted networks without crashing.") (license license:gpl3))) +(define-public spotify-tui-0.25 + (package + (name "spotify-tui") + (version "0.25.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "spotify-tui" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "08bpihkdv3rmcksnxp4cz04kawjs6spmwa3wr2k27b30x3q9cd4r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-arboard" ,rust-arboard-1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-clap" ,rust-clap-2) + ("rust-crossterm" ,rust-crossterm-0.20) + ("rust-dirs" ,rust-dirs-3) + ("rust-rand" ,rust-rand-0.8) + ("rust-rspotify" ,rust-rspotify-0.10) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tui" ,rust-tui-0.16) + ("rust-unicode-width" ,rust-unicode-width-0.1)))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("openssl" ,openssl))) + (home-page "https://github.com/Rigellute/spotify-tui") + (synopsis "Terminal user interface for Spotify") + (description "This package provides a terminal user interface for Spotify") + (license (list license:expat license:asl2.0)))) + (define-public tectonic (package (name "tectonic") @@ -854,6 +966,36 @@ classic Web2C implementation of TeX and uses the TeXLive distribution of support files.") (license license:expat))) +(define-public hex + (package + (name "hex") + (version "0.4.2") + (source + (origin + ;; crates.io does not provide the test data. + (method git-fetch) + (uri (git-reference + (url "https://github.com/sitkevij/hex") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03x27nixdlnkkrh85gy4152arp02kpjwq0i9dn9p73lyr24s64lv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-atty" ,rust-atty-0.2) + ("rust-clap" ,rust-clap-2) + ("rust-no-color" ,rust-no-color-0.1)) + #:cargo-development-inputs + (("rust-assert-cmd" ,rust-assert-cmd-1)))) + (home-page "https://github.com/sitkevij/hex") + (synopsis "Hexadecimal colorized view of a file") + (description + "@command{hx} accepts a file path as input and outputs a hexadecimal +colorized view to stdout.") + (license license:expat))) + (define-public tokei (package (name "tokei") @@ -1200,6 +1342,56 @@ C-compatible) software.") Full featured offline client with caching support.") (license (list license:expat license:asl2.0)))) +(define-public git-absorb + (package + (name "git-absorb") + (version "0.6.6") + (source + (origin + ;; crates.io does not include the manual page. + (method git-fetch) + (uri (git-reference + (url "https://github.com/tummychow/git-absorb") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04v10bn24acify34vh5ayymsr1flcyb05f3az9k1s2m6nlxy5gb9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-clap" ,rust-clap-2) + ("rust-git2" ,rust-git2-0.13) + ("rust-memchr" ,rust-memchr-2) + ("rust-slog" ,rust-slog-2) + ("rust-slog-async" ,rust-slog-async-2) + ("rust-slog-term" ,rust-slog-term-2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* "Cargo.toml" + (("2.5") "2") + (("~2.3\"") "2\"") + (("3.1") "3")))) + (add-after 'install 'install-manual-page + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man/man1"))) + (install-file "Documentation/git-absorb.1" man))))))) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/tummychow/git-absorb") + (synopsis "Git tool for making automatic fixup commits") + (description + "@code{git absorb} automatically absorbs staged changes into their +current branch. @code{git absorb} will automatically identify which commits +are safe to modify, and which staged changes belong to each of those commits. +It will then write @code{fixup!} commits for each of those changes.") + (license license:bsd-3))) + (define-public zoxide (package (name "zoxide") diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm index b7e96f028c..c7e8da35e2 100644 --- a/gnu/packages/sml.scm +++ b/gnu/packages/sml.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,7 +29,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public polyml (package @@ -75,3 +77,260 @@ function interface, and a symbolic debugger.") (license (list license:lgpl2.1 license:lgpl2.1+)))) + +(define (smlnj-file version filename hash) + (origin + (method url-fetch) + (uri (string-append "http://smlnj.cs.uchicago.edu/dist/working/" + version "/" filename)) + (sha256 (base32 hash)))) + +(define-public smlnj + (package + (name "smlnj") + (version "110.99.2") + (source #f) ; Sources are passed as native-inputs. + (supported-systems '("x86_64-linux" "i686-linux")) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (file) + (invoke "tar" "xvf" (assoc-ref inputs file))) + (list (if (string=? "i686-linux" ,(%current-system)) + "boot.x86-unix" + "boot.amd64-unix") + "config" + "cm" + "compiler" + "runtime" + "system" + "MLRISC" + "smlnj-lib" + "old-basis" + "ckit" + "nlffi" + "cml" + "eXene" + "ml-lpt" + "ml-lex" + "ml-yacc" + "ml-burg" + "pgraph" + "trace-debug-profile" + "heap2asm" + "smlnj-c" + "doc" + "asdl")) + ;; Same directory structure as what the config/unpack script + ;; would produce. + (mkdir "base") + (rename-file "runtime" "base/runtime") + (rename-file "compiler" "base/compiler") + (rename-file "cm" "base/cm") + (rename-file "old-basis" "base/old-basis") + (rename-file "system" "base/system") + #t)) + (delete 'configure) + (replace 'patch-source-shebangs + (lambda _ + ;; Fix paths to /bin/sh. + (substitute* (list "config/install.sh" + (if (string=? "i686-linux" ,(%current-system)) + "base/runtime/objs/mk.x86-linux" + "base/runtime/objs/mk.amd64-linux") + "asdl/configure" + "asdl/src/asdlgen/Makefile.in") + (("^SHELL[[:space:]]*=[[:space:]]*/bin/sh") + (string-append "SHELL=" (which "sh")))) + (substitute* "asdl/configure" + (("^SHELL=\\$\\{CONFIG_SHELL-/bin/sh\\}") + (string-append "SHELL=" (which "sh")))) + (substitute* (list "asdl/src/gen/fragments/mkfrags_sh.in" + "asdl/src/gen/fragments/mkmk_sh.in") + (("^#!/bin/sh") + (string-append "#!" (which "sh")))) + #t)) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "config/chk-global-names.sh" + (("^CC=.*") + (string-append "CC=" ,(cc-for-target)))) + + ;; /bin and /usr/bin do not exist in the build environment. + (substitute* "config/_arch-n-opsys" + (("^export PATH") "") + (("^PATH=\"/bin:/usr/bin\"") "") + (("uname") (which "uname"))) + (substitute* "base/runtime/config/gen-posix-names.sh" + (("^PATH=/bin:/usr/bin") "")) + + ;; The build process uses an SML Basis Library function + ;; `OS.Process.system`, which uses "/bin/sh" (this is hardcoded). + ;; However, /bin/sh does not exist in the Guix build environment. + ;; Solution: binary patch — replace "/bin/sh" with "/tmp/sh". + (symlink (which "sh") "/tmp/sh") + (invoke "sed" "-i" "s,/bin/sh,/tmp/sh," + (if (string=? "i686-linux" ,(%current-system)) + "sml.boot.x86-unix/SMLNJ-BASIS/.cm/x86-unix/basis-common.cm" + "sml.boot.amd64-unix/SMLNJ-BASIS/.cm/amd64-unix/basis-common.cm")) + + ;; Build. + (invoke "./config/install.sh" "-default" + (if (string=? "i686-linux" ,(%current-system)) + "32" + "64")) + + ;; Undo the binary patch. + (for-each + (lambda (file) + (invoke "sed" "-i" "s,/tmp/sh,/bin/sh," file)) + (if (string=? "i686-linux" ,(%current-system)) + '("bin/.heap/sml.x86-linux" + "lib/SMLNJ-BASIS/.cm/x86-unix/basis-common.cm") + '("bin/.heap/sml.amd64-linux" + "lib/SMLNJ-BASIS/.cm/amd64-unix/basis-common.cm"))) + + ;; Set SMLNJ_HOME in the bin/ files, so that `sml` is able to find + ;; the SML/NJ Library. + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (file) + (invoke "sed" "-i" + (string-append "2iSMLNJ_HOME=${SMLNJ_HOME:-" out "}") + file)) + '("bin/.link-sml" + "bin/.run-sml" + "bin/ml-build" + "bin/ml-makedepend"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-bin (string-append out "/bin/")) + (out-lib (string-append out "/lib/")) + (out-man (string-append out "/share/man/"))) + (copy-recursively "bin" out-bin) + (copy-recursively "lib" out-lib) + (copy-recursively "doc/man" out-man)) + #t)) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/smlnj"))) + (mkdir-p doc) + (copy-recursively "doc" doc)) + #t))))) + (native-inputs + `(,(if (string=? "i686-linux" (%current-system)) + `("boot.x86-unix" + ,(smlnj-file version + "boot.x86-unix.tgz" + "117dq1g387vcy1105dlpw770gzrg423jng89ynraiy6kiaalvbcq")) + `("boot.amd64-unix" + ,(smlnj-file version + "boot.amd64-unix.tgz" + "0cbaz8sxp30y2a4blm0pzk9aa1g9jj65d6d7kydvn0w7m22rjjff"))) + ("config" + ,(smlnj-file version + "config.tgz" + "1sq60frd66kv807bahsyxda355qq67zvvb4sr1d72cv6capv5nsg")) + ("cm" + ,(smlnj-file version + "cm.tgz" + "087yy9k9vyyvhb24rni6js7s8iqbs8vjm9kjd9s311swjd66qhjc")) + ("compiler" + ,(smlnj-file version + "compiler.tgz" + "149vrmiba0dqggr15axqqzzfmd0kx7kchlr49gii6hw5dal6vqnn")) + ("runtime" + ,(smlnj-file version + "runtime.tgz" + "0c3q7qr2i3r91sx9p3z1ar7gvyk6qsm5gcbpbyj6l67qzn192yc3")) + ("system" + ,(smlnj-file version + "system.tgz" + "0aflnqh9zi9f8vs9pjlxysxplrwl98aiaxx4n41sba4m1r30n0za")) + ("MLRISC" + ,(smlnj-file version + "MLRISC.tgz" + "1kkga7r7qnw09s8yhqbhrq8gxf6c8x0fiwsbwkr8ls6xwv48sp74")) + ("smlnj-lib" + ,(smlnj-file version + "smlnj-lib.tgz" + "14fvqgn580k3ylvfhbkwv4cw87ipggq548r7jzp8fzfn2h6wdl01")) + ("old-basis" + ,(smlnj-file version + "old-basis.tgz" + "11j7a0sxyd1kwxjvxnarab5vc3x43gl90m07wxm37fd4jbfd1fn1")) + ("ckit" + ,(smlnj-file version + "ckit.tgz" + "1fbfjb2fhr6zkcz5jhqh3888zska6vffndyqwvk6rpbcl7an8niq")) + ("nlffi" + ,(smlnj-file version + "nlffi.tgz" + "0p5z77x295xfh71481kbd5pwis52kv03vxpad4pzkpk0l6smcgmj")) + ("cml" + ,(smlnj-file version + "cml.tgz" + "13xchaamwanxhwklsgkn1rmkr044h9qsj0rbr9c7pm903yivdwcn")) + ("eXene" + ,(smlnj-file version + "eXene.tgz" + "0p4snql0a1a952h98ma9ybmp7z1q305mz859b0mxhsg3jdrzl9wb")) + ("ml-lpt" + ,(smlnj-file version + "ml-lpt.tgz" + "0m00vglg95apdpzsy6qv88izj5ai4ibylxni01an75xpnxyy5qbg")) + ("ml-lex" + ,(smlnj-file version + "ml-lex.tgz" + "1pmi5qwjcf1h5nfi7d4vvm7cf90g6dlk2mqikj0y9c464ia1l2jc")) + ("ml-yacc" + ,(smlnj-file version + "ml-yacc.tgz" + "1zla2m1rn8r8k85ps9r2mw38xkh276j7aqv9f69v55102hchx13p")) + ("ml-burg" + ,(smlnj-file version + "ml-burg.tgz" + "14cqasasa273x09phykzjgk1wl6vrkdcwrdi39hnacp443cilz7x")) + ("pgraph" + ,(smlnj-file version + "pgraph.tgz" + "183fv61xlac5kpxn5m4iqgdvc2xb1chlxy5ip4i25x589bh4b5k9")) + ("trace-debug-profile" + ,(smlnj-file version + "trace-debug-profile.tgz" + "1k0w581kr43mpjzm7778xgx1rpz45aq1h80jdr6jls5vz3k8ia18")) + ("heap2asm" + ,(smlnj-file version + "heap2asm.tgz" + "0p9s42acngxh0401wm6fqs3im3rzzw9sh448x38zhdi47h8h1m9n")) + ("smlnj-c" + ,(smlnj-file version + "smlnj-c.tgz" + "054b1nhg5yk2jj01p11k08qzq8zc9jzg4mbgkcmcqaq7axp1rnxm")) + ("doc" + ,(smlnj-file version + "doc.tgz" + "0s35zrxdj76wzdz7c1i8ij00n6lfll4vjnypsy2j17q1maw7fq8j")) + ("asdl" + ,(smlnj-file version + "asdl.tgz" + "0mad2df5pmkdsb69gflxma6m6i3gla6hdmjjnkzk76pagpr8zb0m")))) + (home-page "http://www.smlnj.org") + (synopsis "Standard ML of New Jersey interactive compiler") + (description + "SML/NJ is an implementation of the Standard ML programming language. +Standard ML has many features, including type safety, polymorphism, algebraic +data types with pattern matching, higher-order functions, and a sophisticated +module system. It is especially well-suited for writing compilers and other +language processors.") + (license (license:fsf-free + "https://www.smlnj.org/license.html" + "https://www.gnu.org/licenses/license-list#StandardMLofNJ")))) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 6a5a276caf..471988b178 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -526,6 +526,37 @@ introspection of @code{zope.interface} instances in code.") (define-public python2-sphinx-repoze-autointerface (package-with-python2 python-sphinx-repoze-autointerface)) +(define-public python-sphinx-prompt + (package + (name "python-sphinx-prompt") + (version "1.5.0") + (source + (origin + (method git-fetch) ; no source release in PyPI + (uri (git-reference + (url "https://github.com/sbrunner/sphinx-prompt") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x9wmgf04rzivbzp7jv1b7fkhkpi02lpk5w1qf4i7bcgih00ym8a")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "-m" "pytest"))))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/sbrunner/sphinx-prompt") + (synopsis "Sphinx directive to add unselectable prompt") + (description + "This package provides a Sphinx directive to add unselectable prompt.") + (license license:bsd-3))) + (define-public python-sphinx-alabaster-theme (package (name "python-sphinx-alabaster-theme") @@ -686,6 +717,38 @@ to be able to read and render the Doxygen xml output.") translate and to apply translation to Sphinx generated document.") (license license:bsd-2))) +(define-public python-sphinxext-opengraph + (package + (name "python-sphinxext-opengraph") + (version "0.4.2") + (source + (origin + (method git-fetch) ; no tests in PyPI release + (uri (git-reference + (url "https://github.com/wpilibsuite/sphinxext-opengraph") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dka44wri7agcr1jd641hq6j7qlbycligp80ngf32l5asqz1mgzp")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "-m" "pytest"))))))) + (native-inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/wpilibsuite/sphinxext-opengraph") + (synopsis "Sphinx Extension to enable OpenGraph support") + (description + "This package provides a Sphinx Extension to generate OG metadata.") + (license license:bsd-3))) + (define-public python-sphinx-autobuild (package (name "python-sphinx-autobuild") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 5181e9e378..842f3a456b 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012-2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> @@ -200,11 +200,11 @@ a server that supports the SSH-2 protocol.") (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) (inputs `(("libedit" ,libedit) - ("libfido2" ,libfido2) ("openssl" ,openssl) ,@(if (hurd-target?) - '() - `(("pam" ,linux-pam))) + '() + `(("pam" ,linux-pam) + ("libfido2" ,libfido2))) ;fails to build on GNU/Hurd ("mit-krb5" ,mit-krb5) ("zlib" ,zlib) ("xauth" ,xauth))) ; for 'ssh -X' and 'ssh -Y' @@ -229,10 +229,13 @@ a server that supports the SSH-2 protocol.") ;; Enable PAM support in sshd. ,,@(if (hurd-target?) '() - '("--with-pam")) + '("--with-pam" + + ;; Support creation and use of ecdsa-sk, + ;; ed25519-sk keys. + "--with-security-key-builtin")) + - ;; supports creation and use of ecdsa-sk, ed25519-sk keys - "--with-security-key-builtin" ;; "make install" runs "install -s" by default, ;; which doesn't work for cross-compiled binaries diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index dc1dc6a66a..9251d25c59 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -404,12 +404,49 @@ available, greatly increasing its breadth and scope.") (arguments `(#:tests? #f ,@(substitute-keyword-arguments (package-arguments r-with-tests) + ((#:disallowed-references refs '()) + (cons perl refs)) ((#:configure-flags flags) ;; Do not build the recommended packages. The build system creates ;; random temporary directories and embeds their names in some ;; package files. We build these packages with the r-build-system ;; instead. - `(cons "--without-recommended-packages" ,flags))))))) + `(cons "--without-recommended-packages" ,flags)) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'install 'remove-extraneous-references + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* (string-append out "/lib/R/etc/Makeconf") + (("^# configure.*") + "# Removed to avoid extraneous references\n")) + (substitute* (string-append out "/lib/R/bin/libtool") + (((string-append + "(-L)?(" + (assoc-ref inputs "bzip2") + "|" + (assoc-ref inputs "perl") + "|" + (assoc-ref inputs "texlive") + "|" + (assoc-ref inputs "texlive-bin") + "|" + (assoc-ref inputs "texinfo") + "|" + (assoc-ref inputs "xz") + "|" + (format #false + "/gnu/store/[^-]+-(~{~a~^|~})-[^/]+" + '("glibc-utf8-locales" + "libselinux" + "libsepol" + "file" + "texlive-bin" + "util-macros" + "graphite2")) + "|" + "/gnu/store/[^-]+-glibc-[^-]+-static" + ")/lib")) "")))))))))))) (define-public rmath-standalone (package (inherit r-minimal) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 8880801adb..d9fcc22cba 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -45,7 +45,7 @@ (define-public syncthing (package (name "syncthing") - (version "1.16.1") + (version "1.18.4") ; XXX After the go-build-system can use "Go modules", stop using bundled ; dependencies for Syncthing. (source (origin @@ -55,7 +55,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0m5k37sp3px8acs3y9an5wzy1wbcbdvqq74jy0pwzfk4bjbr999j")))) + "00kw1j2qi5ylbycv43n5177r3a3651qxhds927x6cz0a2b7qac8n")))) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size @@ -65,6 +65,7 @@ `(#:modules ((srfi srfi-26) ; for cut (guix build utils) (guix build go-build-system)) + #:go ,go-1.17 #:import-path "github.com/syncthing/syncthing" ;; We don't need to install the source code for end-user applications. #:install-source? #f @@ -411,7 +412,8 @@ processes.") (file-name (git-file-name name version)) (sha256 (base32 - "004cw699yz3pdpawhjhpa0y94c4w479nw1rf39zj6h6027kpwv2j")))) + "004cw699yz3pdpawhjhpa0y94c4w479nw1rf39zj6h6027kpwv2j")) + (patches (search-patches "go-github-com-golang-snappy-32bit-test.patch")))) (build-system go-build-system) (arguments `(#:import-path "github.com/golang/snappy")) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 9ebc91ad5b..5e8610ab85 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> +;;; Copyright © 2021 Demis Balbach <db@minikn.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,6 +89,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -95,6 +97,38 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system qt)) +(define-public phonesim + (package + (name "phonesim") + (version "1.21") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/network/ofono/phonesim") + (commit "a7c844d45b047b2dae5b0877816c346fce4c47b9"))) + (sha256 + (base32 "0rc1c2vr03dmi1dr3skj57v77ga9c22g29xs1qiphqms4isby9cq")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-maintainer-mode" + "CC=" ,(cc-for-target)))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("pkg-config" ,pkg-config))) + (inputs + `(("qtbase" ,qtbase-5) + ("qtdeclarative" ,qtdeclarative))) + (synopsis "Phone Simulator for modem testing") + (description + "Phonesim is a modem emulator that oFono uses for development and +testing. This allows oFono to be used by any host without requiring special +GSM (or other) hardware.") + (home-page "https://git.kernel.org/pub/scm/network/ofono/phonesim") + (license license:gpl2+))) + (define-public libilbc (package (name "libilbc") diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 292c101407..dbe1afd829 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -61,6 +61,7 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -972,9 +973,13 @@ usable with any list--including files, command history, processes and more.") (string-append out "/bin")))))) (add-after 'copy-binaries 'wrap-programs (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (ncurses (assoc-ref inputs "ncurses"))) - (wrap-program (string-append out "/bin/fzf-tmux") + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (findutils (assoc-ref inputs "findutils")) + (ncurses (assoc-ref inputs "ncurses"))) + (wrap-program (string-append bin "/fzf") + `("PATH" ":" prefix (,(string-append findutils "/bin")))) + (wrap-program (string-append bin "/fzf-tmux") `("PATH" ":" prefix (,(string-append ncurses "/bin"))))))) (add-after 'install 'install-completions (lambda* (#:key outputs #:allow-other-keys) @@ -995,6 +1000,7 @@ usable with any list--including files, command history, processes and more.") (string-append zsh-completion "/_fzf")))))))))) (inputs `(,@(package-inputs go-github-com-junegunn-fzf) + ("findutils" ,findutils) ("ncurses" ,ncurses))))) (define-public go-github.com-howeyc-gopass diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index f0e3849311..fc489dcbaf 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -177,7 +177,7 @@ rejects UDP traffic from the application you're using.") (define-public privoxy (package (name "privoxy") - (version "3.0.32") + (version "3.0.33") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/ijbswa/Sources/" @@ -185,7 +185,7 @@ rejects UDP traffic from the application you're using.") version "-stable-src.tar.gz")) (sha256 (base32 - "1mzfxwnvnf1jkvfcrsivm6mjwdzjrc3h89qziz0mwi32ih0f87f6")))) + "1bhzi2ddv3g1z9h7lhxy7p0wibqg4m5nh46ikldmcqdc1pkh9c84")))) (build-system gnu-build-system) (arguments '(;; The default 'sysconfdir' is $out/etc; change that to @@ -214,8 +214,7 @@ rejects UDP traffic from the application you're using.") ;; non-root users using it as is. (substitute* "config" (("^logdir") "#logdir") - (("^logfile") "#logfile"))) - #t))))) + (("^logfile") "#logfile")))))))) (inputs `(("brotli" ,brotli) ("openssl" ,openssl) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3d4ee58872..d28c60e576 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -53,6 +53,7 @@ ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5869,14 +5870,14 @@ on the fly.") (define-public hitch (package (name "hitch") - (version "1.7.0") + (version "1.7.2") (home-page "https://hitch-tls.org/") (source (origin (method url-fetch) (uri (string-append home-page "source/hitch-" version ".tar.gz")) (sha256 (base32 - "1i75giwyr66ip8xsvk3gg5xdbxnmcabgxz8dqi06c58mw7qzhzn9")))) + "118p3a8wjvr0yhldpd1zm7d2cmgaw4vmyz9ib8m64z18qsz5rmnw")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -8140,6 +8141,42 @@ It contains the code shared by all Kiwix ports.") offline (such as Wikipedia), without any access to Internet.") (license license:gpl3))) +(define-public kiwix-tools + (package + (name "kiwix-tools") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "https://download.kiwix.org/release/" + "kiwix-tools/kiwix-tools-" version ".tar.xz")) + (sha256 + (base32 + "1npf9ddhpkmx97gxmvmwmi8a69md8kh2szimd9rpg6ggd4big03a")))) + (build-system meson-build-system) + (inputs + `(("curl" ,curl) + ("icu4c" ,icu4c) + ("kiwix-lib" ,kiwix-lib) + ("libmicrohttpd" ,libmicrohttpd) + ("libzim" ,libzim) + ("pugixml" ,pugixml) + ("xapian" ,xapian) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://wiki.kiwix.org/wiki/Software") + (synopsis "Kiwix command line tools") + (description "The Kiwix tools are a collection of Kiwix-related command line +tools: +@itemize +@item kiwix-manage: Manage XML based library of ZIM files +@item kiwix-read: Read ZIM file content +@item kiwix-search: Fulltext search in ZIM files +@item kiwix-serve: HTTP daemon serving ZIM files +@end itemize\n") + (license license:gpl3+))) + (define-public uriparser (let ((commit "25dddb16cf044a7df27884e7ad3911baaaca3d7c") (revision "1")) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index 45c8ba3185..4e8eceaa2b 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -564,7 +564,7 @@ HTTP-PORT." (listen '("8080")))))) (service postgresql-service-type (postgresql-configuration - (postgresql postgresql-10))) + (postgresql postgresql))) (service patchwork-service-type (patchwork-configuration (patchwork patchwork) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 821f20e2f2..510cee727f 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -567,7 +567,7 @@ command name." (_ #t))) (match (scandir (string-append profile "/bin") not-dot?) - (() #f) + ((or #f ()) #f) (available (match command ((executable _ ...) diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index bd62803cb1..546639818f 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -52,8 +52,7 @@ interactive shell in that environment.\n")) (display (G_ " -D, --development include the development inputs of the next package")) (display (G_ " - -f, --file=FILE create environment for the package that the code within - FILE evaluates to")) + -f, --file=FILE add to the environment the package FILE evaluates to")) (display (G_ " -q inhibit loading of 'guix.scm' and 'manifest.scm'")) (display (G_ " @@ -116,7 +115,7 @@ interactive shell in that environment.\n")) (option '(#\f "file") #t #f (lambda (opt name arg result) (alist-cons 'load (tag-package-arg result arg) - result))) + (ensure-ad-hoc result)))) (option '(#\q) #f #f (lambda (opt name arg result) (alist-cons 'explicit-loading? #t result))) diff --git a/po/guix/es.po b/po/guix/es.po index 6041b3097f..1cab910395 100644 --- a/po/guix/es.po +++ b/po/guix/es.po @@ -5,13 +5,14 @@ # Miguel Ángel Arruga Vivas <rosen644835@gmail.com>, 2019, 2020. # Emilio Herrera <ehespinosa57@gmail.com>, 2021. # Jorge Javier Araya Navarro <jorge@esavara.cr>, 2021. +# Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>, 2021. #: guix/diagnostics.scm:157 msgid "" msgstr "" "Project-Id-Version: guix 1.2.0-pre3\n" "Report-Msgid-Bugs-To: bug-guix@gnu.org\n" -"POT-Creation-Date: 2021-12-04 15:18+0000\n" -"PO-Revision-Date: 2021-11-23 15:06+0000\n" +"POT-Creation-Date: 2021-12-07 15:18+0000\n" +"PO-Revision-Date: 2021-12-07 22:46+0000\n" "Last-Translator: Emilio Herrera <ehespinosa57@gmail.com>\n" "Language-Team: Spanish <https://translate.fedoraproject.org/projects/guix/guix/es/>\n" "Language: es\n" @@ -19,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.9\n" +"X-Generator: Weblate 4.9.1\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #: gnu.scm:81 @@ -42,7 +43,7 @@ msgstr "" #: gnu.scm:107 #, scheme-format msgid "Try adding @code{(use-package-modules ~a)}." -msgstr "Intente añadir @code{(use-package-modules ~a)}" +msgstr "Intente añadir @code{(use-package-modules ~a)}." # FUZZY #: gnu.scm:122 @@ -269,7 +270,7 @@ msgstr "dispositivo mapeado '~a' puede no ser montado por el cargador de arranqu #: gnu/system.scm:597 #, scheme-format msgid "List elements of the field 'swap-devices' should now use the <swap-space> record, as the old method is deprecated. See \"(guix) operating-system Reference\" for more details.~%" -msgstr "" +msgstr "Lista de elementos del campo 'swap-devices' que deberían usar ahora el registro <swap-space> puesto que el viejo método está obsoleto. See \"(guix) Referencia del sistema operativo\" para más detalles.~%" #: gnu/system.scm:1051 #, scheme-format @@ -677,36 +678,36 @@ msgstr "opam: paquete '~a' no encontrado~%" msgid "Updater for OPAM packages" msgstr "Actualizador para paquetes OPAM" -#: guix/import/pypi.scm:229 +#: guix/import/pypi.scm:230 msgid "Could not extract requirement name in spec:" msgstr "No se pudo extraer el nombre del requisito en la especificación:" -#: guix/import/pypi.scm:289 +#: guix/import/pypi.scm:290 #, scheme-format msgid "parse-requires.txt reached an unexpected condition on line ~a~%" msgstr "parse-requires.txt alcanzó una condición inesperada en la línea ~a~%" -#: guix/import/pypi.scm:355 +#: guix/import/pypi.scm:356 #, scheme-format msgid "Failed to extract file: ~a from wheel.~%" msgstr "Fallo al extraer archivo: ~a de la rueda.~%" -#: guix/import/pypi.scm:384 +#: guix/import/pypi.scm:385 #, scheme-format msgid "Cannot guess requirements from source archive: no requires.txt file found.~%" msgstr "No puede adivinar los requisitos del archivo fuente: no se encuentra archivo requires.txt.~%" -#: guix/import/pypi.scm:389 +#: guix/import/pypi.scm:390 #, scheme-format msgid "Unsupported archive format; cannot determine package dependencies from source archive: ~a~%" msgstr "Formato de archivo no soportado; no puede determinar las dependencias del paquete desde el archivo fuente: ~a~%" -#: guix/import/pypi.scm:495 +#: guix/import/pypi.scm:496 #, scheme-format msgid "no source release for pypi package ~a ~a~%" msgstr "sin versión de fuente para el paquete pypi ~a ~a~%" -#: guix/import/pypi.scm:556 +#: guix/import/pypi.scm:561 msgid "Updater for PyPI packages" msgstr "Actualizador para paquetes PyPI" @@ -1320,7 +1321,7 @@ msgstr "Ahora puede seleccionar otros servicios a ejecutar en su sistema." #: gnu/installer/newt/services.scm:82 msgid "Other services" -msgstr "Otros servicios." +msgstr "Otros servicios" #: gnu/installer/newt/services.scm:95 msgid "Network management" @@ -1911,8 +1912,7 @@ msgid "" " -c, --cores=N allow the use of up to N CPU cores for the build" msgstr "" "\n" -" -c, --cores=N permite el uso de hasta N núcleos de la CPU\n" -" para la construcción." +" -c, --cores=N permite el uso de hasta N núcleos de la CPU para la construcción" #: guix/scripts/build.scm:182 msgid "" @@ -2560,9 +2560,9 @@ msgid "URL should be 'mirror://~a/~a'" msgstr "la URL debe ser 'mirror://~a/~a'" #: guix/lint.scm:1232 -#, fuzzy, scheme-format +#, scheme-format msgid "while accessing '~a'" -msgstr "no se pudo ejecutar '~a': ~a~%" +msgstr "mientras se accede '~a'" #: guix/lint.scm:1239 #, scheme-format @@ -2574,7 +2574,7 @@ msgstr "la URL debe ser '~a'" #. and should not be translated. #: guix/lint.scm:1267 msgid "the 'check' phase should respect #:tests?" -msgstr "" +msgstr "la fase 'check' debería respetar #:tests?" #: guix/lint.scm:1285 guix/lint.scm:1296 guix/lint.scm:1304 #, scheme-format @@ -2606,9 +2606,9 @@ msgstr "probablemente vulnerable a ~a" # FUZZY #: guix/lint.scm:1424 -#, fuzzy, scheme-format +#, scheme-format msgid "no updater for ~a" -msgstr "ningún registro de construcción para '~a'~%" +msgstr "sin actualizador para ~a" # FUZZY #: guix/lint.scm:1429 guix/lint.scm:1604 @@ -2623,14 +2623,14 @@ msgstr "puede actualizarse a ~a" # FUZZY #: guix/lint.scm:1444 -#, fuzzy, scheme-format +#, scheme-format msgid "updater '~a' failed to find upstream releases" -msgstr "Comprueba el paquete en busca de nuevas publicaciones oficiales" +msgstr "el actualizador '~a' falló para encontrar versiones anteriores" #: guix/lint.scm:1471 -#, fuzzy, scheme-format +#, scheme-format msgid "failed to access Disarchive database at ~a" -msgstr "no se pudo ejecutar '~a': ~a~%" +msgstr "falló el acceso a la base de datos Disarchive en ~a" # FUZZY #: guix/lint.scm:1498 @@ -2655,21 +2655,17 @@ msgid "archival rate limit exceeded; try again later" msgstr "límite de la tasa de archivo superado; pruebe de nuevo más tarde" #: guix/lint.scm:1568 -#, fuzzy -#| msgid "source not archived on Software Heritage" msgid "source not archived on Software Heritage and missing from the Disarchive database" -msgstr "las fuentes no se encuentran en Software Heritage" +msgstr "fuente no archivada en Software Heritage y desaparecida de la base de datos Disarchive" #: guix/lint.scm:1578 #, scheme-format msgid "Disarchive entry refers to non-existent SWH directory '~a'" -msgstr "" +msgstr "La entrada Disarchive se refiere a un directorio SWH que no existe '~a'" #: guix/lint.scm:1587 -#, fuzzy -#| msgid "~a: unsupported compression type~%" msgid "unsupported source type" -msgstr "~a: tipo de compresión no implementado~%" +msgstr "tipo de fuente no soportado" #: guix/lint.scm:1596 msgid "while connecting to Software Heritage" @@ -2678,7 +2674,7 @@ msgstr "durante la conexión a Software Heritage" #: guix/lint.scm:1613 #, scheme-format msgid "ahead of Stackage LTS version ~a" -msgstr "" +msgstr "por delante de Stackage LTS versión ~a" #: guix/lint.scm:1630 #, scheme-format @@ -2705,13 +2701,12 @@ msgid "source file not found" msgstr "archivo de fuentes no encontrado" #: guix/lint.scm:1759 -#, fuzzy msgid "Validate package names" -msgstr "Valida sinopsis de paquete" +msgstr "Validar sinopsis de paquete" #: guix/lint.scm:1763 msgid "Check if tests are explicitly enabled" -msgstr "" +msgstr "Comprobar si las pruebas están explícitamente habilitadas" #: guix/lint.scm:1767 msgid "Validate package descriptions" @@ -2727,7 +2722,7 @@ msgstr "Identifica entradas que no deberían ser entradas en absoluto" #: guix/lint.scm:1779 msgid "Make sure 'wrap-program' can finds its interpreter." -msgstr "" +msgstr "Asegurarse que 'wrap-program' puede encontrar su intérprete." #. TRANSLATORS: <license> is the name of a data type and must not be #. translated. @@ -2737,7 +2732,7 @@ msgstr "Asegura que el campo 'license' es un objeto <license> o una lista de ell #: guix/lint.scm:1790 msgid "Make sure tests are only run when requested" -msgstr "" +msgstr "Asegurarse de que las pruebas sólo se ejecutarán cuando se pida" #: guix/lint.scm:1794 msgid "Suggest 'mirror://' URLs" @@ -2764,9 +2759,8 @@ msgid "Validate file names and availability of patches" msgstr "Valida nombres de archivo y disponibilidad de parches" #: guix/lint.scm:1820 -#, fuzzy msgid "Validate patch headers" -msgstr "Valida descripciones de paquete" +msgstr "Validar cabeceras de parche" #: guix/lint.scm:1824 msgid "Look for formatting issues in the source" @@ -2807,7 +2801,7 @@ msgstr "Asegura el archivado del código fuente en Software Heritage" #: guix/lint.scm:1864 msgid "Ensure Haskell packages use Stackage LTS versions" -msgstr "" +msgstr "Garantizar que los paquetes Haskell usan versiones Stackage LTS" #: guix/scripts/download.scm:87 msgid "" @@ -2851,7 +2845,7 @@ msgid "" msgstr "" "\n" " --no-check-certificate\n" -" no valida el certificado de los servidores HTTPS" +" no valida el certificado de los servidores HTTPS " #: guix/scripts/download.scm:101 msgid "" @@ -2947,11 +2941,16 @@ msgid "" ";; capture the channels being used, as returned by \"guix describe\".\n" ";; See the \"Replicating Guix\" section in the manual.\n" msgstr "" +";; Este archivo \"manifest\" se puede pasar a 'guix package -m' para reproducir\n" +";; el contenido de su perfil. Esto es \"symbolic\": sólo especifica\n" +";; nombres de paquete. Para reproducir el mismo perfil exacto, necesita también\n" +";; capturar los canales que se están usando, devueltos por \"guix describe\".\n" +";; Vea la sección \"Replicando Guix\" en el manual.\n" #: guix/scripts/package.scm:393 #, scheme-format msgid "no provenance information for this profile~%" -msgstr "" +msgstr "no hay información de procedencia para este perfil~%" #: guix/scripts/package.scm:395 msgid "" @@ -2959,11 +2958,14 @@ msgid "" ";; 'guix time-machine -C' to obtain the Guix revision that was\n" ";; used to populate this profile.\n" msgstr "" +";; Este archivo de canal se puede pasar a 'guix pull -C' o a\n" +";; 'guix time-machine -C' para obtener la revisión Guix que se\n" +";; uso para propagar este perfil.\n" #: guix/scripts/package.scm:407 #, scheme-format msgid ";; Note: these other commits were also used to install some of the packages in this profile:~%" -msgstr "" +msgstr ";; Aviso: estas otras confirmaciones también se usaron para instalar algunos de los paquetes en este perfil:~%" #: guix/scripts/package.scm:437 msgid "" @@ -3098,13 +3100,15 @@ msgid "" " --export-manifest print a manifest for the chosen profile" msgstr "" "\n" -" --list-profiles enumera los perfiles del usuario" +" --export-manifest imprime un manifiesto para el perfil elegido" #: guix/scripts/package.scm:475 msgid "" "\n" " --export-channels print channels for the chosen profile" msgstr "" +"\n" +" --export-channels imprime canales para el perfil elegido" #: guix/scripts/package.scm:477 guix/scripts/install.scm:34 #: guix/scripts/remove.scm:33 guix/scripts/upgrade.scm:37 @@ -3213,8 +3217,7 @@ msgid "cannot switch to generation '~a'~%" msgstr "no se pudo pasar a la generación '~a'~%" #: guix/scripts/package.scm:1060 -#, fuzzy, scheme-format -#| msgid "nothing to be done~%" +#, scheme-format msgid "nothing to do~%" msgstr "nada que hacer~%" @@ -3652,13 +3655,12 @@ msgid "~a: invalid importer~%" msgstr "~a: importador no válido~%" #: guix/scripts/import/minetest.scm:44 -#, fuzzy msgid "" "Usage: guix import minetest AUTHOR/NAME\n" "Import and convert the Minetest mod NAME by AUTHOR from ContentDB.\n" msgstr "" -"Uso: guix import cran NOMBRE-DE-PAQUETE\n" -"Importa y convierte el paquete CRAN con NOMBRE-DE-PAQUETE.\n" +"Uso: guix import minetest AUTOR/NOMBRE\n" +"Importa y convierte el mod NAME de Minetest por AUTHOR de ContentDB.\n" #: guix/scripts/import/minetest.scm:48 guix/scripts/import/cran.scm:51 #: guix/scripts/import/crate.scm:47 guix/scripts/import/egg.scm:47 @@ -3677,12 +3679,15 @@ msgid "" " choose the one with the highest value for KEY\n" " (one of \"score\" (standard) or \"downloads\")" msgstr "" +"\n" +" --sort=KEY cuando se elige entre múltiples implementaciones,\n" +" elige la que tiene el valor más alto para KEY\n" +" (entre \"score\" (estándar) o \"downloads\")" #: guix/scripts/import/minetest.scm:62 -#, fuzzy, scheme-format -#| msgid "~a: invalid sorting key~%" +#, scheme-format msgid "~a: not a valid key to sort by~%" -msgstr "~a: clave de ordenación no válida~%" +msgstr "~a: no hay clave válida para ordenar por~%" #: guix/scripts/import/minetest.scm:115 guix/scripts/import/cran.scm:120 #: guix/scripts/import/elpa.scm:110 guix/scripts/import/cpan.scm:87 @@ -3728,6 +3733,8 @@ msgid "" "\n" " -s, --style=STYLE choose output style, either specification or variable" msgstr "" +"\n" +" -s, --style=STYLE elige estilo de salida, bien especificación o variable" #: guix/scripts/import/cran.scm:116 guix/scripts/import/texlive.scm:84 #, scheme-format @@ -3796,32 +3803,29 @@ msgstr "" " -C, --channels=ARCHIVO despliega los canales definidos en ARCHIVO" #: guix/scripts/pull.scm:91 -#, fuzzy msgid "" "\n" " --url=URL download \"guix\" channel from the Git repository at URL" msgstr "" "\n" -" --url=URL descarga del repositorio Git en URL" +" --url=URL descarga el canal \"guix\" desde el repositorio Git en URL" #: guix/scripts/pull.scm:93 -#, fuzzy msgid "" "\n" " --commit=COMMIT download the specified \"guix\" channel COMMIT" msgstr "" "\n" -" --commit=REVISIÓN descarga la REVISIÓN especificada" +" --commit=COMMIT descarga el canal \"guix\" especificado COMMIT" # FUZZY #: guix/scripts/pull.scm:95 -#, fuzzy msgid "" "\n" " --branch=BRANCH download the tip of the specified \"guix\" channel BRANCH" msgstr "" "\n" -" --branch=RAMA descarga la punta de la RAMA especificada" +" --branch=RAMA descarga la sugerencia del canal \"guix\" especificado BRANCH" #: guix/scripts/pull.scm:97 msgid "" @@ -4130,10 +4134,9 @@ msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" msgstr "¡no se está ejecutando como 'root', por lo que la propiedad de '~a' puede ser incorrecta!~%" #: guix/scripts/system.scm:257 -#, fuzzy, scheme-format -#| msgid "bootloader successfully installed on '~a'~%" +#, scheme-format msgid "bootloader successfully installed on~{ ~a~}~%" -msgstr "cargador de arranque instalado satisfactoriamente en '~a'~%" +msgstr "cargador de arranque instalado satisfactoriamente en ~{ ~a~}~%" #: guix/scripts/system.scm:280 #, scheme-format @@ -4288,14 +4291,14 @@ msgid "file system with UUID '~a' not found~%" msgstr "sistema de archivos con UUID '~a' no encontrado~%" #: guix/scripts/system.scm:718 -#, fuzzy, scheme-format +#, scheme-format msgid "'disk-image' is deprecated: use 'image' instead~%" -msgstr "'~a' está obsoleto, use '~a'~%" +msgstr "'disk-image' está obsoleto: use en su lugar 'image'~%" #: guix/scripts/system.scm:720 -#, fuzzy, scheme-format +#, scheme-format msgid "'vm-image' is deprecated: use 'image' instead~%" -msgstr "'~a' está obsoleto, use '~a'~%" +msgstr "'vm-image' está obsoleto: use en su lugar 'image'~%" #: guix/scripts/system.scm:734 #, scheme-format @@ -4401,9 +4404,8 @@ msgstr "" " almacén de la máquina anfitriona\n" #: guix/scripts/system.scm:967 -#, fuzzy msgid " image build a Guix System image\n" -msgstr " docker-image construye una imagen Docker\n" +msgstr " image construye una imagen Guix System\n" #: guix/scripts/system.scm:969 msgid " docker-image build a Docker image\n" @@ -4471,24 +4473,20 @@ msgstr "" " --list-image-types enumera los tipos de imagen disponibles" #: guix/scripts/system.scm:993 -#, fuzzy msgid "" "\n" " -t, --image-type=TYPE for 'image', produce an image of TYPE" msgstr "" "\n" -" -t, --image-type=TIPO con 'disk-image', produce una imagen\n" -" del TIPO proporcionado" +" -t, --image-type=TYPE para 'image', produce una imagen de TYPE" #: guix/scripts/system.scm:995 -#, fuzzy msgid "" "\n" " --image-size=SIZE for 'image', produce an image of SIZE" msgstr "" "\n" -" --image-size=TAMAÑO\n" -" con 'vm-image', produce una imagen de TAMAÑO" +" --image-size=TAMAÑO para 'image', produce una imagen de produce an image of TAMAÑO" #: guix/scripts/system.scm:997 msgid "" @@ -4499,24 +4497,20 @@ msgstr "" " --no-bootloader con 'init', no instala un cargador de arranque" #: guix/scripts/system.scm:999 -#, fuzzy msgid "" "\n" " --volatile for 'image', make the root file system volatile" msgstr "" "\n" -" --label=ETIQUETA con 'disk-image', usa ETIQUETA para la\n" -" imagen de disco" +" --volatile para 'image', hace el sistema de archivos root volátil" #: guix/scripts/system.scm:1001 -#, fuzzy msgid "" "\n" " --label=LABEL for 'image', label disk image with LABEL" msgstr "" "\n" -" --label=ETIQUETA con 'disk-image', usa ETIQUETA para la\n" -" imagen de disco" +" --label=ETIQUETA para 'image', etiqueta la imagen de disco con ETIQUETA" #: guix/scripts/system.scm:1003 guix/scripts/pack.scm:1331 msgid "" @@ -4560,7 +4554,6 @@ msgstr "" " contenedores" #: guix/scripts/system.scm:1013 -#, fuzzy msgid "" "\n" " -r, --root=FILE for 'vm', 'image', 'container' and 'build',\n" @@ -4568,10 +4561,9 @@ msgid "" " register it as a garbage collector root" msgstr "" "\n" -" -r, --root=ARCHIVO con 'vm', 'vm-image', 'disk-image', 'container'\n" -" y 'build', crea ARCHIVO como un enlace simbólico\n" -" al resultado y lo registra como una raíz del\n" -" recolector de basura" +" -r, --root=ARCHIVO para 'vm', 'image', 'container' y 'build'\n" +" crea ARCHIVO como un enlace simbólico al resultado y\n" +" lo registra como recolector de basura de root" #: guix/scripts/system.scm:1017 msgid "" @@ -4586,6 +4578,8 @@ msgid "" "\n" " --no-graphic for 'vm', use the tty that we are started in for IO" msgstr "" +"\n" +" --no-graphic para 'vm', use la tty por la que empezamos la IO" #: guix/scripts/system.scm:1021 msgid "" @@ -4602,11 +4596,14 @@ msgid "" " --graph-backend=BACKEND\n" " use BACKEND for 'extension-graphs' and 'shepherd-graph'" msgstr "" +"\n" +" --graph-backend=BACKEND\n" +" usar BACKEND para 'extension-graph' y 'shepherd-graph'" #: guix/scripts/system.scm:1180 -#, fuzzy, scheme-format +#, scheme-format msgid "'~a' does not return an operating system or an image~%" -msgstr "'~a' no devuelve un sistema operativo~%" +msgstr "'~a' no devuelve ni un sistema operativo ni una imagen~%" #: guix/scripts/system.scm:1204 guix/scripts/home.scm:216 #, scheme-format @@ -4694,8 +4691,7 @@ msgid "" " -n, --no-network only run checkers that do not access the network" msgstr "" "\n" -" -n, --no-network ejecuta únicamente comprobaciones que no necesitan\n" -" acceso a la red." +" -n, --no-network ejecuta únicamente comprobaciones que no necesitan acceso a internet" # FUZZY #: guix/scripts/lint.scm:117 @@ -4747,13 +4743,12 @@ msgstr "" " como sea posible" #: guix/scripts/publish.scm:94 -#, fuzzy msgid "" "\n" " -a, --advertise advertise on the local network" msgstr "" "\n" -" -d, --derivation devuelve la derivación del empaquetado" +" -a, --advertise anunciar en la red local" #: guix/scripts/publish.scm:96 msgid "" @@ -4805,17 +4800,12 @@ msgstr "" " durante TTL segundos" #: guix/scripts/publish.scm:108 -#, fuzzy -#| msgid "" -#| "\n" -#| " --ttl=TTL announce narinfos can be cached for TTL seconds" msgid "" "\n" " --negative-ttl=TTL announce missing narinfos can be cached for TTL seconds" msgstr "" "\n" -" --ttl=TTL anuncia que los archivos narinfo pueden estar en caché\n" -" durante TTL segundos" +" --negative-ttl=TTL anuncia que los narinfo faltantes se pueden guardar en caché por TTL segundos" #: guix/scripts/publish.scm:110 msgid "" @@ -4873,9 +4863,9 @@ msgid "~a: invalid duration~%" msgstr "~a: duración no válida~%" #: guix/scripts/publish.scm:1211 -#, fuzzy, scheme-format +#, scheme-format msgid "Advertising ~a~%." -msgstr "borrando ~a~%" +msgstr "Anunciando ~a~%." #: guix/scripts/publish.scm:1243 #, scheme-format @@ -4911,10 +4901,9 @@ msgid "file '~a' not found in search path ~s~%" msgstr "archivo '~a' no encontrado en la ruta de búsqueda ~s~%" #: guix/scripts/edit.scm:95 -#, fuzzy, scheme-format -#| msgid "no packages specified; building an empty pack~%" +#, scheme-format msgid "no packages specified, nothing to edit~%" -msgstr "no se especificó ningún paquete; construyendo un empaquetado vacío~%" +msgstr "no se especificaron paquetes, nada que editar~%" #: guix/scripts/edit.scm:106 #, scheme-format @@ -4992,7 +4981,7 @@ msgstr "~a: clave de ordenación no válida~%" #: guix/scripts/size.scm:318 msgid "missing store item argument\n" -msgstr "falta algún parámetro de elemento del almacén\n" +msgstr "falta el parámetro de elemento del almacén\n" #: guix/scripts/graph.scm:95 #, scheme-format @@ -5121,6 +5110,8 @@ msgid "" "\n" " -M, --max-depth=DEPTH limit to nodes within distance DEPTH" msgstr "" +"\n" +" -M, --max-depth=PROFUNDIDAD limita a los nodos dentro de la distancia PROFUNDIDAD" #: guix/scripts/graph.scm:546 msgid "" @@ -5149,10 +5140,9 @@ msgstr "" " -s, --system=SISTEMA considera el grafo para SISTEMA--por ejemplo, \"i686-linux\"" #: guix/scripts/graph.scm:605 -#, fuzzy, scheme-format -#| msgid "no packages specified; building an empty pack~%" +#, scheme-format msgid "no arguments specified; creating an empty graph~%" -msgstr "no se especificó ningún paquete; construyendo un empaquetado vacío~%" +msgstr "no se especificaron argumentos; creando un grafo vacío~%" #: guix/scripts/graph.scm:618 #, scheme-format @@ -5269,10 +5259,9 @@ msgid "~a: invalid SSH specification~%" msgstr "~a: especificación SSH no válida~%" #: guix/scripts/copy.scm:67 -#, fuzzy, scheme-format -#| msgid "no packages specified; building an empty pack~%" +#, scheme-format msgid "no arguments specified, nothing to copy~%" -msgstr "no se especificó ningún paquete; construyendo un empaquetado vacío~%" +msgstr "no se especificaron argumentos, nada que copiar~%" #: guix/scripts/copy.scm:116 msgid "" @@ -5316,7 +5305,7 @@ msgstr "punto de entrada no implementado en el formato '~a'~%" #: guix/scripts/pack.scm:670 #, scheme-format msgid "~a is not a valid Debian archive compressor. Valid compressors are: ~a~%" -msgstr "" +msgstr "~a no es un compresor válido de archivadores de Debian. Los compresores válidos son: ~a~%" # FUZZY #: guix/scripts/pack.scm:899 @@ -5362,42 +5351,36 @@ msgid "" "\n" " deb Debian archive installable via dpkg/apt" msgstr "" +"\n" +" deb Archivador de Debian que se instala con dpkg/apt" #: guix/scripts/pack.scm:1184 msgid "" "\n" " --help-deb-format list options specific to the deb format" msgstr "" +"\n" +" --help-deb-format enumera las opciones específicas del formato deb" #: guix/scripts/pack.scm:1188 -#, fuzzy -#| msgid "" -#| "\n" -#| " --historical-authorizations=FILE\n" -#| " read historical authorizations from FILE" msgid "" "\n" " --control-file=FILE\n" " Embed the provided control FILE" msgstr "" "\n" -" --historical-authorizations=ARCHIVO\n" -" lee el histórico de autorizaciones de ARCHIVO" +" --control-file=ARCHIVO\n" +" Incrusta el ARCHIVO de control proporcionado" #: guix/scripts/pack.scm:1191 -#, fuzzy -#| msgid "" -#| "\n" -#| " --substitute-urls=URLS\n" -#| " check for available substitutes at URLS" msgid "" "\n" " --postinst-file=FILE\n" " Embed the provided postinst script" msgstr "" "\n" -" --substitute-urls=URLS\n" -" comprueba sustituciones disponibles en URLS" +" --postinst-file=ARCHIVO\n" +" Incrusta el guión de posinstalación proporcionado" #: guix/scripts/pack.scm:1194 #, fuzzy @@ -5542,10 +5525,9 @@ msgid "both a manifest and a package list were given~%" msgstr "se ha proporcionado tanto un manifiesto como una lista de paquetes~%" #: guix/scripts/pack.scm:1425 -#, fuzzy, scheme-format -#| msgid "profile '~a' does not exist~%" +#, scheme-format msgid "file provided with option ~a does not exist: ~a~%" -msgstr "el perfil '~a' no existe~%" +msgstr "no existe el archivo proporcionado con opción ~a: ~a~%" #: guix/scripts/pack.scm:1486 #, scheme-format @@ -5649,9 +5631,8 @@ msgid "Substitutes are missing for the following items:~%" msgstr "Faltan sustituciones para los siguientes elementos:~%" #: guix/scripts/weather.scm:304 -#, fuzzy msgid "unknown system" -msgstr "desconocida" +msgstr "sistema desconocido" #: guix/scripts/weather.scm:319 msgid "" @@ -5843,13 +5824,12 @@ msgstr "" "Enumera las sesiones Guix actuales y sus procesos." #: guix/scripts/processes.scm:306 -#, fuzzy msgid "" "\n" " -f, --format=FORMAT display results as normalized record sets" msgstr "" "\n" -" -f, --format=FORMATO muestra información en el FORMATO proporcionado" +" -f, --format=FORMATO muestra resultados como conjuntos de registros normalizados" #: guix/scripts/deploy.scm:51 msgid "" @@ -5869,7 +5849,7 @@ msgstr[1] "Se desplegarán ~d máquinas mostradas a continuación:~%" #: guix/scripts/deploy.scm:122 #, scheme-format msgid "deploying to ~a...~%" -msgstr "desplegando en ~a..." +msgstr "desplegando a ~a...~%" #: guix/scripts/deploy.scm:134 guix/scripts/deploy.scm:138 #, scheme-format @@ -5888,10 +5868,9 @@ msgid "successfully deployed ~a~%" msgstr "~a desplegada satisfactoriamente~%" #: guix/scripts/deploy.scm:167 -#, fuzzy, scheme-format -#| msgid "missing store item argument\n" +#, scheme-format msgid "missing deployment file argument~%" -msgstr "falta algún parámetro de elemento del almacén\n" +msgstr "falta el parámetro de archivo de despliegue~%" #: guix/gexp.scm:442 #, scheme-format @@ -5918,9 +5897,8 @@ msgid "Updater for packages hosted on savannah.gnu.org" msgstr "Actualizador para paquetes alojados en savannah.gnu.org" #: guix/gnu-maintenance.scm:856 -#, fuzzy msgid "Updater for packages hosted on sourceforge.net" -msgstr "Actualizador para paquetes alojados en kernel.org" +msgstr "Actualizador para paquetes alojados en sourceforge.net" #: guix/gnu-maintenance.scm:863 msgid "Updater for X.org packages" @@ -5931,9 +5909,8 @@ msgid "Updater for packages hosted on kernel.org" msgstr "Actualizador para paquetes alojados en kernel.org" #: guix/gnu-maintenance.scm:877 -#, fuzzy msgid "Updater that crawls HTML pages." -msgstr "Actualizador para paquetes OPAM" +msgstr "Actualizador que examina páginas HTML." #: guix/scripts/container.scm:27 msgid "" @@ -7186,12 +7163,10 @@ msgid "failed to connect over SSH to daemon at '~a', socket ~a" msgstr "no se pudo conectar a «~a»: ~a~%" #: guix/ssh.scm:460 -#, fuzzy -#| msgid "looking for ~h store items on ~a...~%" msgid "sending ~a store item (~h MiB) to '~a'...~%" msgid_plural "sending ~a store items (~h MiB) to '~a'...~%" -msgstr[0] "buscando ~h elementos del almacén en ~a...~%" -msgstr[1] "buscando ~h elementos del almacén en ~a...~%" +msgstr[0] "enviando ~a elemento del almacén (~h MiB) a '~a'...~%" +msgstr[1] "enviando ~a elementos del almacén (~h MiB) a '~a'...~%" #: guix/ssh.scm:556 msgid "unknown error while sending files over SSH" @@ -7220,12 +7195,11 @@ msgid "failed to retrieve store items from '~a'" msgstr "se produjo un fallo al descargar la firma separada de '~a'~%" #: guix/ssh.scm:625 -#, fuzzy, scheme-format -#| msgid "looking for ~h store items on ~a...~%" +#, scheme-format msgid "retrieving ~a store item from '~a'...~%" msgid_plural "retrieving ~a store items from '~a'...~%" -msgstr[0] "buscando ~h elementos del almacén en ~a...~%" -msgstr[1] "buscando ~h elementos del almacén en ~a...~%" +msgstr[0] "obteniendo ~a elemento del almacén desde '~a'...~%" +msgstr[1] "obteniendo ~a elementos del almacén desde '~a'...~%" #: guix/ssh.scm:655 #, fuzzy, scheme-format @@ -7582,11 +7556,12 @@ msgstr "" " necesarias" #: guix/scripts/environment.scm:102 -#, fuzzy msgid "" "\n" " -C, --container run command within an isolated container" -msgstr " exec ejecuta una orden dentro de un contenedor existente\n" +msgstr "" +"\n" +" -C, --container ejecuta la orden dentro de un contenedor aislado" #: guix/scripts/environment.scm:104 #, fuzzy @@ -7781,9 +7756,9 @@ msgid "All is good! The shell gets correct environment variables.~%" msgstr "" #: guix/scripts/environment.scm:579 -#, fuzzy, scheme-format +#, scheme-format msgid "Did you mean '~a'?~%" -msgstr "¿Se ha olvidado de @code{(use-modules ~a)}?" +msgstr "¿Quiso decir '~a'?~%" #: guix/scripts/environment.scm:587 #, fuzzy, scheme-format @@ -8347,9 +8322,9 @@ msgid "(guix) module not usable on remote host '~a'" msgstr "" #: guix/scripts/offload.scm:647 -#, fuzzy, scheme-format +#, scheme-format msgid "Guix is usable on '~a' (test returned ~s)~%" -msgstr " '~a' devolvió ~a (~s)~%" +msgstr "Guix se puede usar en '~a' (la prueba devolvió ~s)~%" #: guix/scripts/offload.scm:650 #, scheme-format @@ -8419,14 +8394,12 @@ msgstr "" # FUZZY #: guix/scripts/offload.scm:848 -#, fuzzy msgid "" "\n" "This tool is meant to be used internally by 'guix-daemon'.\n" msgstr "" -"Uso: guix authenticate OPCIÓN...\n" -"Firma datos o verifica firmas. Esta herramienta está destinada al uso\n" -"interno por parte de 'guix-daemon'.\n" +"\n" +"Esta herramienta está hecha para uso interno en 'guix-daemon'.\n" #: guix/scripts/offload.scm:852 #, fuzzy, scheme-format @@ -8579,9 +8552,9 @@ msgstr "Comprobaciones disponibles:~%" #. like "(42% coverage)" and denotes the fraction of packages #. covered by the given updater. #: guix/scripts/refresh.scm:292 -#, fuzzy, scheme-format +#, scheme-format msgid " - ~a: ~a (~2,1f% coverage)~%" -msgstr " ~a: ~a (~0,1f%)~%" +msgstr " - ~a: ~a (~2,1f% de cobertura)~%" #: guix/scripts/refresh.scm:301 #, scheme-format @@ -8662,9 +8635,9 @@ msgstr[0] "" msgstr[1] "" #: guix/scripts/refresh.scm:455 -#, fuzzy, scheme-format +#, scheme-format msgid "A single dependent package: ~a~%" -msgstr " ~h paquete nuevo: ~a~%" +msgstr "Un solo paquete dependiente: ~a~%" #: guix/scripts/refresh.scm:459 #, scheme-format @@ -8791,10 +8764,9 @@ msgid "" msgstr "" #: guix/scripts/shell.scm:200 -#, fuzzy, scheme-format -#| msgid " canonical file name: ~a~%" +#, scheme-format msgid "ignoring invalid file name: '~a'~%" -msgstr " nombre canónico de archivo: ~a~%" +msgstr "ignorando nombre de archivo no válido: '~a'~%" # FUZZY #: guix/scripts/shell.scm:281 diff --git a/tests/guix-shell.sh b/tests/guix-shell.sh index 7c42fd67ed..23ff1c5bcf 100644 --- a/tests/guix-shell.sh +++ b/tests/guix-shell.sh @@ -73,6 +73,20 @@ echo "Broken manifest." > "$tmpdir/manifest.scm" (cd "$tmpdir"; SHELL="$(realpath fake-shell.sh)" guix shell --bootstrap -q) rm "$tmpdir/manifest.scm" +# Make sure '-D' affects only the immediately following '-f', and not packages +# that appear later: <https://issues.guix.gnu.org/52093>. +cat > "$tmpdir/empty-package.scm" <<EOF +(use-modules (guix) (guix tests) + (guix build-system trivial)) + +(dummy-package "empty-package" + (build-system trivial-build-system)) ;zero inputs +EOF + +guix shell --bootstrap --pure -D -f "$tmpdir/empty-package.scm" \ + guile-bootstrap -- guile --version +rm "$tmpdir/empty-package.scm" + if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null then # Compute the build environment for the initial GNU Make. |