diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 2 | ||||
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 39 | ||||
-rw-r--r-- | gnu/packages/haskell-apps.scm | 4 | ||||
-rw-r--r-- | gnu/packages/ibus.scm | 43 | ||||
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 134 | ||||
-rw-r--r-- | gnu/packages/patches/qemu-CVE-2020-1711.patch | 69 | ||||
-rw-r--r-- | gnu/packages/patches/sbcl-graph-asdf-definitions.patch | 12 | ||||
-rw-r--r-- | gnu/packages/python-web.scm | 79 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 4 | ||||
-rw-r--r-- | gnu/packages/unicode.scm | 149 | ||||
-rw-r--r-- | gnu/packages/virtualization.scm | 3 | ||||
-rw-r--r-- | gnu/packages/web-browsers.scm | 4 | ||||
-rw-r--r-- | gnu/packages/web.scm | 72 |
13 files changed, 516 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 |