summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/emacs-xyz.scm39
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/ibus.scm43
-rw-r--r--gnu/packages/lisp-xyz.scm134
-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/python-web.scm79
-rw-r--r--gnu/packages/python-xyz.scm4
-rw-r--r--gnu/packages/unicode.scm149
-rw-r--r--gnu/packages/virtualization.scm3
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/web.scm72
-rw-r--r--guix/licenses.scm6
14 files changed, 522 insertions, 98 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1040e4dafd..65b62e2e58 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 \
@@ -1348,6 +1349,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/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8adcf84f5d..e3100cc62f 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
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/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 936fcaae38..737ab6cae9 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -1821,8 +1821,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 +2476,7 @@ non-consing thread safe queues and fibonacci priority queues.")
(define sbcl-cffi-bootstrap
(package
(name "sbcl-cffi-bootstrap")
- (version "0.20.1")
+ (version "0.21.0")
(source
(origin
(method git-fetch)
@@ -2482,7 +2485,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 "1bzgdwd5yzkv9hwnxg6lqyh5z1vjgjyrl12c72afj7hxziadccm8"))))
+ (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("libffi" ,libffi)
@@ -7435,7 +7438,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 +7463,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 +7480,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 +10046,120 @@ 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))
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/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 2024d07d46..67d0582a4f 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)
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/virtualization.scm b/gnu/packages/virtualization.scm
index 60bbe8244c..e16405fc9c 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 1a492cab30..1983b65e51 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 2336555829..cd83613c6e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6,11 +6,11 @@
;;; 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>
@@ -4614,7 +4614,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
@@ -4627,7 +4627,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
@@ -4653,7 +4653,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
@@ -4664,7 +4664,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
@@ -4678,7 +4678,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
@@ -4694,7 +4694,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
@@ -4784,7 +4784,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
@@ -4795,7 +4795,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
@@ -4810,7 +4810,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
@@ -4824,7 +4824,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,
@@ -4838,7 +4838,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
@@ -4860,7 +4860,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
@@ -4874,7 +4874,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
@@ -4889,7 +4889,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
@@ -4905,7 +4905,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
@@ -4914,7 +4914,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,
@@ -4928,7 +4928,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
@@ -4937,7 +4937,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
@@ -4951,7 +4951,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
@@ -4964,7 +4964,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
@@ -4979,7 +4979,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
@@ -4988,7 +4988,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
@@ -5002,7 +5002,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
@@ -5011,7 +5011,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
@@ -5025,7 +5025,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
@@ -5039,7 +5039,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
@@ -5053,7 +5053,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
@@ -5074,7 +5074,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)
@@ -5090,6 +5090,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
@@ -5122,12 +5123,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)))
@@ -5154,7 +5162,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
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/"