summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi21
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/crates-io.scm200
-rw-r--r--gnu/packages/education.scm113
-rw-r--r--gnu/packages/elf.scm24
-rw-r--r--gnu/packages/emacs-xyz.scm166
-rw-r--r--gnu/packages/ftp.scm4
-rw-r--r--gnu/packages/games.scm6
-rw-r--r--gnu/packages/gnome-xyz.scm34
-rw-r--r--gnu/packages/gnome.scm8
-rw-r--r--gnu/packages/gpodder.scm6
-rw-r--r--gnu/packages/ham-radio.scm51
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/ibus.scm43
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/libusb.scm12
-rw-r--r--gnu/packages/lisp-xyz.scm507
-rw-r--r--gnu/packages/lxqt.scm10
-rw-r--r--gnu/packages/mail.scm7
-rw-r--r--gnu/packages/music.scm20
-rw-r--r--gnu/packages/patches/qemu-CVE-2020-1711.patch69
-rw-r--r--gnu/packages/patches/sbcl-graph-asdf-definitions.patch12
-rw-r--r--gnu/packages/pulseaudio.scm37
-rw-r--r--gnu/packages/python-web.scm79
-rw-r--r--gnu/packages/python-xyz.scm17
-rw-r--r--gnu/packages/samba.scm26
-rw-r--r--gnu/packages/sdr.scm3
-rw-r--r--gnu/packages/stb.scm11
-rw-r--r--gnu/packages/tor.scm6
-rw-r--r--gnu/packages/unicode.scm149
-rw-r--r--gnu/packages/video.scm5
-rw-r--r--gnu/packages/virtualization.scm3
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/web.scm83
-rw-r--r--guix/import/gem.scm147
-rw-r--r--guix/import/pypi.scm34
-rw-r--r--guix/licenses.scm6
-rw-r--r--tests/gem.scm4
-rw-r--r--tests/graph.scm4
39 files changed, 1429 insertions, 512 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index bd9d896c78..b0bb61c9c1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3292,8 +3292,10 @@ $ guix build emacs --dry-run
@end example
@noindent
-This indicates that substitutes from @code{@value{SUBSTITUTE-SERVER}} are usable and
-will be downloaded, when possible, for future builds.
+The text changed from ``The following derivations would be built'' to
+``112.3 MB would be downloaded''. This indicates that substitutes from
+@code{@value{SUBSTITUTE-SERVER}} are usable and will be downloaded, when
+possible, for future builds.
@cindex substitutes, how to disable
The substitute mechanism can be disabled globally by running
@@ -4158,7 +4160,7 @@ say, on another machine, by providing a channel specification in
(channel
(name 'my-personal-packages)
(url "https://example.org/personal-packages.git")
- (branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
+ (commit "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
@end lisp
The @command{guix describe --format=channels} command can even generate this
@@ -5057,12 +5059,21 @@ Alternatively, you can produce a pack in the Docker image format using
the following command:
@example
-guix pack -f docker guile emacs geiser
+guix pack -f docker -S /bin=bin guile guile-readline
@end example
@noindent
The result is a tarball that can be passed to the @command{docker load}
-command. See the
+command, followed by @code{docker run}:
+
+@example
+docker load < @var{file}
+docker run -ti guile-guile-readline /bin/guile
+@end example
+
+@noindent
+where @var{file} is the image returned by @var{guix pack}, and
+@code{guile-guile-readline} is its ``image tag''. See the
@uref{https://docs.docker.com/engine/reference/commandline/load/, Docker
documentation} for more information.
diff --git a/gnu/local.mk b/gnu/local.mk
index 125118bc55..eba3e92171 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -502,6 +502,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/tor.scm \
%D%/packages/tv.scm \
%D%/packages/uml.scm \
+ %D%/packages/unicode.scm \
%D%/packages/unrtf.scm \
%D%/packages/upnp.scm \
%D%/packages/usb-modeswitch.scm \
@@ -1349,6 +1350,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
+ %D%/packages/patches/qemu-CVE-2020-1711.patch \
%D%/packages/patches/qemu-CVE-2020-7039.patch \
%D%/packages/patches/qemu-CVE-2020-7211.patch \
%D%/packages/patches/qemu-fix-documentation-build-failure.patch \
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a5f224f99e..bc39122c1d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -444,8 +444,30 @@ ArrayVec and ArrayString.")
"This package provides a simple interface for querying atty.")
(license license:expat)))
+(define-public rust-autocfg-1.0
+ (package
+ (name "rust-autocfg")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "autocfg" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17cv6pwb4q08s0ynpr4n8hv5299hcmhdgvdchzixfpw8y5qcgapq"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/cuviper/autocfg")
+ (synopsis
+ "Automatic cfg for Rust compiler features")
+ (description
+ "Automatic cfg for Rust compiler features.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-autocfg-0.1
(package
+ (inherit rust-autocfg-1.0)
(name "rust-autocfg")
(version "0.1.7")
(source
@@ -456,16 +478,7 @@ ArrayVec and ArrayString.")
(sha256
(base32
"1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x"))))
- (build-system cargo-build-system)
- (arguments '(#:skip-build? #t))
- (home-page "https://github.com/cuviper/autocfg")
- (synopsis "Automatic cfg for Rust compiler features")
- (description "Rust library for build scripts to automatically configure
-code based on compiler support. Code snippets are dynamically tested to see
-if the @code{rustc} will accept them, rather than hard-coding specific version
-support.")
- (license (list license:asl2.0
- license:expat))))
+ (arguments '(#:skip-build? #t))))
(define-public rust-backtrace-0.3
(package
@@ -5167,6 +5180,29 @@ immutable interval tree.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-iso8601-0.1
+ (package
+ (name "rust-iso8601")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "iso8601" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xy48qyfmirslaj4dy6n4g8b564jap3cjiql35fmj5vgii7ldp0i"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clippy" ,rust-clippy-0.0)
+ ("rust-nom" ,rust-nom-1.2))))
+ (home-page "https://github.com/badboy/iso8601")
+ (synopsis "Parsing ISO8601 dates using nom")
+ (description "Parsing ISO8601 dates using nom.")
+ (license license:expat)))
+
(define-public rust-itertools-0.8
(package
(name "rust-itertools")
@@ -5700,6 +5736,45 @@ allows loading dynamic libraries (also known as shared libraries) as well as use
functions and static variables these libraries contain.")
(license license:isc)))
+(define-public rust-libm-0.2
+ (package
+ (name "rust-libm")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libm" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0akh56sh51adhagmk9l84dyrlz60gv8ri05xhr13i1b18czkpmy7"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-rand" ,rust-rand-0.6))
+ #:cargo-development-inputs
+ (("rust-no-panic" ,rust-no-panic-0.1))))
+ (home-page "https://github.com/rust-lang/libm")
+ (synopsis "Libm in pure Rust")
+ (description "This package provides an implementation of libm in pure Rust.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-libm-0.1
+ (package
+ (inherit rust-libm-0.2)
+ (name "rust-libm")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libm" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz"))))))
+
(define-public rust-libssh2-sys-0.2
(package
(name "rust-libssh2-sys")
@@ -5745,6 +5820,28 @@ functions and static variables these libraries contain.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-locale-0.2
+ (package
+ (name "rust-locale")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "locale" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z87wc7z6889x1pqlrwjw8f1crshzi15q5m102lqs8y0m69f9nsz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+ (home-page "https://github.com/rust-locale/rust-locale")
+ (synopsis "Library for basic localisation")
+ (description
+ "This package provides a library for basic localisation.")
+ (license license:expat)))
+
(define-public rust-lock-api-0.3
(package
(name "rust-lock-api")
@@ -6681,6 +6778,34 @@ release (fork of debug_unreachable)")
"Rust friendly bindings to *nix APIs.")
(license license:expat)))
+(define-public rust-no-panic-0.1
+ (package
+ (name "rust-no-panic")
+ (version "0.1.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "no-panic" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xan5v9ac1aklinc8aw16raq36pb4idjrl502np8gy32gfs6s751"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+ ("rust-quote" ,rust-quote-1.0)
+ ("rust-syn" ,rust-syn-1.0))
+ #:cargo-development-inputs
+ (("rust-tempfile" ,rust-tempfile-3.1))))
+ (home-page "https://github.com/dtolnay/no-panic")
+ (synopsis "Prove a function can't ever panic")
+ (description
+ "This package provides a rust attribute macro to require that the compiler
+prove a function can't ever panic.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-nodrop-0.1
(package
(name "rust-nodrop")
@@ -6760,6 +6885,24 @@ implementation (which is unstable / requires nightly).")
combinators library.")
(license license:expat)))
+(define-public rust-nom-1.2
+ (package
+ (inherit rust-nom-4.2)
+ (name "rust-nom")
+ (version "1.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nom" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1kjh42w67z1hh1dw3jrilgqrf54jk2xcvhw4rcdm4wclzmbc5f55"))))
+ (arguments
+ ;; This is an ancient version and all inputs are optional.
+ `(#:skip-build? #t))))
+
(define-public rust-num-complex-0.2
(package
(name "rust-num-complex")
@@ -6862,7 +7005,7 @@ combinators library.")
(define-public rust-num-traits-0.2
(package
(name "rust-num-traits")
- (version "0.2.8")
+ (version "0.2.11")
(source
(origin
(method url-fetch)
@@ -6871,13 +7014,15 @@ combinators library.")
(string-append name "-" version ".crate"))
(sha256
(base32
- "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
+ "15khrlm1bra50nd48ijl1vln13m9xg4fxzghf28jp16ic5zf8ay6"))))
(build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-autocfg" ,rust-autocfg-1.0)
+ ("rust-libm" ,rust-libm-0.2))))
(home-page "https://github.com/rust-num/num-traits")
(synopsis "Numeric traits for generic mathematics")
(description "Numeric traits for generic mathematics.")
- (properties '((hidden? . #t)))
- ;; Dual licensed.
(license (list license:asl2.0
license:expat))))
@@ -6894,7 +7039,9 @@ combinators library.")
(sha256
(base32
"0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj"))))
- (build-system cargo-build-system)))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-num-traits" , rust-num-traits-0.2))))))
(define-public rust-numtoa-0.1
(package
@@ -7253,6 +7400,29 @@ normally prevent moving a type that has been borrowed from.")
(description "Portable Packed SIMD vectors.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-pad-0.1
+ (package
+ (name "rust-pad")
+ (version "0.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pad" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qy0r26r52gp034fv252mmg0s599a55h9nr4xswy04hvky49pbfj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-unicode-width" ,rust-unicode-width-0.1))))
+ (home-page "https://github.com/ogham/rust-pad")
+ (synopsis "Library for padding strings at runtime")
+ (description
+ "This package provides a library for padding strings at runtime.")
+ (license license:expat)))
+
(define-public rust-parking-lot-0.9
(package
(name "rust-parking-lot")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b0297e9075..3ae1ec2192 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,6 +25,7 @@
(define-module (gnu packages education)
#:use-module (ice-9 regex)
#:use-module (gnu packages)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
@@ -40,14 +42,18 @@
#:use-module (gnu packages javascript)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
+ #:use-module (gnu packages mp3)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
@@ -126,7 +132,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt
(package
(name "gcompris-qt")
- (version "0.96")
+ (version "0.97")
(source
(origin
(method url-fetch)
@@ -134,11 +140,16 @@ of categories with some of the activities available in that category.
"https://gcompris.net/download/qt/src/gcompris-qt-"
version ".tar.xz"))
(sha256
- (base32 "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52"))))
+ (base32 "0hl3a1jjnrpnbqkpx3rl3fl86yfv503lh48djb888hplvr4nf747"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ (substitute* "tests/core/CMakeLists.txt"
+ (("DownloadManagerTest\\.cpp") "#"))
+ #t))
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The test suite requires a running X server.
@@ -167,6 +178,7 @@ of categories with some of the activities available in that category.
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("gettext" ,gettext-minimal)
+ ("kdoctools" ,kdoctools)
("perl" ,perl)
("qttools" ,qttools)
("xorg-server" ,xorg-server-for-tests)))
@@ -715,6 +727,103 @@ languages and keyboard layouts, and typing statistics are used to dynamically
adjust the level of difficulty.")
(license license:gpl2)))
+(define-public anki
+ (package
+ (name "anki")
+ ;; Later versions have dependencies on npm packages not yet in Guix.
+ (version "2.1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-"
+ version "-source.tgz"))
+ (sha256
+ (base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "PREFIX=" %output))
+ #:tests? #f ;no check target
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ;no configure script
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ ;; List of paths to the site-packages directories of Python
+ ;; library inputs.
+ (site-packages
+ (map (lambda (pyinput)
+ (string-append
+ (cdr pyinput)
+ "/lib/python"
+ ;; Calculate the python version to avoid breaking
+ ;; with future 3.X releases.
+ ,(version-major+minor
+ (package-version python-wrapper))
+ "/site-packages"))
+ (filter (match-lambda
+ ((label . _)
+ (string-prefix? "python-" label)))
+ inputs)))
+ (qtwebengineprocess
+ (string-append (assoc-ref inputs "qtwebengine")
+ "/lib/qt5/libexec/QtWebEngineProcess")))
+ ;; The program fails to find the QtWebEngineProcess program, so
+ ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
+ ;; wrapped to avoid declaring Python libraries as propagated
+ ;; inputs.
+ (for-each (lambda (program)
+ (wrap-program program
+ `("QTWEBENGINEPROCESS_PATH" =
+ (,qtwebengineprocess))
+ `("PYTHONPATH" = ,site-packages)))
+ (find-files bin ".")))
+ #t)))))
+ (native-inputs
+ `(("xdg-utils" ,xdg-utils)))
+ (inputs
+ `(("lame" ,lame)
+ ("mpv" ,mpv)
+ ("python" ,python-wrapper)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-decorator" ,python-decorator)
+ ("python-distro" ,python-distro)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-markdown" ,python-markdown)
+ ("python-pyaudio" ,python-pyaudio)
+ ;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
+ ("python-pyqtwebengine" ,python-pyqtwebengine)
+ ("python-pyqt" ,python-pyqt)
+ ("python-requests" ,python-requests)
+ ("python-send2trash" ,python-send2trash)
+ ("python-sip" ,python-sip)
+ ;; `qtwebengine' is included in `pyqtwebengine', included here for easy
+ ;; wrapping.
+ ("qtwebengine" ,qtwebengine)))
+ (home-page "https://apps.ankiweb.net/")
+ (synopsis "Powerful, intelligent flash cards")
+ (description "Anki is a program which makes remembering things
+easy. Because it's a lot more efficient than traditional study
+methods, you can either greatly decrease your time spent studying, or
+greatly increase the amount you learn.
+
+Anyone who needs to remember things in their daily life can benefit
+from Anki. Since it is content-agnostic and supports images, audio,
+videos and scientific markup (via LaTeX), the possibilities are
+endless. For example:
+@itemize
+@item Learning a language
+@item Studying for medical and law exams
+@item Memorizing people's names and faces
+@item Brushing up on geography
+@item Mastering long poems
+@item Even practicing guitar chords!
+@end itemize")
+ (license license:agpl3+)))
+
(define-public t4k-common
(package
(name "t4k-common")
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 75caa54296..5fa66210db 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Mark Wielaard <mark@klomp.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,9 +55,10 @@
(build-system gnu-build-system)
;; Separate programs because that's usually not what elfutils users want,
- ;; and because they duplicate what Binutils provides.
+ ;; and because they duplicate what Binutils provides (but are named
+ ;; differently, using the eu- prefix and can be installed in parallel).
(outputs '("out" ; libelf.so, elfutils/*.h, etc.
- "bin")) ; ld, nm, objdump, etc.
+ "bin")) ; eu-nm, eu-objdump, etc.
(arguments
;; Programs don't have libelf.so in their RUNPATH and libraries don't
@@ -84,11 +86,21 @@
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
(home-page "https://sourceware.org/elfutils/")
- (synopsis "Linker and ELF manipulation tools")
+ (synopsis "Collection of utilities and libraries to handle ELF files and
+DWARF data")
(description
- "This package provides command-line tools to manipulate binaries in the
-Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
-@command{ar}, @command{objdump}, @command{addr2line}, and more.")
+ "Elfutils is a collection of utilities and libraries to read, create and
+modify Executable and Linkable Format (@dfn{ELF}) binary files, find and
+handle Debugging With Arbitrary Record Formats (@dfn{DWARF}) debug data,
+symbols, thread state and stacktraces for processes and core files on
+GNU/Linux. Elfutils includes @file{libelf} for manipulating ELF files,
+@file{libdw} for inspecting DWARF data and process state and utilities like
+@command{eu-stack} (to show backtraces), @command{eu-nm} (for listing symbols
+from object files), @command{eu-size} (for listing the section sizes of an
+object or archive file), @command{eu-strip} (for discarding symbols),
+@command{eu-readelf} (to see the raw ELF file structures),
+@command{eu-elflint} (to check for well-formed ELF files),
+@command{eu-elfcompress} (to compress or decompress ELF sections), and more.")
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
(license lgpl3+)))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9936127a18..2efb4c220c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6942,29 +6942,26 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(license license:gpl3+)))
(define-public emacs-wgrep
- ;; Tag is missing, so we use the commit directly.
- ;; https://github.com/mhayashi1120/Emacs-wgrep/issues/64
- (let ((commit "379afd89ebd76f63842c8589127d66096a8bb595"))
- (package
- (name "emacs-wgrep")
- (version "2.3.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mhayashi1120/Emacs-wgrep")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
- (synopsis "Edit a grep buffer and apply those changes to the files")
- (description
- "Emacs wgrep allows you to edit a grep buffer and apply those changes
+ (package
+ (name "emacs-wgrep")
+ (version "2.3.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mhayashi1120/Emacs-wgrep")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00cwqzb94jlq4mwgv8z7r3mn0a6mhq95z6j189kacq9g4473zh8d"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
+ (synopsis "Edit a grep buffer and apply those changes to the files")
+ (description
+ "Emacs wgrep allows you to edit a grep buffer and apply those changes
to the file buffer. Several backends are supported beside the classic grep:
ack, ag, helm and pt.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-helm
(package
@@ -8577,35 +8574,35 @@ been adapted to work with mu4e.")
(define-public emacs-yasnippet
(package
(name "emacs-yasnippet")
- (version "0.13.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/joaotavora/yasnippet.git")
- (commit version)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0fkkplycrw8f8r30hjjxl1wm7p2irq2ipzzc1g7cc52abaal796p"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; YASnippet expects a "snippets" subdirectory in the same
- ;; directory as yasnippet.el, but we don't install it
- ;; because it's a git submodule pointing to an external
- ;; repository. Adjust `yas-snippet-dirs' to prevent
- ;; warnings about a missing directory.
- (substitute* "yasnippet.el"
- (("^ +'yas-installed-snippets-dir\\)\\)\n")
- "))\n"))
- #t))))
+ (version "0.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joaotavora/yasnippet.git")
+ (commit version)))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; YASnippet expects a "snippets" subdirectory in the same
+ ;; directory as yasnippet.el, but we don't install it because it's
+ ;; a git submodule pointing to an external repository. Adjust
+ ;; `yas-snippet-dirs' to prevent warnings about a missing
+ ;; directory.
+ (substitute* "yasnippet.el"
+ (("^ +'yas-installed-snippets-dir\\)\\)\n")
+ "))\n"))
+ #t))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "yasnippet-tests.el"
"-f" "ert-run-tests-batch-and-exit")
- ;; FIXME: one failing test
+ ;; FIXME: one failing test.
#:phases
(modify-phases %standard-phases
(add-before 'check 'make-tests-writable
@@ -8615,11 +8612,10 @@ been adapted to work with mu4e.")
(add-before 'check 'delete-rebinding-test
(lambda _
(emacs-batch-edit-file "yasnippet-tests.el"
- `(progn (progn (goto-char (point-min))
- (re-search-forward
- "ert-deftest test-rebindings")
- (beginning-of-line)
- (kill-sexp))
+ `(progn (goto-char (point-min))
+ (re-search-forward "ert-deftest test-rebindings")
+ (beginning-of-line)
+ (kill-sexp)
(basic-save-buffer)))
#t)))))
(home-page "https://github.com/joaotavora/yasnippet")
@@ -8630,50 +8626,40 @@ abbreviation and automatically expand it into function templates.")
(license license:gpl3+)))
(define-public emacs-yasnippet-snippets
- (let ((commit "885050d34737e2fb36a3e7759d60c09347bd4ce0")
- (revision "1"))
- (package
- (name "emacs-yasnippet-snippets")
- (version (string-append "1-" revision "." (string-take commit 8)))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/AndreaCrotti/yasnippet-snippets")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1m935zgglw0iakzrixld5rcjz3wnj84f8wy2mvc3pggjri9l0qr9"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((ice-9 ftw)
- (ice-9 regex)
- (guix build utils))
- #:builder
- (begin
- (use-modules (ice-9 ftw)
- (ice-9 regex)
- (guix build utils))
- (with-directory-excursion (assoc-ref %build-inputs "source")
- (for-each (lambda (dir)
- (copy-recursively
- dir
- (string-append %output
- "/share/emacs/yasnippet-snippets/"
- dir)))
- (scandir "." (lambda (fname)
- (and (string-match "-mode$" fname)
- (directory-exists? fname))))))
- #t)))
- (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
- (synopsis "Collection of YASnippet snippets for many languages")
- (description
- "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
+ (package
+ (name "emacs-yasnippet-snippets")
+ (version "0.20")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AndreaCrotti/yasnippet-snippets")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "095w7cdmfwmmr6426mbq15n0a5izgbmv9408m9yh1pqz5x3v3vsx"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref %outputs "out"))
+ (snippet-dir
+ (string-append out "/share/emacs/yasnippet-snippets/")))
+ (with-directory-excursion source
+ (mkdir-p snippet-dir)
+ (copy-recursively "snippets" snippet-dir)))
+ #t)))
+ (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
+ (synopsis "Collection of YASnippet snippets for many languages")
+ (description
+ "Provides Andrea Crotti's collection of YASnippet snippets. After installation,
the snippets will be in \"~/.guix-profile/share/emacs/yasnippet-snippets/\".
To make YASnippet aware of these snippets, add the above directory to
@code{yas-snippet-dirs}.")
- (license license:expat))))
+ (license license:gpl3+)))
(define-public emacs-helm-c-yasnippet
(let ((commit "65ca732b510bfc31636708aebcfe4d2d845b59b0")
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index b2ab13d951..58d817853b 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -46,7 +46,7 @@
(define-public lftp
(package
(name "lftp")
- (version "4.8.4")
+ (version "4.9.1")
(source (origin
(method url-fetch)
;; See https://lftp.tech/get.html for mirrors.
@@ -58,7 +58,7 @@
"ftp/lftp/lftp-" version ".tar.xz")))
(sha256
(base32
- "0qks22357xv9y6ripmf5j2n5svh8j5z0yniphfk89sjwkqg2gg2f"))))
+ "0jq2g8h1bx06ya9fsja748vwb2qrca4wsfrgi3fmaa8hznpgqsar"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c05503cabb..b502cd0ec4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4033,7 +4033,7 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
- (version "11.2d")
+ (version "11.2q")
;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs.
(source (origin
@@ -4044,7 +4044,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-src.tgz"))
(sha256
(base32
- "1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn"))))
+ "1w4khi2limxhgiq7xnz0rc9nzbk86bhbyzrcd5hdghnhsviaiggq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -4122,7 +4122,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-win.zip"))
(sha256
(base32
- "0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf"))))
+ "1k81zrbq5gmrccjac1i5c6v8j2iilfg2vwrnm8snjmmcnh5z1fgj"))))
("unzip" ,unzip)))
(inputs
`(("font-dejavu" ,font-dejavu)
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 0fc721b7d3..7f375fefc5 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -114,6 +114,40 @@ which haven't been updated for some years. The new app icons are ported from
the Obsidian icon theme.")
(license license:gpl3)))
+(define-public gnome-shell-extension-appindicator
+ (package
+ (name "gnome-shell-extension-appindicator")
+ (version "30")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/ubuntu/gnome-shell-extension-appindicator.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8"))
+ (file-name (git-file-name name version))))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (install-dir (string-append (assoc-ref %outputs "out")
+ "/share/gnome-shell/extensions"
+ "/appindicatorsupport@rgcjonas.gmail.com")))
+ (mkdir-p install-dir)
+ (copy-recursively source install-dir)
+ #t))))
+ (synopsis "Adds KStatusNotifierItem support to GNOME Shell")
+ (description "This extension integrates Ubuntu AppIndicators
+and KStatusNotifierItems (KDE's successor of the systray) into
+GNOME Shell.")
+ (home-page "https://github.com/ubuntu/gnome-shell-extension-appindicator/")
+ (license license:gpl2+)))
+
(define-public gnome-shell-extension-dash-to-dock
(package
(name "gnome-shell-extension-dash-to-dock")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2f6029fba5..5b658c90dc 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2178,6 +2178,10 @@ from forcing GEXP-PROMISE."
#+(canonical-package tar)))
(invoke "tar" "xvf" #+upstream-source)
(with-directory-excursion (string-append "librsvg-" #$version)
+ ;; The following crate(s) are needed in addition to the ones replaced:
+ (begin
+ (invoke
+ "tar" "xvf" #+(package-source rust-autocfg-0.1) "-C" "vendor"))
(for-each
(lambda (crate)
(delete-file-recursively (string-append "vendor/" (car crate)))
@@ -2187,7 +2191,7 @@ from forcing GEXP-PROMISE."
("approx" . #+(package-source rust-approx-0.3))
("arrayvec" . #+(package-source rust-arrayvec-0.4))
("atty" . #+(package-source rust-atty-0.2))
- ("autocfg" . #+(package-source rust-autocfg-0.1))
+ ("autocfg" . #+(package-source rust-autocfg-1.0))
("bitflags" . #+(package-source rust-bitflags-1))
;; block 0.1
("bstr" . #+(package-source rust-bstr-0.2))
@@ -2238,7 +2242,7 @@ from forcing GEXP-PROMISE."
("language-tags" . #+(package-source rust-language-tags-0.2))
("lazy_static" . #+(package-source rust-lazy-static-1.3))
("libc" . #+(package-source rust-libc-0.2))
-;; libm 0.1
+ ("libm" . #+(package-source rust-libm-0.1))
;; locale_config 0.3
("log" . #+(package-source rust-log-0.4))
("mac" . #+(package-source rust-mac-0.1))
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index 040793b4f6..8e7c961929 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +37,7 @@
(define-public gpodder
(package
(name "gpodder")
- (version "3.10.11")
+ (version "3.10.13")
(source
(origin
(method git-fetch)
@@ -46,7 +46,7 @@
(commit version)))
(sha256
(base32
- "15f5z3cnch9lpzbz73l4wjykv9n74y8djz5db53la2ql4ihaxfz9"))
+ "1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(native-inputs
diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm
index 6b3f68cd7d..376191af54 100644
--- a/gnu/packages/ham-radio.scm
+++ b/gnu/packages/ham-radio.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
+;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +22,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
@@ -29,6 +31,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sdr)
#:use-module (gnu packages xml)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -127,3 +130,49 @@ satellites, the POES NOAA weather satellite series. These transmissions are
on a frequency of 137 MHz. They can be received using an inexpensive antenna
and a dedicated receiver.")
(license license:gpl2+)))
+
+(define-public redsea
+ (package
+ (name "redsea")
+ (version "0.18")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/windytan/redsea")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; The configure.ac file does not explicitly link against libiconv
+ ;; except on Mac OS, causing the build to fail. This phase comments
+ ;; out the original AC_SUBST macro (located inside a conditional) and
+ ;; adds an explicit use of it underneath, so that libiconv is always
+ ;; linked against.
+ (add-after 'unpack 'patch-libiconv
+ (lambda _
+ (substitute* "configure.ac"
+ (("^ +AC_SUBST")
+ "# AC_SUBST")
+ (("esac")
+ "esac\nAC_SUBST([ICONV], [\"-liconv\"])"))
+ #t)))))
+ (inputs
+ `(("libiconv" ,libiconv)
+ ("libsndfile" ,libsndfile)
+ ("liquid-dsp" ,liquid-dsp)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (home-page "https://github.com/windytan/redsea")
+ (synopsis "Lightweight RDS to JSON decoder")
+ (description "redsea is a lightweight command-line @dfn{FM Radio Data
+System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick
+with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via
+csdr, for example. It can also decode raw ASCII bitstream, the hex format
+used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
+ (license license:expat)))
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 5b5b20cd65..767f0c7f99 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -270,14 +270,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex
(package
(name "git-annex")
- (version "7.20191230")
+ (version "7.20200202.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
- (base32 "1xsd4vhiv3zkcqjh2pxhbkjx75hcalcc9bpdlfc27wzxsxyrwz12"))))
+ (base32 "1dj1ss7kp82wa0ybilhl88q6w49rj70qh61k2q8qfyx4ghliiigh"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 512a1ff9ec..c0766c06bd 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
+ #:use-module (gnu packages unicode)
#:use-module (gnu packages xorg))
(define-public ibus
@@ -70,19 +71,22 @@
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; tests fail because there's no connection to dbus
- #:configure-flags `("--disable-emoji-dict" ; cannot find emoji.json path
- "--enable-python-library"
- ,(string-append "--with-ucd-dir="
- (getcwd) "/ucd")
- "--enable-wayland")
+ #:parallel-build? #f ; race condition discovered with emoji support
+ #:configure-flags (list "--enable-python-library"
+ (string-append
+ "--with-unicode-emoji-dir="
+ (assoc-ref %build-inputs "unicode-emoji")
+ "/share/unicode/emoji")
+ (string-append
+ "--with-emoji-annotation-dir="
+ (assoc-ref %build-inputs "unicode-cldr-common")
+ "/share/unicode/cldr/common/annotations")
+ (string-append "--with-ucd-dir="
+ (assoc-ref %build-inputs "ucd")
+ "/share/ucd")
+ "--enable-wayland")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'prepare-ucd-dir
- (lambda* (#:key inputs #:allow-other-keys)
- (mkdir-p "../ucd")
- (symlink (assoc-ref inputs "unicode-blocks") "../ucd/Blocks.txt")
- (symlink (assoc-ref inputs "unicode-nameslist") "../ucd/NamesList.txt")
- #t))
(add-after 'unpack 'patch-python-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((root (string-append (assoc-ref outputs "out")
@@ -149,20 +153,9 @@
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal
("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
-
- ;; XXX TODO: Move Unicode data to its own (versioned) package.
- ("unicode-nameslist"
- ,(origin
- (method url-fetch)
- (uri "https://www.unicode.org/Public/12.0.0/ucd/NamesList.txt")
- (sha256
- (base32 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61"))))
- ("unicode-blocks"
- ,(origin
- (method url-fetch)
- (uri "https://www.unicode.org/Public/12.0.0/ucd/Blocks.txt")
- (sha256
- (base32 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1"))))
+ ("ucd" ,ucd)
+ ("unicode-emoji" ,unicode-emoji)
+ ("unicode-cldr-common" ,unicode-cldr-common)
("vala" ,vala)
("pkg-config" ,pkg-config)))
(native-search-paths
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 93474dbdbf..7dd3b69ad4 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -362,14 +362,14 @@ AbiWord documents.")
(define-public libcdr
(package
(name "libcdr")
- (version "0.1.5")
+ (version "0.1.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://dev-www.libreoffice.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256 (base32
- "0j1skr11jwvafn0l6p37v3i4lqc8wcn489g8f7c4mqwbk94mrkka"))))
+ "0qgqlw6i25zfq1gf7f6r5hrhawlrgh92sg238kjpf2839aq01k81"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index abf11400e3..f41ed6b9bc 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -455,24 +455,26 @@ over USB.")
(define-public libmtp
(package
(name "libmtp")
- (version "1.1.16")
+ (version "1.1.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libmtp/libmtp/" version
"/libmtp-" version ".tar.gz"))
(sha256
(base32
- "185vh9bds6dcy00ycggg69g4v7m3api40zv8vrcfb3fk3vfzjs2v"))))
+ "1p3r38nvdip40ab1h4scj3mzfjkx6kd14szjqyw9r6wz5pslr8zq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libgcrypt" ,libgcrypt)))
(propagated-inputs
;; libmtp.pc refers to all these.
- `(("libgcrypt" ,libgcrypt)
- ("libusb" ,libusb)))
+ `(("libusb" ,libusb)))
(arguments
`(#:configure-flags
- (list (string-append "--with-udev="
+ (list "--disable-static"
+ (string-append "--with-udev="
(assoc-ref %outputs "out")
"/lib/udev"))))
(home-page "http://libmtp.sourceforge.net/")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 920837abae..b97ad806ea 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
+;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -166,29 +167,27 @@ interactive development model in mind.")
(sbcl-package->ecl-package sbcl-fiveam))
(define-public sbcl-bordeaux-threads
- (let ((commit "5dce49fbc829f4d136a734f5ef4f5d599660984f")
- (revision "1"))
- (package
- (name "sbcl-bordeaux-threads")
- (version (git-version "0.8.6" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sionescu/bordeaux-threads.git")
- (commit commit)))
- (sha256
- (base32 "1gkh9rz7zw57n3110ikcf4835950wr4hgp8l79id5ai6nd86x7wv"))
- (file-name
- (git-file-name "bordeaux-threads" version))))
- (inputs `(("alexandria" ,sbcl-alexandria)))
- (native-inputs `(("fiveam" ,sbcl-fiveam)))
- (build-system asdf-build-system/sbcl)
- (synopsis "Portable shared-state concurrency library for Common Lisp")
- (description "BORDEAUX-THREADS is a proposed standard for a minimal
+ (package
+ (name "sbcl-bordeaux-threads")
+ (version "0.8.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sionescu/bordeaux-threads.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
+ (file-name
+ (git-file-name "bordeaux-threads" version))))
+ (inputs `(("alexandria" ,sbcl-alexandria)))
+ (native-inputs `(("fiveam" ,sbcl-fiveam)))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Portable shared-state concurrency library for Common Lisp")
+ (description "BORDEAUX-THREADS is a proposed standard for a minimal
MP/Threading interface. It is similar to the CLIM-SYS threading and lock
support.")
- (home-page "https://common-lisp.net/project/bordeaux-threads/")
- (license license:x11))))
+ (home-page "https://common-lisp.net/project/bordeaux-threads/")
+ (license license:x11)))
(define-public cl-bordeaux-threads
(sbcl-package->cl-source-package sbcl-bordeaux-threads))
@@ -267,7 +266,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(define-public sbcl-flexi-streams
(package
(name "sbcl-flexi-streams")
- (version "1.0.16")
+ (version "1.0.18")
(source
(origin
(method git-fetch)
@@ -276,7 +275,7 @@ logical continuation of Stefil. It focuses on interactive debugging.")
(commit (string-append "v" version))))
(file-name (git-file-name "flexi-streams" version))
(sha256
- (base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc"))))
+ (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
@@ -304,7 +303,7 @@ streams which are similar to string streams.")
(define-public sbcl-cl-ppcre
(package
(name "sbcl-cl-ppcre")
- (version "2.0.11")
+ (version "2.1.1")
(source
(origin
(method git-fetch)
@@ -313,7 +312,7 @@ streams which are similar to string streams.")
(commit (string-append "v" version))))
(file-name (git-file-name "cl-ppcre" version))
(sha256
- (base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49"))))
+ (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Portable regular expression library for Common Lisp")
@@ -330,32 +329,30 @@ compatible with ANSI-compliant Common Lisp implementations.")
(sbcl-package->ecl-package sbcl-cl-ppcre))
(define sbcl-cl-unicode-base
- (let ((revision "1")
- (commit "9fcd06fba1ddc9e66aed2f2d6c32dc9b764f03ea"))
- (package
- (name "sbcl-cl-unicode-base")
- (version (string-append "0.1.5-" revision "." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/edicl/cl-unicode.git")
- (commit commit)))
- (file-name (string-append "cl-unicode-" version "-checkout"))
- (sha256
- (base32
- "1jicprb5b3bv57dy1kg03572gxkcaqdjhak00426s76g0plmx5ki"))))
- (build-system asdf-build-system/sbcl)
- (arguments
- '(#:asd-file "cl-unicode.asd"
- #:asd-system-name "cl-unicode/base"))
- (inputs
- `(("cl-ppcre" ,sbcl-cl-ppcre)))
- (home-page "http://weitz.de/cl-unicode/")
- (synopsis "Portable Unicode library for Common Lisp")
- (description "CL-UNICODE is a portable Unicode library Common Lisp, which
+ (package
+ (name "sbcl-cl-unicode-base")
+ (version "0.1.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/cl-unicode.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-unicode.asd"
+ #:asd-system-name "cl-unicode/base"))
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "http://weitz.de/cl-unicode/")
+ (synopsis "Portable Unicode library for Common Lisp")
+ (description "CL-UNICODE is a portable Unicode library Common Lisp, which
is compatible with perl. It is pretty fast, thread-safe, and compatible with
ANSI-compliant Common Lisp implementations.")
- (license license:bsd-2))))
+ (license license:bsd-2)))
(define-public sbcl-cl-unicode
(package
@@ -629,6 +626,9 @@ from other CLXes around the net.")
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
+(define-public ecl-cl-ppcre-unicode
+ (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
+
;; The slynk that users expect to install includes all of slynk's contrib
;; modules. Therefore, we build the base module and all contribs first; then
;; we expose the union of these as `sbcl-slynk'. The following variable
@@ -1417,7 +1417,7 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(define-public sbcl-split-sequence
(package
(name "sbcl-split-sequence")
- (version "1.4.1")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
@@ -1426,13 +1426,11 @@ In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
(commit (string-append "v" version))))
(sha256
(base32
- "0c3zp6b7fmmp93sfhq112ind4zkld49ycw68z409xpnz3gc0wpf0"))
+ "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
(file-name (git-file-name "split-sequence" version))))
(build-system asdf-build-system/sbcl)
- (arguments
- ;; TODO: Tests seem to be broken.
- ;; https://github.com/sharplispers/split-sequence/issues/8
- `(#:tests? #f))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
(synopsis "Member of the Common Lisp Utilities family of programs")
(description
"Splits sequence into a list of subsequences delimited by objects
@@ -1570,7 +1568,7 @@ with @command{colorize} support."))))
(define-public sbcl-cl-fad
(package
(name "sbcl-cl-fad")
- (version "0.7.5")
+ (version "0.7.6")
(source
(origin
(method git-fetch)
@@ -1579,7 +1577,7 @@ with @command{colorize} support."))))
(commit (string-append "v" version))))
(sha256
(base32
- "1l1qmk9z57q84bz5r04sxsksggsnd7dgkxlybzh9imz6ma7sm52m"))
+ "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
(file-name (string-append "cl-fad" version "-checkout"))))
(build-system asdf-build-system/sbcl)
(inputs
@@ -1821,8 +1819,11 @@ processes that doesn't run under Emacs. Lisp processes created by
("cl-fad" ,sbcl-cl-fad)
("ironclad" ,sbcl-ironclad)
("named-readtables" ,sbcl-named-readtables)
- ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
- ("swank" ,cl-slime-swank)))
+ ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
+ (propagated-inputs
+ ;; Packages having mgl-pax as input complain that it can't find
+ ;; swank if we put it in inputs, so let's put it in propageted-inputs.
+ `(("swank" ,cl-slime-swank)))
(synopsis "Exploratory programming environment and documentation generator")
(description
"PAX provides an extremely poor man's Explorable Programming
@@ -2473,7 +2474,7 @@ non-consing thread safe queues and fibonacci priority queues.")
(define sbcl-cffi-bootstrap
(package
(name "sbcl-cffi-bootstrap")
- (version "0.19.0")
+ (version "0.21.0")
(source
(origin
(method git-fetch)
@@ -2482,7 +2483,7 @@ non-consing thread safe queues and fibonacci priority queues.")
(commit (string-append "v" version))))
(file-name (git-file-name "cffi-bootstrap" version))
(sha256
- (base32 "09sfgc6r7ihmbkwfpvkq5fxc7h45cabpvgbvs47i5cvnmv3k72xy"))))
+ (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("libffi" ,libffi)
@@ -3177,44 +3178,43 @@ Lisp (from GBBopen project).")
(define-public ecl-portable-threada
(sbcl-package->ecl-package sbcl-portable-threads))
-(define-public sbcl-usocket-boot0
+(define sbcl-usocket-boot0
;; usocket's test rely on usocket-server which depends on usocket itself.
;; We break this cyclic dependency with -boot0 that packages usocket.
- (let ((commit "86e7efbfe50101931edf4b67cdcfa7e221ecfde9"))
- (package
- (name "sbcl-usocket-boot0")
- (version (git-version "0.7.1" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/usocket/usocket/")
- (commit commit)))
- (file-name (git-file-name "usocket" version))
- (sha256
- (base32
- "1lk6ipakrib7kdgzw44hrgmls9akp5pz4h35yynw0k5zwmmq6374"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("split-sequence" ,sbcl-split-sequence)))
- (arguments
- `(#:tests? #f
- #:asd-system-name "usocket"))
- (home-page "https://common-lisp.net/project/usocket/")
- (synopsis "Universal socket library for Common Lisp (server side)")
- (description
- "This library strives to provide a portable TCP/IP and UDP/IP socket
+ (package
+ (name "sbcl-usocket-boot0")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/usocket/usocket/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "usocket" version))
+ (sha256
+ (base32
+ "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("split-sequence" ,sbcl-split-sequence)))
+ (arguments
+ `(#:tests? #f
+ #:asd-system-name "usocket"))
+ (home-page "https://common-lisp.net/project/usocket/")
+ (synopsis "Universal socket library for Common Lisp (server side)")
+ (description
+ "This library strives to provide a portable TCP/IP and UDP/IP socket
interface for as many Common Lisp implementations as possible, while keeping
the abstraction and portability layer as thin as possible.")
- (license license:expat))))
+ (license license:expat)))
(define-public sbcl-usocket-server
(package
(inherit sbcl-usocket-boot0)
(name "sbcl-usocket-server")
(inputs
- `(("usocket" ,sbcl-usocket-boot0)
- ("portable-threads" ,sbcl-portable-threads)))
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("usocket" ,sbcl-usocket-boot0)))
(arguments
'(#:asd-system-name "usocket-server"))
(synopsis "Universal socket library for Common Lisp (server side)")))
@@ -3240,7 +3240,7 @@ the abstraction and portability layer as thin as possible.")
(define-public cl-usocket
(sbcl-package->cl-source-package sbcl-usocket))
-(define-public ecl-socket
+(define-public ecl-usocket
(sbcl-package->ecl-package sbcl-usocket))
(define-public sbcl-s-xml
@@ -3663,45 +3663,45 @@ the format used by the popular compression tool bzip2.")
(sbcl-package->cl-source-package sbcl-chipz))
(define-public sbcl-drakma
- (let ((version "2.0.4")
- (commit "7647c0ae842ff2058624e53979c7f297760c97a7")
- (revision "1"))
- (package
- (name "sbcl-drakma")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/edicl/drakma.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
- (build-system asdf-build-system/sbcl)
- (inputs
- `(("sbcl-puri" ,sbcl-puri)
- ("sbcl-cl-base64" ,sbcl-cl-base64)
- ("sbcl-chunga" ,sbcl-chunga)
- ("sbcl-flexi-streams" ,sbcl-flexi-streams)
- ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
- ("sbcl-chipz" ,sbcl-chipz)
- ("sbcl-usocket" ,sbcl-usocket)
- ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
- (native-inputs
- `(("sbcl-fiveam" ,sbcl-fiveam)))
- (home-page "https://edicl.github.io/drakma/")
- (synopsis "HTTP client written in Common Lisp")
- (description
- "Drakma is a full-featured HTTP client implemented in Common Lisp. It
+ (package
+ (name "sbcl-drakma")
+ (version "2.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/drakma.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-puri" ,sbcl-puri)
+ ("sbcl-cl-base64" ,sbcl-cl-base64)
+ ("sbcl-chunga" ,sbcl-chunga)
+ ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-chipz" ,sbcl-chipz)
+ ("sbcl-usocket" ,sbcl-usocket)
+ ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (home-page "https://edicl.github.io/drakma/")
+ (synopsis "HTTP client written in Common Lisp")
+ (description
+ "Drakma is a full-featured HTTP client implemented in Common Lisp. It
knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
sockets, SSL, continuable uploads, file uploads, cookies, and more.")
- (license license:bsd-2))))
+ (license license:bsd-2)))
(define-public cl-drakma
(sbcl-package->cl-source-package sbcl-drakma))
+(define-public ecl-drakma
+ (sbcl-package->ecl-package sbcl-drakma))
+
(define-public sbcl-hunchentoot
(package
(name "sbcl-hunchentoot")
@@ -4102,36 +4102,37 @@ Lisp.")
(sbcl-package->cl-source-package sbcl-fast-http))
(define-public sbcl-static-vectors
- (let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
- (revision "1"))
- (package
- (name "sbcl-static-vectors")
- (version (git-version "1.8.3" revision commit))
- (source
- (origin
+ (package
+ (name "sbcl-static-vectors")
+ (version "1.8.4")
+ (source
+ (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sionescu/static-vectors.git")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
- (native-inputs
- `(("sbcl-fiveam" ,sbcl-fiveam)))
- (inputs
- `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
- ("sbcl-cffi" ,sbcl-cffi)))
- (build-system asdf-build-system/sbcl)
- (home-page "http://common-lisp.net/projects/iolib/")
- (synopsis "Allocate SIMPLE-ARRAYs in static memory")
- (description
- "With @code{static-vectors}, you can create vectors allocated in static
+ (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
+ (native-inputs
+ `(("sbcl-fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
+ ("sbcl-cffi" ,sbcl-cffi)))
+ (build-system asdf-build-system/sbcl)
+ (home-page "http://common-lisp.net/projects/iolib/")
+ (synopsis "Allocate SIMPLE-ARRAYs in static memory")
+ (description
+ "With @code{static-vectors}, you can create vectors allocated in static
memory.")
- (license license:expat))))
+ (license license:expat)))
(define-public cl-static-vectors
(sbcl-package->cl-source-package sbcl-static-vectors))
+(define-public ecl-static-vectors
+ (sbcl-package->ecl-package sbcl-static-vectors))
+
(define-public sbcl-marshal
(let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
(revision "1"))
@@ -5222,7 +5223,7 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(package
(name "sbcl-swap-bytes")
(build-system asdf-build-system/sbcl)
- (version "1.1")
+ (version "1.2")
(home-page "https://github.com/sionescu/swap-bytes")
(source
(origin
@@ -5233,14 +5234,11 @@ decoding routines for IDNA, the International Domain Names in Applications.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
+ "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
(inputs
`(("trivial-features" ,sbcl-trivial-features)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
- (arguments
- ;; TODO: Tests fail, why?
- `(#:tests? #f))
(synopsis "Efficient endianness conversion for Common Lisp")
(description "This Common Lisp library provides optimized byte-swapping
primitives. The library can change endianness of unsigned integers of length
@@ -6874,8 +6872,8 @@ compression/decompression using bindings to the lzlib C library.")
(sbcl-package->ecl-package sbcl-lzlib))
(define-public sbcl-chanl
- (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
- (revision "0"))
+ (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
+ (revision "1"))
(package
(name "sbcl-chanl")
(version (git-version "0.4.1" revision commit))
@@ -6888,7 +6886,7 @@ compression/decompression using bindings to the lzlib C library.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ag3wz7yrqwp0s5069wwda98z3rrqd25spg8sa8rdqghj084w28w"))))
+ "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
@@ -6906,26 +6904,7 @@ threads.")
(sbcl-package->cl-source-package sbcl-chanl))
(define-public ecl-chanl
- (let ((base (sbcl-package->ecl-package sbcl-chanl)))
- (package
- (inherit base)
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ;; The CHANL.ACTORS package uses the :ARGUMENTS option of
- ;; DEFINE-METHOD-COMBINATION, which is not implemented in ECL yet
- ;; (see https://gitlab.com/embeddable-common-lisp/ecl/issues/305).
- ;; So let's disable it for now, as it allows compiling the library
- ;; and using the rest of it.
- ((#:phases phases '%standard-phases)
- `(modify-phases ,phases
- (add-after 'unpack 'disable-chanl-actors
- (lambda _
- (substitute* "chanl.asd"
- (("\\(:file \"actors\"\\)") ""))
- #t))))
- ;; Disable the tests for now, as the SEND-SEQUENCE test seems to
- ;; never end.
- ((#:tests? _ #f) #f))))))
+ (sbcl-package->ecl-package sbcl-chanl))
(define-public sbcl-cl-store
(let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
@@ -7435,7 +7414,7 @@ interactive development.")
("metabang-bind" ,sbcl-metabang-bind)
("named-readtables" ,sbcl-named-readtables)))
(arguments
- '(#:test-asd-file "graph.test.asd"))
+ '(#:test-asd-file "graph-test.asd"))
(synopsis "Graph data structure and algorithms for Common Lisp")
(description
"The GRAPH Common Lisp library provides a data structures to represent
@@ -7460,7 +7439,7 @@ path, maximum flow, minimum spanning tree, etc.).")
("named-readtables" ,sbcl-named-readtables)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-graph)
- ((#:asd-file _ "") "graph.dot.asd")
+ ((#:asd-file _ "") "graph-dot.asd")
((#:asd-system-name _ #f) "graph-dot")))
(synopsis "Serialize graphs to and from DOT format")))
@@ -7477,7 +7456,7 @@ path, maximum flow, minimum spanning tree, etc.).")
("yason" ,sbcl-yason)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-graph)
- ((#:asd-file _ "") "graph.json.asd")
+ ((#:asd-file _ "") "graph-json.asd")
((#:asd-system-name _ #f) "graph-json")))
(synopsis "Serialize graphs to and from JSON format")))
@@ -10043,3 +10022,183 @@ ones.")
(define-public ecl-nodgui
(sbcl-package->ecl-package sbcl-nodgui))
+
+(define-public sbcl-salza2
+ (package
+ (name "sbcl-salza2")
+ (version "2.0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xach/salza2.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp library for zlib, deflate and gzip compression")
+ (description
+ "Salza2 is a Common Lisp library for creating compressed data in the zlib,
+deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
+respectively.")
+ (home-page "https://www.xach.com/lisp/salza2/")
+ (license license:bsd-2)))
+
+(define-public cl-salza2
+ (sbcl-package->cl-source-package sbcl-salza2))
+
+(define-public ecl-salza2
+ (sbcl-package->ecl-package sbcl-salza2))
+
+(define-public sbcl-png-read
+ (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
+ (revision "1"))
+ (package
+ (name "sbcl-png-read")
+ (version (git-version "0.3.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ramarren/png-read.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("babel" ,sbcl-babel)
+ ("chipz" ,sbcl-chipz)
+ ("iterate" ,sbcl-iterate)))
+ (synopsis "PNG decoder for Common Lisp")
+ (description "This is a Common Lisp library for reading PNG images.")
+ (home-page "https://github.com/Ramarren/png-read")
+ (license license:bsd-3))))
+
+(define-public cl-png-read
+ (sbcl-package->cl-source-package sbcl-png-read))
+
+(define-public ecl-png-read
+ (sbcl-package->ecl-package sbcl-png-read))
+
+(define-public sbcl-zpng
+ (package
+ (name "sbcl-zpng")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xach/zpng.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("salza2" ,sbcl-salza2)))
+ (synopsis "PNG encoder for Common Lisp")
+ (description "This is a Common Lisp library for creating PNG images.")
+ (home-page "https://www.xach.com/lisp/zpng/")
+ (license license:bsd-2)))
+
+(define-public cl-zpng
+ (sbcl-package->cl-source-package sbcl-zpng))
+
+(define-public ecl-zpng
+ (sbcl-package->ecl-package sbcl-zpng))
+
+(define-public sbcl-cl-qrencode
+ (package
+ (name "sbcl-cl-qrencode")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnjcc/cl-qrencode.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("lisp-unit" ,sbcl-lisp-unit)))
+ (inputs
+ `(("zpng" ,sbcl-zpng)))
+ (synopsis "QR code encoder for Common Lisp")
+ (description
+ "This Common Lisp library provides function to make QR codes and to save
+them as PNG files.")
+ (home-page "https://github.com/jnjcc/cl-qrencode")
+ (license license:gpl2+)))
+
+(define-public cl-qrencode
+ (sbcl-package->cl-source-package sbcl-cl-qrencode))
+
+(define-public ecl-cl-qrencode
+ (sbcl-package->ecl-package sbcl-cl-qrencode))
+
+(define-public sbcl-hdf5-cffi
+ (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
+ (revision "1"))
+ (package
+ (name "sbcl-hdf5-cffi")
+ (version (git-version "1.8.18" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hdfgroup/hdf5-cffi.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Common Lisp bindings for the HDF5 library")
+ (description
+ "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
+ (home-page "https://github.com/hdfgroup/hdf5-cffi")
+ (license (license:non-copyleft
+ (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
+ commit
+ "/LICENSE")))
+ (inputs
+ `(("cffi" ,sbcl-cffi)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("hdf5" ,hdf5-1.10)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (arguments
+ `(#:asd-system-name "hdf5-cffi"
+ #:asd-file "hdf5-cffi.asd"
+ #:test-asd-file "hdf5-cffi.test.asd"
+ ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
+ ;; I don't know if there is a way to tell asdf-build-system to load
+ ;; an additional system first, so tests are disabled.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/library.lisp"
+ (("libhdf5.so")
+ (string-append
+ (assoc-ref inputs "hdf5")
+ "/lib/libhdf5.so")))))
+ (add-after 'unpack 'fix-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "hdf5-cffi.asd"
+ ((":depends-on \\(:cffi\\)")
+ ":depends-on (:cffi :cffi-grovel)"))
+ (substitute* "hdf5-cffi.test.asd"
+ ((":depends-on \\(:cffi :hdf5-cffi")
+ ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
+
+(define-public cl-hdf5-cffi
+ (sbcl-package->cl-source-package sbcl-hdf5-cffi))
+
+(define-public ecl-hdf5-cffi
+ (sbcl-package->ecl-package sbcl-hdf5-cffi))
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index 12c92e52d1..a440491633 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
+;;; Copyright © 2020 Fakhri Sajadi <f.sajadi@pantherx.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -379,6 +380,7 @@ the operating system LXQt is running on.")
("qtx11extras" ,qtx11extras)
("solid" ,solid)
("xf86-input-libinput" ,xf86-input-libinput)
+ ("xkeyboard-config" ,xkeyboard-config)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -394,6 +396,14 @@ the operating system LXQt is running on.")
(("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
"DESTINATION \"etc/xdg"))
#t))
+ (add-after 'unpack 'set-xkeyboard-config-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Set the file name to xkeyboard-config.
+ (let ((xkb (assoc-ref inputs "xkeyboard-config")))
+ (substitute* "lxqt-config-input/keyboardlayoutconfig.h"
+ (("/usr/share/X11/xkb/rules/base.lst")
+ (string-append xkb "/share/X11/xkb/rules/base.lst")))
+ #t)))
(add-after 'unpack 'patch-translations-dir
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("lxqt-config-file-associations/CMakeLists.txt"
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 0538342977..67aa079024 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -397,9 +397,11 @@ aliasing facilities to work just as they would on normal mail.")
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
("gpgme" ,gpgme)
+ ("libidn2" ,libidn2)
("ncurses" ,ncurses)
("openssl" ,openssl)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("sqlite" ,sqlite)))
(arguments
`(#:configure-flags '("--enable-smtp"
"--enable-imap"
@@ -407,8 +409,11 @@ aliasing facilities to work just as they would on normal mail.")
"--enable-gpgme"
"--enable-hcache" ; for header caching
"--enable-sidebar"
+ "--enable-autocrypt"
"--with-ssl"
"--with-sasl"
+ "--with-sqlite3" ; required for Autocrypt
+ "--with-idn2" ; recommended for Autocrypt
;; so that mutt does not check whether the path
;; exists, which it does not in the chroot
"--with-mailpath=/var/mail")))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index e378e9880b..3ef04d7202 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -2213,7 +2213,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.6.1")
+ (version "1.7.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -2221,7 +2221,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "1shnz429zgl0b4y5bpb61frk1747jwqfahq4hx44c972580zghzh"))))
+ "1pkqrrr51vlxh96vy0c0rf5ijjvymys4brsw9rv1bdp1bb8izw6c"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -5142,7 +5142,7 @@ and as an LV2 plugin.")
(define-public zrythm
(package
(name "zrythm")
- (version "0.7.345")
+ (version "0.7.474")
(source
(origin
(method url-fetch)
@@ -5150,13 +5150,21 @@ and as an LV2 plugin.")
version ".tar.xz"))
(sha256
(base32
- "1csiwq38a1ckx23lairfpl7qjkz71wsa7a9vsxl3k58f9ybibiil"))))
+ "0qq9v8y27zhamcb7nq7pl76874ws8x8cxhp5r685b8binvl9p0az"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:configure-flags
`("-Denable_tests=true" "-Dmanpage=true"
- "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")))
+ "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-xdg-open
+ (lambda _
+ (substitute* "src/utils/io.c"
+ (("OPEN_DIR_CMD")
+ (string-append "\"" (which "xdg-open") "\"")))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
diff --git a/gnu/packages/patches/qemu-CVE-2020-1711.patch b/gnu/packages/patches/qemu-CVE-2020-1711.patch
new file mode 100644
index 0000000000..32d04f61dd
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2020-1711.patch
@@ -0,0 +1,69 @@
+Fix CVE-2020-1711:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1711
+
+Patch copied from upstream source repository:
+
+https://git.qemu.org/?p=qemu.git;a=commitdiff;h=693fd2acdf14dd86c0bf852610f1c2cca80a74dc
+
+From 693fd2acdf14dd86c0bf852610f1c2cca80a74dc Mon Sep 17 00:00:00 2001
+From: Felipe Franciosi <felipe@nutanix.com>
+Date: Thu, 23 Jan 2020 12:44:59 +0000
+Subject: [PATCH] iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
+
+When querying an iSCSI server for the provisioning status of blocks (via
+GET LBA STATUS), Qemu only validates that the response descriptor zero's
+LBA matches the one requested. Given the SCSI spec allows servers to
+respond with the status of blocks beyond the end of the LUN, Qemu may
+have its heap corrupted by clearing/setting too many bits at the end of
+its allocmap for the LUN.
+
+A malicious guest in control of the iSCSI server could carefully program
+Qemu's heap (by selectively setting the bitmap) and then smash it.
+
+This limits the number of bits that iscsi_co_block_status() will try to
+update in the allocmap so it can't overflow the bitmap.
+
+Fixes: CVE-2020-1711
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
+Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com>
+Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
+Signed-off-by: Kevin Wolf <kwolf@redhat.com>
+---
+ block/iscsi.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/block/iscsi.c b/block/iscsi.c
+index 2aea7e3f13..cbd57294ab 100644
+--- a/block/iscsi.c
++++ b/block/iscsi.c
+@@ -701,7 +701,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ struct scsi_get_lba_status *lbas = NULL;
+ struct scsi_lba_status_descriptor *lbasd = NULL;
+ struct IscsiTask iTask;
+- uint64_t lba;
++ uint64_t lba, max_bytes;
+ int ret;
+
+ iscsi_co_init_iscsitask(iscsilun, &iTask);
+@@ -721,6 +721,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ }
+
+ lba = offset / iscsilun->block_size;
++ max_bytes = (iscsilun->num_blocks - lba) * iscsilun->block_size;
+
+ qemu_mutex_lock(&iscsilun->mutex);
+ retry:
+@@ -764,7 +765,7 @@ retry:
+ goto out_unlock;
+ }
+
+- *pnum = (int64_t) lbasd->num_blocks * iscsilun->block_size;
++ *pnum = MIN((int64_t) lbasd->num_blocks * iscsilun->block_size, max_bytes);
+
+ if (lbasd->provisioning == SCSI_PROVISIONING_TYPE_DEALLOCATED ||
+ lbasd->provisioning == SCSI_PROVISIONING_TYPE_ANCHORED) {
+--
+2.25.0
+
diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
index a528ccfcc6..ec17949675 100644
--- a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
+++ b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch
@@ -24,11 +24,11 @@ index 193b6e3..56afc8f 100644
-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
+ cl-heap)
+ :components ((:file "graph")))
-diff --git a/graph.dot.asd b/graph.dot.asd
+diff --git a/graph-dot.asd b/graph-dot.asd
new file mode 100644
index 0000000..12aec7e
--- /dev/null
-+++ b/graph.dot.asd
++++ b/graph-dot.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-dot
+ :depends-on (alexandria
@@ -38,11 +38,11 @@ index 0000000..12aec7e
+ cl-ppcre
+ graph)
+ :components ((:file "dot")))
-diff --git a/graph.json.asd b/graph.json.asd
+diff --git a/graph-json.asd b/graph-json.asd
new file mode 100644
index 0000000..e7d091f
--- /dev/null
-+++ b/graph.json.asd
++++ b/graph-json.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-json
+ :depends-on (alexandria
@@ -52,11 +52,11 @@ index 0000000..e7d091f
+ yason
+ graph)
+ :components ((:file "json")))
-diff --git a/graph.test.asd b/graph.test.asd
+diff --git a/graph-test.asd b/graph-test.asd
new file mode 100644
index 0000000..1e811e1
--- /dev/null
-+++ b/graph.test.asd
++++ b/graph-test.asd
@@ -0,0 +1,10 @@
+(defsystem :graph-test
+ :depends-on (alexandria
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 5651127b38..2bbe6c5bdd 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2020 Amin Bandali <mab@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages dbm)
#:use-module (gnu packages glib)
@@ -365,3 +367,38 @@ install one or more of the following packages alongside pulseaudio-dlna:
@item vorbis-tools - Vorbis transcoding support
@end itemize")
(license l:gpl3+))))
+
+(define-public pamixer
+ (package
+ (name "pamixer")
+ (version "1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cdemoulins/pamixer.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1i14550n8paijwwnhksv5izgfqm3s5q2773bdfp6vyqybkll55f7"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There is no test suite.
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There's no configure phase.
+ (add-before 'install 'mkdir-bin
+ (lambda _
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("pulseaudio" ,pulseaudio)))
+ (home-page "https://github.com/cdemoulins/pamixer")
+ (synopsis "PulseAudio command line mixer")
+ (description
+ "pamixer is like amixer but for PulseAudio, allowing easy control of the
+volume levels of the sinks (get, set, decrease, increase, toggle mute, etc).")
+ (license l:gpl3+)))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 9464021d82..f9981454fb 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -31,6 +31,7 @@
;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3494,3 +3495,81 @@ is part of the Weblate translation platform.")
(description "This package provides an extended library for interacting
with GitLab instances through their API.")
(license license:lgpl3+)))
+
+(define-public python-path-and-address
+ (package
+ (name "python-path-and-address")
+ (version "2.0.1")
+ (source
+ (origin
+ ;; The source distributed on PyPI doesn't include tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joeyespo/path-and-address")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "py.test"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/joeyespo/path-and-address")
+ (synopsis "Functions for command-line server tools used by humans")
+ (description "Path-and-address resolves ambiguities of command-line
+interfaces, inferring which argument is the path, and which is the address.")
+ (license license:expat)))
+
+(define-public grip
+ ;; No release by upstream for quite some time, some bugs fixed since. See:
+ ;; https://github.com/joeyespo/grip/issues/304
+ (let ((commit "27a4d6d87ea1d0ea7f7f120de55baabee3de73e3"))
+ (package
+ (name "grip")
+ (version (git-version "4.5.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joeyespo/grip")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kx5hgb3q19i4l18a4vqdq9af390xgpk88lp2ay75qi96k0dc68w"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docopt" ,python-docopt)
+ ("python-flask" ,python-flask)
+ ("python-markdown" ,python-markdown)
+ ("python-path-and-address" ,python-path-and-address)
+ ("python-pygments" ,python-pygments)
+ ("python-requests" ,python-requests)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-responses" ,python-responses)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (setenv "PATH" (string-append
+ (getenv "PATH") ":"
+ (assoc-ref %outputs "out") "/bin"))
+ (invoke "py.test" "-m" "not assumption"))))))
+ (home-page "https://github.com/joeyespo/grip")
+ (synopsis "Preview Markdown files using the GitHub API")
+ (description "Grip is a command-line server application written in Python
+that uses the GitHub Markdown API to render a local Markdown file. The styles
+and rendering come directly from GitHub, so you'll know exactly how it will
+appear. Changes you make to the file will be instantly reflected in the browser
+without requiring a page refresh.")
+ (license license:expat))))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31aeffa161..dcc1595446 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3079,14 +3079,14 @@ Server (PLS).")
(define-public python-language-server
(package
(name "python-language-server")
- (version "0.31.6")
+ (version "0.31.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
- "0cqrffd5272p2hifa35rf1h1g6dss741jmjkwa43jninifmbz0df"))))
+ "0f8rljff4h2ay9m2n9ang7axai37nzd39zd7m6c90rci5wh8cmxh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
@@ -10432,13 +10432,13 @@ Wikipedia code samples at
(define-public python-cleo
(package
(name "python-cleo")
- (version "0.6.8")
+ (version "0.7.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "cleo" version))
(sha256
(base32
- "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
+ "02dlc0rn43zgvw0s5v4j80bca9n1jfpwy3r78gn9qjgk0qj39kwr"))))
(build-system python-build-system)
(native-inputs
`( ;; For testing
@@ -10447,6 +10447,7 @@ Wikipedia code samples at
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-backpack" ,python-backpack)
+ ("python-clikit" ,python-clikit)
("python-pastel" ,python-pastel)
("python-pylev" ,python-pylev)))
(home-page "https://github.com/sdispater/cleo")
@@ -10462,14 +10463,14 @@ docstring and colored output.")
(define-public python-tomlkit
(package
(name "python-tomlkit")
- (version "0.5.7")
+ (version "0.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomlkit" version))
(sha256
(base32
- "18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
+ "0sf2a4q61kf344hjbw8kb6za1hlccl89j9lzqw0l2zpddp0hrh9j"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
@@ -10529,14 +10530,14 @@ more, possibly remote, memcached servers.")
(define-public python-clikit
(package
(name "python-clikit")
- (version "0.2.4")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "clikit" version))
(sha256
(base32
- "0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
+ "10gab65pq0jdf589n33sj2513pxal2lisl4xwf1ijysdjxmpdr4a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pastel" ,python-pastel)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index d0db693e30..4eef7de5d7 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -423,26 +423,16 @@ key-value pair databases and a real LDAP database.")
(define-public ppp
(package
(name "ppp")
- (version "2.4.7")
+ (version "2.4.8")
(source (origin
- (method url-fetch)
- (uri (string-append "https://www.samba.org/ftp/ppp/ppp-"
- version ".tar.gz"))
- (patches
- (list (origin
- ;; Use OpenSSL for cryptography instead of the obsolete glibc
- ;; crypto functions that were removed in glibc 2.28.
- (method url-fetch)
- (uri (string-append "https://github.com/paulusmack/ppp/commit/"
- "3c7b86229f7bd2600d74db14b1fe5b3896be3875"
- ".patch"))
- (file-name "ppp-use-openssl-crypto.patch")
- (sha256
- (base32
- "0qlbi247lx3injpy8a1gcij9yilik0vfaibkpvdp88k3sa1rs69z")))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/paulusmack/ppp")
+ (commit (string-append "ppp-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0c7vrjxl52pdwi4ckrvfjr08b31lfpgwf3pp0cqy76a77vfs7q02"))))
+ "1i88m79h6g3fzsb4yw3k8bq1grsx3hsyawm7id2vcaab0gfqzjjv"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
diff --git a/gnu/packages/sdr.scm b/gnu/packages/sdr.scm
index f6c9050503..563a9b3887 100644
--- a/gnu/packages/sdr.scm
+++ b/gnu/packages/sdr.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Christopher Howard <christopher@librehacker.com>
+;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,11 +20,9 @@
(define-module (gnu packages sdr)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
- #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
- #:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools))
diff --git a/gnu/packages/stb.scm b/gnu/packages/stb.scm
index 5444347644..9cb2ae10b6 100644
--- a/gnu/packages/stb.scm
+++ b/gnu/packages/stb.scm
@@ -101,3 +101,14 @@ decoding from file or memory. A variety of formats are supported."))
"stb-image-write" "1.13"
"stb-image-write is a small library for writing image files to the
C@tie{}@code{stdio} interface."))
+
+(define-public stb-sprintf
+ (make-stb-header-package
+ "stb-sprintf" "1.06"
+ "stb-sprintf implements fast @code{sprintf}, @code{snprintf} for C/C++."))
+
+(define-public stb-truetype
+ (make-stb-header-package
+ "stb-truetype" "1.22"
+ "stb-truetype is a library for parsing, decoding, and rasterizing
+characters from TrueType fonts."))
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 19d4d670c6..d0b8dd6af4 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
@@ -50,14 +50,14 @@
(define-public tor
(package
(name "tor")
- (version "0.4.2.5")
+ (version "0.4.2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
- "1hnqg6psf7shcmlvfk44mkpaz7v66mify3cnx7mzl23q5s37anad"))))
+ "1i766s211nrbjvwvkd2375mjsbbc28yrg46564rbx6w46cj10005"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm
new file mode 100644
index 0000000000..3b34096fe5
--- /dev/null
+++ b/gnu/packages/unicode.scm
@@ -0,0 +1,149 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages unicode)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system trivial))
+
+(define-public ucd
+ (package
+ (name "ucd")
+ (version "12.0.0")
+ (source
+ (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://www.unicode.org/Public/zipped/" version
+ "/UCD.zip"))
+ (sha256
+ (base32
+ "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((out (string-append %output "/share/ucd")))
+ (use-modules (guix build utils))
+ (mkdir-p out)
+ (copy-recursively (assoc-ref %build-inputs "source") out)
+ #t)))
+ (home-page "https://www.unicode.org")
+ (synopsis "Unicode Character Database")
+ (description
+ "The @dfn{Unicode Character Database} (UCD) consists of a number of data
+files listing Unicode character properties and related data. It also includes
+test data for conformance to several important Unicode algorithms.")
+ (license unicode)))
+
+(define (unicode-emoji-file name version hash)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.unicode.org/Public/emoji/"
+ version
+ "/emoji-" name ".txt"))
+ (sha256 (base32 hash))))
+
+(define-public unicode-emoji
+ (package
+ (name "unicode-emoji")
+ (version "12.0")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((out (string-append %output "/share/unicode/emoji")))
+ (use-modules (guix build utils))
+ (mkdir-p out)
+ (for-each
+ (lambda (input)
+ (copy-file
+ (cdr input)
+ (string-append out "/"
+ (substring (car input) 8) ; strip "unicode-"
+ ".txt")))
+ %build-inputs)
+ #t)))
+ (inputs
+ `(("unicode-emoji-data"
+ ,(unicode-emoji-file
+ "data" version
+ "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv"))
+ ("unicode-emoji-sequences"
+ ,(unicode-emoji-file
+ "sequences" version
+ "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs"))
+ ("unicode-emoji-test"
+ ,(unicode-emoji-file
+ "test" version
+ "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck"))
+ ("unicode-emoji-variation-sequences"
+ ,(unicode-emoji-file
+ "variation-sequences" version
+ "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a"))
+ ("unicode-emoji-zwj-sequences"
+ ,(unicode-emoji-file
+ "zwj-sequences" version
+ "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n"))))
+ (home-page "https://www.unicode.org")
+ (synopsis "Unicode Emoji data")
+ (description
+ "This package includes data files listing characters and sequences, that
+Unicode emoji supporting fonts or keyboards should support according to the
+Unicode Technological Standard #51.")
+ (license unicode)))
+
+(define-public unicode-cldr-common
+ (package
+ (name "unicode-cldr-common")
+ (version "36.0")
+ (source
+ (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://unicode.org/Public/cldr/"
+ (version-major version)
+ "/cldr-common-" version ".zip"))
+ (sha256
+ (base32
+ "0hxsc3j5zb32hmiaj0r3ajchmklx6zng6zlh1ca6s9plq5b9w9q7"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((out (string-append %output "/share/unicode/cldr/common")))
+ (use-modules (guix build utils))
+ (mkdir-p out)
+ (copy-recursively (string-append (assoc-ref %build-inputs "source")
+ "/common")
+ out)
+ #t)))
+ (home-page "https://www.unicode.org")
+ (synopsis "Locale data repository")
+ (description
+ "The Unicode Common Locale Data Repository (CLDR) is a large repository
+of locale data, including among others
+
+@itemize
+@item patterns for formatting and parsing,
+@item name translations,
+@item and various informations on languages, scripts and country-specific
+ conventions.
+@end itemize\n")
+ (license unicode)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 19e6ccb182..843b4e37a2 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2182,14 +2183,14 @@ and custom quantization matrices.")
(define-public streamlink
(package
(name "streamlink")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "0593ffjpz82jrljnzxfafkcmcqad3r1ijjan0hm04xjcnxc9cr00"))))
+ "0cnlg3ra3g6dml4xfy9ysy9b4qwyn458fadd8ac44cfwi3v4gq6y"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index b7e4dfe0c4..3670b396a5 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -115,7 +115,8 @@
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
- (patches (search-patches "qemu-CVE-2020-7039.patch"
+ (patches (search-patches "qemu-CVE-2020-1711.patch"
+ "qemu-CVE-2020-7039.patch"
"qemu-CVE-2020-7211.patch"
"qemu-fix-documentation-build-failure.patch"))
(sha256
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 0c18191cc7..1610561aec 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -276,7 +276,7 @@ access.")
(define-public qutebrowser
(package
(name "qutebrowser")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
@@ -285,7 +285,7 @@ access.")
"qutebrowser-" version ".tar.gz"))
(sha256
(base32
- "1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"))))
+ "1prvd3cysmcjfybn0dmr3ih0bl6lm5ml9i7wd09fn8hb7047mkby"))))
(build-system python-build-system)
(native-inputs
`(("python-attrs" ,python-attrs))) ; for tests
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 15b5dedd16..54c2885a26 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1,16 +1,16 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
@@ -4612,7 +4612,7 @@ tools they trust (e.g. wget).")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"buildsystem-" version ".tar.gz"))
(sha256
(base32
@@ -4625,7 +4625,7 @@ tools they trust (e.g. wget).")
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build))))
- (home-page "http://www.netsurf-browser.org")
+ (home-page "https://www.netsurf-browser.org")
(synopsis "Build system for the Netsurf project")
(description
"This package provides the shared build system for Netsurf project
@@ -4651,7 +4651,7 @@ libraries.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@@ -4662,7 +4662,7 @@ libraries.")
("pkg-config" ,pkg-config)
("perl" ,perl))) ;for test harness
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libparserutils/")
+ (home-page "https://www.netsurf-browser.org/projects/libparserutils/")
(synopsis "Parser building library")
(description
"LibParserUtils is a library for building efficient parsers, written in
@@ -4676,7 +4676,7 @@ C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libhubbub-" version "-src.tar.gz"))
(sha256
(base32
@@ -4692,7 +4692,7 @@ C. It is developed as part of the NetSurf project.")
(propagated-inputs
`(("libparserutils" ,libparserutils))) ;for libhubbub.pc
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/hubbub/")
+ (home-page "https://www.netsurf-browser.org/projects/hubbub/")
(synopsis "HTML5 compliant parsing library")
(description
"Hubbub is an HTML5 compliant parsing library, written in C, which can
@@ -4782,7 +4782,7 @@ commenting.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libwapcaplet-" version "-src.tar.gz"))
(sha256
(base32
@@ -4793,7 +4793,7 @@ commenting.")
("pkg-config" ,pkg-config)
("check" ,check))) ;for tests
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libwapcaplet/")
+ (home-page "https://www.netsurf-browser.org/projects/libwapcaplet/")
(synopsis "String internment library")
(description
"LibWapcaplet provides a reference counted string internment system
@@ -4808,7 +4808,7 @@ developed as part of the Netsurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libcss-" version "-src.tar.gz"))
(sha256
(base32
@@ -4822,7 +4822,7 @@ developed as part of the Netsurf project.")
`(("libparserutils" ,libparserutils)
("libwapcaplet" ,libwapcaplet)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libcss/")
+ (home-page "https://www.netsurf-browser.org/projects/libcss/")
(synopsis "CSS parser and selection library")
(description
"LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,
@@ -4836,7 +4836,7 @@ written in C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libdom-" version "-src.tar.gz"))
(sha256
(base32
@@ -4858,7 +4858,7 @@ written in C. It is developed as part of the NetSurf project.")
(arguments
`(#:tests? #f ;TODO: re-enable. tests take a looong time.
,@netsurf-buildsystem-arguments))
- (home-page "http://www.netsurf-browser.org/projects/libdom/")
+ (home-page "https://www.netsurf-browser.org/projects/libdom/")
(synopsis "Implementation of the W3C DOM")
(description
"LibDOM is an implementation of the W3C DOM, written in C. It is
@@ -4872,7 +4872,7 @@ developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@@ -4887,7 +4887,7 @@ developed as part of the NetSurf project.")
(propagated-inputs
`(("libdom" ,libdom))) ;for libsvgtiny.pc
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libsvgtiny/")
+ (home-page "https://www.netsurf-browser.org/projects/libsvgtiny/")
(synopsis "Library for parsing SVG files")
(description
"Libsvgtiny takes some SVG as input and returns a list of paths and texts
@@ -4903,7 +4903,7 @@ project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@@ -4912,7 +4912,7 @@ project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libnsbmp/")
+ (home-page "https://www.netsurf-browser.org/projects/libnsbmp/")
(synopsis "Decoding library for BMP and ICO files")
(description
"Libnsbmp is a decoding library for BMP and ICO image file formats,
@@ -4926,7 +4926,7 @@ written in C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@@ -4935,7 +4935,7 @@ written in C. It is developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/projects/libnsgif/")
+ (home-page "https://www.netsurf-browser.org/projects/libnsgif/")
(synopsis "Decoding library for GIF files")
(description
"Libnsgif is a decoding library for the GIF image file format, written in
@@ -4949,7 +4949,7 @@ C. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libnslog-" version "-src.tar.gz"))
(sha256
(base32
@@ -4962,7 +4962,7 @@ C. It is developed as part of the NetSurf project.")
("bison" ,bison)
("flex" ,flex)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/")
+ (home-page "https://www.netsurf-browser.org/")
(synopsis "Logging library")
(description
"Libnslog provides a category-based logging library which supports
@@ -4977,7 +4977,7 @@ client applications. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
name "-" version "-src.tar.gz"))
(sha256
(base32
@@ -4986,7 +4986,7 @@ client applications. It is developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/")
+ (home-page "https://www.netsurf-browser.org/")
(synopsis "Utility library for NetSurf")
(description
"Libnsutils provides a small number of useful utility routines. It is
@@ -5000,7 +5000,7 @@ developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"libnspsl-" version "-src.tar.gz"))
(sha256
(base32
@@ -5009,7 +5009,7 @@ developed as part of the NetSurf project.")
(native-inputs
`(("netsurf-buildsystem" ,netsurf-buildsystem)))
(arguments netsurf-buildsystem-arguments)
- (home-page "http://www.netsurf-browser.org/")
+ (home-page "https://www.netsurf-browser.org/")
(synopsis "Library to generate a static Public Suffix List")
(description
"Libnspsl is a library to generate a static code representation of the
@@ -5023,7 +5023,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/libs/releases/"
+ (uri (string-append "https://download.netsurf-browser.org/libs/releases/"
"nsgenbind-" version "-src.tar.gz"))
(sha256
(base32
@@ -5037,7 +5037,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(substitute-keyword-arguments netsurf-buildsystem-arguments
((#:make-flags flags)
`(delete "COMPONENT_TYPE=lib-shared" ,flags))))
- (home-page "http://www.netsurf-browser.org/")
+ (home-page "https://www.netsurf-browser.org/")
(synopsis "Generate JavaScript to DOM bindings")
(description
"@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from
@@ -5051,7 +5051,7 @@ w3c webidl files and a binding configuration file.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.netsurf-browser.org/netsurf/"
+ (uri (string-append "https://download.netsurf-browser.org/netsurf/"
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
@@ -5072,7 +5072,7 @@ w3c webidl files and a binding configuration file.")
("xxd" ,xxd)))
(inputs
`(("curl" ,curl)
- ("gtk+" ,gtk+-2)
+ ("gtk+" ,gtk+)
("openssl" ,openssl)
("utf8proc" ,utf8proc)
("libpng" ,libpng)
@@ -5088,6 +5088,7 @@ w3c webidl files and a binding configuration file.")
("miscfiles" ,miscfiles)))
(arguments
`(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
+ "TARGET=gtk3"
,(string-append "PREFIX=" %output)
,(string-append "NSSHARED="
(assoc-ref %build-inputs
@@ -5120,12 +5121,19 @@ w3c webidl files and a binding configuration file.")
;; Leave the DOCTYPE header as is.
(display (read-line in 'concat) out)
(sxml->xml
- (let rec ((sxml (xml->sxml in)))
+ (let rec ((sxml (xml->sxml in
+ #:default-entity-handler
+ (lambda (port name)
+ (string-append "<ENTITY>"
+ (symbol->string name)
+ "</ENTITY>")))))
;; We'd like to use sxml-match here, but it can't
;; match against generic tag symbols...
(match sxml
(`(div (@ (class "links")) . ,rest)
'())
+ (`(ENTITY ,ent)
+ `(*ENTITY* ,ent))
((x ...)
(map rec x))
(x x)))
@@ -5152,7 +5160,7 @@ w3c webidl files and a binding configuration file.")
(install-file "docs/netsurf-gtk.1"
(string-append out "/share/man/man1/"))
#t))))))
- (home-page "http://www.netsurf-browser.org")
+ (home-page "https://www.netsurf-browser.org")
(synopsis "Web browser")
(description
"NetSurf is a lightweight web browser that has its own layout and
@@ -5357,13 +5365,13 @@ deployments.")
(package
(name "varnish")
(home-page "https://varnish-cache.org/")
- (version "6.3.1")
+ (version "6.3.2")
(source (origin
(method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256
(base32
- "0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni"))))
+ "1f5ahzdh3am6fij5jhiybv3knwl11rhc5r3ig1ybzw55ai7788q8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
@@ -6843,14 +6851,13 @@ features include:
"0s7b5whqsmfa57prbgl66ym551kg6ly0z14h5dgrlx4lqm70y2yw"))))
(build-system trivial-build-system)
(arguments
- `(#:modules ((guix build utils)
- (srfi srfi-1)
- (srfi srfi-26))
+ `(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(srfi srfi-1)
(srfi srfi-26))
+
(let ((source (assoc-ref %build-inputs "source"))
(php-dir (string-append %output "/share/web/" ,name "/")))
;; The cache directory must not be in the store, but in a writable
diff --git a/guix/import/gem.scm b/guix/import/gem.scm
index 0bf9ff2552..bd5d5b3569 100644
--- a/guix/import/gem.scm
+++ b/guix/import/gem.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,28 +21,68 @@
(define-module (guix import gem)
#:use-module (ice-9 match)
- #:use-module (ice-9 pretty-print)
#:use-module (srfi srfi-1)
- #:use-module (rnrs bytevectors)
- #:use-module (json)
- #:use-module (web uri)
+ #:use-module (guix json)
#:use-module ((guix download) #:prefix download:)
#:use-module (guix import utils)
#:use-module (guix import json)
#:use-module (guix packages)
#:use-module (guix upstream)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix base16)
#:use-module (guix base32)
- #:use-module (guix build-system ruby)
+ #:use-module ((guix build-system ruby) #:select (rubygems-uri))
#:export (gem->guix-package
%gem-updater
gem-recursive-import))
+;; Gems as defined by the API at <https://rubygems.org/api/v1/gems>.
+(define-json-mapping <gem> make-gem gem?
+ json->gem
+ (name gem-name) ;string
+ (platform gem-platform) ;string
+ (version gem-version) ;string
+ (authors gem-authors) ;string
+ (licenses gem-licenses "licenses" ;list of strings
+ (lambda (licenses)
+ ;; This is sometimes #nil (the JSON 'null' value). Arrange
+ ;; to always return a list.
+ (cond ((not licenses) '())
+ ((vector? licenses) (vector->list licenses))
+ (else '()))))
+ (info gem-info)
+ (sha256 gem-sha256 "sha" ;bytevector
+ base16-string->bytevector)
+ (home-page gem-home-page "homepage_uri") ;string
+ (dependencies gem-dependencies "dependencies" ;<gem-dependencies>
+ json->gem-dependencies))
+
+(define-json-mapping <gem-dependencies> make-gem-dependencies
+ gem-dependencies?
+ json->gem-dependencies
+ (development gem-dependencies-development ;list of <gem-dependency>
+ "development"
+ json->gem-dependency-list)
+ (runtime gem-dependencies-runtime ;list of <gem-dependency>
+ "runtime"
+ json->gem-dependency-list))
+
+(define (json->gem-dependency-list vector)
+ (if vector
+ (map json->gem-dependency (vector->list vector))
+ '()))
+
+(define-json-mapping <gem-dependency> make-gem-dependency gem-dependency?
+ json->gem-dependency
+ (name gem-dependency-name) ;string
+ (requirements gem-dependency-requirements)) ;string
+
+
(define (rubygems-fetch name)
- "Return an alist representation of the RubyGems metadata for the package NAME,
-or #f on failure."
- (json-fetch
- (string-append "https://rubygems.org/api/v1/gems/" name ".json")))
+ "Return a <gem> record for the package NAME, or #f on failure."
+ (and=> (json-fetch
+ (string-append "https://rubygems.org/api/v1/gems/" name ".json"))
+ json->gem))
(define (ruby-package-name name)
"Given the NAME of a package on RubyGems, return a Guix-compliant name for
@@ -50,41 +91,6 @@ the package."
(snake-case name)
(string-append "ruby-" (snake-case name))))
-(define (hex-string->bytevector str)
- "Convert the hexadecimal encoded string STR to a bytevector."
- (define hex-char->int
- (match-lambda
- (#\0 0)
- (#\1 1)
- (#\2 2)
- (#\3 3)
- (#\4 4)
- (#\5 5)
- (#\6 6)
- (#\7 7)
- (#\8 8)
- (#\9 9)
- (#\a 10)
- (#\b 11)
- (#\c 12)
- (#\d 13)
- (#\e 14)
- (#\f 15)))
-
- (define (read-byte i)
- (let ((j (* 2 i)))
- (+ (hex-char->int (string-ref str (1+ j)))
- (* (hex-char->int (string-ref str j)) 16))))
-
- (let* ((len (/ (string-length str) 2))
- (bv (make-bytevector len)))
- (let loop ((i 0))
- (if (= i len)
- bv
- (begin
- (bytevector-u8-set! bv i (read-byte i))
- (loop (1+ i)))))))
-
(define (make-gem-sexp name version hash home-page synopsis description
dependencies licenses)
"Return the `package' s-expression for a Ruby package with the given NAME,
@@ -97,8 +103,7 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
(uri (rubygems-uri ,name version))
(sha256
(base32
- ,(bytevector->nix-base32-string
- (hex-string->bytevector hash))))))
+ ,(bytevector->nix-base32-string hash)))))
(build-system ruby-build-system)
,@(if (null? dependencies)
'()
@@ -120,31 +125,25 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
(define* (gem->guix-package package-name #:optional (repo 'rubygems) version)
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
`package' s-expression corresponding to that package, or #f on failure."
- (let ((package (rubygems-fetch package-name)))
- (and package
- (let* ((name (assoc-ref package "name"))
- (version (assoc-ref package "version"))
- (hash (assoc-ref package "sha"))
- (synopsis (assoc-ref package "info")) ; nothing better to use
- (description (beautify-description
- (assoc-ref package "info")))
- (home-page (assoc-ref package "homepage_uri"))
- (dependencies-names (map (lambda (dep) (assoc-ref dep "name"))
- (vector->list
- (assoc-ref* package
- "dependencies"
- "runtime"))))
- (dependencies (map (lambda (dep)
- (if (string=? dep "bundler")
- "bundler" ; special case, no prefix
- (ruby-package-name dep)))
- dependencies-names))
- (licenses (map string->license
- (vector->list
- (assoc-ref package "licenses")))))
- (values (make-gem-sexp name version hash home-page synopsis
- description dependencies licenses)
- dependencies-names)))))
+ (let ((gem (rubygems-fetch package-name)))
+ (if gem
+ (let* ((dependencies-names (map gem-dependency-name
+ (gem-dependencies-runtime
+ (gem-dependencies gem))))
+ (dependencies (map (lambda (dep)
+ (if (string=? dep "bundler")
+ "bundler" ; special case, no prefix
+ (ruby-package-name dep)))
+ dependencies-names))
+ (licenses (map string->license (gem-licenses gem))))
+ (values (make-gem-sexp (gem-name gem) (gem-version gem)
+ (gem-sha256 gem) (gem-home-page gem)
+ (gem-info gem)
+ (beautify-description (gem-info gem))
+ dependencies
+ licenses)
+ dependencies-names))
+ (values #f '()))))
(define (guix-package->gem-name package)
"Given a PACKAGE built from rubygems.org, return the name of the
@@ -185,9 +184,9 @@ package on RubyGems."
(define (latest-release package)
"Return an <upstream-source> for the latest release of PACKAGE."
(let* ((gem-name (guix-package->gem-name package))
- (metadata (rubygems-fetch gem-name))
- (version (assoc-ref metadata "version"))
- (url (rubygems-uri gem-name version)))
+ (gem (rubygems-fetch gem-name))
+ (version (gem-version gem))
+ (url (rubygems-uri gem-name version)))
(upstream-source
(package (package-name package))
(version version)
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index 354cae9c4c..6897f42be3 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -363,7 +364,11 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(receive (guix-dependencies upstream-dependencies)
(compute-inputs source-url wheel-url temp)
(match guix-dependencies
- ((required-inputs test-inputs)
+ ((required-inputs native-inputs)
+ (when (string-suffix? ".zip" source-url)
+ (set! native-inputs (cons
+ '("unzip" ,unzip)
+ native-inputs)))
(values
`(package
(name ,(python->package-name name))
@@ -371,20 +376,29 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(source
(origin
(method url-fetch)
- ;; PyPI URL are case sensitive, but sometimes a project
- ;; named using mixed case has a URL using lower case, so
- ;; we must work around this inconsistency. For actual
- ;; examples, compare the URLs of the "Deprecated" and
- ;; "uWSGI" PyPI packages.
- (uri ,(if (string-contains source-url name)
- `(pypi-uri ,name version)
- `(pypi-uri ,(string-downcase name) version)))
+ (uri (pypi-uri
+ ;; PyPI URL are case sensitive, but sometimes
+ ;; a project named using mixed case has a URL
+ ;; using lower case, so we must work around this
+ ;; inconsistency. For actual examples, compare
+ ;; the URLs of the "Deprecated" and "uWSGI" PyPI
+ ;; packages.
+ ,(if (string-contains source-url name)
+ name
+ (string-downcase name))
+ version
+ ;; Some packages have been released as `.zip`
+ ;; instead of the more common `.tar.gz`. For
+ ;; example, see "path-and-address".
+ ,@(if (string-suffix? ".zip" source-url)
+ '(".zip")
+ '())))
(sha256
(base32
,(guix-hash-url temp)))))
(build-system python-build-system)
,@(maybe-inputs required-inputs 'propagated-inputs)
- ,@(maybe-inputs test-inputs 'native-inputs)
+ ,@(maybe-inputs native-inputs 'native-inputs)
(home-page ,home-page)
(synopsis ,synopsis)
(description ,description)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index a44a5bac0d..9153c3ccae 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -85,6 +85,7 @@
silofl1.1
sleepycat
tcl/tk
+ unicode
unlicense
vim
w3c
@@ -584,6 +585,11 @@ at URI, which may be a file:// URI pointing the package's tree."
"http://directory.fsf.org/wiki/License:Vim7.2"
"http://www.gnu.org/licenses/license-list.html#Vim"))
+(define unicode
+ (license "Unicode"
+ "https://directory.fsf.org/wiki/License:Unicode"
+ "http://www.gnu.org/licenses/license-list.html#Unicode"))
+
(define unlicense
(license "Unlicense"
"https://unlicense.org/"
diff --git a/tests/gem.scm b/tests/gem.scm
index 5158238d18..455fc15189 100644
--- a/tests/gem.scm
+++ b/tests/gem.scm
@@ -55,7 +55,7 @@
{ \"name\": \"bundler\" },
]
},
- \"licenses\": [\"MIT\", \"Apache 2.0\"]
+ \"licenses\": null
}")
(define test-bundler-json
@@ -138,7 +138,7 @@
('synopsis "Another cool gem")
('description "Another cool gem")
('home-page "https://example.com")
- ('license ('list 'license:expat 'license:asl2.0)))
+ ('license #f)) ;no licensing info
('package
('name "ruby-bundler")
('version "1.14.2")
diff --git a/tests/graph.scm b/tests/graph.scm
index b7732ec709..402847102f 100644
--- a/tests/graph.scm
+++ b/tests/graph.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -195,7 +195,7 @@ edges."
(let-values (((dune bap ocaml-base)
(values (specification->package "dune")
(specification->package "bap")
- (specification->package "ocaml-base")))
+ (specification->package "ocaml4.07-base")))
((backend nodes+edges) (make-recording-backend)))
(run-with-store %store
(export-graph (list dune) 'port