summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-11-22 23:36:09 +0100
committerMarius Bakke <marius@gnu.org>2020-11-22 23:36:09 +0100
commita485a98ca8296d760251e9d870583117ac50979e (patch)
tree792df6983c0e52403a6c3b82c804f295369a9b1d
parent84d1b500f078b619daba35864c703890bd91e5c2 (diff)
parent1ca0c348674dd4dec2ccb5a2d79b4cfd03a631ef (diff)
downloadguix-patches-a485a98ca8296d760251e9d870583117ac50979e.tar
guix-patches-a485a98ca8296d760251e9d870583117ac50979e.tar.gz
Merge branch 'master' into staging
-rw-r--r--doc/guix.texi11
-rw-r--r--gnu/build/linux-initrd.scm13
-rw-r--r--gnu/ci.scm4
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/admin.scm2
-rw-r--r--gnu/packages/aidc.scm2
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/assembly.scm2
-rw-r--r--gnu/packages/audio.scm6
-rw-r--r--gnu/packages/browser-extensions.scm6
-rw-r--r--gnu/packages/check.scm6
-rw-r--r--gnu/packages/clojure.scm22
-rw-r--r--gnu/packages/compression.scm2
-rw-r--r--gnu/packages/coq.scm2
-rw-r--r--gnu/packages/crates-graphics.scm27
-rw-r--r--gnu/packages/crates-io.scm1393
-rw-r--r--gnu/packages/cups.scm35
-rw-r--r--gnu/packages/dictionaries.scm2
-rw-r--r--gnu/packages/disk.scm2
-rw-r--r--gnu/packages/django.scm5
-rw-r--r--gnu/packages/djvu.scm112
-rw-r--r--gnu/packages/docker.scm6
-rw-r--r--gnu/packages/documentation.scm2
-rw-r--r--gnu/packages/emacs-xyz.scm354
-rw-r--r--gnu/packages/embedded.scm4
-rw-r--r--gnu/packages/enchant.scm2
-rw-r--r--gnu/packages/file-systems.scm74
-rw-r--r--gnu/packages/fontutils.scm2
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/games.scm4
-rw-r--r--gnu/packages/geo.scm2
-rw-r--r--gnu/packages/gimp.scm2
-rw-r--r--gnu/packages/gnome-xyz.scm2
-rw-r--r--gnu/packages/gnome.scm8
-rw-r--r--gnu/packages/gnuzilla.scm8
-rw-r--r--gnu/packages/golang.scm4
-rw-r--r--gnu/packages/graphics.scm10
-rw-r--r--gnu/packages/gstreamer.scm8
-rw-r--r--gnu/packages/guile-xyz.scm10
-rw-r--r--gnu/packages/haskell-web.scm43
-rw-r--r--gnu/packages/heads.scm34
-rw-r--r--gnu/packages/image.scm2
-rw-r--r--gnu/packages/irc.scm18
-rw-r--r--gnu/packages/java.scm2
-rw-r--r--gnu/packages/language.scm4
-rw-r--r--gnu/packages/lego.scm58
-rw-r--r--gnu/packages/libusb.scm4
-rw-r--r--gnu/packages/linux.scm113
-rw-r--r--gnu/packages/lisp-xyz.scm6
-rw-r--r--gnu/packages/lisp.scm37
-rw-r--r--gnu/packages/lxqt.scm2
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/man.scm2
-rw-r--r--gnu/packages/messaging.scm60
-rw-r--r--gnu/packages/music.scm59
-rw-r--r--gnu/packages/networking.scm10
-rw-r--r--gnu/packages/ocaml.scm8
-rw-r--r--gnu/packages/openstack.scm223
-rw-r--r--gnu/packages/package-management.scm10
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch11
-rw-r--r--gnu/packages/patches/xpra-4.0.4-norequests.patch39
-rw-r--r--gnu/packages/python-check.scm67
-rw-r--r--gnu/packages/python-crypto.scm2
-rw-r--r--gnu/packages/python-web.scm391
-rw-r--r--gnu/packages/python-xyz.scm315
-rw-r--r--gnu/packages/qt.scm2
-rw-r--r--gnu/packages/raspberry-pi.scm4
-rw-r--r--gnu/packages/rdesktop.scm2
-rw-r--r--gnu/packages/ruby.scm30
-rw-r--r--gnu/packages/rust-apps.scm18
-rw-r--r--gnu/packages/scheme.scm2
-rw-r--r--gnu/packages/shellutils.scm4
-rw-r--r--gnu/packages/simulation.scm18
-rw-r--r--gnu/packages/storage.scm4
-rw-r--r--gnu/packages/syncthing.scm2
-rw-r--r--gnu/packages/tls.scm8
-rw-r--r--gnu/packages/video.scm18
-rw-r--r--gnu/packages/vim.scm44
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/xfce.scm1
-rw-r--r--gnu/packages/xml.scm17
-rw-r--r--gnu/packages/xorg.scm7
-rw-r--r--gnu/services/base.scm3
-rw-r--r--gnu/services/cups.scm3
-rw-r--r--gnu/services/sddm.scm2
-rw-r--r--gnu/system/images/pinebook-pro.scm66
-rw-r--r--guix/build/cargo-build-system.scm7
-rw-r--r--guix/cpio.scm33
-rw-r--r--guix/import/hackage.scm14
-rw-r--r--guix/import/stackage.scm8
-rw-r--r--guix/lint.scm83
-rw-r--r--guix/scripts/build.scm13
-rw-r--r--guix/scripts/environment.scm2
-rw-r--r--guix/scripts/graph.scm5
-rw-r--r--guix/scripts/install.scm2
-rw-r--r--guix/scripts/lint.scm15
-rw-r--r--guix/scripts/pack.scm2
-rw-r--r--guix/scripts/package.scm2
-rw-r--r--guix/scripts/publish.scm6
-rw-r--r--guix/scripts/upgrade.scm2
-rw-r--r--guix/store.scm6
-rw-r--r--guix/transformations.scm16
-rw-r--r--po/doc/guix-manual.fr.po47
-rw-r--r--tests/lint.scm88
-rw-r--r--tests/store-database.scm26
106 files changed, 3322 insertions, 1007 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 468e0a2e53..8146417236 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17500,16 +17500,17 @@ CUPS service will generate a self-signed certificate if needed, for
secure connections to the print server.
Suppose you want to enable the Web interface of CUPS and also add
-support for Epson printers @i{via} the @code{escpr} package and for HP
-printers @i{via} the @code{hplip-minimal} package. You can do that directly,
-like this (you need to use the @code{(gnu packages cups)} module):
+support for Epson printers @i{via} the @code{epson-inkjet-printer-escpr}
+package and for HP printers @i{via} the @code{hplip-minimal} package.
+You can do that directly, like this (you need to use the
+@code{(gnu packages cups)} module):
@lisp
(service cups-service-type
(cups-configuration
(web-interface? #t)
(extensions
- (list cups-filters escpr hplip-minimal))))
+ (list cups-filters epson-inkjet-printer-escpr hplip-minimal))))
@end lisp
Note: If you wish to use the Qt5 based GUI which comes with the hplip
@@ -17538,7 +17539,7 @@ Available @code{cups-configuration} fields are:
The CUPS package.
@end deftypevr
-@deftypevr {@code{cups-configuration} parameter} package-list extensions (default: @code{(list escpr hplip-minimal foomatic-filters)})
+@deftypevr {@code{cups-configuration} parameter} package-list extensions (default: @code{(list epson-inkjet-printer-escpr hplip-minimal foomatic-filters splix)})
Drivers and other extensions to the CUPS package.
@end deftypevr
diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm
index ea7de58553..99796adba6 100644
--- a/gnu/build/linux-initrd.scm
+++ b/gnu/build/linux-initrd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,8 +39,9 @@
#:key
(compress? #t)
(gzip "gzip"))
- "Write a cpio archive containing DIRECTORY to file OUTPUT. When
-COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
+ "Write a cpio archive containing DIRECTORY to file OUTPUT, with reset
+timestamps in the archive. When COMPRESS? is true, compress it using GZIP.
+On success, return OUTPUT."
;; Note: as per `ramfs-rootfs-initramfs.txt', always add directory entries
;; before the files that are inside of it: "The Linux kernel cpio
@@ -141,12 +142,6 @@ REFERENCES-GRAPHS."
(symlink (string-append guile "/bin/guile") "proc/self/exe")
(readlink "proc/self/exe")
- ;; Reset the timestamps of all the files that will make it in the initrd.
- (for-each (lambda (file)
- (unless (eq? 'symlink (stat:type (lstat file)))
- (utime file 0 0 0 0)))
- (find-files "." ".*"))
-
(write-cpio-archive output "." #:gzip gzip))
;; Make sure directories are writable so we can delete files.
diff --git a/gnu/ci.scm b/gnu/ci.scm
index bf9952a450..a5afef91ae 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -57,6 +57,7 @@
#:use-module (gnu system install)
#:use-module (gnu system images hurd)
#:use-module (gnu system images pine64)
+ #:use-module (gnu system images pinebook-pro)
#:use-module (gnu tests)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@@ -205,7 +206,8 @@ SYSTEM."
(define %guix-system-images
(list hurd-barebones-qcow2-image
- pine64-barebones-raw-image))
+ pine64-barebones-raw-image
+ pinebook-pro-barebones-raw-image))
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
diff --git a/gnu/local.mk b/gnu/local.mk
index 42a0e09e47..49d7ea93b3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -652,6 +652,7 @@ GNU_SYSTEM_MODULES = \
\
%D%/system/images/hurd.scm \
%D%/system/images/pine64.scm \
+ %D%/system/images/pinebook-pro.scm \
\
%D%/machine.scm \
\
@@ -989,6 +990,7 @@ dist_patch_DATA = \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
+ %D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
%D%/packages/patches/ganeti-deterministic-manual.patch \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-drbd-compat.patch \
@@ -1717,7 +1719,6 @@ dist_patch_DATA = \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xpra-4.0.1-systemd-run.patch \
- %D%/packages/patches/xpra-4.0.4-norequests.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f3bd7ffab2..1ea6f975ff 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4131,7 +4131,7 @@ entries, providing commands to add, remove, comment, and search.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/jclehner/nmrpflash.git")
+ (url "https://github.com/jclehner/nmrpflash")
(commit (string-append "v" version))))
(sha256
(base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1"))
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index 3facc6894f..6628a8ead3 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -50,7 +50,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/nu-book/zxing-cpp.git")
+ (url "https://github.com/nu-book/zxing-cpp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index ed35a6832f..1c485a3f07 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1005,7 +1005,7 @@ Optional thin wrappers allow usage of the library from other languages.")
(define-public eigen
(package
(name "eigen")
- (version "3.3.7")
+ (version "3.3.8")
(source (origin
(method url-fetch)
(uri (list
@@ -1015,7 +1015,7 @@ Optional thin wrappers allow usage of the library from other languages.")
version ".orig.tar.bz2")))
(sha256
(base32
- "1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz"))
+ "1vxrsncfnkyq6gwxpsannpryp12mk7lc8f42ybvz3saf7icwc582"))
(file-name (string-append name "-" version ".tar.bz2"))
(patches (search-patches "eigen-stabilise-sparseqr-test.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 7fd469e950..a20ae542ce 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -444,7 +444,7 @@ sets, both THUMB and ARM mode.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/intelxed/mbuild.git")
+ (url "https://github.com/intelxed/mbuild")
(commit "5304b94361fccd830c0e2417535a866b79c1c297")))
(sha256
(base32
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3332e5b6d3..df8b8efcf1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -140,7 +140,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
+ (url "https://github.com/KhronosGroup/OpenSL-ES-Registry")
(commit "ea5104bf37bf525c25e6ae2386586048179d0fda")))
(file-name (git-file-name name version))
(sha256
@@ -202,7 +202,7 @@ promoting the market for advanced audio.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Mindwerks/wildmidi.git")
+ (url "https://github.com/Mindwerks/wildmidi")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
@@ -277,7 +277,7 @@ Coding (AAC) encoder.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/tinyalsa/tinyalsa.git")
+ (url "https://github.com/tinyalsa/tinyalsa")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 826767092a..688a1373e3 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -53,7 +53,7 @@ supported content to the Kodi media center.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/uBlockOrigin/uAssets.git")
+ (url "https://github.com/uBlockOrigin/uAssets")
(commit commit)))
(file-name (git-file-name "uAssets" (string-take commit 9)))
(sha256
@@ -63,7 +63,7 @@ supported content to the Kodi media center.")
(define ublock-origin
(package
(name "ublock-origin")
- (version "1.30.6")
+ (version "1.31.0")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@@ -71,7 +71,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
- "10arx4r4s8125g9zlh3bcjpcb4qh2wzfmvqc2x8nly5fbxvxvns3"))))
+ "1wfg1g061l83fqwllp8q1jr1kvwxy2kbbzfk6ynlf18kjng9v3h5"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(arguments
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 0ca0653a54..cf9b85d592 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -119,7 +119,7 @@ modify some aspects of this style through the use of regular expressions.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/ebassi/mutest.git")
+ (url "https://github.com/ebassi/mutest")
(commit "e6246c9")))
(file-name (git-file-name name version))
(sha256
@@ -1427,14 +1427,14 @@ use of resources by test cases.")))
(define-public python-subunit-bootstrap
(package
(name "python-subunit-bootstrap")
- (version "1.3.0")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-subunit" version))
(sha256
(base32
- "1fsw8rsn1s3nklx06mayrg5rn2zbky6wwjc5z07s7rf1wjzfs1wn"))))
+ "0j0ymmnc5nfxi1qzvy59j27viqca7l7xd0y9x29g7yr0h693j804"))))
(build-system python-build-system)
(propagated-inputs
`(("python-extras" ,python-extras)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index e66132ab40..5b238ab996 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -21,6 +22,7 @@
(define-module (gnu packages clojure)
#:use-module (gnu packages)
+ #:use-module (gnu packages java)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -78,6 +80,8 @@
(sha256
(base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83")))))
(build-system ant-build-system)
+ (inputs
+ `(("jre" ,icedtea)))
(arguments
`(#:imported-modules ((guix build clojure-utils)
(guix build guile-build-system)
@@ -114,7 +118,23 @@
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-javadoc
- (install-javadoc "target/javadoc/")))))
+ (install-javadoc "target/javadoc/"))
+ (add-after 'install 'make-wrapper
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (wrapper (string-append out "/bin/clojure")))
+ (mkdir-p (string-append out "/bin"))
+ (with-output-to-file wrapper
+ (lambda _
+ (display
+ (string-append
+ "#!"
+ (which "sh")
+ "\n\n"
+ (assoc-ref inputs "jre") "/bin/java -jar "
+ out "/share/java/clojure.jar \"$@\"\n"))))
+ (chmod wrapper #o555))
+ #t)))))
(native-inputs libraries)
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6764bb62c3..1d643cdff8 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1302,7 +1302,7 @@ or junctions, and always follows hard links.")
(source
(origin (method git-fetch)
(uri (git-reference
- (url "http://github.com/twogood/unshield.git")
+ (url "http://github.com/twogood/unshield")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index e57e40c2ad..fb6a899b48 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -522,7 +522,7 @@ Coq proof assistant.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "git://github.com/uds-psl/autosubst.git")
+ (url "git://github.com/uds-psl/autosubst")
(commit commit)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 9193479092..11bdd4c4f4 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -183,20 +183,12 @@ text or blue underlined text, on ANSI terminals.")
(arguments
`(#:cargo-inputs
(("rust-bindgen" ,rust-bindgen-0.53)
- ("rust-metadeps" ,rust-metadeps-1.1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))
+ ("rust-metadeps" ,rust-metadeps-1.1))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libaom" ,libaom)
- ("libclang" ,clang)
+ ("clang" ,clang)
("llvm" ,llvm)))
(home-page "https://github.com/rust-av/aom-rs")
(synopsis "FFI bindings to aom")
@@ -402,19 +394,12 @@ for computer graphics.")
(arguments
`(#:cargo-inputs
(("rust-bindgen" ,rust-bindgen-0.54)
- ("rust-metadeps" ,rust-metadeps-1.1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))
+ ("rust-metadeps" ,rust-metadeps-1.1))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
`(("dav1d" ,dav1d)
- ("pkg-config" ,pkg-config)
- ("libclang" ,clang)
+ ("clang" ,clang)
("llvm" ,llvm)))
(home-page "https://github.com/rust-av/dav1d-rs")
(synopsis "FFI bindings to dav1d")
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f485142383..82e37a0f8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39,6 +39,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-gtk)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages fontutils)
@@ -1470,6 +1471,28 @@ trace (backtrace) at runtime in a Rust program.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-base58-0.1
+ (package
+ (name "rust-base58")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "base58" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10xfw6v7jzn9i682mkw9nqybzafrvl3i2wawwgp5a8gh2n0fw92h"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/debris/base58")
+ (synopsis "Tiny and fast base58 encoding")
+ (description
+ "Encode to base58 using only Rust. This package is based on
+@url{https://github.com/trezor/trezor-crypto/blob/master/base58.c} at commit
+c6e7d37. However, this package works only up to 128 bytes.")
+ (license license:expat)))
+
(define-public rust-base64-0.12
(package
(name "rust-base64")
@@ -1726,11 +1749,6 @@ that uses Serde for transforming structs into bytes and vice versa!")
(add-after 'unpack 'enable-unstable-features
(lambda _
(setenv "RUSTC_BOOTSTRAP" "1")
- #t))
- (add-before 'configure 'configure-clang
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "LIBCLANG_PATH" (string-append (assoc-ref inputs "clang")
- "/lib"))
#t)))))
(home-page "https://rust-lang.github.io/rust-bindgen/")
(synopsis "Generate Rust FFI bindings to C and C++ libraries.")
@@ -1775,17 +1793,9 @@ bindings to C and C++ libraries.")
#:cargo-development-inputs
(("rust-clap" ,rust-clap-2)
("rust-diff" ,rust-diff-0.1)
- ("rust-shlex" ,rust-shlex-0.1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))
+ ("rust-shlex" ,rust-shlex-0.1))))
(inputs
- `(("libclang" ,clang)))))
+ `(("clang" ,clang)))))
(define-public rust-bindgen-0.53
(package
@@ -1822,15 +1832,7 @@ bindings to C and C++ libraries.")
#:cargo-development-inputs
(("rust-clap" ,rust-clap-2)
("rust-diff" ,rust-diff-0.1)
- ("rust-shlex" ,rust-shlex-0.1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-shlex" ,rust-shlex-0.1))))))
(define-public rust-bindgen-0.52
(package
@@ -1868,15 +1870,7 @@ bindings to C and C++ libraries.")
#:cargo-development-inputs
(("rust-clap" ,rust-clap-2)
("rust-diff" ,rust-diff-0.1)
- ("rust-shlex" ,rust-shlex-0.1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-shlex" ,rust-shlex-0.1))))))
(define-public rust-bindgen-0.51
(package
@@ -2647,6 +2641,37 @@ dependency on the rust stdlib. This makes it suitable for embedded devices
and kernels.")
(license (list license:bsd-3 license:expat))))
+(define-public rust-bs58-0.2
+ (package
+ (name "rust-bs58")
+ (version "0.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bs58" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "125i962x0m0ggdif6ds51wfif2lypiicy469dj5j2l6rm6xycpn9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-sha2" ,rust-sha2-0.8))
+ #:cargo-development-inputs
+ (("rust-assert-matches" ,rust-assert-matches-1.3)
+ ("rust-base58" ,rust-base58-0.1)
+ ("rust-rust-base58" ,rust-rust-base58-0.0))))
+ (home-page "https://github.com/mycorrhiza/bs58-rs")
+ (synopsis "Another Base58 codec implementation")
+ (description
+ "Another Base58 codec implementation. Compared to the base58 crate this
+is significantly faster at decoding (about 2.4x as fast when decoding 32
+bytes), almost the same speed for encoding (about 3% slower when encoding 32
+bytes), doesn't have the 128 byte limitation and supports a configurable
+alphabet.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-bstr-0.2
(package
(name "rust-bstr")
@@ -2695,6 +2720,35 @@ UTF-8.")
(base32
"0nzi9vqhl56ws8gq39f3aj4qjrr4l3g5lbkkcj8xq1x4cb74wq2r"))))))
+(define-public rust-buffered-reader-0.9
+ (package
+ (name "rust-buffered-reader")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "buffered-reader" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05rklfiia1k4c4ifpim08l22i0q0l3j9xdg2yh3njrp6w58z6z13"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bzip2" ,rust-bzip2-0.3)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-libc" ,rust-libc-0.2))))
+ (home-page "https://sequoia-pgp.org/")
+ (synopsis "Super-powered Reader")
+ (description
+ "Like the @code{BufRead} trait, the @code{BufferedReader} trait has an
+internal buffer that is directly exposed to the user. This design enables two
+performance optimizations. First, the use of an internal buffer amortizes
+system calls. Second, exposing the internal buffer allows the user to work
+with data in place, which avoids another copy.")
+ (license license:gpl3)))
+
(define-public rust-build-const-0.2
(package
(name "rust-build-const")
@@ -3447,17 +3501,9 @@ archive to be linked into Rustcode.")
`(#:cargo-inputs
(("rust-nom" ,rust-nom-5))
#:cargo-development-inputs
- (("rust-clang-sys" ,rust-clang-sys-0.28))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))
+ (("rust-clang-sys" ,rust-clang-sys-0.28))))
(inputs
- `(("libclang" ,clang)))
+ `(("clang" ,clang)))
(home-page "https://github.com/jethrogb/rust-cexpr")
(synopsis "C expression parser and evaluator")
(description
@@ -3482,15 +3528,7 @@ archive to be linked into Rustcode.")
`(#:cargo-inputs
(("rust-nom" ,rust-nom-4.2))
#:cargo-development-inputs
- (("rust-clang-sys" ,rust-clang-sys-0.28))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ (("rust-clang-sys" ,rust-clang-sys-0.28))))))
(define-public rust-cexpr-0.2
(package
@@ -3511,15 +3549,7 @@ archive to be linked into Rustcode.")
`(#:cargo-inputs
(("rust-nom" ,rust-nom-3))
#:cargo-development-inputs
- (("rust-clang-sys" ,rust-clang-sys-0.11))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ (("rust-clang-sys" ,rust-clang-sys-0.11))))))
(define-public rust-cfg-if-0.1
(package
@@ -3622,20 +3652,12 @@ depending on a large number of #[cfg] parameters. Structured like an
"0695kfrqx7n091fzm6msbqg2q2kyhka64q08lm63f3l9d964i8cx"))))
(build-system cargo-build-system)
(inputs
- `(("libclang" ,clang)))
+ `(("clang" ,clang)))
(arguments
`(#:cargo-inputs
(("rust-glob" ,rust-glob-0.3)
("rust-libc" ,rust-libc-0.2)
- ("rust-libloading" ,rust-libloading-0.6))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'configure-clang
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "LIBCLANG_PATH"
- (string-append (assoc-ref inputs "libclang")
- "/lib"))
- #t)))))
+ ("rust-libloading" ,rust-libloading-0.6))))
(home-page "https://github.com/KyleMayes/clang-sys")
(synopsis "Rust bindings for libclang")
(description "This package provides Rust bindings for libclang.")
@@ -3659,15 +3681,7 @@ depending on a large number of #[cfg] parameters. Structured like an
`(#:cargo-inputs
(("rust-glob" ,rust-glob-0.3)
("rust-libc" ,rust-libc-0.2)
- ("rust-libloading" ,rust-libloading-0.5))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-libloading" ,rust-libloading-0.5))))))
(define-public rust-clang-sys-0.28
(package
@@ -3700,15 +3714,7 @@ depending on a large number of #[cfg] parameters. Structured like an
`(#:cargo-inputs
(("rust-glob" ,rust-glob-0.2)
("rust-libc" ,rust-libc-0.2)
- ("rust-libloading" ,rust-libloading-0.5))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-libloading" ,rust-libloading-0.5))))))
(define-public rust-clang-sys-0.23
(package
@@ -3745,15 +3751,7 @@ depending on a large number of #[cfg] parameters. Structured like an
(("rust-clippy" ,rust-clippy-0.0)
("rust-glob" ,rust-glob-0.2)
("rust-libc" ,rust-libc-0.2)
- ("rust-libloading" ,rust-libloading-0.5))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-libloading" ,rust-libloading-0.5))))))
(define-public rust-clang-sys-0.11
(package
@@ -3777,15 +3775,7 @@ depending on a large number of #[cfg] parameters. Structured like an
("rust-glob" ,rust-glob-0.2)
("rust-lazy-static" ,rust-lazy-static-0.2)
("rust-libc" ,rust-libc-0.2)
- ("rust-libloading" ,rust-libloading-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-environmental-variable
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((clang (assoc-ref inputs "libclang")))
- (setenv "LIBCLANG_PATH"
- (string-append clang "/lib")))
- #t)))))))
+ ("rust-libloading" ,rust-libloading-0.3))))))
(define-public rust-clap-2
(package
@@ -4470,6 +4460,71 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
semantics than those provided by @code{as} or @code{From}/@code{Into}.")
(license license:expat)))
+(define-public rust-cookie-0.12
+ (package
+ (name "rust-cookie")
+ (version "0.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cookie" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1mdvqixahcywvqp0y8k2skkgbpfhsp0w73l9mz93dcrx1gq091l8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-base64" ,rust-base64-0.10)
+ ("rust-ring" ,rust-ring-0.14)
+ ("rust-time" ,rust-time-0.1)
+ ("rust-url" ,rust-url-1))))
+ (home-page "https://github.com/SergioBenitez/cookie-rs")
+ (synopsis
+ "Crate for parsing HTTP cookie headers and managing a cookie jar")
+ (description
+ "Parse HTTP cookie headers and manage a cookie jar with this crate.
+It supports signed and private (encrypted + signed) jars.")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-cookie-store-0.7
+ (package
+ (name "rust-cookie-store")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cookie-store" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "174i9k9g62pfx7y1nqynywdpjplkl3j4hi3ck6bz2r996qzhnxa6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cookie" ,rust-cookie-0.12)
+ ("rust-idna" ,rust-idna-0.1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-publicsuffix" ,rust-publicsuffix-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-time" ,rust-time-0.1)
+ ("rust-try-from" ,rust-try-from-0.3)
+ ("rust-url" ,rust-url-1))
+ #:cargo-development-inputs
+ (("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+ (home-page "https://github.com/pfernie/cookie_store")
+ (synopsis "Implementation of Cookie storage and retrieval per RFC6265")
+ (description
+ "This crate provides an implementation for storing and retrieving Cookies per
+the path and domain matching rules specified in RFC6265.
+
+Split from the user_agent crate.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-cordic-0.1
(package
(name "rust-cordic")
@@ -5410,6 +5465,34 @@ Code (MAC) algorithms.")
algorithms.")
(license (list license:expat license:asl2.0))))
+(define-public rust-cryptovec-0.4
+ (package
+ (name "rust-cryptovec")
+ (version "0.4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cryptovec" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1n88dmhfb2dxs48zllq1g1dya76zx4fajw482qy8jj4hgg1da4p4"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; CryptoVec::from_slice failed
+ #:cargo-inputs
+ (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.2))))
+ (home-page "https://crates.io/crates/cryptovec")
+ (synopsis
+ "Vector which zeroes its memory on clears and reallocations")
+ (description
+ "This package provides a vector which zeroes its memory on clears and
+reallocations.")
+ (license license:asl2.0)))
+
(define-public rust-cssparser-0.27
(package
(name "rust-cssparser")
@@ -5738,14 +5821,7 @@ use with bindgen.")
("rust-winapi" ,rust-winapi-0.3)
("rust-cc" ,rust-cc-1)
("rust-pkg-config" ,rust-pkg-config-0.3)
- ("rust-vcpkg" ,rust-vcpkg-0.2))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'find-openssl
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ ("rust-vcpkg" ,rust-vcpkg-0.2))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -6555,6 +6631,28 @@ Diesel.")
#:cargo-development-inputs
(("rust-term" ,rust-term-0.2))))))
+(define-public rust-diffs-0.3
+ (package
+ (name "rust-diffs")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "diffs" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "036sqycmir4bbl4016jprsyjq4hicc31r68dyqadmc8ac9pk55d1"))))
+ (build-system cargo-build-system)
+ (home-page "https://nest.pijul.com/pijul_org/pijul")
+ (synopsis "Diff algorithms, also called longest common subsequence")
+ (description
+ "This package provides a number of diff algorithms, also called longest
+common subsequence. The diff algorithms include Myer's diff and Patience
+diff.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-digest-0.9
(package
(name "rust-digest")
@@ -7578,6 +7676,26 @@ Standard.")
accessor functions on enums.")
(license (list license:expat license:asl2.0))))
+(define-public rust-enum-as-inner-0.2
+ (package
+ (inherit rust-enum-as-inner-0.3)
+ (name "rust-enum-as-inner")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "enum-as-inner" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0zg3h7k3g1z7a9ayqy63sk302d4dg5g2h274ddv80mj4jxn2cn1x"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+ ("rust-quote" ,rust-quote-0.6)
+ ("rust-syn" ,rust-syn-0.15))))))
+
(define-public rust-env-logger-0.7
(package
(name "rust-env-logger")
@@ -9812,6 +9930,31 @@ API library @code{gdi32}.")
"This package provides a package for generating 3D meshes/")
(license license:asl2.0)))
+(define-public rust-getch-0.2
+ (package
+ (name "rust-getch")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "getch" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00in8q95qi8a5q3zn2zcaqp5avj79f5myd2a4zfdy2m24ycvbc5v"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-termios" ,rust-termios-0.2))))
+ (home-page "https://nest.pijul.com/pijul_org/getch")
+ (synopsis "Portable implementation of getch")
+ (description
+ "This package provides a portable implementation of getch, using
+@code{_getch} on Windows, and @code{termios} on Unix.")
+ (license license:asl2.0)))
+
(define-public rust-getopts-0.2
(package
(name "rust-getopts")
@@ -9887,14 +10030,7 @@ retrieving random data from system source.")
(arguments
`(#:cargo-inputs
(("rust-gettext-sys" ,rust-gettext-sys-0.19)
- ("rust-locale-config" ,rust-locale-config-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'use-system-gettext
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gettext (assoc-ref inputs "gettext")))
- (setenv "GETTEXT_SYSTEM" gettext)
- #t))))))
+ ("rust-locale-config" ,rust-locale-config-0.3))))
(inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/Koka/gettext-rs")
@@ -9919,14 +10055,7 @@ retrieving random data from system source.")
(arguments
`(#:cargo-inputs
(("rust-gettext-sys" ,rust-gettext-sys-0.19)
- ("rust-locale-config" ,rust-locale-config-0.2))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'use-system-gettext
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gettext (assoc-ref inputs "gettext")))
- (setenv "GETTEXT_SYSTEM" gettext)
- #t))))))))
+ ("rust-locale-config" ,rust-locale-config-0.2))))))
(define-public rust-gettext-sys-0.19
(package
@@ -9947,14 +10076,7 @@ retrieving random data from system source.")
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
- (("rust-cc" ,rust-cc-1))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'use-system-gettext
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gettext (assoc-ref inputs "gettext")))
- (setenv "GETTEXT_SYSTEM" gettext)
- #t))))))
+ (("rust-cc" ,rust-cc-1))))
(inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/Koka/gettext-rs")
@@ -10119,10 +10241,11 @@ DWARF debugging format.")
("rust-thread-id" ,rust-thread-id-3)
("rust-time" ,rust-time-0.1))))
(native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
`(("libgit2" ,libgit2)
("libssh2" ,libssh2)
("openssl" ,openssl)
- ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(home-page "https://github.com/rust-lang/git2-rs")
(synopsis "Rust bindings to libgit2")
@@ -11684,6 +11807,40 @@ SystemTime}}.")
("rust-tokio-mockstream" ,rust-tokio-mockstream-1)
("rust-url" ,rust-url-1))))))
+(define-public rust-hyper-old-types-0.11
+ (package
+ (name "rust-hyper-old-types")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hyper-old-types" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i69sks0bwamzqdbx8ffgkssxffv6crdmwjgl47nr5pkxi8vx5k8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Tests do not compile
+ #:cargo-inputs
+ (("rust-base64" ,rust-base64-0.9)
+ ("rust-bytes" ,rust-bytes-0.4)
+ ("rust-http" ,rust-http-0.1)
+ ("rust-httparse" ,rust-httparse-1)
+ ("rust-language-tags" ,rust-language-tags-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-mime" ,rust-mime-0.3)
+ ("rust-percent-encoding" ,rust-percent-encoding-1.0)
+ ("rust-time" ,rust-time-0.1)
+ ("rust-unicase" ,rust-unicase-2))))
+ (home-page "https://hyper.rs")
+ (synopsis "HTTP types from hyper 0.11.x")
+ (description
+ "This package contains HTTP types from the newer hyper crate in versions
+0.11.x.")
+ (license license:expat)))
+
(define-public rust-hyper-rustls-0.21
(package
(name "rust-hyper-rustls")
@@ -13325,18 +13482,12 @@ algorithm and related formats (ZLIB, GZIP).")
("rust-openssl-sys" ,rust-openssl-sys-0.9)
;; Build dependencies:
("rust-cc" ,rust-cc-1)
- ("rust-pkg-config" ,rust-pkg-config-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'dont-vendor-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
(native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
`(("libgit2" ,libgit2)
("openssl" ,openssl)
- ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(home-page "https://github.com/rust-lang/git2-rs")
(synopsis "Native bindings to the libgit2 library")
@@ -13577,6 +13728,69 @@ allocator.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-libpijul-0.12
+ (package
+ (name "rust-libpijul")
+ (version "0.12.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libpijul" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18d9n8xaq5ncq3375f0xrr96l8si1frczgzdlrz3fl1jby8vbl6f"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; backend::file_header::test_fileheader_alignment fails
+ #:cargo-inputs
+ (("rust-base64" ,rust-base64-0.10)
+ ("rust-bincode" ,rust-bincode-1)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-bs58" ,rust-bs58-0.2)
+ ("rust-byteorder" ,rust-byteorder-1)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-diffs" ,rust-diffs-0.3)
+ ("rust-failure" ,rust-failure-0.1)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-hex" ,rust-hex-0.3)
+ ("rust-ignore" ,rust-ignore-0.4)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-rand" ,rust-rand-0.6)
+ ("rust-sanakirja" ,rust-sanakirja-0.10)
+ ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-0.9)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-tempdir" ,rust-tempdir-0.3)
+ ("rust-toml" ,rust-toml-0.4))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("clang" ,clang)
+ ("nettle" ,nettle)
+ ("openssl" ,openssl)))
+ (home-page "https://pijul.org/")
+ (synopsis "Library component of the pijul version control system")
+ (description
+ "This crate contains the core API to access Pijul repositories.
+
+The key object is a @code{Repository}, on which @code{Txn} (immutable
+transactions) and @code{MutTxn} (mutable transactions) can be started, to
+perform a variety of operations.
+
+Another important object is a @code{Patch}, which encodes two different pieces
+of information:
+
+@itemize
+@item Information about deleted and inserted lines between two versions of a
+file.
+@item Information about file moves, additions and deletions.
+@end itemize")
+ (license license:gpl2+)))
+
(define-public rust-libsqlite3-sys-0.15
(package
(name "rust-libsqlite3-sys")
@@ -13640,6 +13854,38 @@ known as zlib).")
(license (list license:asl2.0
license:expat))))
+(define-public rust-line-0.1
+ (package
+ (name "rust-line")
+ (version "0.1.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "line" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pissvrl5398701zlfd22w51ca32vhw83vbsl58a330hr4w5ra04"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-utf8parse" ,rust-utf8parse-0.1))))
+ (home-page "https://crates.io/crates/line")
+ (synopsis "Rust implementation of line editing in a terminal")
+ (description
+ "The main goals of this library are:
+
+@itemize
+@item Portability: should work on any system (Unix or Windows).
+@item Support: was written for a real-world project (Pijul), so support is
+unlikely to stop soon.
+@item Output quality: avoid usual blinking terminal lines that older C
+libraries have.
+@end itemize")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-line-wrap-0.1
(package
(name "rust-line-wrap")
@@ -13759,18 +14005,12 @@ pairs in insertion order.")
;; Build dependencies:
("rust-cc" ,rust-cc-1)
("rust-pkg-config" ,rust-pkg-config-0.3)
- ("rust-vcpkg" ,rust-vcpkg-0.2))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'dont-vendor-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ ("rust-vcpkg" ,rust-vcpkg-0.2))))
(native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
`(("libssh2" ,libssh2)
("openssl" ,openssl)
- ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(home-page "https://github.com/alexcrichton/ssh2-rs")
(synopsis "Native bindings to the libssh2 library")
@@ -14402,6 +14642,31 @@ statement, the first matching branch is the item that gets emitted.")
whether an expression matches a pattern.")
(license license:expat)))
+(define-public rust-matchers-0.0
+ (package
+ (name "rust-matchers")
+ (version "0.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "matchers" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1q8ckqmkjqkznvdi9x0z769yz2bmvlqcwx51ad2lpk4mfmgpi6gh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-regex-automata" ,rust-regex-automata-0.1))))
+ (home-page "https://github.com/hawkw/matchers")
+ (synopsis "Regex matching on character and byte streams")
+ (description
+ "Use this crate to match on character and byte streams using regular
+grammars. It provides the subset of the regex crate that only deals with
+matching, not parsing substrings.")
+ (license license:expat)))
+
(define-public rust-matrixmultiply-0.2
(package
(name "rust-matrixmultiply")
@@ -15635,17 +15900,11 @@ IO of Windows's named pipes.")
("rust-security-framework-sys" ,rust-security-framework-sys-0.3)
("rust-tempfile" ,rust-tempfile-3))
#:cargo-development-inputs
- (("rust-hex" ,rust-hex-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'find-openssl
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ (("rust-hex" ,rust-hex-0.3))))
(native-inputs
- `(("openssl" ,openssl)
- ("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)))
(home-page "https://github.com/sfackler/rust-native-tls")
(synopsis
"Wrapper over a platform's native TLS implementation")
@@ -15728,21 +15987,27 @@ types as proposed in RFC 1158.")
("rust-thiserror" ,rust-thiserror-1))
#:cargo-development-inputs
(("rust-bindgen" ,rust-bindgen-0.51)
- ("rust-pkg-config" ,rust-pkg-config-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-missing-env-vars
- (lambda* (#:key inputs #:allow-other-keys)
- ;; FIXME: why do we need to set this?
- (setenv "LIBCLANG_PATH"
- (string-append (assoc-ref inputs "clang") "/lib"))
- #t)))))
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
(home-page "https://gitlab.com/sequoia-pgp/nettle-rs")
(synopsis "Rust bindings for the Nettle cryptographic library")
(description "This package provides Rust bindings for the Nettle
cryptographic library.")
(license (list license:lgpl3 license:gpl2 license:gpl3))))
+(define-public rust-nettle-5
+ (package
+ (inherit rust-nettle-7)
+ (version "5.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nettle" version))
+ (file-name
+ (string-append (package-name rust-nettle-7) "-" version ".tar.gz"))
+ (sha256
+ (base32 "0zfplqdf3mag8r7lc124hl24vri8yg711jmm8gl1mpwnlhass2n4"))
+ (patches (search-patches "rust-nettle-disable-vendor.patch"))))))
+
(define-public rust-nettle-sys-2
(package
(name "rust-nettle-sys")
@@ -15762,8 +16027,7 @@ cryptographic library.")
(inputs
`(("nettle", nettle)))
(arguments
- `(#:skip-build? #t
- #:cargo-development-inputs
+ `(#:cargo-inputs
(("rust-bindgen" ,rust-bindgen-0.51)
("rust-pkg-config" ,rust-pkg-config-0.3))))
(home-page "https://gitlab.com/sequoia-pgp/nettle-sys")
@@ -17207,7 +17471,7 @@ You probably don't want to link to this crate directly; instead check out the
(substitute* "Cargo.toml"
((", path =.*}") "}"))
#t)))))
- (native-inputs
+ (inputs
`(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras
(define-public rust-openssl-probe-0.1
@@ -17251,17 +17515,11 @@ system for OpenSSL.")
("rust-autocfg" ,rust-autocfg-1.0)
("rust-cc" ,rust-cc-1)
("rust-pkg-config" ,rust-pkg-config-0.3)
- ("rust-vcpkg" ,rust-vcpkg-0.2))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'find-openssl
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ ("rust-vcpkg" ,rust-vcpkg-0.2))))
(native-inputs
- `(("openssl" ,openssl)
- ("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)))
(home-page "https://github.com/sfackler/rust-openssl")
(synopsis "FFI bindings to OpenSSL")
(description
@@ -17295,14 +17553,7 @@ system for OpenSSL.")
(("rust-gdi32-sys" ,rust-gdi32-sys-0.2)
("rust-libc" ,rust-libc-0.2)
("rust-user32-sys" ,rust-user32-sys-0.2)
- ("rust-pkg-config" ,rust-pkg-config-0.3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'find-openssl
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))))
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))))
(define-public rust-openssl-sys-extras-0.7
(package
@@ -17330,7 +17581,7 @@ system for OpenSSL.")
(substitute* "Cargo.toml"
((", path =.*}") "}"))
#t)))))
- (native-inputs
+ (inputs
`(("openssl" ,openssl-1.0))) ; openssl-1.0 specifically
(home-page "https://github.com/sfackler/rust-openssl")
(synopsis
@@ -18075,6 +18326,27 @@ and would-block I/O operations.")
path.Clean.")
(license (list license:expat license:asl2.0))))
+(define-public rust-pathdiff-0.1
+ (package
+ (name "rust-pathdiff")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pathdiff" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0cfg3isnx6mf3wbi7rsg4nmvywby40sbcs589n20fgi09l4p1gx3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/Manishearth/pathdiff")
+ (synopsis "Library for diffing paths to obtain relative paths")
+ (description
+ "Use diff_paths to construct a relative path from a provided base
+directory path to the provided path.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-pbkdf2-0.4
(package
(name "rust-pbkdf2")
@@ -19706,6 +19978,38 @@ macro use case.")
@code{proc_macro_derive} pretend to be @code{proc_macro}.")
(license (list license:expat license:asl2.0))))
+(define-public rust-progrs-0.1
+ (package
+ (name "rust-progrs")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "progrs" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "108jx8jrv2r1brhvbqfw6fwx298k5fnw3m46kn7lv0jx2wmf0ifz"))))
+ (build-system cargo-build-system)
+ (arguments '(#:tests? #f))
+ (home-page "https://nest.pijul.com/laumann/progrs")
+ (synopsis "Small library for displaying compact progress bars")
+ (description
+ "There are a number of libraries out there that can be used for progress
+display, but in the author's opinion these libraries do it almost right -
+either they eat up too much screen real estate (by not sticking to one line
+per thing that should use progress) or they try to align stuff left and right.
+
+In the author's humble opinion, the best example of just the right amount of
+information vs screen real-estate is in the Git progress output (when cloning,
+pulling, etc). It uses one line per thing, and may display both percentage
+complete (in cases where it's known) and even throughput (for network
+transfer).
+
+This library mimics the Git way of showing progress.")
+ (license license:gpl2+)))
+
(define-public rust-proptest-0.9
(package
(name "rust-proptest")
@@ -21948,6 +22252,29 @@ functionality as retain but gives mutable borrow to the predicate.")
(description "This package provided safe, fast, small crypto using Rust.")
(license (list license:isc license:openssl))))
+(define-public rust-ring-0.14
+ (package
+ (inherit rust-ring-0.16)
+ (name "rust-ring")
+ (version "0.14.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ring" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g091akf4dpg9qj05z3gc4nlrs57mjj2bqab98gaqp79wf3c2ss2"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-spin" ,rust-spin-0.5)
+ ("rust-untrusted" ,rust-untrusted-0.6)
+ ("rust-winapi" ,rust-winapi-0.3)
+ ("rust-cc" ,rust-cc-1))))))
+
(define-public rust-ring-0.13
(package/inherit rust-ring-0.16
(name "rust-ring")
@@ -22118,6 +22445,41 @@ rust.")
console applications.")
(license license:asl2.0)))
+(define-public rust-rpassword-3
+ (package
+ (inherit rust-rpassword-4)
+ (name "rust-rpassword")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rpassword" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vkifbbs160d7i7wy3kb0vw9mbf3pf470hg8f623rjkzmsyafky3"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.2))))))
+
+(define-public rust-rpassword-2
+ (package
+ (inherit rust-rpassword-3)
+ (name "rust-rpassword")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rpassword" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+
(define-public rust-rusqlite-0.19
(package
(name "rust-rusqlite")
@@ -22217,6 +22579,41 @@ hashing function.")
password hashing function.")
(license (list license:expat license:asl2.0))))
+(define-public rust-rust-base58-0.0
+ (package
+ (name "rust-rust-base58")
+ (version "0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rust-base58" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fa4y2jjjmg1a0cr3gz4z8rkic0hx2vx5nm23za9lwf6rlgvj4xk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Otherwise we get an error: no method named `gen_iter` found
+ ;; for type `rand::prelude::ThreadRng`
+ (substitute* "Cargo.toml"
+ (("rand.*") "rand = \"<0.6\"\n"))
+ #t))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-num" ,rust-num-0.1))
+ #:cargo-development-inputs
+ (("rust-rand" ,rust-rand-0.4))))
+ (home-page "https://github.com/nham/rust-base58")
+ (synopsis
+ "Simple library for converting to and from base-58 strings")
+ (description
+ "Convert to and from base-58 strings with a simple Rust api.
+ Currently the conversion uses the Bitcoin base58 alphabet.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-rust-hawktracer-0.7
(package
(name "rust-rust-hawktracer")
@@ -23085,6 +23482,35 @@ Rust.")
("rust-tempfile" ,rust-tempfile-3)
("rust-webpki-roots" ,rust-webpki-roots-0.17))))))
+(define-public rust-rustls-0.15
+ (package
+ (inherit rust-rustls-0.16)
+ (name "rust-rustls")
+ (version "0.15.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rustls" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vh93fhqfbn4ysw4xzkpkpqdz36xixz4mhs1qllgldfq5iay6wgj"))))
+ (arguments
+ `(#:tests? #f ;; 1/111 tests fail (test file not found)
+ #:cargo-inputs
+ (("rust-base64" ,rust-base64-0.10)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-ring" ,rust-ring-0.14)
+ ("rust-sct" ,rust-sct-0.5)
+ ("rust-untrusted" ,rust-untrusted-0.6)
+ ("rust-webpki" ,rust-webpki-0.19))
+ #:cargo-development-inputs
+ (("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-webpki-roots" ,rust-webpki-roots-0.16))))))
+
(define-public rust-rustls-0.12
(package/inherit rust-rustls-0.16
(name "rust-rustls")
@@ -23386,6 +23812,46 @@ paths point to the same file.")
#:cargo-development-inputs
(("rust-rand" ,rust-rand-0.3))))))
+(define-public rust-sanakirja-0.10
+ (package
+ (name "rust-sanakirja")
+ (version "0.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sanakirja" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fhn5lb6jn0pimnk0nbf5h4xvp28xdkdh33d57gq1ixy8b2y091y"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; tests::test_del_medium_fork fails
+ #:cargo-inputs
+ (("rust-fs2" ,rust-fs2-0.4)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-memmap" ,rust-memmap-0.7)
+ ("rust-rand" ,rust-rand-0.6)
+ ("rust-uuid" ,rust-uuid-0.7))
+ #:cargo-development-inputs
+ (("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-hex" ,rust-hex-0.3)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://nest.pijul.com/pijul_org/sanakirja")
+ (synopsis "Key-value dictionary, using copy-on-write and B-trees")
+ (description
+ "This package provides a key-value dictionary, using copy-on-write and B
+trees. It features:
+@itemize
+@item ACID semantics.
+@item B trees with copy-on-write.
+@item Support for referential transparency: databases can be cloned in time
+O(log n) (where n is the size of the database). This was the original
+motivation for writing this library.
+@end itemize")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-scan-fmt-0.2
(package
(name "rust-scan-fmt")
@@ -23760,6 +24226,25 @@ Pwrite traits from the scroll crate.")
(description "Certificate transparency SCT verification library")
(license (list license:asl2.0 license:isc license:expat))))
+(define-public rust-sct-0.5
+ (package
+ (inherit rust-sct-0.6)
+ (name "rust-sct")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sct" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fb9ym5bwswx01yyggn7v2vfryih4vnqpp4r4ssv3qaqpn7xynig"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-ring" ,rust-ring-0.14)
+ ("rust-untrusted" ,rust-untrusted-0.6))))))
+
(define-public rust-sct-0.3
(package/inherit rust-sct-0.6
(name "rust-sct")
@@ -24120,6 +24605,97 @@ comparison.")
(base32
"18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
+(define-public rust-sequoia-openpgp-0.9
+ (package
+ (name "rust-sequoia-openpgp")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sequoia-openpgp" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "007h2pi7lcph5jf5bxjydm7hjwjai33yk6dic3cxknki22lxlkfw"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-base64" ,rust-base64-0.9)
+ ("rust-buffered-reader" ,rust-buffered-reader-0.9)
+ ("rust-bzip2" ,rust-bzip2-0.3)
+ ("rust-failure" ,rust-failure-0.1)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-idna" ,rust-idna-0.1)
+ ("rust-lalrpop" ,rust-lalrpop-0.17)
+ ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-memsec" ,rust-memsec-0.5)
+ ("rust-nettle" ,rust-nettle-5)
+ ("rust-quickcheck" ,rust-quickcheck-0.8)
+ ("rust-rand" ,rust-rand-0.6)
+ ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9)
+ ("rust-time" ,rust-time-0.1))
+ #:cargo-development-inputs
+ (("rust-rpassword" ,rust-rpassword-3))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("clang" ,clang)
+ ("nettle" ,nettle)))
+ (home-page "https://sequoia-pgp.org/")
+ (synopsis "OpenPGP data types and associated machinery")
+ (description
+ "This crate aims to provide a complete implementation of OpenPGP as
+defined by RFC 4880 as well as some extensions (e.g., RFC 6637, which
+describes ECC cryptography) for OpenPGP. This includes support for unbuffered
+message processing.
+
+A few features that the OpenPGP community considers to be deprecated (e.g.,
+version 3 compatibility) have been left out. We have also updated some
+OpenPGP defaults to avoid foot guns (e.g., we selected modern algorithm
+defaults). If some functionality is missing, please file a bug report.")
+ (license license:gpl3)))
+
+(define-public rust-sequoia-rfc2822-0.9
+ (package
+ (name "rust-sequoia-rfc2822")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sequoia-rfc2822" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1aj34i6862718m162rqfv69fkmvdw063s6ws7hbp42n73gb08p5c"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-failure" ,rust-failure-0.1)
+ ("rust-lalrpop" ,rust-lalrpop-0.17)
+ ("rust-lalrpop-util" ,rust-lalrpop-util-0.17))
+ #:cargo-development-inputs
+ (("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-quickcheck" ,rust-quickcheck-0.8)
+ ("rust-rand" ,rust-rand-0.6))))
+ (home-page "https://sequoia-pgp.org/")
+ (synopsis "RFC 2822 name-addr parser")
+ (description
+ "Currently, this crate only recognizes the RFC 2822 name-addr and
+addr-spec productions, i.e., things of the form:
+
+Name (Comment) <email@@example.org>
+
+and
+
+email@@example.org
+
+Although the above appear simple to parse, RFC 2822's whitespace and comment
+rules are rather complex. This crate implements the whole grammar." )
+ (license license:gpl3)))
+
(define-public rust-serde-1
(package
(name "rust-serde")
@@ -24994,7 +25570,7 @@ functionality and without weak references.")
(substitute* "Cargo.toml"
((", path =.*}") "}"))
#t)))))
- (native-inputs
+ (inputs
`(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras
(define-public rust-sha1-asm-0.4
@@ -25173,6 +25749,27 @@ picking compatible shaders.")
"This package allows easy binding to, and loading of, shared libraries.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-shell-escape-0.1
+ (package
+ (name "rust-shell-escape")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "shell-escape" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fgs1iyx3b124b7njjmhfn9q5ipmhxrafavh8mxbfl9a9zk162hp"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/sfackler/shell-escape")
+ (synopsis
+ "Escape characters that may have a special meaning in a shell")
+ (description
+ "Escape characters that may have a special meaning in a shell.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-shell-words-0.1
(package
(name "rust-shell-words")
@@ -25524,7 +26121,7 @@ data type.")
"Rust FFI bindings to the SLEEF Vectorized Math Library.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-slog-2.5
+(define-public rust-slog-2
(package
(name "rust-slog")
(version "2.5.2")
@@ -25551,32 +26148,6 @@ data type.")
license:expat
license:asl2.0))))
-(define-public rust-slog-2.4
- (package
- (name "rust-slog")
- (version "2.4.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "slog" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "13jh74jlckzh5cygkhs0k4r82wnmw8ha2km829xwslhr83n2w6hy"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-erased-serde" ,rust-erased-serde-0.3))))
- (home-page "https://github.com/slog-rs/slog")
- (synopsis "Structured, extensible, composable logging for Rust")
- (description
- "Structured, extensible, composable logging for Rust.")
- (license (list license:mpl2.0
- license:expat
- license:asl2.0))))
-
(define-public rust-smallvec-1
(package
(name "rust-smallvec")
@@ -25654,6 +26225,33 @@ maximal amount of configuration possible intended.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-socks-0.3
+ (package
+ (name "rust-socks")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "socks" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hnbw4c4j7dn9n3bd1v7ddkdzlxlzkfw3z29da1nxlj6jgx4r9p6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Tests require network connection.
+ #:cargo-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.2)
+ ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2))))
+ (home-page "https://github.com/sfackler/rust-socks")
+ (synopsis "Rust SOCKS proxy clients")
+ (description
+ "You can write SOCKS proxy clients with this crate.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-sourcefile-0.1
(package
(name "rust-sourcefile")
@@ -28136,6 +28734,34 @@ fixed set of worker threads.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-thrussh-libsodium-0.1
+ (package
+ (name "rust-thrussh-libsodium")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "thrussh-libsodium" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fjssjiwnmbxjvajk37l7k0fcw1ys97j7n8bpn3q3bbnz2qfrphv"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libsodium" ,libsodium)))
+ (home-page "https://nest.pijul.com/pijul_org/thrussh")
+ (synopsis "Straightforward bindings to libsodium")
+ (description
+ "You can bind to libsodium from Rust with this crate.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-time-0.2
(package
(name "rust-time")
@@ -28789,6 +29415,50 @@ applications backed by buffers.")
Tokio.")
(license (list license:expat license:asl2.0))))
+(define-public rust-tokio-net-0.2
+ (package
+ (name "rust-tokio-net")
+ (version "0.2.0-alpha.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tokio-net" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15vm0bndn6zcpkp1yb6v736rbhqgim5skc76rz299xd3y0pr249a"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bytes" ,rust-bytes-0.4)
+ ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
+ ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+ ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
+ ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
+ ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
+ ("rust-iovec" ,rust-iovec-0.1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-mio" ,rust-mio-0.6)
+ ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+ ("rust-mio-uds" ,rust-mio-uds-0.6)
+ ("rust-num-cpus" ,rust-num-cpus-1)
+ ("rust-parking-lot" ,rust-parking-lot-0.8)
+ ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
+ ("rust-slab" ,rust-slab-0.4)
+ ("rust-tokio-codec" ,rust-tokio-codec-0.1)
+ ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+ ("rust-tokio-io" ,rust-tokio-io-0.1)
+ ("rust-tokio-sync" ,rust-tokio-sync-0.1)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-winapi" ,rust-winapi-0.3))))
+ (home-page "https://tokio.rs")
+ (synopsis "Event loop that drives Tokio I/O resources")
+ (description
+ "This package provides the event loop that drives Tokio I/O resources.")
+ (license license:expat)))
+
(define-public rust-tokio-openssl-0.4
(package
(name "rust-tokio-openssl")
@@ -28983,6 +29653,33 @@ using Rustls.")
("rust-webpki-roots" ,rust-webpki-roots-0.18))))
(license (list license:expat license:asl2.0))))
+(define-public rust-tokio-rustls-0.9
+ (package
+ (inherit rust-tokio-rustls-0.12)
+ (name "rust-tokio-rustls")
+ (version "0.9.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tokio-rustls" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jd63sl177sxacnksaxhazzmamwds98xk3niprh2qib75a1rk8cm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bytes" ,rust-bytes-0.4)
+ ("rust-futures" ,rust-futures-0.1)
+ ("rust-iovec" ,rust-iovec-0.1)
+ ("rust-rustls" ,rust-rustls-0.15)
+ ("rust-tokio-io" ,rust-tokio-io-0.1)
+ ("rust-webpki" ,rust-webpki-0.19))
+ #:cargo-development-inputs
+ (("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-tokio" ,rust-tokio-0.1))))))
+
(define-public rust-tokio-signal-0.2
(package
(name "rust-tokio-signal")
@@ -29672,6 +30369,123 @@ automatically instrumenting functions.")
@code{futures} with @code{tracing}.")
(license license:expat)))
+(define-public rust-tracing-fmt-0.1
+ (package
+ (name "rust-tracing-fmt")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tracing-fmt" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wagcrd6w8d3k7zdvg6sy2bwfh8w87i6ndia69p54fc7p3z4f1c8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-tracing-subscriber" ,rust-tracing-subscriber-0.1))
+ #:cargo-development-inputs
+ (("rust-tracing" ,rust-tracing-0.1))))
+ (home-page "https://tokio.rs")
+ (synopsis "Tracing subscriber that formats and logs trace data")
+ (description
+ "This package provides a tracing subscriber that formats and logs trace
+data. Moved to the tracing-subscriber crate.")
+ (license license:expat)))
+
+(define-public rust-tracing-log-0.1
+ (package
+ (name "rust-tracing-log")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tracing-log" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fdr0az98q9m5kiybvdvsb2m9mg86fdidgb5czzq2d71g1qqq3sy"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-tracing-core" ,rust-tracing-core-0.1))
+ #:cargo-development-inputs
+ (("rust-tracing" ,rust-tracing-0.1))))
+ (home-page "https://tokio.rs")
+ (synopsis
+ "Provides compatibility between tracing the log crates")
+ (description
+ "Tracing is a framework for instrumenting Rust programs with
+context-aware, structured, event-based diagnostic information. This crate
+provides compatibility layers for using tracing alongside the logging facade
+provided by the log crate.
+
+This crate provides:
+
+@itemize
+@item @code{AsTrace} and @code{AsLog} traits for converting between tracing
+and log types.
+@item @code{LogTracer}, a @code{log::Log} implementation that consumes
+@code{log::Records} and outputs them as @code{tracing::Events}.
+@item An @code{env_logger} module, with helpers for using the env_logger crate
+with tracing (optional, enabled by the env-logger feature).
+@end itemize")
+ (license license:expat)))
+
+(define-public rust-tracing-subscriber-0.1
+ (package
+ (name "rust-tracing-subscriber")
+ (version "0.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "tracing-subscriber" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0i9fhlyz8mn2znpgmi5bv9y24pwpkkgfxs0rwcf6dl6djmjs2b0r"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Some test files missing.
+ #:cargo-inputs
+ (("rust-ansi-term" ,rust-ansi-term-0.11)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-matchers" ,rust-matchers-0.0)
+ ("rust-owning-ref" ,rust-owning-ref-0.4)
+ ("rust-parking-lot" ,rust-parking-lot-0.9)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-smallvec" ,rust-smallvec-0.6)
+ ("rust-tracing-core" ,rust-tracing-core-0.1)
+ ("rust-tracing-log" ,rust-tracing-log-0.1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.3)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-tracing-log" ,rust-tracing-log-0.1))))
+ (home-page "https://tokio.rs")
+ (synopsis "Implement and compose tracing subscribers")
+ (description
+ "Utilities for implementing and composing tracing subscribers.
+
+Tracing is a framework for instrumenting Rust programs to collect
+scoped, structured, and async-aware diagnostics. The Subscriber trait
+represents the functionality necessary to collect this trace
+data. This crate contains tools for composing subscribers out of
+smaller units of behaviour, and batteries-included implementations of
+common subscriber functionality.
+
+Tracing-subscriber is intended for use by both Subscriber authors and
+application authors using tracing to instrument their applications.")
+ (license license:expat)))
+
(define-public rust-traitobject-0.1
(package
(name "rust-traitobject")
@@ -29850,6 +30664,48 @@ extension for the Trust-DNS client to use tokio-openssl for TLS.")
foundational DNS protocol library for all Trust-DNS projects.")
(license (list license:expat license:asl2.0))))
+(define-public rust-trust-dns-proto-0.7
+ (package
+ (inherit rust-trust-dns-proto-0.19)
+ (name "rust-trust-dns-proto")
+ (version "0.7.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "trust-dns-proto" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0099dm57nnizx4apik9sh3mnvr7rp9mivc903v8xss13dkgynnam"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-data-encoding" ,rust-data-encoding-2)
+ ("rust-enum-as-inner" ,rust-enum-as-inner-0.2)
+ ("rust-failure" ,rust-failure-0.1)
+ ("rust-futures" ,rust-futures-0.1)
+ ("rust-idna" ,rust-idna-0.1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-rand" ,rust-rand-0.6)
+ ("rust-ring" ,rust-ring-0.14)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-smallvec" ,rust-smallvec-0.6)
+ ("rust-socket2" ,rust-socket2-0.3)
+ ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+ ("rust-tokio-io" ,rust-tokio-io-0.1)
+ ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
+ ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
+ ("rust-tokio-timer" ,rust-tokio-timer-0.2)
+ ("rust-tokio-udp" ,rust-tokio-udp-0.1)
+ ("rust-untrusted" ,rust-untrusted-0.6)
+ ("rust-url" ,rust-url-1))
+ #:cargo-development-inputs
+ (("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-tokio" ,rust-tokio-0.1))))))
+
(define-public rust-trust-dns-resolver-0.19
(package
(name "rust-trust-dns-resolver")
@@ -29929,6 +30785,39 @@ other queries.")
extension for the Trust-DNS client to use rustls for TLS.")
(license (list license:expat license:asl2.0))))
+(define-public rust-trust-dns-rustls-0.6
+ (package
+ (inherit rust-trust-dns-rustls-0.19)
+ (name "rust-trust-dns-rustls")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "trust-dns-rustls" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vbh2y7w2s5gcw33fn4hb5f927kgjm6603vw63slg9riikmsiq43"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)))
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--" "--skip=tests::test_tls_client_stream_ipv4")
+ #:cargo-inputs
+ (("rust-futures" ,rust-futures-0.1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-rustls" ,rust-rustls-0.15)
+ ("rust-tokio-rustls" ,rust-tokio-rustls-0.9)
+ ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
+ ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.7)
+ ("rust-webpki" ,rust-webpki-0.19))
+ #:cargo-development-inputs
+ (("rust-openssl" ,rust-openssl-0.10)
+ ("rust-tokio" ,rust-tokio-0.1))))))
+
(define-public rust-try-from-0.3
(package
(name "rust-try-from")
@@ -30880,7 +31769,7 @@ Unix users and groups.")
("rust-md5" ,rust-md5-0.6)
("rust-rand" ,rust-rand-0.7)
("rust-serde" ,rust-serde-1)
- ("rust-slog" ,rust-slog-2.5))))
+ ("rust-slog" ,rust-slog-2))))
(home-page "https://github.com/uuid-rs/uuid")
(synopsis "Library to generate and parse UUIDs")
(description
@@ -30909,7 +31798,7 @@ Unix users and groups.")
("rust-rand" ,rust-rand-0.6)
("rust-serde" ,rust-serde-1)
("rust-sha1" ,rust-sha1-0.6)
- ("rust-slog" ,rust-slog-2.4)
+ ("rust-slog" ,rust-slog-2)
("rust-winapi" ,rust-winapi-0.3))
#:cargo-development-inputs
(("rust-bincode" ,rust-bincode-1)
@@ -31879,6 +32768,28 @@ attribute that is not in the shared backend crate.")
Verification.")
(license license:isc)))
+(define-public rust-webpki-0.19
+ (package
+ (inherit rust-webpki-0.21)
+ (name "rust-webpki")
+ (version "0.19.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "webpki" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10nhyxlqsa4caxlxrijm5h79rdg6ld8hqy78ldjnnfhaj3biqzjg"))))
+ (arguments
+ `(#:tests? #f ; tests fail to build "missing file tests/ed25519/ee.der"
+ #:cargo-inputs
+ (("rust-ring" ,rust-ring-0.14)
+ ("rust-untrusted" ,rust-untrusted-0.6))
+ #:cargo-development-inputs
+ (("rust-base64" ,rust-base64-0.9))))))
+
(define-public rust-webpki-0.18
(package/inherit rust-webpki-0.21
(name "rust-webpki")
@@ -31960,6 +32871,25 @@ with webpki.")
(sha256
(base32 "12vi8dh0yik0h4f0b9dnlw5i3gxyky7iblbksh6zcq4xvlvswqm2"))))))
+(define-public rust-webpki-roots-0.16
+ (package
+ (inherit rust-webpki-roots-0.17)
+ (name "rust-webpki-roots")
+ (version "0.16.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "webpki-roots" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03ny02mwqdgd2ff23k03kbwr2rrcaymxhp7jcjjikfh340hs83y1"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-untrusted" ,rust-untrusted-0.6)
+ ("rust-webpki" ,rust-webpki-0.19))))))
+
(define-public rust-webpki-roots-0.14
(package/inherit rust-webpki-roots-0.18
(name "rust-webpki-roots")
@@ -32391,9 +33321,8 @@ API.")
(arguments
`(#:skip-build? #t
#:cargo-inputs
- (("rust-winapi" ,rust-winapi-0.2))
- #:cargo-development-inputs
- (("rust-winapi-build" ,rust-winapi-build-0.1))))
+ (("rust-winapi" ,rust-winapi-0.2)
+ ("rust-winapi-build" ,rust-winapi-build-0.1))))
(home-page "https://github.com/retep998/winapi-rs")
(synopsis "Function definitions for the Windows API library ws2_32")
(description
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index cdfb9643c0..bfe24027fb 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -744,10 +744,10 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(license (list license:expat ; icc2ps/*.[ch]
license:gpl2+)))) ; everything else
-(define-public escpr
+(define-public epson-inkjet-printer-escpr
(package
- (name "escpr")
- (version "1.7.7")
+ (name "epson-inkjet-printer-escpr")
+ (version "1.7.8")
;; XXX: This currently works. But it will break as soon as a newer
;; version is available since the URLs for older versions are not
;; preserved. An alternative source will be added as soon as
@@ -755,15 +755,19 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/10/49/18/"
- "f3016be6120a7271a6d9cb64872f817bce1920b8/"
- "epson-inkjet-printer-escpr-1.7.7-1lsb3.2.tar.gz"))
+ (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/04/32/"
+ "1a455ef8618def65700ca4e446311c2fb43cd839/"
+ "epson-inkjet-printer-escpr-1.7.8-1lsb3.2.tar.gz"))
(sha256
- (base32 "0khdf2a9iwh9aplj2gzyzl53yyfnfv0kszk3p018jnirl5l475ld"))))
+ (base32 "1pygg2bd2gh27dc65h3dzwrpvi6bq5c87wl0ldchqlc2b3blsx6p"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags
- `(,(string-append "--prefix="
+ `(#:modules
+ ((srfi srfi-26)
+ ,@%gnu-build-system-modules)
+ #:configure-flags
+ `("--disable-static"
+ ,(string-append "--prefix="
(assoc-ref %outputs "out"))
,(string-append "--with-cupsfilterdir="
(assoc-ref %outputs "out") "/lib/cups/filter")
@@ -781,7 +785,13 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(string-append match "aclocal"))
(("^(AUTOMAKE=).*" _ match)
(string-append match "automake")))
- #t)))))
+ #t))
+ (add-after 'install 'compress-PPDs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ (for-each (cut invoke "gzip" "-9" <>)
+ (find-files "share/cups" "\\.ppd$")))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
@@ -793,9 +803,12 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
System} that offers high-quality printing with Seiko@tie{}Epson color ink jet
printers. It can be used only with printers that support the Epson@tie{}ESC/P-R
language.")
- (home-page "http://download.ebz.epson.net/dsc/search/01/search")
+ (home-page "http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX")
(license license:gpl2+)))
+(define-public escpr
+ (deprecated-package "escpr" epson-inkjet-printer-escpr))
+
(define-public splix
;; Last released in 2009 <https://sourceforge.net/projects/splix/files/>.
;; Last SVN commit was 2013 <https://svn.code.sf.net/p/splix/code/splix/>.
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 4e3c1e8803..78bb1811f9 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -242,7 +242,7 @@ and a Python library.")
(origin
(method git-fetch)
(uri (git-reference
- (url"https://github.com/soimort/translate-shell.git")
+ (url"https://github.com/soimort/translate-shell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 9167ccb41a..29f43a2d5f 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1052,7 +1052,7 @@ that support this feature).")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/memkind/memkind.git")
+ (url "https://github.com/memkind/memkind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 2dc99adac8..aa4411c5a2 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -862,14 +862,13 @@ settings.py and easily use them in your project.")
(define-public python-django-q
(package
(name "python-django-q")
- (version "1.3.3")
+ (version "1.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-q" version))
(sha256
- (base32
- "1fs29767940akbsn3vdzw2rqnn9v77b0b55bi7fvydny1rk7fw6y"))))
+ (base32 "03z1pf6wlf47i7afr79a8fiiidfk1vq19yaqnv0m4qdny7f58gaj"))))
(build-system python-build-system)
;; FIXME: Tests require disque, Redis, MongoDB, Docker.
(arguments '(#:tests? #f))
diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm
index 6b428528b1..90db1a2d42 100644
--- a/gnu/packages/djvu.scm
+++ b/gnu/packages/djvu.scm
@@ -27,12 +27,17 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -51,6 +56,9 @@
(base32
"0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"))))
(build-system gnu-build-system)
+ (inputs
+ `(("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'reproducible
@@ -160,3 +168,107 @@ It is able to extract:
@end itemize\n")
(home-page "https://jwilk.net/software/pdf2djvu")
(license license:gpl2)))
+
+(define-public djvu2pdf
+ (package
+ (name "djvu2pdf")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://0x2a.at/site/projects/djvu2pdf/djvu2pdf-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0v2ax30m7j1yi4m02nzn9rc4sn4vzqh5vywdh96r64j4pwvn5s5g"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("djvulibre" ,djvulibre)
+ ("gawk" ,gawk)
+ ("ghostscript" ,ghostscript)
+ ("grep" ,grep)
+ ("ncurses" ,ncurses)
+ ("which" ,which)))
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((djvulibre (assoc-ref inputs "djvulibre"))
+ (gawk (assoc-ref inputs "gawk"))
+ (ghostscript (assoc-ref inputs "ghostscript"))
+ (grep (assoc-ref inputs "grep"))
+ (ncurses (assoc-ref inputs "ncurses"))
+ (which (assoc-ref inputs "which")))
+ (substitute* "djvu2pdf"
+ (("awk")
+ (string-append gawk "/bin/awk"))
+ (("ddjvu")
+ (string-append djvulibre "/bin/ddjvu"))
+ (("djvudump")
+ (string-append djvulibre "/bin/djvudump"))
+ (("grep")
+ (string-append grep "/bin/grep"))
+ (("gs")
+ (string-append ghostscript "/bin/gs"))
+ (("tput ")
+ (string-append ncurses "/bin/tput "))
+ (("which")
+ (string-append which "/bin/which"))))
+ #t))
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref %outputs "out")))
+ (install-file "djvu2pdf"
+ (string-append out "/bin"))
+ (install-file "djvu2pdf.1.gz"
+ (string-append out "/share/man/man1"))
+ #t))))))
+ (synopsis "DjVu to PDF converter")
+ (description "This is a small tool to convert DjVu files to PDF files.")
+ (home-page "https://0x2a.at/site/projects/djvu2pdf/")
+ (license license:gpl2+)))
+
+(define-public minidjvu
+ (package
+ (name "minidjvu")
+ (version "0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/minidjvu/minidjvu/"
+ version "/minidjvu-" version ".tar.gz"))
+ (sha256
+ (base32 "0jmpvy4g68k6xgplj9zsl6brg6vi81mx3nx2x9hfbr1f4zh95j79"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)))
+ (inputs
+ `(("libjpeg-turbo" ,libjpeg-turbo)
+ ("libtiff" ,libtiff)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:configure-flags '("--disable-static")
+ #:parallel-build? #f
+ #:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ (substitute* "Makefile.in"
+ (("/usr/bin/gzip")
+ "gzip"))
+ #t))
+ (add-before 'install 'make-lib-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
+ #t)))))
+ (synopsis "Black and white DjVu encoder")
+ (description
+ "@code{minidjvu} is a multipage DjVu encoder and single page
+encoder/decoder. It doesn't support colors or grayscales, just black
+and white.")
+ (home-page "https://sourceforge.net/projects/minidjvu/")
+ (license license:gpl2)))
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index c08f6eb3c6..950986045e 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -70,11 +70,11 @@
(inputs
`(("python-requests" ,python-requests-2.20)
("python-six" ,python-six)
- ("python-urllib3" ,python-urllib3-1.24)
- ("python-websocket-client" ,python-websocket-client)))
+ ("python-urllib3" ,python-urllib3-1.24)))
(propagated-inputs
`(("python-docker-pycreds" ,python-docker-pycreds)
- ("python-paramiko" ,python-paramiko))) ; adds SSH support
+ ("python-paramiko" ,python-paramiko) ;adds SSH support
+ ("python-websocket-client" ,python-websocket-client)))
(home-page "https://github.com/docker/docker-py/")
(synopsis "Python client for Docker")
(description "Docker-Py is a Python client for the Docker container
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 6532bb4704..0fca0b11eb 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -63,7 +63,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/latex2html/latex2html.git")
+ (url "https://github.com/latex2html/latex2html")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 95898b9cad..885487bf17 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -2238,7 +2238,7 @@ Lock key.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/contrapunctus-1/chronometrist.git")
+ (url "https://github.com/contrapunctus-1/chronometrist")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -3048,6 +3048,32 @@ graphical tree presentation of all previous states of buffer that
allows easily move between them.")
(license license:gpl3+)))
+(define-public emacs-undo-fu
+ ;; There are no tagged releases upstream on gitlab, instead we are using
+ ;; the most recent commit.
+ (let ((commit "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca")
+ (revision "0"))
+ (package
+ (name "emacs-undo-fu")
+ (version (git-version "0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/ideasman42/emacs-undo-fu")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.com/ideasman42/emacs-undo-fu")
+ (synopsis "Simple, stable linear undo with redo for Emacs")
+ (description
+ "This is a light weight wrapper for Emacs built-in undo system,
+adding convenient undo/redo without losing access to the full undo history,
+allowing you to visit all previous states of the document if you need.")
+ (license license:gpl3+))))
+
(define-public emacs-s
(package
(name "emacs-s")
@@ -3920,8 +3946,8 @@ in Lisp modes.")
(license license:gpl3+))))
(define-public emacs-literate-calc-mode
- (let ((commit "e855bd718fa7d0d70b8f43264e10664369dd3a37")
- (revision "0"))
+ (let ((commit "a50e897a816cb5580ad6ec867eeaae212e0e4798")
+ (revision "1"))
(package
(name "emacs-literate-calc-mode")
(version (git-version "0.1" revision commit))
@@ -3933,7 +3959,7 @@ in Lisp modes.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0mk4cig8g8ibz97mvyan79fkypyanh7r0h7h20ibafq09nb0mw01"))))
+ (base32 "0z6y5f1rj28lbr30m6g4a9l6ahs66whi8861g4cx9xzhs84nwv5g"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-s" ,emacs-s)))
@@ -4564,7 +4590,7 @@ compile}.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/purcell/flycheck-ledger.git")
+ (url "https://github.com/purcell/flycheck-ledger")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -7044,29 +7070,33 @@ parallel.")
(license license:gpl3+)))
(define-public emacs-request
- (package
- (name "emacs-request")
- (version "0.3.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tkf/emacs-request")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1djywhvvb6kwdj0nd3axjvb7k2g06dzkc6hsf29w9rsk96vr8ryl"))))
- (build-system emacs-build-system)
- (arguments
- `(#:tests? #f)) ; requires network access.
- (propagated-inputs
- `(("emacs-deferred" ,emacs-deferred)))
- (home-page "https://github.com/tkf/emacs-request")
- (synopsis "Package for speaking HTTP in Emacs Lisp")
- (description "This package provides a HTTP request library with multiple
+ ;; We prefer a more recent commit that has support for auth-source,
+ ;; which makes authentication more convenient for users and maintainers.
+ (let ((commit "d02d1347ffdf138cffd380cbeac62ac8732036ef")
+ (revision "0"))
+ (package
+ (name "emacs-request")
+ (version (git-version "0.3.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tkf/emacs-request")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rkpakzish2d470ca15yq3k0m1j7a2lrkvvddcyvc2rx0sncsdjs"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:tests? #f)) ; requires network access.
+ (propagated-inputs
+ `(("emacs-deferred" ,emacs-deferred)))
+ (home-page "https://github.com/tkf/emacs-request")
+ (synopsis "Package for speaking HTTP in Emacs Lisp")
+ (description "This package provides a HTTP request library with multiple
backends. It supports url.el which is shipped with Emacs and the curl command
line program.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-rudel
(package
@@ -7122,6 +7152,35 @@ the Hydra very seamless; it's like a minor mode that disables itself
automatically.")
(license license:gpl3+)))
+(define-public emacs-pretty-hydra
+ (package
+ (name "emacs-pretty-hydra")
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jerrypnz/major-mode-hydra.el")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-hydra" ,emacs-hydra)
+ ("emacs-s" ,emacs-s)))
+ (arguments
+ `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))
+ (home-page "https://github.com/jerrypnz/major-mode-hydra.el")
+ (synopsis "Major mode keybindings managed by Hydra")
+ (description
+ "This package offers an hydra-based method of managing major
+mode-specific key bindings. It is intended for use as a library only; see
+package @code{emacs-major-mode-hydra} for a user-friendly interface.")
+ (license license:gpl3+)))
+
(define-public emacs-interleave
(package
(name "emacs-interleave")
@@ -7144,6 +7203,20 @@ automatically.")
by side to an Org buffer with your notes relevant to the current page.")
(license license:gpl3+)))
+(define-public emacs-major-mode-hydra
+ (package
+ (inherit emacs-pretty-hydra)
+ (name "emacs-major-mode-hydra")
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-pretty-hydra" ,emacs-pretty-hydra)))
+ (arguments
+ `(#:exclude (cons "^pretty-hydra\\.el" %default-exclude)))
+ (synopsis "Create nice-looking hydras")
+ (description
+ "This package provides the macro @code{pretty-hydra-define} to define
+hydras with one column per group of heads.")))
+
(define-public emacs-ivy
(package
(name "emacs-ivy")
@@ -7662,7 +7735,7 @@ The purpose of this library is to wrap all the quirks and hassle of
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fuxialexander/counsel-notmuch.git")
+ (url "https://github.com/fuxialexander/counsel-notmuch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -12239,14 +12312,14 @@ highlighting.")
(define-public emacs-jsonrpc
(package
(name "emacs-jsonrpc")
- (version "1.0.12")
+ (version "1.0.14")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"jsonrpc-" version ".el"))
(sha256
- (base32 "0cqp05awikbrn88ifld3vwnv6cxgmr83wlnsvxw8bqb96djz70ad"))))
+ (base32 "069l0sqkambam4ikj9id36kdw1jdjna8v586d51m64hiz96rmvm6"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/jsonrpc.html")
(synopsis "JSON-RPC library")
@@ -12544,7 +12617,7 @@ when browsing files with Dired.")
(define-public emacs-org-edit-latex
(package
(name "emacs-org-edit-latex")
- (version "0.8.0")
+ (version "0.8.3")
(source
(origin
(method git-fetch)
@@ -12553,18 +12626,16 @@ when browsing files with Dired.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"))))
+ (base32 "1w0lyz71dq8x28ira4hig1b70bqn1dr53w3k5dgch9szcf6xa86y"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-auctex" ,emacs-auctex)
- ;; The version of org in Emacs 25.2 is not sufficient, because the
- ;; `org-latex-make-preamble' function is required.
("emacs-org" ,emacs-org)))
(home-page "https://github.com/et2010/org-edit-latex")
- (synopsis "Edit a latex fragment just like editing a src block")
- (description "@code{emacs-org-edit-latex} is an extension for org-mode.
-It lets you edit a latex fragment in a dedicated buffer just like editing a
-src block.")
+ (synopsis "Edit a LaTeX fragment just like editing a source block")
+ (description
+ "Org Edit LaTeX is an extension for Org mode. It lets you edit a LaTeX
+fragment in a dedicated buffer just like editing a source block.")
(license license:gpl3+)))
(define-public emacs-emamux
@@ -12635,31 +12706,29 @@ functions written in continuation-passing style.")
(license license:gpl3+)))
(define-public emacs-attrap
- (let ((commit "18cd1f7832870a36c404e872fa83a271fe8e688d")
- (revision "2"))
- (package
- (name "emacs-attrap")
- (version (git-version "1.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jyp/attrap")
- (commit commit)))
- (sha256
- (base32
- "078391949h0fgmshin8f79a1a595m06ig577rkgjqgngcp0d61l9"))
- (file-name (git-file-name name version))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-f" ,emacs-f)
- ("emacs-flycheck" ,emacs-flycheck)
- ("emacs-s" ,emacs-s)))
- (home-page "https://github.com/jyp/attrap")
- (synopsis "Fix coding error at point")
- (description "This package provides a command to fix the Flycheck error
+ (package
+ (name "emacs-attrap")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jyp/attrap")
+ (commit version)))
+ (sha256
+ (base32 "0wqc7bqx9rvk8r7fd3x84h8p01v97s6w2jf29nnjb59xakwp22i7"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-flycheck" ,emacs-flycheck)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/jyp/attrap")
+ (synopsis "Fix coding error at point")
+ (description "This package provides a command to fix the Flycheck error
at point.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-git-messenger
(package
@@ -13268,16 +13337,16 @@ contexts.
(define-public emacs-polymode
(package
(name "emacs-polymode")
- (version "0.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/polymode/polymode")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "04v0gnzfsjb50bgly6kvpryx8cyzwjaq2llw4qv9ijw1l6ixmq3b"))))
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/polymode/polymode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))))
(build-system emacs-build-system)
(home-page "https://github.com/polymode/polymode")
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
@@ -13290,33 +13359,30 @@ literate programming tools for exporting, weaving and tangling.")
(license license:gpl3+)))
(define-public emacs-polymode-ansible
- (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
- (package
- (name "emacs-polymode-ansible")
- ;; No upstream version release yet.
- (version (git-version "0.1" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/mavit/poly-ansible")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-ansible-doc" ,emacs-ansible-doc)
- ("emacs-jinja2-mode" ,emacs-jinja2-mode)
- ("emacs-polymode" ,emacs-polymode)
- ("emacs-yaml-mode" ,emacs-yaml-mode)))
- (properties '((upstream-name . "poly-ansible")))
- (home-page "https://gitlab.com/mavit/poly-ansible/")
- (synopsis "Polymode for Ansible - Jinja2 in YAML")
- (description
- "Edit YAML files for Ansible containing embedded Jinja2 templating.")
- (license license:gpl3+))))
+ (package
+ (name "emacs-polymode-ansible")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mavit/poly-ansible")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f0yq6gmkp194nxk90ipprglf1xkmxrgz1rkgrhfslvxq4q2l81h"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-ansible-doc" ,emacs-ansible-doc)
+ ("emacs-jinja2-mode" ,emacs-jinja2-mode)
+ ("emacs-polymode" ,emacs-polymode)
+ ("emacs-yaml-mode" ,emacs-yaml-mode)))
+ (properties '((upstream-name . "poly-ansible")))
+ (home-page "https://gitlab.com/mavit/poly-ansible/")
+ (synopsis "Polymode for Ansible - Jinja2 in YAML")
+ (description
+ "Edit YAML files for Ansible containing embedded Jinja2 templating.")
+ (license license:gpl3+)))
(define-public emacs-powershell
;; Tagged branch 0.1 is outdated (2015).
@@ -13345,7 +13411,7 @@ Microsoft PowerShell files.")
(define-public emacs-polymode-org
(package
(name "emacs-polymode-org")
- (version "0.2")
+ (version "0.2.2")
(source
(origin
(method git-fetch)
@@ -13354,8 +13420,7 @@ Microsoft PowerShell files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "04x6apjad4kg30456z1j4ipp64yjgkcaim6hqr6bb0rmrianqhck"))))
+ (base32 "1srnwcsn2bh8gqzxixkhffk7gbnk66kd4dgvxbnps5nxqc6v0qhc"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-polymode" ,emacs-polymode)))
@@ -13363,10 +13428,9 @@ Microsoft PowerShell files.")
(home-page "https://github.com/polymode/poly-org")
(synopsis "Polymode definitions for Org mode buffers")
(description
- "Provides definitions for @code{emacs-polymode} to support
-@code{emacs-org} buffers. Edit source blocks in an Org mode buffer using the
-native modes of the blocks' languages while remaining inside the primary Org
-buffer.")
+ "This package provides definitions for Polymode to support Org buffers.
+It edits source blocks in an Org buffer using the native modes of the blocks'
+languages while remaining inside the primary Org buffer.")
(license license:gpl3+)))
(define-public eless
@@ -17339,7 +17403,7 @@ Dumb Jump performs best with The Silver Searcher @command{ag} or ripgrep
(base32
"1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"))))
(build-system emacs-build-system)
- (home-page "https://github.com/bgamari/dts-mode.git")
+ (home-page "https://github.com/bgamari/dts-mode")
(synopsis "Emacs minor mode for editing device tree files")
(description
"This package provides an Emacs minor mode for highlighting
@@ -19291,7 +19355,7 @@ scratch, and you think the Spacemacs theme looks good.
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/TheBB/spaceline.git")
+ (url "https://github.com/TheBB/spaceline")
(commit commit)))
(sha256
(base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp"))
@@ -19370,7 +19434,7 @@ correctly.")
(define-public emacs-helm-sly
(package
(name "emacs-helm-sly")
- (version "0.5.0")
+ (version "0.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -19379,7 +19443,7 @@ correctly.")
(file-name (git-file-name name version))
(sha256
(base32
- "1690rxwwg69jbcjhi51nyjlx3gziaiaa8ssyal71gmc6schq2592"))))
+ "13s2dj09mcdwlibjlahyyq2dxjkjlpxs88dbdyvcd64249jmahsx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
@@ -19885,7 +19949,7 @@ programs can use this table component for the application UI.")
(package
(name "emacs-leetcode")
(version (git-version "0" "1" commit))
- (home-page "https://github.com/ginqi7/leetcode-emacs.git")
+ (home-page "https://github.com/ginqi7/leetcode-emacs")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -20957,10 +21021,10 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
(license license:gpl3+))))
(define-public emacs-forge
- (let ((commit "09bf8adc9c9afb492632e612f51f39e1cc15fca0"))
+ (let ((commit "05ef02913004826165c383bd6d2ff6574542b76c"))
(package
(name "emacs-forge")
- (version (git-version "0.1.0" "4" commit))
+ (version (git-version "0.1.0" "5" commit))
(source
(origin
(method git-fetch)
@@ -20970,7 +21034,7 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
(file-name (git-file-name name version))
(sha256
(base32
- "148h1rvmfmxyrfy2q5l0vzblr7lpsyw1si30hfwhzsj8fvj21qcr"))))
+ "1vv7xlawj2zmwqk69qlsqflhh0lbyqm5xf4x8l4v2069g0k8mmx1"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
@@ -22675,14 +22739,14 @@ federated microblogging social network.")
(define-public emacs-ebdb
(package
(name "emacs-ebdb")
- (version "0.6.20")
+ (version "0.6.21")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ebdb-" version ".tar"))
(sha256
- (base32 "1rhmnz2g4nmk893gzxm1hfwqf5nan20yss5mxilfpza2jh4368h3"))))
+ (base32 "0pp190wr6z98kggmw9ls486f9vxfimdjdbqsp263qiyi21ws98if"))))
(build-system emacs-build-system)
(home-page "https://github.com/girzel/ebdb")
(synopsis "EIEIO port of BBDB, Emacs's contact-management package")
@@ -24915,7 +24979,7 @@ personal wiki.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/conao3/org-generate.el.git")
+ (url "https://github.com/conao3/org-generate.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -25208,7 +25272,7 @@ picked up when copy-pasting text from buffer to buffer.")
(define-public emacs-org-webring
(package
(name "emacs-org-webring")
- (version "1.9.8-rc4")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
@@ -25218,7 +25282,7 @@ picked up when copy-pasting text from buffer to buffer.")
(file-name (git-file-name name version))
(sha256
(base32
- "0z2q29i9ng2vkzb6qbwb0dzvz8yv44p0kg07lx59pcdbv7mznjmc"))))
+ "1si0jah7n2gvlvghjy5dpannqpkxni5rczfp1x2a4z6ydalr3bn5"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -25473,3 +25537,57 @@ Emacs.")
uncluttered design pattern to achieve optimal focus and readability for code
syntax highlighting and UI components.")
(license license:expat)))
+
+(define-public emacs-janet-mode
+ (let ((commit "2f5bcabcb6953e1ed1926ba6a2328c453e8b4ac7"))
+ (package
+ (name "emacs-janet-mode")
+ (version (git-version "0.1.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ALSchwalm/janet-mode")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qj0gpycv2f3z1dgz1a27bjn983hrr3ppvrp7csl34lagnmp89rz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/ALSchwalm/janet-mode")
+ (synopsis "Emacs major mode for the Janet programming language")
+ (description
+ "This package provides an Emacs major mode for editing Janet files.")
+ (license license:gpl3))))
+
+(define-public emacs-inf-janet
+ (let ((commit "df46651d3aad32593b2195c80ca91fb64d571fb7"))
+ (package
+ (name "emacs-inf-janet")
+ (version (git-version "0.1.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/velkyel/inf-janet")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g0y7q62667j0p32md1h6zb2cap9fga9qgdg7138xwjqnk0328v7"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("janet-mode" ,emacs-janet-mode)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-program-name
+ (lambda _
+ (make-file-writable "inf-janet.el")
+ (emacs-substitute-variables "inf-janet.el"
+ ("inf-janet-program" "janet"))
+ #t)))))
+ (home-page "https://github.com/velkyel/inf-janet")
+ (synopsis "Run an external Janet process in an Emacs buffer")
+ (description
+ "This Emacs package provides a Janet REPL to evaluate @code{janet-mode}
+s-expression.")
+ (license license:expat))))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 89d4aaf97e..d6f487bd17 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1379,7 +1379,7 @@ debugging them, and more.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/john30/ebusd.git")
+ (url "https://github.com/john30/ebusd")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
@@ -1407,7 +1407,7 @@ debugging them, and more.")
,(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/john30/ebusd-configuration.git")
+ (url "https://github.com/john30/ebusd-configuration")
(commit "666c0f6b9c4d7545eff7f43ab28a1c7baeab7913")))
(file-name "config-checkout")
(sha256
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index 950cb16505..dd7c7c8365 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -49,7 +49,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/nuspell/nuspell.git")
+ (url "https://github.com/nuspell/nuspell")
(commit
(string-append "v" version))))
(file-name
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 974ddc30ee..bc147bf3c6 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -68,6 +68,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public autofs
@@ -182,6 +183,79 @@ another location, similar to @command{mount --bind}. It can be used for:
@end itemize ")
(license license:gpl2+)))
+(define-public davfs2
+ (package
+ (name "davfs2")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.savannah.nongnu.org/releases/"
+ "davfs2/davfs2-" version ".tar.gz"))
+ (sha256
+ (base32 "0l1vnv5lfigciwg17p10zxwhzj4qw2d9kw30prr7g4dxhmb6fsrf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--sysconfdir=/etc" ; so man pages & binaries contain /etc
+ (string-append "--docdir=" (assoc-ref %outputs "out")
+ "/share/doc/" ,name "-" ,version)
+ (string-append "ssbindir=" (assoc-ref %outputs "out") "/sbin")
+ ;; The default ‘davfs2’ user and group don't exist on most systems.
+ "dav_user=nobody"
+ "dav_group=nogroup")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'omit-redundancy
+ ;; Don't install redundant copies of /etc examples into /share.
+ (lambda _
+ (substitute* "etc/Makefile.in"
+ (("(dist_pkgdata_DATA =.*) davfs2.conf secrets(.*)"
+ _ prefix suffix)
+ (string-append prefix suffix)))
+ #t))
+ (add-after 'unpack 'patch-file-names
+ (lambda _
+ ;; Don't auto-load the FUSE kernel module. That's up to root.
+ ;; XXX If/when we restore the previous behaviour, make sure not
+ ;; to introduce a security hole when mount.davfs is setuid.
+ (substitute* "src/kernel_interface.c"
+ (("/sbin/modprobe") "/modprobe/disabled"))
+ #t))
+ (replace 'install
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (apply invoke "make" "install"
+ (string-append "pkgsysconfdir=" out "/etc")
+ make-flags)))))))
+ (inputs
+ `(("neon" ,neon)
+
+ ;; Neon requires but doesn't propagate zlib, nor would we want that.
+ ;; XZ as well, but that's already present in the build environment.
+ ("zlib" ,zlib)))
+ (home-page "https://savannah.nongnu.org/projects/davfs2")
+ (synopsis "Mount remote WebDAV resources in the local file system")
+ (description
+ "The @acronym{WebDAV, Web Distributed Authoring and Versioning} extension
+to the HTTP protocol defines a standard way to author resources on a remote Web
+server. Davfs2 exposes such resources as a typical filesystem which can be used
+by standard applications with no built-in support for WebDAV, such as the GNU
+coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
+
+Davfs2 works with most WebDAV servers with no or little configuration. It
+supports TLS (HTTPS), HTTP proxies, HTTP basic and digest authentication, and
+client certificates. It performs extensive caching to avoid unnecessary network
+traffic, stay responsive even over slow or unreliable connections, and prevent
+data loss. It aims to make use by unprivileged users as easy and secure as
+possible.
+
+However, davfs2 is not a full-featured WebDAV client. The file system interface
+and the WebDAV protocol are quite different. Translating between the two is not
+always possible.")
+ (license (list license:bsd-2 ; src/fuse_kernel.h
+ license:gpl3+)))) ; everything else
+
(define-public fsarchiver
(package
(name "fsarchiver")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 89d5013a8b..870b6dd7b9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -283,7 +283,7 @@ work with most software requiring Type 1 fonts.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/google/woff2.git")
+ (url "https://github.com/google/woff2")
(commit (string-append "v" version))))
(file-name
(git-file-name name version))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 534a5ea881..8c8ed19338 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -444,7 +444,7 @@ support.")
(define-public tiled
(package
(name "tiled")
- (version "1.4.2")
+ (version "1.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -453,7 +453,7 @@ support.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nhmv5rnmlnnmkiz95l3iy62f3754d98dm1wyh1m47xb3nbnl05b"))))
+ "14bx4gywfzr2f07ldqk3la82g5ag1agj21f7ccrxip12ydmpx0xb"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 12cc64fefa..4dfd65040a 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4436,7 +4436,7 @@ is attributed to Albert Einstein.")
(define-public powwow
(package
(name "powwow")
- (version "1.2.19")
+ (version "1.2.22")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4444,7 +4444,7 @@ is attributed to Albert Einstein.")
version ".tar.gz"))
(sha256
(base32
- "10rjl63hmf62qslyhzqrbw3i2zf09dgxv65avhj0iiz0m4pbc9wy"))))
+ "12i11b8zxg8vdb9d6ims8qy2lmwwr42rcqbwq3vsa1x94s51bcbp"))))
(inputs
`(("ncurses" ,ncurses)))
(build-system gnu-build-system)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index c412ec35b6..395ad4be7a 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -112,7 +112,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/jiuka/memphis.git")
+ (url "https://github.com/jiuka/memphis")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 530a53a92b..ff986c0a02 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -139,7 +139,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/hodefoting/mrg.git")
+ (url "https://github.com/hodefoting/mrg")
(commit version)))
(file-name
(git-file-name name version))
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 77b4aada6f..d69f14ba0e 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -131,7 +131,7 @@ the Obsidian icon theme.")
(method git-fetch)
(uri (git-reference
(url
- "https://github.com/ubuntu/gnome-shell-extension-appindicator.git")
+ "https://github.com/ubuntu/gnome-shell-extension-appindicator")
(commit (string-append "v" version))))
(sha256
(base32
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e22384a625..20182a4ff9 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10406,9 +10406,9 @@ photo-booth-like software, such as Cheese.")
(native-inputs
`(("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml-4.3)
+ ("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
- ("intltool" ,intltool)
("itstool" ,itstool)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
@@ -11676,7 +11676,7 @@ provided there is a DBus service present:
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/gkarsay/parlatype.git")
+ (url "https://github.com/gkarsay/parlatype")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -11915,7 +11915,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
- (version "0.22.1")
+ (version "0.23.0")
(source
(origin
(method git-fetch)
@@ -11925,7 +11925,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ds4j542zprbyh36qyii1c9mb7kj14cvrfk5miqjvp8y4b5i6mdi"))))
+ "1xh3qmf2pk80qxj528lajjcwg7mps72s1zz8cj388av58p8l3hyw"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index e657dbd110..3f6ed75403 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1161,11 +1161,11 @@ standards of the IceCat project.")
(cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat!
-(define %icedove-build-id "20201111000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-build-id "20201117000000") ;must be of the form YYYYMMDDhhmmss
(define-public icedove
(package
(name "icedove")
- (version "78.4.3")
+ (version "78.5.0")
(source icecat-source)
(properties
`((cpe-name . "thunderbird_esr")))
@@ -1445,7 +1445,7 @@ standards of the IceCat project.")
;; in the Thunderbird release tarball. We don't use the release
;; tarball because it duplicates the Icecat sources and only adds the
;; "comm" directory, which is provided by this repository.
- ,(let ((changeset "6ee1d79f9e77c90f0f165b9315b5b437a220b665"))
+ ,(let ((changeset "92abc26b9c80383e974fb0234f22e06fea793be2"))
(origin
(method hg-fetch)
(uri (hg-reference
@@ -1454,7 +1454,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
- "0m6isazpirmviv14kjav8jn3w3gm3mls0qwyf1n87hj00bj6z6jc")))))
+ "0468k3qrqs9w1vva2fdxvwqdsypqpsdy5iixgx58dqivchg4qlf9")))))
("autoconf" ,autoconf-2.13)
("cargo" ,rust-1.41 "cargo")
("clang" ,clang)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4ac9071457..92533cfd50 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1145,7 +1145,7 @@ optimized for performance yet simple to use.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tv42/httpunix.git")
+ (url "https://github.com/tv42/httpunix")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -1714,7 +1714,7 @@ finding resources located relative to the executable file.")
(method git-fetch)
(uri (git-reference
(url
- "https://github.com/ayufan/golang-kardianos-service.git")
+ "https://github.com/ayufan/golang-kardianos-service")
(commit commit)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index dbf89e3894..7a61084f24 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -121,7 +121,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/NVIDIA/eglexternalplatform.git")
+ (url "https://github.com/NVIDIA/eglexternalplatform")
(commit version)))
(file-name
(git-file-name name version))
@@ -172,7 +172,7 @@ application-facing EGL functions.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/NVIDIA/egl-wayland.git")
+ (url "https://github.com/NVIDIA/egl-wayland")
(commit version)))
(file-name
(git-file-name name version))
@@ -202,7 +202,7 @@ EGLStream families of extensions.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/hodefoting/mmm.git")
+ (url "https://github.com/hodefoting/mmm")
(commit version)))
(file-name
(git-file-name name version))
@@ -231,7 +231,7 @@ framebuffer graphics, audio output and input event.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/deniskropp/DirectFB.git")
+ (url "https://github.com/deniskropp/DirectFB")
(commit "DIRECTFB_1_7_7")))
(file-name (git-file-name name version))
(sha256
@@ -301,7 +301,7 @@ minimum of resource usage and overhead.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/deniskropp/flux.git")
+ (url "https://github.com/deniskropp/flux")
(commit "e45758a")))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 85c48a6877..af50119d75 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -95,7 +95,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/occipital/OpenNI2.git")
+ (url "https://github.com/occipital/OpenNI2")
(commit (string-append "v" version "-debian"))))
(file-name (git-file-name name version))
(sha256
@@ -167,7 +167,7 @@ module for the DMA capture of the video flow.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/CCExtractor/ccextractor.git")
+ (url "https://github.com/CCExtractor/ccextractor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -220,7 +220,7 @@ and very fast.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Libvisual/libvisual.git")
+ (url "https://github.com/Libvisual/libvisual")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
@@ -268,7 +268,7 @@ applications that want audio visualisation and audio visualisation plugins.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Libvisual/libvisual.git")
+ (url "https://github.com/Libvisual/libvisual")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 01949e2aaa..5ec5eefadd 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -966,8 +966,8 @@ convenient nested tree operations.")
(license license:gpl3+)))
(define-public guile-simple-zmq
- (let ((commit "68bedb6679716214fb9d3472da57544526f7a618")
- (revision "3"))
+ (let ((commit "5fc3b7190d31c258ce969c2a5d2ad38c66a09d09")
+ (revision "4"))
(package
(name "guile-simple-zmq")
(version (git-version "0.0.0" revision commit))
@@ -979,7 +979,7 @@ convenient nested tree operations.")
(commit commit)))
(sha256
(base32
- "1ad3xg69qqviy1f6dnlw0ysmfdbmp1jq65rfqb8nfd8dsrq2syli"))
+ "0inhvl5jssvbw3nd129wdahfwyvy1iciq403wzf0algbvl1fqs7z"))
(file-name (git-file-name name version))))
(build-system guile-build-system)
(arguments
@@ -2973,7 +2973,7 @@ more expressive and flexible than the traditional @code{format} procedure.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/scheme-requests-for-implementation/srfi-180.git")
+ (url "https://github.com/scheme-requests-for-implementation/srfi-180")
(commit commit)))
(sha256
(base32
@@ -3734,7 +3734,7 @@ models and also supports a rich set of boolean query operators.")
(source (origin (method git-fetch)
(uri (git-reference
(url
- "https://github.com/o-nly/torrent.git")
+ "https://github.com/o-nly/torrent")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index a4269599f6..9a149187b6 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -417,6 +418,48 @@ contents of the HTTP connection. It also provides higher-level functions
which allow you to avoid direct usage of conduits.")
(license license:bsd-3)))
+(define-public ghc-http-reverse-proxy
+ (package
+ (name "ghc-http-reverse-proxy")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/http-reverse-proxy/"
+ "http-reverse-proxy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1a6i5njf85b2lhg8m83njagcf09wih5q2irnyb2890s724qr277v"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-word8" ,ghc-word8)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-http-client" ,ghc-http-client)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-network" ,ghc-network)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-unliftio" ,ghc-unliftio)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)))
+ (native-inputs
+ `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-http-conduit" ,ghc-http-conduit)))
+ (home-page
+ "https://github.com/fpco/http-reverse-proxy")
+ (synopsis
+ "Reverse proxy HTTP requests, either over raw sockets or with WAI")
+ (description
+ "Provides a simple means of reverse-proxying HTTP requests. The raw
+approach uses the same technique as leveraged by keter, whereas the WAI
+approach performs full request/response parsing via WAI and http-conduit.")
+ (license license:bsd-3)))
+
(define-public ghc-wai
(package
(name "ghc-wai")
diff --git a/gnu/packages/heads.scm b/gnu/packages/heads.scm
index b28433431c..5f49265ebb 100644
--- a/gnu/packages/heads.scm
+++ b/gnu/packages/heads.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages heads)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -161,3 +162,36 @@ done
(synopsis "Musl-cross gcc 5 toolchain")
(description "Musl-cross toolchain: binutils, gcc 5 and musl.")
(license license:isc))))
+
+;; This package provides a "dev.cpio" file usable as a base for booting Heads.
+(define-public heads-dev-cpio
+ (package
+ (name "heads-dev-cpio")
+ (version "0.1")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (guix cpio))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (guix cpio)
+ (srfi srfi-26))
+ (mkdir-p "dev") ; input directory.
+ (let* ((out (assoc-ref %outputs "out"))
+ (libexec (string-append out "/libexec")))
+ (mkdir-p libexec)
+ (call-with-output-file (string-append libexec "/dev.cpio")
+ (lambda (port)
+ (write-cpio-archive '("dev" "dev/console") port
+ #:file->header
+ (lambda (name)
+ (if (string=? "dev/console" name)
+ (special-file->cpio-header* name 'char-special 5 1 #o600)
+ (file->cpio-header* name))))))
+ #t))))
+ (synopsis "@file{dev.cpio} for Heads")
+ (description "This package provides a @file{dev.cpio} file usable as a
+base for heads' initrd.")
+ (home-page "http://osresearch.net/")
+ (license license:bsd-2)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 75f9a1bf36..5bc144f769 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -791,7 +791,7 @@ images of initially unknown height.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/uclouvain/openjpeg-data.git")
+ (url "https://github.com/uclouvain/openjpeg-data")
(commit "c5c4a8c")))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 0d9908c771..61144618c0 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -62,6 +62,7 @@
#:use-module (gnu packages openldap)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -499,7 +500,7 @@ interface for those who are accustomed to the ircII way of doing things.")
(define-public inspircd
(package
(name "inspircd")
- (version "3.7.0")
+ (version "3.8.1")
(source
(origin
(method git-fetch)
@@ -508,13 +509,13 @@ interface for those who are accustomed to the ircII way of doing things.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1npzp23c3ac7m1grkm39i1asj04rs4i0jwf5w0c0j0hmnwslnz7a"))))
+ (base32 "1i30649dw84iscxa5as81g96f393mn1i883aq4za5ypdinr5x65g"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (map (lambda (module)
(string-append "--enable-extras=" module))
- '("m_geo_maxmind.cpp"
+ '("m_argon2.cpp"
+ "m_geo_maxmind.cpp"
"m_ldap.cpp"
"m_mysql.cpp"
"m_pgsql.cpp"
@@ -550,16 +551,17 @@ interface for those who are accustomed to the ircII way of doing things.")
(string-append "--config-dir=" out-etc name)))
#t)))))
(native-inputs
- `(("gnutls" ,gnutls)
- ("libgcrypt" ,libgcrypt)
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("argon2" ,argon2)
+ ("gnutls" ,gnutls)
("libmaxminddb" ,libmaxminddb)
- ("mysql" ,mysql)
("mbedtls-apache" ,mbedtls-apache)
+ ("mysql" ,mysql)
("openldap" ,openldap)
("openssl" ,openssl)
("pcre" ,pcre "bin")
("perl" ,perl)
- ("pkg-config" ,pkg-config)
("postgresql" ,postgresql)
("re2" ,re2)
("sqlite" ,sqlite)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 35f905136f..e298fd9537 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2723,7 +2723,7 @@ debugging, etc.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/javacc/javacc.git")
+ (url "https://github.com/javacc/javacc")
(commit "release_32")))
(file-name (string-append "javacc-" version "-checkout"))
(sha256
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 27c13fab8a..3f17465039 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -62,7 +62,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/liblouis/liblouis.git")
+ (url "https://github.com/liblouis/liblouis")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -115,7 +115,7 @@ Marburg.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/liblouis/liblouisutdml.git")
+ (url "https://github.com/liblouis/liblouisutdml")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/lego.scm b/gnu/packages/lego.scm
index 2067e45dd1..2294d693c5 100644
--- a/gnu/packages/lego.scm
+++ b/gnu/packages/lego.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@posteo.net>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +35,8 @@
(name "nqc")
(version "3.1.r6")
(source (origin
+ ;; XXX Using url-fetch/tarbomb results in failure:
+ ;; Error: could not create compiler/rcx1_nqh.h
(method url-fetch)
(uri (string-append "http://bricxcc.sourceforge.net/nqc/release/"
"nqc-" version ".tgz"))
@@ -44,24 +46,48 @@
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
- ("flex" ,flex)))
+ ("flex" ,flex)
+ ("add-usb-tcp-support.patch"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://sourceforge.net/p/bricxcc/patches/"
+ "_discuss/thread/00b427dc/b84b/attachment/"
+ "nqc-01-Linux_usb_and_tcp.diff"))
+ (sha256
+ (base32 "0z5gx55ra1kamhhqxz08lvvwslfl36pbmwdd566rhmbgmyhlykbr"))))
+ ("debian-writable-swap-inst-len.patch"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://sources.debian.org/data/main/n/nqc/"
+ "3.1.r6-7/debian/patches/"
+ "writable-swap-inst-len.patch"))
+ (sha256
+ (base32 "1kr7j057aa5i0kxmlfpbfcsif5yq2lrmjw4sljn400ijaq4mys3v"))))))
(arguments
'(#:tests? #f ;no tests
#:make-flags (list (string-append "PREFIX=" %output))
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'rm-generated
- ;; Regenerating compiler/lexer.cpp avoids an 'undefined
- ;; reference to `isatty(int)'' error.
- (lambda _
- (for-each delete-file
- '("compiler/lexer.cpp"
- "compiler/parse.cpp"))
- #t))
- (add-after 'unpack 'deal-with-tarbomb
- (lambda _
- (chdir "..") ;tarbomb
- #t)))))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'rm-generated
+ ;; Regenerating compiler/lexer.cpp avoids an 'undefined
+ ;; reference to `isatty(int)'' error.
+ (lambda _
+ (for-each delete-file
+ '("compiler/lexer.cpp"
+ "compiler/parse.cpp"))
+ #t))
+ (add-after 'unpack 'deal-with-tarbomb
+ (lambda _
+ (chdir "..") ;tarbomb
+ #t))
+ (add-after 'deal-with-tarbomb 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each (lambda (patch)
+ (invoke "patch" "-Np1" "-i"
+ (assoc-ref inputs patch)))
+ (list "add-usb-tcp-support.patch"
+ "debian-writable-swap-inst-len.patch")))))))
(home-page "http://bricxcc.sourceforge.net/nqc/")
(synopsis "C-like language for Lego's MINDSTORMS")
(description
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index f109ca0d8b..337f390fc1 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -564,7 +564,7 @@ devices.")
(define-public hidapi
(package
(name "hidapi")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -573,7 +573,7 @@ devices.")
(commit (string-append "hidapi-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1p4g8lgwj4rki6lbn5l6rvwj0xlbn1xfh4d255bg5pvgczmwmc4i"))))
+ (base32 "1n3xn1zvxgyzb84cjpw3i5alw0gkbrps11r4ijxzyqxqym0khagr"))))
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c40d948e88..fd2c43aec8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -352,15 +352,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernel. That is, the most recently released major
;; version.
-(define-public linux-libre-5.9-version "5.9.8")
+(define-public linux-libre-5.9-version "5.9.9")
(define deblob-scripts-5.9
(linux-libre-deblob-scripts
linux-libre-5.9-version
(base32 "1l0iw2lp6alk0a8nvdafklyks83iiyw4b2r5xif84z47qfbydsis")
- (base32 "0wp0mx5d2qhv7brc595qj34phiaxz9z5gf26w5369nh9mll5cbw6")))
+ (base32 "0yb04a4j2wq3mwvks3cj7kcm2pscmfs29lrz3falkxpbvjxbbgq2")))
(define-public linux-libre-5.9-pristine-source
(let ((version linux-libre-5.9-version)
- (hash (base32 "19l67gzk97higd2cbggipcb0wi21pv0ag0mc4qh6cqk564xp6mkn")))
+ (hash (base32 "1b8zysy0br131ydhc7ycxhh8d88r44xrmkf2q2lffy0jmy3d60m3")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.9)))
@@ -368,7 +368,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.4-version "5.4.77")
+(define-public linux-libre-5.4-version "5.4.78")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@@ -376,12 +376,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "167zcfkw62pm6nv1xdvvhxw0ca724sywcywnv3z00189f8f8p3vg")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1xyvml0mps7bsa11bgpa4l0w8x6pasdz9yab2z4ds394f1lkxq53")))
+ (hash (base32 "0z8skj0w9jfrz9pfxaqfzqh82l13bz5lhza2wjsxk02cyhhnm226")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.157")
+(define-public linux-libre-4.19-version "4.19.158")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@@ -389,12 +389,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0mgpgv2ny49bb7kgaygy2ay6ckjgw7mg091viivi66jw4mjs7p3n")))
+ (hash (base32 "0p5pim9izcscnk1a1kdlxbvyvxnnq9lqr1kwl86kfskr7yqy8n6n")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.206")
+(define-public linux-libre-4.14-version "4.14.207")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@@ -402,12 +402,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1b46f0s15xnlam43cmw8w41rrvcwrhm6km0278lq6f86lpx3w8qw")))
+ (hash (base32 "0a804hwh7cwbdd2gnr5n9i32b4s6gppd8iqihah4sn4q1nbm79vq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.243")
+(define-public linux-libre-4.9-version "4.9.244")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@@ -415,12 +415,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "111rlzx6z4kf8zwxncib96d9wy6qmkbs0cq3dhnybipwlyf1iank")))
+ (hash (base32 "02givxp0y04qma5nlqbpyxdcl7xdb41p3gw7kgj2rmwdanhzaylr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.243")
+(define-public linux-libre-4.4-version "4.4.244")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@@ -428,7 +428,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1daqbmj9ka9wdkkym625hqwqaxq5n11y7c4yc9ln3xkjpnv4dplm")))
+ (hash (base32 "0brdj6z7flchig80ja0dhzcrpl743lh74s4r4r6prbgkksif9ahp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -1043,39 +1043,45 @@ It has been modified to remove all non-free binary blobs.")
;;;
(define-public acpi-call-linux-module
- (let ((commit "70b9c80bd700e6a4d10797eaac9fd34b7e8cbd4a")
- (revision "0"))
- (package
- (name "acpi-call-linux-module")
- (version (git-version "3.17" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/teleshoes/acpi_call")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09c1vw6vcrkqxbwhpgfgpj4d1grzn4qq6ka8pwwzm7cvm405xj7x"))))
- (build-system linux-module-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (for-each (lambda (file)
- (let ((target (string-append doc "/" file)))
- (mkdir-p (dirname target))
- (copy-recursively file target)))
- (list "README.md" "examples"))
- #t))))))
- (home-page "https://github.com/teleshoes/acpi_call")
- (synopsis "Linux kernel module to perform ACPI method calls")
- (description
- "This simple Linux kernel module allows calls from user space to any
+ (package
+ (name "acpi-call-linux-module")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nix-community/acpi_call")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'patch-shebangs-harder
+ ;; The (only) shebangs in examples/ don't justify a reference.
+ ;; However, do substitute a more portable one than the original.
+ (lambda _
+ (substitute* (find-files "examples" ".")
+ (("^(#! *)/[^ ]*/" _ shebang)
+ (string-append shebang "/usr/bin/env ")))
+ #t))
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (for-each (lambda (file)
+ (let ((target (string-append doc "/" file)))
+ (mkdir-p (dirname target))
+ (copy-recursively file target)))
+ (list "README.md" "examples"))
+ #t))))))
+ (home-page "https://github.com/teleshoes/acpi_call")
+ (synopsis "Linux kernel module to perform ACPI method calls")
+ (description
+ "This simple Linux kernel module allows calls from user space to any
@acronym{ACPI, Advanced Configuration and Power Interface} method provided by
your computer's firmware, by writing to @file{/proc/acpi/call}. You can pass
any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
@@ -1083,7 +1089,7 @@ and @code{ACPI_BUFFER}.
It grants direct and undocumented access to your hardware that may cause damage
and should be used with caution, especially on untested models.")
- (license license:gpl3+)))) ; see README.md (no licence headers)
+ (license license:gpl3+))) ; see README.md (no licence headers)
(define-public rtl8812au-aircrack-ng-linux-module
(let ((commit "df2b8dfd8cb7d9f6cfeb55abaeab8a5372011fc9")
@@ -1367,7 +1373,7 @@ at login. Local and dynamic reconfiguration are its key features.")
;; Tests not distributed in pypi release.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/minrk/pamela.git")
+ (url "https://github.com/minrk/pamela")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -5822,7 +5828,7 @@ of flash storage.")
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.5.0")
+ (version "2.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
@@ -5830,7 +5836,7 @@ of flash storage.")
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "1wql62cg8f95cwpy057cl764nni9g4sdn5lqj68x22kjs8w71yhz"))))
+ "0m8dlg1v7kflcxvajs4p76p275qwsm2abbf5mfapkakp7hw7wc7f"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")
@@ -7523,7 +7529,7 @@ and above.")
(define-public bpftrace
(package
(name "bpftrace")
- (version "0.10.0")
+ (version "0.11.4")
(source
(origin
(method git-fetch)
@@ -7532,8 +7538,7 @@ and above.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "023ardywbw5w8815j2ny9rrp2xlpxndqaa7v2njjm8109p7ilsdn"))
+ (base32 "0y4qgm2cpccrsm20rnh92hqplddqsc5q5zhw9nqn2igm3h9i0z7h"))
(patches (search-patches "bpftrace-disable-bfd-disasm.patch"))))
(build-system cmake-build-system)
(native-inputs
@@ -7575,7 +7580,7 @@ created by Alastair Robertson.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/eBUS/ttyebus.git")
+ (url "https://github.com/eBUS/ttyebus")
(commit "fe4332a2281cf79804ef4d8516aa848ca1c58d1f")))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 776865f178..a4e9739c94 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -2549,10 +2549,10 @@ is a library for creating graphical user interfaces.")
(sbcl-package->ecl-package sbcl-cl-cffi-gtk))
(define-public sbcl-cl-webkit
- (let ((commit "04bb5703b68f4db9de71529b81896cc428ef54e1"))
+ (let ((commit "aecd76a2bcc7bfee049c91d94cc75f893800bf37"))
(package
(name "sbcl-cl-webkit")
- (version (git-version "2.4" "8" commit))
+ (version (git-version "2.4" "9" commit))
(source
(origin
(method git-fetch)
@@ -2562,7 +2562,7 @@ is a library for creating graphical user interfaces.")
(file-name (git-file-name "cl-webkit" version))
(sha256
(base32
- "12dzqgkvgwi97r8dbflslj7nsx7p6iavx82fs48nj9wf7ln1c87s"))))
+ "1j2wvn19kz0bcg17qr9pc4xp6fgjy8zngdnnp5rpfxd25sli62yc"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cffi" ,sbcl-cffi)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4f79d79207..a3139c21c8 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1011,3 +1011,40 @@ including a built-in database engine and a GUI system.")
(package
(inherit picolisp32)
(name "picolisp")))))
+
+(define-public janet
+ (package
+ (name "janet")
+ (version "1.12.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janet-lang/janet")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0if514zdmbjvvrsa9x5yfvg2b14sz53yaka12g3yhwkq8ls3qk0c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list
+ (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+ (string-append "PREFIX=")
+ (string-append "CC=" (assoc-ref %build-inputs "gcc")
+ "/bin/gcc"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'check
+ (lambda _
+ (invoke "make" "test"))))))
+ (home-page "https://janet-lang.org/")
+ (synopsis "Functional, imperative and embeddable programming language")
+ (description
+ "Janet is a functional and imperative programming language. It can be
+used for rapid prototyping, dynamic systems, and other domains where dynamic
+languages shine. You can also add Janet scripting to an application by
+embedding a single C file and two headers. It can be easily ported to new
+platforms. The entire language (core library, interpreter, compiler,
+assembler, PEG) is less than 1MB.")
+ (license license:expat)))
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 17421a9835..20efba17b7 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -1330,7 +1330,7 @@ like @command{tar} and @command{zip}.")
(origin
(method git-fetch)
(uri (git-reference
- (url (string-append "https://github.com/lxqt/" name ".git"))
+ (url (string-append "https://github.com/lxqt/" name))
(commit commit)))
(file-name (git-file-name name version))
(sha256 (base32 "0br4bxfrl8k7lq84aq4grznlk8xzzjgkmd19bf9mwjr0a87gg72v"))))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 1e2dd4035b..5a10194a4a 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1447,7 +1447,7 @@ useful features.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dinhviethoa/libetpan.git")
+ (url "https://github.com/dinhviethoa/libetpan")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index bc7c011c74..0eadd9d153 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -83,7 +83,7 @@ as description, options, see also, etc.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/rtomayko/ronn.git")
+ (url "https://github.com/rtomayko/ronn")
(commit version)))
(file-name
(git-file-name name version))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0942cd9a32..5dab00140c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -743,7 +743,8 @@ of xmpppy.")
(version-major+minor version)
"/gajim-" version ".tar.gz"))
(sha256
- (base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx"))))
+ (base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx"))
+ (patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
(build-system python-build-system)
(arguments
`(#:imported-modules
@@ -756,16 +757,6 @@ of xmpppy.")
(guix build utils))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'add-plugin-dirs
- (lambda _
- (substitute* "gajim/common/configpaths.py"
- (("_paths\\['PLUGINS_USER'\\]\\]")
- "_paths['PLUGINS_USER']] + \
-([os.getenv('GAJIM_PLUGIN_PATH')] \
-if os.getenv('GAJIM_PLUGIN_PATH') \
-and Path(os.getenv('GAJIM_PLUGIN_PATH')).is_dir() \
-else [])"))
- #t))
(replace 'check
(lambda _
;; Tests require a running X server.
@@ -859,7 +850,7 @@ and OpenPGP) and available in 29 languages.")
(define-public gajim-omemo
(package
(name "gajim-omemo")
- (version "2.7.9")
+ (version "2.6.80")
(source
(origin
(method url-fetch/zipbomb)
@@ -868,7 +859,7 @@ and OpenPGP) and available in 29 languages.")
"https://ftp.gajim.org/plugins_releases/omemo_"
version ".zip"))
(sha256
- (base32 "19si2v5yrxpn2m0f684npsg0iiyl2h3r5hbxyrxv4k3acmfmhb3z"))))
+ (base32 "179hgx091c12258335znn1540jhp4z3n3wv5ksrgqq7l3jgc93d7"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -897,7 +888,7 @@ multi-client end-to-end encryption.")
(define-public gajim-openpgp
(package
(name "gajim-openpgp")
- (version "1.3.5")
+ (version "1.2.14")
(source
(origin
(method url-fetch/zipbomb)
@@ -906,7 +897,7 @@ multi-client end-to-end encryption.")
"https://ftp.gajim.org/plugins_releases/openpgp_"
version ".zip"))
(sha256
- (base32 "1jvpl2gjl5xxvsgxpmvh3mn2mm142dg2hknakkc32swb7l1fqx5m"))))
+ (base32 "0wdjpf1i4pvl4ha4plfpywwi9aw5n2mhrpv8mmbidpawxqfbd94b"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -932,19 +923,19 @@ Encryption to Gajim.")
(package
(name "dino")
(version "0.2.0")
- (outputs '("out" "debug"))
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/dino/dino/releases/download/v"
- version "/dino-" version ".tar.gz"))
+ (uri
+ (string-append "https://github.com/dino/dino/releases/download/v"
+ version "/dino-" version ".tar.gz"))
(sha256
- (base32
- "0iigh7bkil6prf02dqcl6lmd89jxz685h8lqr3ni4x39zkcransn"))))
+ (base32 "0iigh7bkil6prf02dqcl6lmd89jxz685h8lqr3ni4x39zkcransn"))))
(build-system cmake-build-system)
+ (outputs '("out" "debug"))
(arguments
`(#:tests? #f
- #:parallel-build? #f ; not supported
+ #:parallel-build? #f ; not supported
#:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
@@ -955,10 +946,21 @@ Encryption to Gajim.")
(modify-phases %standard-phases
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gtk+:bin" ,gtk+ "bin")
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
(inputs
- `(("libgee" ,libgee)
- ("libsignal-protocol-c" ,libsignal-protocol-c)
+ `(("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("gpgme" ,gpgme)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gtk+" ,gtk+)
("libgcrypt" ,libgcrypt)
+ ("libgee" ,libgee)
+ ("libsignal-protocol-c" ,libsignal-protocol-c)
("libsoup" ,libsoup)
("qrencode" ,qrencode)
("sqlite" ,sqlite)
@@ -966,15 +968,11 @@ Encryption to Gajim.")
("gtk+" ,gtk+)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("glib" ,glib "bin")
- ("vala" ,vala)
- ("gettext" ,gettext-minimal)))
+ (synopsis "Graphical Jabber/XMPP Client using GTK+/Vala")
+ (description "Dino is a chat client for the desktop. It focuses on providing
+a minimal yet reliable Jabber/XMPP experience and having encryption enabled by
+default.")
(home-page "https://dino.im")
- (synopsis "Graphical Jabber (XMPP) client")
- (description "Dino is a Jabber (XMPP) client which aims to fit well into
-a graphical desktop environment like GNOME.")
(license license:gpl3+)))
(define-public prosody
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0728144b60..2ffe435109 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2019 Riku Viitanen <riku.viitanen0@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -944,6 +945,60 @@ engine (except effects) that can be used for layering or split patches.")
you to define complex tempo maps for entire songs or performances.")
(license license:gpl2+)))
+(define-public glyr
+ (package
+ (name "glyr")
+ (version "1.0.10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sahib/glyr")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1miwbqzkhg0v3zysrwh60pj9sv6ci4lzq2vq2hhc6pc6hdyh8xyr"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags '("-DTEST=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "spec/capi/check_api.c"
+ (("fail_unless \\(c != NULL,\"Could not load www.google.de\"\\);")
+ ""))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; capi tests
+ (invoke "bin/check_api")
+ ;; (invoke "bin/check_opt") TODO Very dependent on the network
+ (invoke "bin/check_dbc"))
+
+ ;; TODO Work out how to run the spec/providers Python tests
+ #t)))))
+ (inputs
+ `(("glib" ,glib)
+ ("curl" ,curl)
+ ("sqlite" ,sqlite)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("check" ,check)))
+ (home-page "https://github.com/sahib/glyr")
+ (synopsis "Search engine for music related metadata")
+ (description
+ "Glyr comes both in a command-line interface tool (@command{glyrc}) and
+as a C library (libglyr).
+
+The sort of metadata glyr is searching (and downloading) is usually the data
+you see in your musicplayer. And indeed, originally it was written to serve
+as internally library for a musicplayer, but has been extended to work as a
+standalone program which is able to download cover art, lyrics, photos,
+biographies, reviews and more.")
+ (license license:lgpl3+)))
+
(define-public gtklick
(package
(name "gtklick")
@@ -1328,7 +1383,7 @@ complete studio.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/onkelDead/tascam-gtk.git")
+ (url "https://github.com/onkelDead/tascam-gtk")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -5097,7 +5152,7 @@ for integration into status line generators or other command-line tools.")
(method git-fetch)
(uri (git-reference
(url
- "https://github.com/openAVproductions/openAV-ArtyFX.git")
+ "https://github.com/openAVproductions/openAV-ArtyFX")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8f76ab9d91..ac1290e8fd 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -349,7 +349,7 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Haivision/srt.git")
+ (url "https://github.com/Haivision/srt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -386,7 +386,7 @@ performance across unpredictable networks, such as the Internet.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Haivision/srt.git")
+ (url "https://github.com/Haivision/srt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -402,7 +402,7 @@ performance across unpredictable networks, such as the Internet.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/sctp/lksctp-tools.git")
+ (url "https://github.com/sctp/lksctp-tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -458,7 +458,7 @@ at the link-layer level.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nanomsg/nng.git")
+ (url "https://github.com/nanomsg/nng")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -501,7 +501,7 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/nanomsg/nanomsg.git")
+ (url "https://github.com/nanomsg/nanomsg")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a407a37cfe..706def4f43 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5802,7 +5802,9 @@ convenience functions for vectors and matrices.")
"0wzysis9fa850s68qh8vrvqc6svgllhwra3kzll2ibv0wmdqrich"))))
(build-system dune-build-system)
(arguments
- `(;; FIXME: (got signal SEGV) #44725
+ `(;; NOTE: GC reclaims bigarrays packed into a custom structure
+ ;; regardless of their refcounts. Affects OCaml >= 4.10.x
+ ;; https://github.com/ocaml/ocaml/issues/9360
#:tests? #f
#:test-target "tests"))
(inputs
@@ -5822,7 +5824,7 @@ and SVG file output.")
(define-public lablgtk3
(package
(name "lablgtk")
- (version "3.0.beta8")
+ (version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5831,7 +5833,7 @@ and SVG file output.")
(file-name (git-file-name name version))
(sha256
(base32
- "08pgwnia240i2rw1rbgiahg673kwa7b6bvhsg3z4b47xr5sh9pvz"))))
+ "11qfc39cmwfwfpwmjh6wh98zwdv6p73bv8hqwcsss869vs1r7gmn"))))
(build-system dune-build-system)
(arguments
`(#:tests? #t
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index d0294cdef3..13b92936d0 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -45,47 +47,64 @@
(define-public python-bandit
(package
(name "python-bandit")
- (version "1.4.0")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bandit" version))
(sha256
(base32
- "1m5bm42120zyazky4k0lp3d9r0jwhjmp6sb108xfr0vz952p15yb"))))
+ "0rb034c99pyhb4a60z7f2kz40cjydhm8m9v2blaal1rmhlam7rs1"))))
(build-system python-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Tests require the 'bandit' executable in PATH.
- ;; It's only built during install time.
- (add-installed-pythonpath inputs outputs)
- (setenv "PATH" (string-append (assoc-ref outputs "out")
- "/bin:" (getenv "PATH")))
- (invoke "python" "setup.py" "testr"))))))
+ ;; The tests are disabled to avoid a circular dependency with
+ ;; python-stestr.
+ `(#:tests? #f))
(propagated-inputs
- `(("python-gitpython" ,python-gitpython)
- ("python-pyyaml" ,python-pyyaml)
- ("python-six" ,python-six)
- ("python-stevedore" ,python-stevedore)))
+ `(("python-gitpython" ,python-gitpython)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)
+ ("python-stevedore" ,python-stevedore)))
(native-inputs
- `(;; Tests.
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-fixtures" ,python-fixtures)
- ("python-mock" ,python-mock)
- ("python-subunit" ,python-subunit)
- ("python-testrepository" ,python-testrepository)
- ("python-testscenarios" ,python-testscenarios)
- ("python-testtools" ,python-testtools)))
+ `(("python-pbr" ,python-pbr)))
(home-page "https://github.com/PyCQA/bandit")
(synopsis "Security oriented static analyser for python code")
- (description
- "Bandit is a tool designed to find common security issues in Python code.
-To do this Bandit processes each file, builds an AST from it, and runs
-appropriate plugins against the AST nodes. Once Bandit has finished scanning
-all the files it generates a report.")
+ (description "Bandit is a tool designed to find common security issues in
+Python code. To do this Bandit processes each file, builds an AST from it,
+and runs appropriate plugins against the AST nodes. Once Bandit has finished
+scanning all the files it generates a report.")
+ (license asl2.0)))
+
+(define-public python-cliff
+ (package
+ (name "python-cliff")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cliff" version))
+ (sha256
+ (base32
+ "0n8pzr0mnn9lq2mykds69ij2xrn0fsirh4ndmkx0mzydbx5niysv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `(("python-pbr" ,python-pbr)))
+ (propagated-inputs
+ `(("python-cmd2" ,python-cmd2)
+ ("python-prettytable" ,python-prettytable)
+ ("python-pyparsing" ,python-pyparsing)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-bandit" ,python-bandit)
+ ("python-stevedore" ,python-stevedore)))
+ (home-page "https://opendev.org/openstack/cliff")
+ (synopsis "Framework for building command line programs")
+ (description "The @code{cliff} framework allows creating multi-level
+commands such as those of @command{subversion} and @command{git}, where the
+main program handles some basic argument parsing and then invokes a
+sub-command to do the work. It uses plugins to define sub-commands, output
+formatters, and other extensions.")
(license asl2.0)))
(define-public python-debtcollector
@@ -131,39 +150,30 @@ manner.")
(define-public python-hacking
(package
(name "python-hacking")
- (version "1.1.0")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hacking" version))
(sha256
(base32
- "1vlgh81v4vsw3q3cf7qggsp043vq16knp203lrll82h7l7rhd8r3"))))
+ "062rvbkvbavqqz55f7q00ikwipkn5j0rdls1rrajdbfwgckjcrsm"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'delete-broken-test
- (lambda _
- ;; TODO: Just one test fails:
- ;; hacking.tests.test_doctest.HackingTestCase.test_pycodestyle
- ;; (H403-hacking_docstring_multiline_end-line-5)
- (delete-file "hacking/tests/test_doctest.py")
- #t)))))
- (propagated-inputs
- `(("python-flake8" ,python-flake8-2.6)
- ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
- ("python-pbr" ,python-pbr)
- ("python-pep8-1.5.7" ,python-pep8-1.5.7)
- ("python-pyflakes-1.2" ,python-pyflakes-1.2)
- ("python-six" ,python-six)))
+ (propagated-inputs
+ `(("python-flake8" ,python-flake8)))
(native-inputs
`( ;; Tests
+ ("python-coverage" ,python-coverage)
+ ("python-ddt" ,python-ddt)
+ ("python-dnspython" ,python-dnspython)
+ ("python-fixtures" ,python-fixtures)
("python-eventlet" ,python-eventlet)
("python-mock" ,python-mock)
- ("python-reno" ,python-reno)
- ("python-testrepository" ,python-testrepository)
- ("python-testscenarios" ,python-testscenarios)))
+ ("python-monotonic" ,python-monotonic)
+ ("python-subunit" ,python-subunit)
+ ("python-stestr" ,python-stestr)
+ ("python-testscenarios" ,python-testscenarios)
+ ("python-testtools" ,python-testtools)))
(home-page "https://github.com/openstack-dev/hacking")
(synopsis "OpenStack hacking guideline enforcement")
(description
@@ -172,9 +182,6 @@ manner.")
guidelines}.")
(license asl2.0)))
-(define-public python2-hacking
- (package-with-python2 python-hacking))
-
(define-public python-mox3
(package
(name "python-mox3")
@@ -310,22 +317,21 @@ to docs.openstack.org and developer.openstack.org.")
(define-public python-stevedore
(package
(name "python-stevedore")
- (version "1.28.0")
+ (version "3.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stevedore" version))
(sha256
(base32
- "02ynfgwma84g59834dmvzr39mcppy5s229zf1w23c0qngf753izi"))))
+ "1w11lm293afzb73iq0ba9wnmr2rjwymnhr92km4a4xrs7a5qcigq"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-pbr" ,python-pbr)
- ("python-six" ,python-six)))
+ (arguments
+ ;; The tests are disabled to avoid a circular dependency with
+ ;; python-stestr.
+ `(#:tests? #f))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-sphinx" ,python-sphinx)
- ("python-testrepository" ,python-testrepository)))
+ `(("python-pbr" ,python-pbr)))
(home-page "https://github.com/dreamhost/stevedore")
(synopsis "Manage dynamic plugins for Python applications")
(description
@@ -427,22 +433,33 @@ common features used in Tempest.")
(define-public python-oslo.context
(package
(name "python-oslo.context")
- (version "2.20.0")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslo.context" version))
(sha256
(base32
- "0iiq9rpwg6wrdqnhf3d8z8g0g7fjhs5zn6qw6igvxplz2c3rbvvx"))))
+ "1l2z186rkd9acrb2ygf53yrdc1lgf7cy1akbhm21kgkzind4p2r6"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("hacking>=3.0.1,<3.1.0")
+ "hacking>=3.0.1"))
+ #t)))))
(propagated-inputs
- `(("python-debtcollector" ,python-debtcollector)
- ("python-pbr" ,python-pbr)))
+ `(("python-debtcollector" ,python-debtcollector)))
(native-inputs
- `(("python-fixtures" ,python-fixtures)
+ `(("python-bandit" ,python-bandit)
+ ("python-coverage" ,python-coverage)
+ ("python-fixtures" ,python-fixtures)
("python-hacking" ,python-hacking)
- ("python-oslotest" ,python-oslotest)))
+ ("python-oslotest" ,python-oslotest)
+ ("python-pbr" ,python-pbr)
+ ("python-stestr" ,python-stestr)))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo context library")
(description
@@ -600,70 +617,62 @@ and building documentation from them.")
(define-public python-oslosphinx
(package
(name "python-oslosphinx")
- (version "4.10.0")
+ (version "4.18.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslosphinx" version))
(sha256
(base32
- "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
+ "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (replace 'check
+ (add-after 'unpack 'relax-requirements
(lambda _
- ;; Note: Upstream tests would have also built the release notes.
- ;; That only would work if we were in a git checkout.
- ;; Therefore, we don't do it here.
- (invoke "python" "setup.py" "build_sphinx"))))))
+ (substitute* "test-requirements.txt"
+ (("hacking!=0.13.0,<0.14,>=0.12.0")
+ "hacking!=0.13.0,>=0.12.0"))
+ #t)))))
(propagated-inputs
- `(("python-requests" ,python-requests)))
+ `(("python-requests" ,python-requests)))
(native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-docutils" ,python-docutils)
- ("python-hacking" ,python-hacking)
- ("python-sphinx" ,python-sphinx)))
+ `(("python-hacking" ,python-hacking)
+ ("python-openstackdocstheme" ,python-openstackdocstheme)
+ ("python-pbr" ,python-pbr)
+ ("python-reno" ,python-reno)
+ ("python-sphinx" ,python-sphinx)))
(home-page "https://www.openstack.org/")
(synopsis "OpenStack sphinx extensions and theme")
- (description
- "This package provides themes and extensions for Sphinx documentation
-from the OpenStack project.")
+ (description "This package provides themes and extensions for Sphinx
+documentation from the OpenStack project.")
(license asl2.0)))
-(define-public python2-oslosphinx
- (package-with-python2 python-oslosphinx))
-
(define-public python-oslotest
(package
(name "python-oslotest")
- (version "3.4.0")
+ (version "4.4.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "oslotest" version))
- (sha256
- (base32
- "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "oslotest" version))
+ (sha256
+ (base32
+ "0r50sz55m8ljv2vk1k7sp88iz1iqq4p9w6kb8hn8g8c50r9zdi5i"))))
(build-system python-build-system)
+ (arguments
+ ;; The tests are disabled to avoid a circular dependency with oslo.config.
+ `(#:tests? #f))
(propagated-inputs
- `(("python-fixtures" ,python-fixtures)
- ("python-mock" ,python-mock)
- ("python-mox3" ,python-mox3)
- ("python-os-client-config" ,python-os-client-config)
- ("python-six" ,python-six)
- ("python-subunit" ,python-subunit)
- ("python-testrepository" ,python-testrepository)
- ("python-testtools" ,python-testtools)))
- (native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-testscenarios" ,python-testscenarios)))
+ `(("python-fixtures" ,python-fixtures)
+ ("python-six" ,python-six)
+ ("python-subunit" ,python-subunit)
+ ("python-testtools" ,python-testtools)))
(home-page "https://launchpad.net/oslo")
(synopsis "Oslo test framework")
- (description
- "The Oslo Test framework provides common fixtures, support for debugging,
-and better support for mocking results.")
+ (description "The Oslo Test framework provides common fixtures, support
+for debugging, and better support for mocking results.")
(license asl2.0)))
(define-public python2-oslotest
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 84864ded5c..4a6881d475 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -130,8 +130,8 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
- (let ((version "1.2.0rc1")
- (commit "3ba6ffd0dd092ae879d014e4971989f231eaa56d")
+ (let ((version "1.2.0rc2")
+ (commit "0d4b1afb6bfa4bdeade2cb6409ece9467d513e39")
(revision 1))
(package
(name "guix")
@@ -148,7 +148,7 @@
(commit commit)))
(sha256
(base32
- "1wa67gdipmzqr400hp0cw5ih0rlfvj345h65rqbk9s4g3bkg38hm"))
+ "1d0pifzrr14f1n0fn21rlh0hzfjvfsavf9as1vcjga47bdjjvrpp"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1273,7 +1273,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
- (version "2020.7")
+ (version "2020.8")
(source
(origin
(method url-fetch)
@@ -1281,7 +1281,7 @@ for packaging and deployment of cross-compiled Windows applications.")
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
- (base32 "0clriq2ypz1fycd6mpjyrhzid44svzpzw0amnank593h69b216ax"))))
+ (base32 "16v73v63h16ika73kgh2cvgm0v27r2d48m932mbj3xm6s295kapx"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index d65155bbde..2e56fe4c1e 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -55,14 +55,14 @@
(define-public parallel
(package
(name "parallel")
- (version "20200822")
+ (version "20201022")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "02dy46g6f05p7s2qs8h6yg20p1zl3flxxf77n5jw74l3h1m24m4n"))))
+ (base32 "0qgh3947l854nvh2ylykbyzsflixd2zdi17vmwqm6azn9a32kzim"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch b/gnu/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch
new file mode 100644
index 0000000000..cb3313197c
--- /dev/null
+++ b/gnu/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch
@@ -0,0 +1,11 @@
+--- a/gajim/common/configpaths.py 2020-11-19 12:12:02.004414323 +0100
++++ a/gajim/common/configpaths.py 2020-11-19 15:34:52.211476895 +0100
+@@ -47,7 +47,7 @@
+ return [Path(_paths['PLUGINS_BASE']),
+ Path('/app/plugins')]
+ return [Path(_paths['PLUGINS_BASE']),
+- Path(_paths['PLUGINS_USER'])]
++ Path(_paths['PLUGINS_USER'])] + ([Path(os.getenv('GAJIM_PLUGIN_PATH'))] if os.getenv('GAJIM_PLUGIN_PATH') and Path(os.getenv('GAJIM_PLUGIN_PATH')).is_dir() else [])
+
+
+ def get_paths(type_: PathType) -> Generator[str, None, None]:
diff --git a/gnu/packages/patches/xpra-4.0.4-norequests.patch b/gnu/packages/patches/xpra-4.0.4-norequests.patch
deleted file mode 100644
index e545be7f1d..0000000000
--- a/gnu/packages/patches/xpra-4.0.4-norequests.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Remove python-requests dependency, r27626 upstream.
-
---- a/xpra/net/websockets/common.py (revision 27625)
-+++ b/xpra/net/websockets/common.py (revision 27626)
-@@ -7,7 +7,6 @@
- import uuid
- from hashlib import sha1
- from base64 import b64encode
--from requests.structures import CaseInsensitiveDict
-
- from xpra.os_util import strtobytes, bytestostr, monotonic_time
- from xpra.log import Logger
-@@ -77,7 +76,7 @@
- for line in lines:
- parts = line.split(b": ", 1)
- if len(parts)==2:
-- headers[parts[0]] = parts[1]
-+ headers[parts[0].lower()] = parts[1]
- return headers
-
- def verify_response_headers(headers, key):
-@@ -84,14 +83,13 @@
- log("verify_response_headers(%s)", headers)
- if not headers:
- raise Exception("no http headers found in response")
-- headers = CaseInsensitiveDict(headers)
-- upgrade = headers.get(b"Upgrade", b"")
-+ upgrade = headers.get(b"upgrade", b"")
- if upgrade!=b"websocket":
- raise Exception("invalid http upgrade: '%s'" % upgrade)
-- protocol = headers.get(b"Sec-WebSocket-Protocol", b"")
-+ protocol = headers.get(b"sec-websocket-protocol", b"")
- if protocol!=b"binary":
- raise Exception("invalid websocket protocol: '%s'" % protocol)
-- accept_key = headers.get(b"Sec-WebSocket-Accept", b"")
-+ accept_key = headers.get(b"sec-websocket-accept", b"")
- if not accept_key:
- raise Exception("websocket accept key is missing")
- expected_key = make_websocket_accept_hash(key)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index dcd4bb90d8..e3d2da9b59 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -28,6 +28,7 @@
(define-module (gnu packages python-check)
#:use-module (gnu packages)
#:use-module (gnu packages check)
+ #:use-module (gnu packages openstack)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages web)
@@ -82,6 +83,39 @@ This package provides seamless integration with coverage.py (and thus pytest,
nosetests, etc...) in Python projects.")
(license license:expat)))
+(define-public python-junit-xml
+ ;; XXX: There are no tags or PyPI releases, so take the latest commit
+ ;; and use the version defined in setup.py.
+ (let ((version "1.9")
+ (commit "4bd08a272f059998cedf9b7779f944d49eba13a6")
+ (revision "0"))
+ (package
+ (name "python-junit-xml")
+ (version (git-version version revision commit))
+ (home-page "https://github.com/kyrus/python-junit-xml")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b8kbjhk3j10rk0vcniy695m3h43yip6y93h1bd6jjh0cp7s09c7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (synopsis "Create JUnit XML test results")
+ (description
+ "This package provides a Python module for creating JUnit XML test
+result documents that can be read by tools such as Jenkins or Bamboo.")
+ (license license:expat))))
+
(define-public python-vcrpy
(package
(name "python-vcrpy")
@@ -1078,3 +1112,36 @@ any Python VM with basically no runtime overhead.")
(description "Robber is a Python assertion library for test-driven and
behavior-driven development (TDD and BDD).")
(license license:expat)))
+
+(define-public python-stestr
+ (package
+ (name "python-stestr")
+ (version "3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "stestr" version))
+ (sha256
+ (base32
+ "0adhqp9c9338wlvlq776k57k04lyxp38bv591afdm9gjsn2qn1zm"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;to avoid circular dependencies
+ (native-inputs
+ `(("python-pbr" ,python-pbr)))
+ (propagated-inputs
+ `(("python-cliff" ,python-cliff)
+ ("python-fixtures" ,python-fixtures)
+ ("python-future" ,python-future)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-subunit" ,python-subunit)
+ ("python-testtools" ,python-testtools)
+ ("python-voluptuous" ,python-voluptuous)))
+ (home-page "https://stestr.readthedocs.io/en/latest/")
+ (synopsis "Parallel Python test runner")
+ (description "This package provides the @command{stestr} command, a
+parallel Python test runner built around @code{subunit}. It is designed to
+execute @code{unittest} test suites using multiple processes to split up
+execution of a test suite. It will also store a history of all test runs to
+help in debugging failures and optimizing the scheduler to improve speed.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 0cee05cb09..6f3dbbf9f2 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -74,7 +74,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/python-otr/pure-python-otr.git")
+ (url "https://github.com/python-otr/pure-python-otr")
(commit version)))
(file-name
(git-file-name name version))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e0d474c151..2ccb41fe3a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
@@ -68,6 +68,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -76,6 +77,7 @@
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
@@ -276,6 +278,158 @@ WSGI. This package includes libraries for implementing ASGI servers.")
;; looks like the user can choose a license.
(license (list license:gpl3+ license:lgpl3+ license:expat))))
+(define-public python-aws-sam-translator
+ (package
+ (name "python-aws-sam-translator")
+ (version "1.30.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "aws-sam-translator" version))
+ (sha256
+ (base32
+ "0d9ppd94x2kw404m49ajswmmxgdngbs4p5ajyrdvnlivfzqbv7dx"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; XXX: Tests are not distributed with the PyPI archive, and would
+ ;; introduce a circular dependency on python-cfn-lint.
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ ;; The package needlessly specifies exact versions
+ ;; of dependencies, when it works fine with others.
+ (substitute* "requirements/base.txt"
+ (("(.*)(~=[0-9\\.]+)" all package version)
+ package))
+ #t)))))
+ (propagated-inputs
+ `(("python-boto3" ,python-boto3)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/awslabs/serverless-application-model")
+ (synopsis "Transform AWS SAM templates into AWS CloudFormation templates")
+ (description
+ "AWS SAM Translator is a library that transform @dfn{Serverless Application
+Model} (SAM) templates into AWS CloudFormation templates.")
+ (license license:asl2.0)))
+
+(define-public python-aws-xray-sdk
+ (package
+ (name "python-aws-xray-sdk")
+ (version "2.6.0")
+ (home-page "https://github.com/aws/aws-xray-sdk-python")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "12fzr0ylpa1lx3xr1x2f1jx8iiyzcr6g57fb9jign0j0lxdlbzpv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda _
+ (for-each delete-file
+ '(;; These tests require packages not yet in Guix.
+ "tests/ext/aiobotocore/test_aiobotocore.py"
+ "tests/ext/aiohttp/test_middleware.py"
+ "tests/ext/pg8000/test_pg8000.py"
+ "tests/ext/psycopg2/test_psycopg2.py"
+ "tests/ext/pymysql/test_pymysql.py"
+ "tests/ext/pynamodb/test_pynamodb.py"
+ "tests/test_async_recorder.py"
+
+ ;; FIXME: Why is this failing?
+ "tests/test_patcher.py"
+
+ ;; TODO: How to configure Django for these tests.
+ "tests/ext/django/test_db.py"
+ "tests/ext/django/test_middleware.py"
+
+ ;; These tests want to access httpbin.org.
+ "tests/ext/requests/test_requests.py"
+ "tests/ext/httplib/test_httplib.py"
+ "tests/ext/aiohttp/test_client.py"))))
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:.:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "-vv" "tests"))))))
+ (native-inputs
+ `(;; These are required for the test suite.
+ ("python-bottle" ,python-bottle)
+ ("python-flask" ,python-flask)
+ ("python-flask-sqlalchemy" ,python-flask-sqlalchemy)
+ ("python-pymysql" ,python-pymysql)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-aiohttp" ,python-pytest-aiohttp)
+ ("python-requests" ,python-requests)
+ ("python-sqlalchemy" ,python-sqlalchemy)
+ ("python-webtest" ,python-webtest)))
+ (propagated-inputs
+ `(("python-aiohttp" ,python-aiohttp)
+ ("python-botocore" ,python-botocore)
+ ("python-future" ,python-future)
+ ("python-jsonpickle" ,python-jsonpickle)
+ ("python-urllib3" ,python-urllib3)
+ ("python-wrapt" ,python-wrapt)))
+ (synopsis "Profile applications on AWS X-Ray")
+ (description
+ "The AWS X-Ray SDK for Python enables Python developers to record and
+emit information from within their applications to the AWS X-Ray service.")
+ (license license:asl2.0)))
+
+(define-public python-cfn-lint
+ (package
+ (name "python-cfn-lint")
+ (version "0.41.0")
+ (home-page "https://github.com/aws-cloudformation/cfn-python-lint")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nqs0fmj3hd7pnd9hkb4z57jvi2iv82hh6n3xxba6i6p8zgx75q4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Remove test for the documentation update scripts
+ ;; to avoid a dependency on 'git'.
+ (delete-file
+ "test/unit/module/maintenance/test_update_documentation.py")
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (setenv "PATH" (string-append out "/bin:"
+ (getenv "PATH")))
+ (invoke "python" "-m" "unittest" "discover"
+ "-s" "test")))))))
+ (native-inputs
+ `(("python-pydot" ,python-pydot)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-aws-sam-translator" ,python-aws-sam-translator)
+ ("python-jsonpatch" ,python-jsonpatch)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-junit-xml" ,python-junit-xml)
+ ("python-networkx" ,python-networkx)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)))
+ (synopsis "Validate CloudFormation templates")
+ (description
+ "This package lets you validate CloudFormation YAML/JSON templates against
+the CloudFormation spec and additional checks. Includes checking valid values
+for resource properties and best practices.")
+ (license license:expat)))
+
(define-public python-falcon
(package
(name "python-falcon")
@@ -460,14 +614,14 @@ HTTP servers, RESTful APIs, and web services.")
(define-public python-html2text
(package
(name "python-html2text")
- (version "2019.8.11")
+ (version "2020.1.16")
(source
(origin
(method url-fetch)
(uri (pypi-uri "html2text" version))
(sha256
(base32
- "0ppgjplg06kmv9sj0x8p7acczcq2mcfgk1jdjwm4w5w40b0vj5pm"))))
+ "1fvv4z6dblii2wk1x82981ag8yhxbim1v2ksgywxsndh2s7335p2"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -485,7 +639,94 @@ Swartz.")
(license license:gpl3+)))
(define-public python2-html2text
- (package-with-python2 python-html2text))
+ (let ((base (package-with-python2 python-html2text)))
+ (package
+ (inherit base)
+ ;; This is the last version with support for Python 2.
+ (version "2019.8.11")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "html2text" version))
+ (sha256
+ (base32
+ "0ppgjplg06kmv9sj0x8p7acczcq2mcfgk1jdjwm4w5w40b0vj5pm")))))))
+
+(define-public python-jose
+ (package
+ (name "python-jose")
+ (version "3.2.0")
+ (home-page "http://github.com/mpdavis/python-jose")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xmnf8whzv2gnkkdv0fqcn9qwmcc7y647p4kw9fi3lvcp9kch8vi"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "pytest" "-vv")
+ (format #t "test suite not run~%"))
+ #t)))))
+ (native-inputs
+ `(;; All native inputs are for tests.
+ ("python-pyasn1" ,python-pyasn1)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-rsa" ,python-rsa)
+ ("python-six" ,python-six)))
+ (synopsis "JOSE implementation in Python")
+ (description
+ "The @dfn{JavaScript Object Signing and Encryption} (JOSE) technologies
+- JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and
+JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign
+content using a variety of algorithms.")
+ (license license:expat)))
+
+(define-public python-jsonpickle
+ (package
+ (name "python-jsonpickle")
+ (version "1.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonpickle" version))
+ (sha256
+ (base32
+ "1fn86z468hamw8njh2grw2xdhsm7g48dyxs3lw0n10nn1g6vgm78"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "-vv"
+ ;; Prevent running the flake8 and black
+ ;; pytest plugins, which only tests style
+ ;; and frequently causes harmless failures.
+ "-o" "addopts=''"))))))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-toml" ,python-toml) ;XXX: for setuptools_scm[toml]
+ ;; For tests.
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://jsonpickle.github.io/")
+ (synopsis "Serialize object graphs into JSON")
+ (description
+ "This package provides a Python library for serializing any arbitrary
+object graph to and from JSON.")
+ (license license:bsd-3)))
(define-public python-mechanicalsoup
(package
@@ -712,6 +953,30 @@ both of which are installed automatically if you install this library.")
(define-public python2-flask-babel
(package-with-python2 python-flask-babel))
+(define-public python-flask-cors
+ (package
+ (name "python-flask-cors")
+ (version "3.0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-Cors" version))
+ (sha256
+ (base32
+ "1f36hkaxc92zn12f88fkzwifdvlvsnmlp1dv3p5inpcc500c3kvb"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-flask" ,python-flask)
+ ("python-nose" ,python-nose)
+ ("python-packaging" ,python-packaging)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://flask-cors.readthedocs.io/en/latest/")
+ (synopsis "Handle Cross-Origin Resource Sharing with Flask")
+ (description
+ "This package provides a Flask extension for handling @acronym{CORS,Cross
+Origin Resource Sharing}, making cross-origin AJAX possible.")
+ (license license:expat)))
+
(define-public python-html5lib
(package
(name "python-html5lib")
@@ -788,6 +1053,41 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
(define-public python2-html5-parser
(package-with-python2 python-html5-parser))
+(define-public python-minio
+ (package
+ (name "python-minio")
+ (version "6.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "minio" version))
+ (sha256
+ (base32
+ "1cxpa0m7mdvpdbc1g6wlihq6ja4g4paxkl6f3q84bbnx07zpbllp"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'check 'disable-failing-tests
+ (lambda _
+ ;; This test requires network access.
+ (delete-file "tests/unit/credentials_test.py")
+ #t)))))
+ (native-inputs
+ `(("python-faker" ,python-faker)
+ ("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-configparser" ,python-configparser)
+ ("python-dateutil" ,python-dateutil)
+ ("python-pytz" ,python-pytz)
+ ("python-urllib3" ,python-urllib3)))
+ (home-page "https://github.com/minio/minio-py")
+ (synopsis "Programmatically access Amazon S3 from Python")
+ (description
+ "This package provides a Python library for interacting with any
+Amazon S3 compatible object storage server.")
+ (license license:asl2.0)))
+
(define-public python-pycurl
(package
(name "python-pycurl")
@@ -1013,6 +1313,49 @@ another XPath engine to find the matching elements in an XML or HTML document.")
(define-public python2-cssselect
(package-with-python2 python-cssselect))
+(define-public python-databricks-cli
+ (package
+ (name "python-databricks-cli")
+ (version "0.14.0")
+ (home-page "https://github.com/databricks/databricks-cli")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0imwpfda2pxix1rx0nlqs48v58icfw065nsv53rpg0dw4bw9x2wi"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "tests" "-vv"
+ ;; XXX: This fails with newer Pytest
+ ;; (upstream uses Pytest 3..).
+ "-k" "not test_get_request_with_list"))))))
+ (native-inputs
+ `(;; For tests.
+ ("python-decorator" ,python-decorator)
+ ("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-requests-mock" ,python-requests-mock)))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-configparser" ,python-configparser)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)
+ ("python-tabulate" ,python-tabulate)))
+ (synopsis "Command line interface for Databricks")
+ (description
+ "The Databricks Command Line Interface is a tool which provides an easy
+to use interface to the Databricks platform. The CLI is built on top of the
+Databricks REST APIs.")
+ (license license:asl2.0)))
+
(define-public python-openid-cla
(package
(name "python-openid-cla")
@@ -1163,6 +1506,37 @@ WebSockets (over HTTP/1 and HTTP/2), ASGI/2, and ASGI/3 specifications. It can
utilise asyncio, uvloop, or trio worker types.")
(license license:expat)))
+(define-public python-querystring-parser
+ (package
+ (name "python-querystring-parser")
+ (version "1.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "querystring_parser" version))
+ (sha256
+ (base32
+ "0qlar8a0wa003hm2z6wcpb625r6vjj0a70rsni9h8lz0zwfcwkv4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; XXX FIXME: This test is broken with Python 3.7:
+ ;; https://github.com/bernii/querystring-parser/issues/35
+ (substitute* "querystring_parser/tests.py"
+ (("self\\.assertEqual\\(self\\.knownValuesNormalized, result\\)")
+ "True"))
+ (invoke "python" "querystring_parser/tests.py"))))))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://github.com/bernii/querystring-parser")
+ (synopsis "QueryString parser that correctly handles nested dictionaries")
+ (description
+ "This package provides a query string parser for Python and Django
+projects that correctly creates nested dictionaries from sent form/querystring
+data.")
+ (license license:expat)))
+
(define-public python-tornado
(package
(name "python-tornado")
@@ -2283,15 +2657,16 @@ supports url redirection and retries, and also gzip and deflate decoding.")
(define-public awscli
(package
+ ;; Note: updating awscli typically requires updating botocore as well.
(name "awscli")
- (version "1.18.6")
+ (version "1.18.183")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "0p479mfs9r0m82a217pap8156ijwvhv6r3kqa4k267gd05wgvygm"))))
+ "0n1pmdl33r1v8qnrcg08ihvri9zm4fvsp14605vwmlkxvs8nb7s5"))))
(build-system python-build-system)
(arguments
;; FIXME: The 'pypi' release does not contain tests.
@@ -2789,13 +3164,13 @@ Betamax.")
(define-public python-s3transfer
(package
(name "python-s3transfer")
- (version "0.2.0")
+ (version "0.3.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "s3transfer" version))
(sha256
(base32
- "08fhj73b1ai52hrs2q3nggshq3pswn1gq8ch3m009cb2v2vmqggj"))))
+ "1nzp5kwmy9669334shcz9ipg89jgpdqhrmbkgdg18r7wmvi3f6lj"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c3624784e9..2f270d1b3e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -91,6 +91,7 @@
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2019 Kristian Trandem <kristian@devup.no>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -122,6 +123,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages docker)
#:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
@@ -3933,6 +3935,30 @@ augment the changelog, but it can be used for other documents, too.")
(define-public python2-rst.linker
(package-with-python2 python-rst.linker))
+(define-public python-sshpubkeys
+ (package
+ (name "python-sshpubkeys")
+ (version "3.1.0")
+ (home-page "https://github.com/ojarva/python-sshpubkeys")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h4gwmcfn84kkqh83km1vfz8sc5kr2g4gzgzmr8gz704jmqiv7nq"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cryptography" ,python-cryptography)
+ ("python-ecdsa" ,python-ecdsa)))
+ (synopsis "OpenSSH public key parser")
+ (description
+ "This package provides a library for parsing and validating OpenSSH
+public key files.")
+ (license license:bsd-3)))
+
(define-public python-feedgenerator
(package
(name "python-feedgenerator")
@@ -5636,14 +5662,14 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pillow
(package
(name "python-pillow")
- (version "6.2.1")
+ (version "8.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pillow" version))
(sha256
(base32
- "1c8wkzc58f5wdh006jvmwdk3wxld1xgagcbdvj7iv17qi0m9fkmz"))))
+ "17pv0flaqqfld9m4lz8ayxyqb11gbbmr7w04mw4ar79cn3lwdi8i"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
@@ -5683,12 +5709,24 @@ efficient internal representation, and fairly powerful image processing
capabilities. The core image library is designed for fast access to data
stored in a few basic pixel formats. It should provide a solid foundation for
a general image processing tool.")
+ (properties `((python2-variant . ,(delay python2-pillow))))
(license (license:x11-style
"http://www.pythonware.com/products/pil/license.htm"
"The PIL Software License"))))
(define-public python2-pillow
- (package-with-python2 python-pillow))
+ (package-with-python2
+ (package
+ (inherit (strip-python2-variant python-pillow))
+ ;; Version 6 is the last series with Python 2 support.
+ (version "6.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pillow" version))
+ (sha256
+ (base32
+ "0l5rv8jkdrb5q846v60v03mcq64yrhklidjkgwv6s1pda71g17yv")))))))
(define-public python-pillow-2.9
(package
@@ -8148,27 +8186,6 @@ PEP 8.")
(define-public python2-pyflakes
(package-with-python2 python-pyflakes))
-;; Flake8 2.6 requires an older version of pyflakes.
-;; This should be removed ASAP.
-(define-public python-pyflakes-1.2
- (package (inherit python-pyflakes)
- (version "1.2.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyflakes" version))
- (sha256
- (base32
- "17hkw8yd44cr8fz13phy4aih3r5j2p7ild4zlvqdh2c8dmiinjif"))))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- ;; This one test fails.
- (replace 'check
- (lambda _ (invoke "pytest" "-vv" "-k" "not test_f_string"))))))
- (native-inputs
- `(("python-pytest" ,python-pytest)))))
-
(define-public python-mccabe
(package
(name "python-mccabe")
@@ -8194,39 +8211,6 @@ complexity of Python source code.")
(define-public python2-mccabe
(package-with-python2 python-mccabe))
-(define-public python-mccabe-0.2.1
- (package (inherit python-mccabe)
- (version "0.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "mccabe" version))
- (sha256
- (base32
- "0fi4a81kr5bcv5p4xgibqr595hyj5dafkqgsmfk96mfy8w71fajs"))))))
-
-(define-public python2-mccabe-0.2.1
- (package-with-python2 python-mccabe-0.2.1))
-
-;; Flake8 2.4.1 requires an older version of pep8.
-;; This should be removed ASAP.
-(define-public python-pep8-1.5.7
- (package (inherit python-pep8)
- (version "1.5.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pep8" version))
- (sha256
- (base32
- "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
- (arguments
- ;; XXX Tests not compatible with Python 3.5.
- '(#:tests? #f))))
-
-(define-public python2-pep8-1.5.7
- (package-with-python2 python-pep8-1.5.7))
-
(define-public python-flake8
(package
(name "python-flake8")
@@ -8273,40 +8257,6 @@ complexity of Python source code.")
("python2-typing" ,python2-typing)
,@(package-propagated-inputs base))))))
-;; python-hacking requires flake8 <2.7.0.
-(define-public python-flake8-2.6
- (package
- (inherit python-flake8)
- (version "2.6.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "flake8" version))
- (sha256
- (base32
- "0y57hzal0j84dh9i1g1g6dc4aywvrnhy2fjmmbglpv5ajihxh713"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'use-later-pycodestyles
- (lambda __
- (substitute* '("flake8.egg-info/requires.txt"
- "setup.py")
- (("pycodestyle >= 2.0, < 2.1")
- "pycodestyle >= 2.0"))
- #t))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v")
- #t)))))
- (propagated-inputs
- `(("python-pep8" ,python-pep8)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-entrypoints" ,python-entrypoints)
- ("python-pyflakes" ,python-pyflakes-1.2)
- ("python-mccabe" ,python-mccabe)))))
-
(define-public python-flake8-bugbear
(package
(name "python-flake8-bugbear")
@@ -8734,6 +8684,26 @@ should be stored on various operating systems.")
(define-public python2-appdirs
(package-with-python2 python-appdirs))
+(define-public python-gorilla
+ (package
+ (name "python-gorilla")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "gorilla" version))
+ (sha256
+ (base32
+ "0b40blcp6fih4nvqbilra4qw1dfccv1ahjmr41ac4d9rjadqkcpy"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/christophercrouzet/gorilla")
+ (synopsis "Convenient monkey patching with Python")
+ (description
+ "Gorilla is a Python library that provides a convenient approach to
+monkey patching. Monkey patching is the process of modifying module and
+class attributes at runtime with the purpose of replacing or extending
+third-party code.")
+ (license license:expat)))
+
(define-public python-llfuse
(package
(name "python-llfuse")
@@ -10922,6 +10892,73 @@ text.")
(define-public python2-colorama
(package-with-python2 python-colorama))
+(define-public python-moto
+ (package
+ (name "python-moto")
+ ;; XXX: Use a pre-release for compatibility with latest botocore & friends.
+ (version "1.3.16.dev134")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "moto" version))
+ (sha256
+ (base32
+ "1pix0c7zszjwzfy88n1rpih9vkdm25nqcvz93z850xvgwb4v81bd"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-hardcoded-executable-names
+ (lambda _
+ (substitute* "moto/batch/models.py"
+ (("/bin/sh")
+ (which "sh")))
+ (substitute* (find-files "tests" "\\.py$")
+ (("#!/bin/bash")
+ (string-append "#!" (which "bash"))))
+ #t))
+ (replace 'check
+ (lambda _
+ (setenv "PYTHONPATH" (string-append "./build/lib:"
+ (getenv "PYTHONPATH")))
+ (invoke "pytest" "-vv" "-m" "not network"
+ ;; These tests require Docker.
+ "-k" "not test_terminate_job \
+and not test_invoke_function_from_sqs_exception"))))))
+ (native-inputs
+ `(("python-flask" ,python-flask)
+ ("python-flask-cors" ,python-flask-cors)
+ ("python-freezegun" ,python-freezegun)
+ ("python-parameterized" ,python-parameterized)
+ ("python-pytest" ,python-pytest)
+ ("python-sure" ,python-sure)))
+ (propagated-inputs
+ `(("python-aws-xray-sdk" ,python-aws-xray-sdk)
+ ("python-boto" ,python-boto)
+ ("python-boto3" ,python-boto3)
+ ("python-botocore" ,python-botocore)
+ ("python-cfn-lint" ,python-cfn-lint)
+ ("python-cryptography" ,python-cryptography)
+ ("python-dateutil" ,python-dateutil)
+ ("python-docker" ,python-docker)
+ ("python-idna" ,python-idna)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jose" ,python-jose)
+ ("python-jsondiff" ,python-jsondiff)
+ ("python-mock" ,python-mock)
+ ("python-pytz" ,python-pytz)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)
+ ("python-responses" ,python-responses)
+ ("python-six" ,python-six)
+ ("python-sshpubkeys" ,python-sshpubkeys)
+ ("python-werkzeug" ,python-werkzeug)
+ ("python-xmltodict" ,python-xmltodict)))
+ (home-page "https://github.com/spulec/moto")
+ (synopsis "Mock out the boto library")
+ (description
+ "@code{moto} is a library designed to easily mock out the
+@code{boto} library.")
+ (license license:asl2.0)))
+
(define-public python-rsa
(package
(name "python-rsa")
@@ -11077,32 +11114,55 @@ document.")
manipulation library.")
(license license:expat)))
+(define-public python-boto
+ (package
+ (name "python-boto")
+ (version "2.49.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "boto" version))
+ (sha256
+ (base32
+ "0njy09c4wjx7ipxhwi6vv404nflyiasl78vwwxxpclnql903n3ga"))))
+ (build-system python-build-system)
+ (arguments
+ ;; XXX: This package is unmaintained and has problems with newer versions
+ ;; of Python 3 as well as test libraries. 'python-moto' still uses a
+ ;; subset of this library, so keep it around for now, but disable tests.
+ '(#:tests? #f))
+ (propagated-inputs
+ `(("python-paramiko" ,python-paramiko)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/boto/boto")
+ (synopsis "Python interfaces for Amazon Web Services")
+ (description
+ "This package provides various facilities for interacting with Amazon
+Web Services through Python.
+
+This software is unmaintained, and new projects should use @code{boto3} instead.")
+ (license license:expat)))
+
(define-public python-botocore
+ ;; Note: When updating botocore, also make sure that boto3 and awscli
+ ;; are compatible.
(package
(name "python-botocore")
- (version "1.15.26")
+ (version "1.19.22")
(source
(origin
(method url-fetch)
(uri (pypi-uri "botocore" version))
(sha256
(base32
- "1a87pbwkk5vlwz92hy1wizfnpiwn11bhaicr6bmji1i5ybwdhnr8"))))
+ "0iim86x7c6hqmvd61ygz6x6x9glnsfbnyzv2y67qjdcdx8jpkmw7"))))
(build-system python-build-system)
(arguments
;; FIXME: Many tests are failing.
'(#:tests? #f))
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
- ("python-docutils" ,python-docutils)
- ("python-jmespath" ,python-jmespath)))
- (native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
- ("behave" ,behave)
- ("python-tox" ,python-tox)
- ("python-urllib3" ,python-urllib3)
- ("python-wheel" ,python-wheel)))
+ ("python-jmespath" ,python-jmespath)
+ ("python-urllib3" ,python-urllib3)))
(home-page "https://github.com/boto/botocore")
(synopsis "Low-level interface to AWS")
(description "Botocore is a Python library that provides a low-level
@@ -11112,6 +11172,40 @@ interface to the Amazon Web Services (AWS) API.")
(define-public python2-botocore
(package-with-python2 python-botocore))
+(define-public python-boto3
+ (package
+ (name "python-boto3")
+ (version "1.16.22")
+ (home-page "https://github.com/boto/boto3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0h20hgl4yfl58g75qhb6ibrdmzn47md3srgar7hask14cjmfhfy3"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-network-tests
+ ;; Deleting integration tests because they are trying to connect to AWS.
+ (lambda _
+ (delete-file-recursively "tests/integration")
+ #t)))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-botocore" ,python-botocore)
+ ("python-jmespath" ,python-jmespath)
+ ("python-s3transfer" ,python-s3transfer)))
+ (synopsis "AWS SDK for Python")
+ (description
+ "Boto3 is a Python library for writing programs that interact with
+@acronym{AWS,Amazon Web Services}.")
+ (license license:asl2.0)))
+
(define-public python-pyfiglet
(package
(name "python-pyfiglet")
@@ -14719,22 +14813,20 @@ converting text with ANSI color codes to HTML or LaTeX.")
(define-public python-ddt
(package
(name "python-ddt")
- (version "1.1.3")
+ (version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ddt" version))
(sha256
(base32
- "1lw17420iimhghkgzgax85nn8d1an2d6k2cfvb7j5kwn2dqlr1vk"))))
+ "1niqpzc26sxdbyi46r07n4pma5fjx6crww2539vpfmsf0w6yg585"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ `(("python-pytest" ,python-pytest)))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-pyyaml" ,python-pyyaml)))
- (home-page "https://github.com/txels/ddt")
+ `(("python-pyyaml" ,python-pyyaml)))
+ (home-page "https://github.com/datadriventests/ddt")
(synopsis "Data-Driven Tests")
(description
"Data-Driven Tests (@dfn{DDT}) allow you to multiply one test case by
@@ -14742,9 +14834,6 @@ running it with different test data, and make it appear as multiple test
cases.")
(license license:expat)))
-(define-public python2-ddt
- (package-with-python2 python-ddt))
-
(define-public python-pycountry
(package
(name "python-pycountry")
@@ -16038,7 +16127,7 @@ by path in a JSON document (see RFC 6901).")
(base32
"0k9pff06lxama3nhsc7cdxbp83422bdy8ifs52i6xkas8hpyzfzr"))))
(build-system python-build-system)
- (native-inputs
+ (propagated-inputs
`(("python-jsonpointer" ,python-jsonpointer)))
(home-page "https://github.com/stefankoegl/python-json-patch")
(synopsis "Applying JSON Patches in Python 2.6+ and 3.x")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index aabbdc308f..2e621e758c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1566,7 +1566,7 @@ message.")))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/manisandro/qtspell.git")
+ (url "https://github.com/manisandro/qtspell")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm
index 7700c26d06..cdea392fc7 100644
--- a/gnu/packages/raspberry-pi.scm
+++ b/gnu/packages/raspberry-pi.scm
@@ -76,7 +76,7 @@ used in the Raspberry Pi")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/RPi-Distro/raspi-gpio.git")
+ (url "https://github.com/RPi-Distro/raspi-gpio")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -98,7 +98,7 @@ used in the Raspberry Pi")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/librerpi/rpi-open-firmware.git")
+ (url "https://github.com/librerpi/rpi-open-firmware")
(commit "6be45466e0be437a1b0b3512a86f3d9627217006")))
(file-name "rpi-open-firmware-checkout")
(sha256
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index 0fc63e8675..30523deefe 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -87,7 +87,7 @@ to remotely control a user's Windows desktop.")
(origin
(method git-fetch)
(uri (git-reference
- (url "git://github.com/FreeRDP/FreeRDP.git")
+ (url "git://github.com/FreeRDP/FreeRDP")
(commit version)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fafa7436a0..8fc228f6ed 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1349,7 +1349,7 @@ Prawn module.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/prawnpdf/prawn-templates.git")
+ (url "https://github.com/prawnpdf/prawn-templates")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -1411,7 +1411,7 @@ loader for the file type associated with a filename extension, and it augments
(origin
(method git-fetch) ;no test suite in distributed gem
(uri (git-reference
- (url "https://github.com/cjheath/treetop.git")
+ (url "https://github.com/cjheath/treetop")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -1474,7 +1474,7 @@ for performance optimizations in Ruby code.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/searls/gimme.git")
+ (url "https://github.com/searls/gimme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -1535,7 +1535,7 @@ only what they care about.")
(origin
(method git-fetch) ;no test suite in distributed gem
(uri (git-reference
- (url "https://github.com/testdouble/standard.git")
+ (url "https://github.com/testdouble/standard")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -1587,7 +1587,7 @@ to save time in the following ways:
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/wvanbergen/chunky_png.git")
+ (url "https://github.com/wvanbergen/chunky_png")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -1705,7 +1705,7 @@ web pages.")
(origin
(method git-fetch) ;no test suite in the distributed gem
(uri (git-reference
- (url "https://github.com/asciidoctor/asciidoctor-pdf.git")
+ (url "https://github.com/asciidoctor/asciidoctor-pdf")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -6824,7 +6824,7 @@ inspired by the Sinatra microframework style of specifying actions:
(origin
(method git-fetch) ;no test suite in distributed gem
(uri (git-reference
- (url "https://github.com/rubocop-hq/rubocop-ast.git")
+ (url "https://github.com/rubocop-hq/rubocop-ast")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -6868,7 +6868,7 @@ by RuboCop to deal with Ruby's Abstract Syntax Tree (AST), in particular:
(origin
(method git-fetch) ;no tests in distributed gem
(uri (git-reference
- (url "https://github.com/ruby/rexml.git")
+ (url "https://github.com/ruby/rexml")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -6919,7 +6919,7 @@ better performance than @code{Regexp} and @code{String} methods from the
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/janosch-x/range_compressor.git")
+ (url "https://github.com/janosch-x/range_compressor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -6952,7 +6952,7 @@ following: @code{[1, 2, 3, 4, 6, 8, 9, 10]} into @code{[1..4, 6..6, 8..10]}.")
(origin
(method git-fetch)
(uri (git-reference ;no test suite in distributed gem
- (url "https://github.com/jaynetics/regexp_property_values.git")
+ (url "https://github.com/jaynetics/regexp_property_values")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -6983,7 +6983,7 @@ they match.")
(origin
(method git-fetch) ;bin/test missing from gem
(uri (git-reference
- (url "https://github.com/ammar/regexp_parser.git")
+ (url "https://github.com/ammar/regexp_parser")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -7056,7 +7056,7 @@ run.")
(origin
(method git-fetch) ;no tests in distributed gem
(uri (git-reference
- (url "https://github.com/rubocop-hq/rubocop.git")
+ (url "https://github.com/rubocop-hq/rubocop")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -10536,7 +10536,7 @@ custom checks. This gem provides a set of additional checks.")
(source (origin
(method git-fetch) ;no test in distributed gem archive
(uri (git-reference
- (url "https://github.com/yob/pdf-reader.git")
+ (url "https://github.com/yob/pdf-reader")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -10576,7 +10576,7 @@ access to the contents of a PDF file with a high degree of flexibility.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/prawnpdf/pdf-inspector.git")
+ (url "https://github.com/prawnpdf/pdf-inspector")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -10639,7 +10639,7 @@ functionality from Prawn.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/prawnpdf/prawn.git")
+ (url "https://github.com/prawnpdf/prawn")
(commit commit)))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index fabb4e0380..004f71ae8d 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -73,13 +73,7 @@
("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.4))
#:cargo-development-inputs
(("rust-datetime" ,rust-datetime-0.4))
- #:phases
(modify-phases %standard-phases
- (add-after 'configure 'dont-vendor-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t))
;; Ignoring failing tests.
;; Reported in https://github.com/ogham/exa/issues/318
(add-before 'check 'disable-failing-tests
@@ -393,18 +387,12 @@ gitignore rules.")
("rust-lazy-static" ,rust-lazy-static-1)
("rust-regex" ,rust-regex-1)
("rust-serde-json" ,rust-serde-json-1)
- ("rust-tempfile" ,rust-tempfile-3))
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'unvendor-libraries-from-crates
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (setenv "OPENSSL_DIR" openssl))
- #t)))))
+ ("rust-tempfile" ,rust-tempfile-3))))
(native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
`(("libgit2" ,libgit2)
("openssl" ,openssl)
- ("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(home-page "https://tokei.rs")
(synopsis "Count code, quickly")
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 38e4079a09..bd77b3e808 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -408,7 +408,7 @@ implementation techniques and as an expository tool.")
version "/racket-" version "-src.tgz")))
(sha256
(base32
- "18pz6gjzqy6a62xkcmjanhr7kgxpvpmc0blrk4igz8ldcybz44if"))
+ "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m"))
(patches (search-patches
"racket-store-checksum-override.patch"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index b1db32a3dc..181a640475 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -278,7 +278,7 @@ below the current cursor position, scrolling the screen if necessary.")
(define-public hstr
(package
(name "hstr")
- (version "2.2")
+ (version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -287,7 +287,7 @@ below the current cursor position, scrolling the screen if necessary.")
(file-name (git-file-name name version))
(sha256
(base32
- "07fkilqlkpygvf9kvxyvl58g3lfq0bwwdp3wczy4hk8qlbhmgihn"))))
+ "1chmfdi1dwg3sarzd01nqa82g65q7wdr6hrnj96l75vikwsg986y"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index a95160c1c1..45efd5c472 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -684,17 +684,13 @@ user interface to the FEniCS core components and external libraries.")
(with-directory-excursion "test"
;; Note: The test test_snes_set_from_options() in the file
;; unit/nls/test_PETScSNES_solver.py fails and is ignored.
- (and (invoke "py.test" "unit" "--ignore"
- "unit/nls/test_PETScSNES_solver.py")
- (invoke "mpirun" "-np" "3" "python" "-B" "-m"
- "pytest" "unit" "--ignore"
- "unit/nls/test_PETScSNES_solver.py")))
- (with-directory-excursion "demo"
- ;; Check demos.
- (invoke "python" "generate-demo-files.py")
- (and (invoke "python" "-m" "pytest" "-v" "test.py")
- (invoke "python" "-m" "pytest" "-v" "test.py"
- "--mpiexec=mpiexec" "--num-proc=3")))
+ ;; Limit the number of jobs to 3 as 500 MiB of memory is used
+ ;; per process.
+ (invoke "mpirun" "-np" (number->string
+ (min 3 (parallel-job-count)))
+ "python" "-B" "-m"
+ "pytest" "unit" "--ignore"
+ "unit/nls/test_PETScSNES_solver.py"))
#t))
(add-after 'install 'install-demo-files
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index e1549c1728..48944d3b72 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -55,14 +55,14 @@
(define-public ceph
(package
(name "ceph")
- (version "14.2.13")
+ (version "14.2.14")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
- "0gaxjs909wf00nvh4z53cin89dw67v1q47b2jvi3iibynhkahkg1"))
+ "10ma8qimgspz1q3lqb4yl990l9xa87iwd0r4dxl5xg89w6j7qwix"))
(patches
(search-patches "ceph-disable-cpu-optimizations.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 434e236054..7e479a0d39 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -195,7 +195,7 @@ Protocol.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/syncthing/syncthing-gtk.git")
+ (url "https://github.com/syncthing/syncthing-gtk")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c4420978b8..00b0bf6ddb 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -352,7 +352,13 @@ required structures.")
((string-prefix? "arm" target)
"linux-armv4")
((string-prefix? "aarch64" target)
- "linux-aarch64")))
+ "linux-aarch64")
+ ((string-prefix? "powerpc64le" target)
+ "linux-ppc64le")
+ ((string-prefix? "powerpc64" target)
+ "linux-ppc64")
+ ((string-prefix? "powerpc" target)
+ "linux-ppc")))
#t)))
'())
(replace 'configure
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 21380a9677..e58be3b274 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -286,7 +286,7 @@ video and audio streams from a DVD.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/OpenVisualCloud/SVT-HEVC.git")
+ (url "https://github.com/OpenVisualCloud/SVT-HEVC")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -314,7 +314,7 @@ efficiency.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Intel-Media-SDK/MediaSDK.git")
+ (url "https://github.com/Intel-Media-SDK/MediaSDK")
(commit (string-append "intel-" name "-" version))))
(file-name (git-file-name name version))
(sha256
@@ -490,7 +490,7 @@ and mmsh protocols.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/farindk/libvideogfx.git")
+ (url "https://github.com/farindk/libvideogfx")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -534,7 +534,7 @@ applications by providing high-level classes for commonly required tasks.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/strukturag/libde265.git")
+ (url "https://github.com/strukturag/libde265")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -575,7 +575,7 @@ other software.")
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/libts/tslib.git")
+ (url "https://github.com/libts/tslib")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -2188,14 +2188,14 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2020.11.17")
+ (version "2020.11.21.1")
(source (origin
(method url-fetch)
(uri (string-append "https://youtube-dl.org/downloads/latest/"
"youtube-dl-" version ".tar.gz"))
(sha256
(base32
- "0b0vsmvnm2jn1k66jmymzly0nb34nk79z97msns0sw0cqhbld1b2"))))
+ "0a9livib328z5j3kfndxys2193dvfs4hh38krx0idg0k26xp7cfl"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -3799,7 +3799,7 @@ iTunes-style metadata.")
(define-public livemedia-utils
(package
(name "livemedia-utils")
- (version "2020.11.05")
+ (version "2020.11.19")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3807,7 +3807,7 @@ iTunes-style metadata.")
version ".tar.gz"))
(sha256
(base32
- "1dx5imjil5yiya5dqlvbqkvzgic5pybsfilx5jz1cpi1znkzpgc9"))))
+ "16w6yxdbmjdhvffnrb752dn4llf3l0wb00dgdkyia0vqsv2qqyn7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 236bb97cbe..cda1e144ec 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -70,7 +70,7 @@
(define-public vim
(package
(name "vim")
- (version "8.2.1980")
+ (version "8.2.2017")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -79,7 +79,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1l1bb4lhlivgvj4jaxkibdkcg6rh1gk80d6ni41kphyrir7xahja"))))
+ "0ad0c4wv8zf28wns06k82c19rs63ilsphnglajhgw5j2a1aqplyn"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -110,7 +110,7 @@
;; Make sure the TERM environment variable is set for the tests
(setenv "TERM" "xterm")
#t))
- (add-before 'check 'skip-failing-tests
+ (add-before 'check 'skip-or-fix-failing-tests
(lambda _
;; This test assumes that PID 1 is run as root and that the user
;; running the test suite does not have permission to kill(1, 0)
@@ -121,16 +121,36 @@
(substitute* "src/testdir/test_swap.vim"
(("if !IsRoot\\(\\)") "if 0"))
- ;; These tests check how the terminal looks after executing some
- ;; actions. The path of the bash binary is shown, which results in
- ;; a difference being detected. Patching the expected result is
- ;; non-trivial due to the special format used, so skip the test.
- (substitute* "src/testdir/test_terminal.vim"
- ((".*Test_terminal_postponed_scrollback.*" line)
- (string-append line "return\n")))
+ ;; These tests compares output against a golden ‘…/|b|i|n|/|s|h…’
+ ;; literal. We need to match that and substitute a similarly
+ ;; ‘spliced’ path to ‘sh’ in the store, truncated to the last
+ ;; 44 (spliced: 88) or so characters.
+ ;; Two of the tests we simply skip instead of patching the screen dump.
(substitute* "src/testdir/test_popupwin.vim"
- ((".*Test_popup_drag_termwin.*" line)
- (string-append line "return\n")))
+ ((".*Test_popupwin_term_0[1|2].*") ""))
+ ;; We replace the external program call (!) with a scroll-back (<)
+ ;; symbol and blindly fix some other differences based on error output.
+ (let ((splice (lambda (s separator)
+ (string-join (map string (string->list s))
+ separator))))
+ (substitute* "src/testdir/dumps/Test_terminal_from_cmd.dump"
+ (((splice "/bin/sh" "\\|"))
+ (splice (string-take-right (which "sh") 44) "|"))
+ (("^\\|!") "|<")
+ (("@37") ""))
+ (substitute* '("src/testdir/dumps/Test_terminal_scrollback_1.dump"
+ "src/testdir/dumps/Test_terminal_scrollback_2.dump")
+ (((splice "/bin/sh" "\\|"))
+ (splice (string-take-right (which "sh") 61) "|"))
+ (("^\\|!") "|<")
+ ((" @55") " @1"))
+ (substitute* '("src/testdir/dumps/Test_terminal_scrollback_3.dump"
+ "src/testdir/dumps/Test_popupwin_term_03.dump"
+ "src/testdir/dumps/Test_popupwin_term_04.dump")
+ (((splice "/bin/sh" "\\|"))
+ (splice (string-take-right (which "sh") 62) "|"))
+ (("^\\|!") "|<")
+ (("\\]\\| @56") "]| @1")))
#t)))))
(inputs
`(("gawk" ,gawk)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 40e1b94230..f1c4143a59 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1424,7 +1424,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.8.7")
+ (version "0.8.11")
(source
(origin
(method git-fetch)
@@ -1434,7 +1434,7 @@ used to validate and fix HTML data.")
(file-name (git-file-name name version))
(sha256
(base32
- "14x95dmh4jrfp93p7ln0cv917qxll04sqzlpf9rl6w01fifr2s75"))
+ "18cp68jds8cq58hpcwh85cgvh5vlkjfdcpwqp5h754065j896rr3"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index a21679a4d1..02e8093ddf 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -787,6 +787,7 @@ on the screen.")
"/tmp/final.jpg")
(copy-file "/tmp/final.jpg" image))
'(;; "backgrounds/xfce-blue.jpg"
+ "backgrounds/xfce-stripes.png"
"backgrounds/xfce-teal.jpg"))
#t)))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index ef0ae25e13..1db3c2ead1 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -84,7 +85,7 @@
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/hughsie/libxmlb.git")
+ (url "https://github.com/hughsie/libxmlb")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -218,7 +219,7 @@ project (but it is usable outside of the Gnome platform).")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/libxmlplusplus/libxmlplusplus.git")
+ (url "https://github.com/libxmlplusplus/libxmlplusplus")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -278,7 +279,7 @@ It uses libxml2 to access the XML files.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/libxmlplusplus/libxmlplusplus.git")
+ (url "https://github.com/libxmlplusplus/libxmlplusplus")
(commit version)))
(file-name (git-file-name name version))
(sha256
@@ -1260,7 +1261,15 @@ C++ programming language.")
(substitute* "Makefile"
(("^examples/schema1\\\\") "\\")
(("^examples/valid1\\\\") "\\"))
- #t)))))
+ #t))
+ (add-after 'install 'symlink-xmlstarlet
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Other distros usually either rename or symlink the `xml' binary
+ ;; as `xmlstarlet', let's do it as well for compatibility.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (symlink "xml" (string-append bin "/xmlstarlet"))
+ #t))))))
(inputs
`(("libxslt" ,libxslt)
("libxml2" ,libxml2)))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 224ce981b9..4b8bd5b8f7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6270,16 +6270,15 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
- (version "4.0.4")
+ (version "4.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.xpra.org/src/xpra-"
version ".tar.xz"))
(sha256
- (base32 "10alqdfmgml9ixdi1nyd9xlw8a5q0j8m2sv4g9p83pd6z1a0rpv2"))
- (patches (search-patches "xpra-4.0.1-systemd-run.patch"
- "xpra-4.0.4-norequests.patch"))))
+ (base32 "11ml66z8vbc0fa567kkmp2j20l5l60aflnkrz5ay8arw3w92nmnz"))
+ (patches (search-patches "xpra-4.0.1-systemd-run.patch"))))
(build-system python-build-system)
;; see also http://xpra.org/trac/wiki/Dependencies
(inputs `(
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 065e89d312..029df5ac16 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -62,7 +62,8 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
- #:re-export (user-processes-service-type) ;backwards compatibility
+ #:re-export (user-processes-service-type ;backwards compatibility
+ %default-substitute-urls)
#:export (fstab-service-type
root-file-system-service
file-system-service-type
diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm
index 7d2defacaa..e8957c6859 100644
--- a/gnu/services/cups.scm
+++ b/gnu/services/cups.scm
@@ -482,7 +482,8 @@ programs.")
(package cups)
"The CUPS package.")
(extensions
- (package-list (list cups-filters escpr hplip-minimal foomatic-filters))
+ (package-list (list cups-filters epson-inkjet-printer-escpr
+ foomatic-filters hplip-minimal splix))
"Drivers and other extensions to the CUPS package.")
(files-configuration
(files-configuration (files-configuration))
diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
index 59f8b16985..694ad736dc 100644
--- a/gnu/services/sddm.scm
+++ b/gnu/services/sddm.scm
@@ -169,7 +169,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
(list (shepherd-service
(documentation "SDDM display manager.")
- (requirement '(user-processes))
+ (requirement '(user-processes elogind))
(provision '(xorg-server display-manager))
(start #~(make-forkexec-constructor #$sddm-command))
(stop #~(make-kill-destructor)))))
diff --git a/gnu/system/images/pinebook-pro.scm b/gnu/system/images/pinebook-pro.scm
new file mode 100644
index 0000000000..b038e262cb
--- /dev/null
+++ b/gnu/system/images/pinebook-pro.scm
@@ -0,0 +1,66 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images pinebook-pro)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader u-boot)
+ #:use-module (gnu image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system image)
+ #:use-module (srfi srfi-26)
+ #:export (pinebook-pro-barebones-os
+ pinebook-pro-image-type
+ pinebook-pro-barebones-raw-image))
+
+(define pinebook-pro-barebones-os
+ (operating-system
+ (host-name "viso")
+ (timezone "Europe/Paris")
+ (locale "en_US.utf8")
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-pinebook-pro-rk3399-bootloader)
+ (target "/dev/vda")))
+ (initrd-modules '())
+ (kernel linux-libre-arm64-generic)
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (services (cons (service agetty-service-type
+ (agetty-configuration
+ (extra-options '("-L")) ; no carrier detect
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0")))
+ %base-services))))
+
+(define pinebook-pro-image-type
+ (image-type
+ (name 'pinebook-pro-raw)
+ (constructor (cut image-with-os arm64-disk-image <>))))
+
+(define pinebook-pro-barebones-raw-image
+ (image
+ (inherit
+ (os->image pinebook-pro-barebones-os #:type pinebook-pro-image-type))
+ (name 'pinebook-pro-barebones-raw-image)))
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 73493af551..c7beffc6e4 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -123,6 +123,13 @@ directory = '" port)
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
(setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
(setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+ (when (assoc-ref inputs "openssl")
+ (setenv "OPENSSL_DIR" (assoc-ref inputs "openssl")))
+ (when (assoc-ref inputs "gettext")
+ (setenv "GETTEXT_SYSTEM" (assoc-ref inputs "gettext")))
+ (when (assoc-ref inputs "clang")
+ (setenv "LIBCLANG_PATH"
+ (string-append (assoc-ref inputs "clang") "/lib")))
;; We don't use the Cargo.lock file to determine the package versions we use
;; during building, and in any case if one is not present it is created
diff --git a/guix/cpio.scm b/guix/cpio.scm
index e4692e2e9c..c9932f5bf9 100644
--- a/guix/cpio.scm
+++ b/guix/cpio.scm
@@ -27,6 +27,7 @@
make-cpio-header
file->cpio-header
file->cpio-header*
+ special-file->cpio-header*
write-cpio-header
read-cpio-header
@@ -132,9 +133,10 @@
(%make-cpio-header MAGIC
inode mode uid gid
nlink mtime
- (if (= C_ISDIR (logand mode C_FMT))
- 0
- size)
+ (if (or (= C_ISLNK (logand mode C_FMT))
+ (= C_ISREG (logand mode C_FMT)))
+ size
+ 0)
major minor rmajor rminor
(+ name-size 1) ;include trailing zero
0))) ;checksum
@@ -146,6 +148,8 @@ denotes, similar to 'stat:type'."
(cond ((= C_ISREG fmt) 'regular)
((= C_ISDIR fmt) 'directory)
((= C_ISLNK fmt) 'symlink)
+ ((= C_ISBLK fmt) 'block-special)
+ ((= C_ISCHR fmt) 'char-special)
(else
(error "unsupported file type" mode)))))
@@ -187,6 +191,25 @@ produced in a deterministic fashion."
#:size (stat:size st)
#:name-size (string-length file-name))))
+(define* (special-file->cpio-header* file
+ device-type
+ device-major
+ device-minor
+ permission-bits
+ #:optional (file-name file))
+ "Create a character or block device header.
+
+DEVICE-TYPE is either 'char-special or 'block-special.
+
+The number of hard links is assumed to be 1."
+ (make-cpio-header #:mode (logior (match device-type
+ ('block-special C_ISBLK)
+ ('char-special C_ISCHR))
+ permission-bits)
+ #:nlink 1
+ #:rdev (device-number device-major device-minor)
+ #:name-size (string-length file-name)))
+
(define %trailer
"TRAILER!!!")
@@ -233,6 +256,10 @@ produces with the '-H newc' option."
(put-string port target)))
((directory)
#t)
+ ((block-special)
+ #t)
+ ((char-special)
+ #t)
(else
(error "file type not supported")))
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 35c67cad8d..6ca4f65cb0 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -40,7 +40,8 @@
#:use-module (guix upstream)
#:use-module (guix packages)
#:use-module ((guix utils) #:select (call-with-temporary-output-file))
- #:export (hackage->guix-package
+ #:export (%hackage-url
+ hackage->guix-package
hackage-recursive-import
%hackage-updater
@@ -92,20 +93,23 @@
(define package-name-prefix "ghc-")
+(define %hackage-url
+ (make-parameter "https://hackage.haskell.org"))
+
(define (hackage-source-url name version)
"Given a Hackage package NAME and VERSION, return a url to the source
tarball."
- (string-append "https://hackage.haskell.org/package/" name
- "/" name "-" version ".tar.gz"))
+ (string-append (%hackage-url) "/package/"
+ name "/" name "-" version ".tar.gz"))
(define* (hackage-cabal-url name #:optional version)
"Given a Hackage package NAME and VERSION, return a url to the corresponding
.cabal file on Hackage. If VERSION is #f or missing, the url for the latest
version is returned."
(if version
- (string-append "https://hackage.haskell.org/package/"
+ (string-append (%hackage-url) "/package/"
name "-" version "/" name ".cabal")
- (string-append "https://hackage.haskell.org/package/"
+ (string-append (%hackage-url) "/package/"
name "/" name ".cabal")))
(define (hackage-name->package-name name)
diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm
index 93cf214127..77cc6350cb 100644
--- a/guix/import/stackage.scm
+++ b/guix/import/stackage.scm
@@ -30,7 +30,8 @@
#:use-module (guix memoization)
#:use-module (guix packages)
#:use-module (guix upstream)
- #:export (stackage->guix-package
+ #:export (%stackage-url
+ stackage->guix-package
stackage-recursive-import
%stackage-updater))
@@ -39,7 +40,8 @@
;;; Stackage info fetcher and access functions
;;;
-(define %stackage-url "https://www.stackage.org")
+(define %stackage-url
+ (make-parameter "https://www.stackage.org"))
;; Latest LTS version compatible with GHC 8.6.5.
(define %default-lts-version "14.27")
@@ -55,7 +57,7 @@
;; "Retrieve the information about the LTS Stackage release VERSION."
(memoize
(lambda* (#:optional (version ""))
- (let* ((url (string-append %stackage-url
+ (let* ((url (string-append (%stackage-url)
"/lts-" (if (string-null? version)
%default-lts-version
version)))
diff --git a/guix/lint.scm b/guix/lint.scm
index 91dbc806dc..be6bb4eb01 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,8 @@
#:use-module (guix http-client)
#:use-module (guix packages)
#:use-module (guix i18n)
+ #:use-module ((guix gexp)
+ #:select (local-file? local-file-absolute-file-name))
#:use-module (guix licenses)
#:use-module (guix records)
#:use-module (guix grafts)
@@ -50,6 +53,7 @@
#:use-module ((guix swh) #:hide (origin?))
#:autoload (guix git-download) (git-reference?
git-reference-url git-reference-commit)
+ #:use-module (guix import stackage)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 format)
@@ -73,6 +77,7 @@
check-inputs-should-be-native
check-inputs-should-not-be-an-input-at-all
check-patch-file-names
+ check-patch-headers
check-synopsis-style
check-derivation
check-home-page
@@ -87,6 +92,7 @@
check-formatting
check-archival
check-profile-collisions
+ check-haskell-stackage
lint-warning
lint-warning?
@@ -712,6 +718,54 @@ patch could not be found."
(_ #f))
patches)))))
+(define (check-patch-headers package)
+ "Check that PACKAGE's patches start with a comment. Return a list of
+warnings."
+ (define (blank? str)
+ (string-every char-set:blank str))
+
+ (define (patch-header-warnings patch)
+ (call-with-input-file patch
+ (lambda (port)
+ ;; Read from PORT until a non-blank line is found or EOF is reached.
+ (let loop ()
+ (let ((line (read-line port)))
+ (cond ((eof-object? line)
+ (list (make-warning package
+ (G_ "~a: empty patch")
+ (list (basename patch))
+ #:field 'source)))
+ ((blank? line)
+ (loop))
+ ((or (string-prefix? "--- " line)
+ (string-prefix? "+++ " line))
+ (list (make-warning package
+ (G_ "~a: patch lacks comment and \
+upstream status")
+ (list (basename patch))
+ #:field 'source)))
+ (else
+ '())))))))
+
+ (guard (c ((formatted-message? c) ;raised by 'search-patch'
+ (list (%make-warning package
+ (formatted-message-string c)
+ (formatted-message-arguments c)
+ #:field 'source))))
+ (let ((patches (if (origin? (package-source package))
+ (origin-patches (package-source package))
+ '())))
+ (append-map (lambda (patch)
+ ;; Dismiss PATCH if it's an origin or similar.
+ (cond ((string? patch)
+ (patch-header-warnings patch))
+ ((local-file? patch)
+ (patch-header-warnings
+ (local-file-absolute-file-name patch)))
+ (else
+ '())))
+ patches))))
+
(define (escape-quotes str)
"Replace any quote character in STR by an escaped quote character."
(list->string
@@ -1234,6 +1288,25 @@ Heritage")
'()
(apply throw key args))))))))
+(define (check-haskell-stackage package)
+ "Check whether PACKAGE is a Haskell package ahead of the current
+Stackage LTS version."
+ (match (with-networking-fail-safe
+ (format #f (G_ "while retrieving upstream info for '~a'")
+ (package-name package))
+ #f
+ (package-latest-release package (list %stackage-updater)))
+ ((? upstream-source? source)
+ (if (version>? (package-version package)
+ (upstream-source-version source))
+ (list
+ (make-warning package
+ (G_ "ahead of Stackage LTS version ~a")
+ (list (upstream-source-version source))
+ #:field 'version))
+ '()))
+ (#f '())))
+
;;;
;;; Source code formatting.
@@ -1418,6 +1491,10 @@ or a list thereof")
(description "Validate file names and availability of patches")
(check check-patch-file-names))
(lint-checker
+ (name 'patch-headers)
+ (description "Validate patch headers")
+ (check check-patch-headers))
+ (lint-checker
(name 'formatting)
(description "Look for formatting issues in the source")
(check check-formatting))))
@@ -1456,7 +1533,11 @@ or a list thereof")
(lint-checker
(name 'archival)
(description "Ensure source code archival on Software Heritage")
- (check check-archival))))
+ (check check-archival))
+ (lint-checker
+ (name 'haskell-stackage)
+ (description "Ensure Haskell packages use Stackage LTS versions")
+ (check check-haskell-stackage))))
(define %all-checkers
(append %local-checkers
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index cc020632af..a959cb827d 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -182,8 +182,6 @@ options handled by 'set-build-options-from-command-line', and listed in
(display (G_ "
-M, --max-jobs=N allow at most N build jobs"))
(display (G_ "
- --help-transform list package transformation options not shown here"))
- (display (G_ "
--debug=LEVEL produce debugging output at LEVEL")))
(define (set-build-options-from-command-line store opts)
@@ -319,14 +317,7 @@ use '--no-offload' instead~%")))
(if c
(apply values (alist-cons 'max-jobs c result) rest)
(leave (G_ "not a number: '~a' option argument: ~a~%")
- name arg)))))
- (option '("help-transform") #f #f
- (lambda _
- (format #t
- (G_ "Available package transformation options:~%"))
- (show-transformation-options-help)
- (newline)
- (exit 0)))))
+ name arg)))))))
;;;
@@ -383,6 +374,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(newline)
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 2328df98b8..e435bf0ce4 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -180,6 +180,8 @@ COMMAND or an interactive shell in that environment.\n"))
(newline)
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm
index 6874904deb..ddfc6ba497 100644
--- a/guix/scripts/graph.scm
+++ b/guix/scripts/graph.scm
@@ -35,7 +35,8 @@
#:use-module ((guix diagnostics)
#:select (location-file formatted-message))
#:use-module ((guix transformations)
- #:select (options->transformation
+ #:select (show-transformation-options-help
+ options->transformation
%transformation-options))
#:use-module ((guix scripts build)
#:select (%standard-build-options))
@@ -546,6 +547,8 @@ Emit a representation of the dependency graph of PACKAGE...\n"))
(display (G_ "
-L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/scripts/install.scm b/guix/scripts/install.scm
index 82f5875dd1..63e625f266 100644
--- a/guix/scripts/install.scm
+++ b/guix/scripts/install.scm
@@ -39,6 +39,8 @@ This is an alias for 'guix package -i'.\n"))
(newline)
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index 18cd167537..c72dc3caad 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019, 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,11 +48,15 @@
;; provided MESSAGE.
(for-each
(lambda (lint-warning)
- (let ((package (lint-warning-package lint-warning))
- (loc (lint-warning-location lint-warning)))
- (info loc (G_ "~a@~a: ~a~%")
- (package-name package) (package-version package)
- (lint-warning-message lint-warning))))
+ (let* ((package (lint-warning-package lint-warning))
+ (name (package-name package))
+ (version (package-version package))
+ (loc (lint-warning-location lint-warning))
+ (message (lint-warning-message lint-warning)))
+ (parameterize
+ ((guix-warning-port (current-output-port)))
+ (info loc (G_ "~a@~a: ~a~%")
+ name version message))))
warnings))
(define* (run-checkers package checkers #:key store)
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 0b29997200..ba9a6dc1b2 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -1067,6 +1067,8 @@ last resort for relocation."
Create a bundle of PACKAGE.\n"))
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-f, --format=FORMAT build a pack in the given FORMAT"))
(display (G_ "
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index eb2e67a0de..6faf2adb7a 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -398,6 +398,8 @@ Install, remove, or upgrade packages in a single transaction.\n"))
(newline)
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm
index f1a9970a7f..2a2185e2b9 100644
--- a/guix/scripts/publish.scm
+++ b/guix/scripts/publish.scm
@@ -63,10 +63,14 @@
#:use-module ((guix build utils)
#:select (dump-port mkdir-p find-files))
#:use-module ((guix build syscalls) #:select (set-thread-name))
- #:export (%public-key
+ #:export (%default-gzip-compression
+
+ %public-key
%private-key
signed-string
+ open-server-socket
+ run-publish-server
guix-publish))
(define (show-help)
diff --git a/guix/scripts/upgrade.scm b/guix/scripts/upgrade.scm
index 1ee8937acf..dcbcb2ab09 100644
--- a/guix/scripts/upgrade.scm
+++ b/guix/scripts/upgrade.scm
@@ -42,6 +42,8 @@ This is an alias for 'guix package -u'.\n"))
(newline)
(show-build-options-help)
(newline)
+ (show-transformation-options-help)
+ (newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
diff --git a/guix/store.scm b/guix/store.scm
index d859ea33ed..11e2dae579 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -113,6 +113,7 @@
build
query-failed-paths
clear-failed-paths
+ ensure-path
add-temp-root
add-indirect-root
add-permanent-root
@@ -1397,6 +1398,11 @@ When a handler is installed with 'with-build-handler', it is called any time
(message "unsupported build mode")
(status 1))))))))))))
+(define-operation (ensure-path (store-path path))
+ "Make PATH a temporary root for the duration of the current session.
+Return #t."
+ boolean)
+
(define-operation (add-temp-root (store-path path))
"Make PATH a temporary root for the duration of the current session.
Return #t."
diff --git a/guix/transformations.scm b/guix/transformations.scm
index 30142dd059..d49041cf59 100644
--- a/guix/transformations.scm
+++ b/guix/transformations.scm
@@ -508,9 +508,17 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field."
(option '("with-debug-info") #t #f
(parser 'with-debug-info))
(option '("without-tests") #t #f
- (parser 'without-tests)))))
+ (parser 'without-tests))
-(define (show-transformation-options-help)
+ (option '("help-transform") #f #f
+ (lambda _
+ (format #t
+ (G_ "Available package transformation options:~%"))
+ (show-transformation-options-help/detailed)
+ (newline)
+ (exit 0))))))
+
+(define (show-transformation-options-help/detailed)
(display (G_ "
--with-source=[PACKAGE=]SOURCE
use SOURCE when building the corresponding package"))
@@ -539,6 +547,10 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field."
--without-tests=PACKAGE
build PACKAGE without running its tests")))
+(define (show-transformation-options-help)
+ "Show basic help for package transformation options."
+ (display (G_ "
+ --help-transform list package transformation options not shown here")))
(define (options->transformation opts)
"Return a procedure that, when passed an object to build (package,
diff --git a/po/doc/guix-manual.fr.po b/po/doc/guix-manual.fr.po
index f727b6b5b3..025f8084ff 100644
--- a/po/doc/guix-manual.fr.po
+++ b/po/doc/guix-manual.fr.po
@@ -41,7 +41,7 @@ msgstr ""
"Project-Id-Version: guix-manual 1.2.0-pre3\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2020-11-05 17:27+0100\n"
-"PO-Revision-Date: 2020-11-09 00:09+0100\n"
+"PO-Revision-Date: 2020-11-20 14:37+0100\n"
"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -658,7 +658,7 @@ msgstr "La distribution GNU est jeune et vos paquets préférés peuvent manquer
#. type: Plain text
#: doc/contributing.texi:339
msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information."
-msgstr "Les paquets de logiciels libres sont habituellement distribués sous forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} contenant tous les fichiers sources. Ajouter un paquet à la distribution signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit comment construire le paquet, avec une liste d'autres paquets requis pour le construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme une description et une licence."
+msgstr "Les paquets de logiciels libres sont habituellement distribués sous forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} contenant tous les fichiers sources. Ajouter un paquet à la distribution signifie en substance deux choses : ajouter une @dfn{recette} qui décrit comment construire le paquet, avec une liste d'autres paquets requis pour le construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme une description et une licence."
#. type: Plain text
#: doc/contributing.texi:348
@@ -10698,7 +10698,7 @@ msgstr "Le format nar est comparable dans l'esprit au format \"tar\", mais avec
#. type: Plain text
#: doc/guix.texi:4747
msgid "That nar bundle format is essentially the concatenation of zero or more nars along with metadata for each store item it contains: its file name, references, corresponding derivation, and a digital signature."
-msgstr "Ce format nar bundle est essentiellement la concaténation de zéro ou plus de nar avec des métadonnées pour chaque élément du dépôt qu'il contient : son nom de fichier, ses références, la dérivation correspondante et une signature numérique."
+msgstr "Ce format de lot nar est surtout la concaténation de zéro, un ou plusieurs nar avec des métadonnées pour chaque élément du dépôt qu'il contient : son nom de fichier, ses références, la dérivation correspondante et une signature numérique."
#. type: Plain text
#: doc/guix.texi:4753
@@ -11226,12 +11226,9 @@ msgstr ""
" (version 0)\n"
" (dependencies\n"
" (channel\n"
-" (name une-collection)\n"
-" (url \"https://exemple.org/premiere-collection.git\"))\n"
-" (channel\n"
-" (name une-autre-collection)\n"
-" (url \"https://exemple.org/deuxieme-collection.git\")\n"
-" (branch \"testing\"))))\n"
+" (name 'some-collection)\n"
+" (url \"https://example.org/first-collection.git\")\n"
+"\n"
#. type: lisp
#: doc/guix.texi:5151
@@ -11249,7 +11246,7 @@ msgid ""
" (url \"https://example.org/second-collection.git\")\n"
" (branch \"testing\"))))\n"
msgstr ""
-" ;; La partie \"introduction\" ci-dessous est facultative : vous la\n"
+" ;; La partie « introduction » ci-dessous est facultative : vous la\n"
" ;; fournissez pour les dépendances qui peuvent être authentifiées.\n"
" (introduction\n"
" (channel-introduction\n"
@@ -12361,7 +12358,7 @@ msgstr "Produire des @dfn{binaires repositionnables} — c.-à-d.@: des binaires
#. type: table
#: doc/guix.texi:5890
msgid "When this option is passed once, the resulting binaries require support for @dfn{user namespaces} in the kernel Linux; when passed @emph{twice}@footnote{Here's a trick to memorize it: @code{-RR}, which adds PRoot support, can be thought of as the abbreviation of ``Really Relocatable''. Neat, isn't it?}, relocatable binaries fall to back to other techniques if user namespaces are unavailable, and essentially work anywhere---see below for the implications."
-msgstr "Lorsque vous passez cette option une fois, les binaires qui en résultent demandent le support des @dfn{espaces de nom utilisateurs} dans le noyau Linux ; lorsque vous la passez @emph{deux fois}@footnote{Il y a une astuce pour s'en souvenir : on peut envisager @code{-RR}, qui ajoute le support PRoot, comme étant l'abréviation de « Réellement Repositionnable ». Pas mal, hein ?}, les binaires repositionnables utilisent PRoot si les espaces de noms ne sont pas utilisables, et ça fonctionne partout — voir plus bas pour comprendre les implications."
+msgstr "Lorsque vous passez cette option une fois, les binaires qui en résultent demandent le support des @dfn{espaces de nom utilisateurs} dans le noyau Linux ; lorsque vous la passez @emph{deux fois}@footnote{Il y a une astuce pour s'en souvenir : on peut envisager @code{-RR}, qui ajoute le support PRoot, comme étant l'abréviation de « Réellement Repositionnable ». Pas mal, hein ?}, les binaires repositionnables utilisent PRoot si les espaces de noms ne sont pas utilisables, et ça fonctionne à peu près partout — voir plus bas pour comprendre les implications."
#. type: table
#: doc/guix.texi:5892
@@ -12875,7 +12872,7 @@ msgstr "En ajoutant le répertoire contenant vos modules de paquets au chemin de
#. type: enumerate
#: doc/guix.texi:6264
msgid "By defining a @dfn{channel} and configuring @command{guix pull} so that it pulls from it. A channel is essentially a Git repository containing package modules. @xref{Channels}, for more information on how to define and use channels."
-msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} pour qu'il l'utilise. Un canal est essentiellement un dépôt Git contenant des modules de paquets. @xref{Channels}, pour plus d'informations sur comment définir et utiliser des canaux."
+msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} pour qu'il l'utilise. Un canal est en substance un dépôt Git contenant des modules de paquets. @xref{Channels}, pour plus d'informations sur comment définir et utiliser des canaux."
#. type: Plain text
#: doc/guix.texi:6267
@@ -12968,7 +12965,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:6325
msgid "Without being a Scheme expert, the reader may have guessed the meaning of the various fields here. This expression binds the variable @code{hello} to a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). This package object can be inspected using procedures found in the @code{(guix packages)} module; for instance, @code{(package-name hello)} returns---surprise!---@code{\"hello\"}."
-msgstr "Sans être un expert Scheme, le lecteur peut comprendre la signification des différents champs présents. Cette expression lie la variable @code{hello} à un objet @code{<package>}, qui est essentiellement un enregistrement (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). On peut inspecter cet objet de paquet avec les procédures qui se trouvent dans le module @code{(guix packages)} ; par exemple, @code{(package-name hello)} renvoie — oh surprise ! — @code{\"hello\"}."
+msgstr "Sans être un expert Scheme, le lecteur peut comprendre la signification des différents champs présents. Cette expression lie la variable @code{hello} à un objet @code{<package>}, qui est en substance un enregistrement (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). On peut inspecter cet objet de paquet avec les procédures qui se trouvent dans le module @code{(guix packages)} ; par exemple, @code{(package-name hello)} renvoie — oh surprise ! — @code{\"hello\"}."
#. type: Plain text
#: doc/guix.texi:6329
@@ -13959,7 +13956,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:6888
msgid "The example above corresponds to what the @option{--with-source} package transformation option does. Essentially @code{hello-2.2} preserves all the fields of @code{hello}, except @code{version} and @code{source}, which it overrides. Note that the original @code{hello} variable is still there, in the @code{(gnu packages base)} module, unchanged. When you define a custom package like this, you are really @emph{adding} a new package definition; the original one remains available."
-msgstr "L'exemple ci-dessus correspond à ce que l'option de transformation des paquets @option{--with-source} fait. Essentiellement, @code{hello-2.2} préserve tous les champs de @code{hello}, sauf @code{version} et @code{source}, qu'il remplace. Remarquez que la variable @code{hello} originale est toujours là, dans le module @code{(gnu packages base)}, et n'est pas modifiée. Lorsque vous définissez un paquet personnalisé comme ceci, vous @emph{ajoutez} en fait une nouvelle définition de paquet ; la version originale est toujours disponible."
+msgstr "L'exemple ci-dessus correspond à ce que l'option de transformation des paquets @option{--with-source} fait. En substance, @code{hello-2.2} préserve tous les champs de @code{hello}, sauf @code{version} et @code{source}, qu'il remplace. Remarquez que la variable @code{hello} originale est toujours là, dans le module @code{(gnu packages base)}, et n'est pas modifiée. Lorsque vous définissez un paquet personnalisé comme ceci, vous @emph{ajoutez} en fait une nouvelle définition de paquet ; la version originale est toujours disponible."
#. type: Plain text
#: doc/guix.texi:6894
@@ -14997,7 +14994,7 @@ msgstr "{Variable Scheme} julia-build-system"
#. type: defvr
#: doc/guix.texi:7550
msgid "This variable is exported by @code{(guix build-system julia)}. It implements the build procedure used by @uref{https://julialang.org/, julia} packages, which essentially is similar to running @samp{julia -e 'using Pkg; Pkg.add(package)'} in an environment where @env{JULIA_LOAD_PATH} contains the paths to all Julia package inputs. Tests are run with @code{Pkg.test}."
-msgstr "Cette variable est exportée par @code{(guix build-system julia)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://julialang.org/, julia}, qui est essentiellement similaire à l'exécution de @samp{julia -e 'using Pkg ; Pkg.add(package)'} dans un environnement où @env{JULIA_LOAD_PATH} contient les chemins de toutes les entrées des paquets Julia. Les tests sont effectués avec @code{Pkg.test}."
+msgstr "Cette variable est exportée par @code{(guix build-system julia)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://julialang.org/, julia}, qui est globalement similaire à l'exécution de @samp{julia -e 'using Pkg ; Pkg.add(package)'} dans un environnement où @env{JULIA_LOAD_PATH} contient les chemins de toutes les entrées des paquets Julia. Les tests sont effectués avec @code{Pkg.test}."
#. type: defvr
#: doc/guix.texi:7553
@@ -15221,7 +15218,7 @@ msgstr "{Variable Scheme} r-build-system"
#. type: defvr
#: doc/guix.texi:7753
msgid "This variable is exported by @code{(guix build-system r)}. It implements the build procedure used by @uref{https://r-project.org, R} packages, which essentially is little more than running @samp{R CMD INSTALL --library=/gnu/store/@dots{}} in an environment where @env{R_LIBS_SITE} contains the paths to all R package inputs. Tests are run after installation using the R function @code{tools::testInstalledPackage}."
-msgstr "Cette variable est exportée par @code{(guix build-system r)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://r-project.org, R}, qui consiste essentiellement à exécuter @samp{R CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement où @env{R_LIBS_SITE} contient les chemins de toutes les entrées des paquets R. Les tests sont exécutés après l'installation en utilisant la fonction R @code{tools::testInstalledPackage}."
+msgstr "Cette variable est exportée par @code{(guix build-system r)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://r-project.org, R}, qui consiste en substance à exécuter @samp{R CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement où @env{R_LIBS_SITE} contient les chemins de toutes les entrées des paquets R. Les tests sont exécutés après l'installation en utilisant la fonction R @code{tools::testInstalledPackage}."
#. type: defvr
#: doc/guix.texi:7755
@@ -18835,7 +18832,7 @@ msgstr "Produire une sortie de débogage qui provient du démon de construction.
#. type: Plain text
#: doc/guix.texi:10046
msgid "Behind the scenes, @command{guix build} is essentially an interface to the @code{package-derivation} procedure of the @code{(guix packages)} module, and to the @code{build-derivations} procedure of the @code{(guix derivations)} module."
-msgstr "Sous le capot, @command{guix build} est surtout un interface à la procédure @code{package-derivation} du module @code{(guix packages)}, et à la procédure @code{build-derivations} du module @code{(guix derivations)}."
+msgstr "Sous le capot, @command{guix build} est surtout une interface à la procédure @code{package-derivation} du module @code{(guix packages)}, et à la procédure @code{build-derivations} du module @code{(guix derivations)}."
#. type: Plain text
#: doc/guix.texi:10050
@@ -20766,7 +20763,7 @@ msgstr "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
#. type: table
#: doc/guix.texi:11317
msgid "This command lists the dependents of the ``final'' libc (essentially all the packages)."
-msgstr "Cette commande liste les dépendances de la libc « finale » (essentiellement tous les paquets)."
+msgstr "Cette commande liste les dépendances de la libc « finale » (presque tous les paquets)."
#. type: item
#: doc/guix.texi:11318
@@ -23567,17 +23564,19 @@ msgid ""
"\n"
msgstr ""
"(define %my-services\n"
-" ;; Ma propre liste de services.\n"
+" ;; ma propre liste de services.\n"
" (modify-services %base-services\n"
" (guix-service-type config =>\n"
" (guix-configuration\n"
" (inherit config)\n"
-" (use-substitutes? #f)\n"
-" (extra-options '(\"--gc-keep-derivations\"))))\n"
+" ;; Récupérer les substituts depuis example.org.\n"
+" (substitute-urls\n"
+" (list \"https://example.org/guix\"\n"
+" \"https://ci.guix.gnu.org\"))))\n"
" (mingetty-service-type config =>\n"
" (mingetty-configuration\n"
-" (inherit config)))))\n"
-" ;; Automatially log in as \"guest\".\n"
+" (inherit config)\n"
+" ;; Connexion automatique en tant que « guest ».\n"
" (auto-login \"guest\")))))\n"
"\n"
@@ -25029,7 +25028,7 @@ msgstr ""
" \"audio\" ;carte son\n"
" \"video\" ;périphériques réseaux comme les webcams\n"
" \"cdrom\")) ;le bon vieux CD-ROM\n"
-" (comment \"Bob's sister\")\n"
+" (comment \"Bob's sister\"))\n"
#. type: Plain text
#: doc/guix.texi:13865
diff --git a/tests/lint.scm b/tests/lint.scm
index 95abd71378..9b230814a5 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,10 @@
#:use-module (guix lint)
#:use-module (guix ui)
#:use-module (guix swh)
+ #:use-module ((guix gexp) #:select (local-file))
+ #:use-module ((guix utils) #:select (call-with-temporary-directory))
+ #:use-module ((guix import hackage) #:select (%hackage-url))
+ #:use-module ((guix import stackage) #:select (%stackage-url))
#:use-module (gnu packages)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
@@ -344,6 +349,60 @@
(list (search-patch "this-patch-does-not-exist!"))))))))
(check-patch-file-names pkg))))
+(test-assert "patch headers: no warnings"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (call-with-output-file (string-append directory "/t.patch")
+ (lambda (port)
+ (display "This is a patch.\n\n--- a\n+++ b\n"
+ port)))
+
+ (parameterize ((%patch-path (list directory)))
+ (let ((pkg (dummy-package "x"
+ (source (dummy-origin
+ (patches (search-patches "t.patch")))))))
+ (null? (check-patch-headers pkg)))))))
+
+(test-equal "patch headers: missing comment"
+ "t.patch: patch lacks comment and upstream status"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (call-with-output-file (string-append directory "/t.patch")
+ (lambda (port)
+ (display "\n--- a\n+++ b\n"
+ port)))
+
+ (parameterize ((%patch-path (list directory)))
+ (let ((pkg (dummy-package "x"
+ (source (dummy-origin
+ (patches (search-patches "t.patch")))))))
+ (single-lint-warning-message (check-patch-headers pkg)))))))
+
+(test-equal "patch headers: empty"
+ "t.patch: empty patch"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (call-with-output-file (string-append directory "/t.patch")
+ (const #t))
+
+ (parameterize ((%patch-path '()))
+ (let ((pkg (dummy-package "x"
+ (source (dummy-origin
+ (patches
+ (list (local-file
+ (string-append directory
+ "/t.patch")))))))))
+ (single-lint-warning-message (check-patch-headers pkg)))))))
+
+(test-equal "patch headers: patch not found"
+ "does-not-exist.patch: patch not found\n"
+ (parameterize ((%patch-path '()))
+ (let ((pkg (dummy-package "x"
+ (source (dummy-origin
+ (patches
+ (search-patches "does-not-exist.patch")))))))
+ (single-lint-warning-message (check-patch-headers pkg)))))
+
(test-equal "derivation: invalid arguments"
"failed to create x86_64-linux derivation: (wrong-type-arg \"map\" \"Wrong type argument: ~S\" (invalid-module) ())"
(match (let ((pkg (dummy-package "x"
@@ -1001,6 +1060,35 @@
(string-contains (single-lint-warning-message warnings)
"rate limit reached")))
+(test-skip (if (http-server-can-listen?) 0 1))
+(test-assert "haskell-stackage"
+ (let* ((stackage (string-append "{ \"packages\": [{"
+ " \"name\":\"x\","
+ " \"version\":\"1.0\" }]}"))
+ (packages (map (lambda (version)
+ (dummy-package
+ (string-append "ghc-x")
+ (version version)
+ (source
+ (dummy-origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "x-" version "/x-" version ".tar.gz"))))))
+ '("0.9" "1.0" "2.0")))
+ (warnings (pk (with-http-server `((200 ,stackage) ; memoized
+ (200 "name: x\nversion: 1.0\n")
+ (200 "name: x\nversion: 1.0\n")
+ (200 "name: x\nversion: 1.0\n"))
+ (parameterize ((%hackage-url (%local-url))
+ (%stackage-url (%local-url)))
+ (append-map check-haskell-stackage packages))))))
+ (match warnings
+ (((? lint-warning? warning))
+ (and (string=? (package-version (lint-warning-package warning)) "2.0")
+ (string-contains (lint-warning-message warning)
+ "ahead of Stackage LTS version"))))))
+
(test-end "lint")
;; Local Variables:
diff --git a/tests/store-database.scm b/tests/store-database.scm
index 4d91884250..3b4ef43f6d 100644
--- a/tests/store-database.scm
+++ b/tests/store-database.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +21,8 @@
#:use-module (guix store)
#:use-module (guix store database)
#:use-module ((guix utils) #:select (call-with-temporary-output-file))
+ #:use-module ((guix build utils)
+ #:select (mkdir-p delete-file-recursively))
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-64))
@@ -55,6 +57,28 @@
(list (stat:mtime (lstat file))
(stat:mtime (lstat ref)))))))
+(test-equal "register-path, directory"
+ '(1 1 1)
+ (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f)
+ "-fake-directory")))
+ (when (valid-path? %store file)
+ (delete-paths %store (list file)))
+ (false-if-exception (delete-file-recursively file))
+
+ (let ((drv (string-append file ".drv")))
+ (mkdir-p (string-append file "/a"))
+ (call-with-output-file (string-append file "/a/b")
+ (const #t))
+ (register-path file #:deriver drv)
+
+ (and (valid-path? %store file)
+ (null? (references %store file))
+ (null? (valid-derivers %store file))
+ (null? (referrers %store file))
+ (list (stat:mtime (lstat file))
+ (stat:mtime (lstat (string-append file "/a")))
+ (stat:mtime (lstat (string-append file "/a/b"))))))))
+
(test-equal "new database"
(list 1 2)
(call-with-temporary-output-file