diff options
36 files changed, 1002 insertions, 234 deletions
diff --git a/NEWS b/NEWS index 62b599c9c9..122c184f65 100644 --- a/NEWS +++ b/NEWS @@ -69,8 +69,19 @@ guix-build-coordinator-agent, guix-build-coordinator-queue-builds, hostapd, hurd-console, hurd-getty, hurd-vm, lxqt, rshiny, secret-service, simulated-wifi, udev-rules, unattended-upgrade, webssh, zram -*** XXX new packages -*** XXX package updates +*** 1999 new packages +*** 3652 package updates + +Noteworthy updates: +bash 5.0.16, binutils 2.34, cups 2.3.3, emacs 27.1, enlightenment 0.24.2, +gcc-toolchain 10.2.0, gdb 10.1, ghc 8.8.3, gimp 2.10.22, glibc 2.31, +gnome 3.34.2, gnupg 2.2.23, go 1.14.10, guile 3.0.4, +icecat 78.4.0-guix0-preview1, inkscape 1.0.1, julia 1.5.2, +libreoffice 6.4.6.2, linux-libre 5.9.3, mate 1.24.1, ocaml 4.09.0, +openjdk 14.0, perl 5.30.2, python2 2.7.17, python 3.8.2, racket 7.8, +rust 1.46.0, r 4.0.3, sbcl 2.0.10, shepherd 0.8.1, xfce 4.14.2, +xorg-server 1.20.8 + ** Programming interfaces *** New ‘maven-build-system’, for packages built with Maven @@ -144,7 +155,15 @@ simulated-wifi, udev-rules, unattended-upgrade, webssh, zram (<https://bugs.gnu.org/43744>) ** Native language support -*** TODO populate +*** Updated translations of the manual + +The manual is fully translated into French, German, and Spanish, and has +preliminary translations into Chinese and Russian. + +*** Updated translations of messages + +This version of Guix is fully translated in French, German, and Spanish, and +partially translated in 11 other languages. * Changes in 1.1.0 (since 1.0.1) ** Package management diff --git a/etc/snippets/text-mode/guix-commit-message-add-cl-package b/etc/snippets/text-mode/guix-commit-message-add-cl-package new file mode 100644 index 0000000000..b0f7ef65e3 --- /dev/null +++ b/etc/snippets/text-mode/guix-commit-message-add-cl-package @@ -0,0 +1,13 @@ +# -*- mode: snippet -*- +# name: guix-commit-message-add-cl-package +# key: addcl +# condition: git-commit-mode +# -- +gnu: Add ${1:`(with-temp-buffer + (magit-git-wash #'magit-diff-wash-diffs + "diff" "--staged") + (beginning-of-buffer) + (when (search-forward "+(define-public " nil 'noerror) + (thing-at-point 'sexp 'no-properties)))`}. + +* `(car (magit-staged-files))` (${1:$(replace-regexp-in-string (rx line-start "sbcl" (optional "-cl")) "cl" yas-text)}, ${1:$(replace-regexp-in-string "^sbcl" "ecl" yas-text)}, $1): New variables. \ No newline at end of file diff --git a/etc/snippets/text-mode/guix-commit-message-add-package b/etc/snippets/text-mode/guix-commit-message-add-package index 0dff2cbcf5..e54a06de7e 100644 --- a/etc/snippets/text-mode/guix-commit-message-add-package +++ b/etc/snippets/text-mode/guix-commit-message-add-package @@ -7,7 +7,7 @@ gnu: Add ${1:`(with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (beginning-of-buffer) - (when (search-forward "(define-public " nil 'noerror) + (when (search-forward "+(define-public " nil 'noerror) (thing-at-point 'sexp 'no-properties)))`}. * `(car (magit-staged-files))` ($1): New variable. \ No newline at end of file diff --git a/gnu/local.mk b/gnu/local.mk index 49d7ea93b3..c095a5e86a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -934,6 +934,7 @@ dist_patch_DATA = \ %D%/packages/patches/ecl-16-format-directive-limit.patch \ %D%/packages/patches/ecl-16-ignore-stderr-write-error.patch \ %D%/packages/patches/ecl-16-libffi.patch \ + %D%/packages/patches/eigen-remove-openmp-error-counting.patch \ %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ @@ -1312,6 +1313,7 @@ dist_patch_DATA = \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ + %D%/packages/patches/lsof-fatal-test-failures.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ %D%/packages/patches/lua51-liblua-so.patch \ @@ -1389,6 +1391,7 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nyacc-binary-literals.patch \ %D%/packages/patches/ocaml-bitstring-fix-configure.patch \ + %D%/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \ %D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \ @@ -1526,6 +1529,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python-pycrypto-time-clock.patch \ + %D%/packages/patches/python-pydot-regression-test.patch \ %D%/packages/patches/python2-pygobject-2-deprecation.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-robotframework-source-date-epoch.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 1ea6f975ff..20d5978e6d 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -443,7 +443,7 @@ graphs and can export its output to different formats.") (define-public facter (package (name "facter") - (version "4.0.44") + (version "4.0.46") (source (origin (method git-fetch) (uri (git-reference @@ -452,7 +452,7 @@ graphs and can export its output to different formats.") (file-name (git-file-name name version)) (sha256 (base32 - "0cs4cr5xc3yvnln9k3gdhypnq6iw4zfrhqrhslvli11l9mwdbjwn")))) + "1pi93i1jfpmxxw22b5r4gyx5jzgrammlrjzhjr3q2bpn3kcas91j")))) (build-system ruby-build-system) (arguments `(#:phases diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 1c485a3f07..5b391449a0 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1017,7 +1017,8 @@ Optional thin wrappers allow usage of the library from other languages.") (base32 "1vxrsncfnkyq6gwxpsannpryp12mk7lc8f42ybvz3saf7icwc582")) (file-name (string-append name "-" version ".tar.bz2")) - (patches (search-patches "eigen-stabilise-sparseqr-test.patch")) + (patches (search-patches "eigen-remove-openmp-error-counting.patch" + "eigen-stabilise-sparseqr-test.patch")) (modules '((guix build utils))) (snippet ;; There are 3 test failures in the "unsupported" directory, diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index df8b8efcf1..852b56e80f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4086,14 +4086,14 @@ on the ALSA software PCM plugin.") (define-public snd (package (name "snd") - (version "20.8") + (version "20.9") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "1hw81innyyiwiyb8jkpq9aj7idmcb41yvgd1blac997023h78sss")))) + "0jxkycxn6jcbs4gklk9sk3gfr0y26dz1m71nxah9rnx80wnzj6hr")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 64058f1233..419ffc55e8 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -82,7 +82,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.8.15") + (version "0.8.17") (source (origin (method url-fetch) @@ -91,7 +91,7 @@ "-series/" version "/+download/duplicity-" version ".tar.gz")) (sha256 - (base32 "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc")))) + (base32 "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2")))) (build-system python-build-system) (native-inputs `(("gettext" ,gettext-minimal) ; for msgfmt diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 01c45fcc96..b051389ae2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl> +;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,6 +103,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) + #:use-module (gnu packages node) #:use-module (gnu packages ocaml) #:use-module (gnu packages pcre) #:use-module (gnu packages parallel) @@ -112,10 +114,12 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) @@ -2579,6 +2583,132 @@ accessing bigWig files.") (define-public python2-pybigwig (package-with-python2 python-pybigwig)) +(define-public python-schema-salad + (package + (name "python-schema-salad") + (version "7.0.20200811075006") + (source + (origin + (method url-fetch) + (uri (pypi-uri "schema-salad" version)) + (sha256 + (base32 + "0wanbwmqb189x1m0vacnhpivfsr8rwbqknngivzxxs8j46yj80bg")))) + (build-system python-build-system) + (propagated-inputs + `(("python-cachecontrol" ,python-cachecontrol-0.11) + ("python-lockfile" ,python-lockfile) + ("python-mistune" ,python-mistune) + ("python-rdflib" ,python-rdflib) + ("python-rdflib-jsonld" ,python-rdflib-jsonld) + ("python-requests" ,python-requests) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-typing-extensions" ,python-typing-extensions))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/common-workflow-language/schema_salad") + (synopsis "Schema Annotations for Linked Avro Data (SALAD)") + (description + "Salad is a schema language for describing JSON or YAML structured linked +data documents. Salad schema describes rules for preprocessing, structural +validation, and hyperlink checking for documents described by a Salad schema. +Salad supports rich data modeling with inheritance, template specialization, +object identifiers, object references, documentation generation, code +generation, and transformation to RDF. Salad provides a bridge between document +and record oriented data modeling and the Semantic Web.") + (license license:asl2.0))) + +(define-public cwltool + (package + (name "cwltool") + (version "3.0.20201121085451") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/common-workflow-language/cwltool") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1awf99n7aglxc5zszrlrv6jxp355jp45ws7wpsgjlgcdv7advn0w")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'loosen-version-restrictions + (lambda _ + (substitute* "setup.py" + (("== 1.5.1") ">=1.5.1") ; prov + ((", < 3.5") "")) ; shellescape + #t)) + (add-after 'unpack 'dont-use-git + (lambda _ + (substitute* "gittaggers.py" + (("self.git_timestamp_tag\\(\\)") + (string-append "time.strftime('.%Y%m%d%H%M%S', time.gmtime(int(" + (string-drop ,version 4) ")))"))) + #t)) + (add-after 'unpack 'modify-tests + (lambda _ + ;; Tries to connect to the internet. + (delete-file "tests/test_udocker.py") + (delete-file "tests/test_http_input.py") + (substitute* "tests/test_load_tool.py" + (("def test_load_graph_fragment_from_packed") + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + "def test_load_graph_fragment_from_packed"))) + (substitute* "tests/test_examples.py" + (("def test_env_filtering") + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + "def test_env_filtering"))) + ;; Tries to use cwl-runners. + (substitute* "tests/test_examples.py" + (("def test_v1_0_arg_empty_prefix_separate_false") + (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" + "def test_v1_0_arg_empty_prefix_separate_false"))) + #t))))) + (propagated-inputs + `(("python-argcomplete" ,python-argcomplete) + ("python-bagit" ,python-bagit) + ("python-coloredlogs" ,python-coloredlogs) + ("python-mypy-extensions" ,python-mypy-extensions) + ("python-prov" ,python-prov) + ("python-pydot" ,python-pydot) + ("python-psutil" ,python-psutil) + ("python-rdflib" ,python-rdflib) + ("python-requests" ,python-requests) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-schema-salad" ,python-schema-salad) + ("python-shellescape" ,python-shellescape) + ("python-typing-extensions" ,python-typing-extensions) + ;; Not listed as needed but still necessary: + ("node" ,node))) + (native-inputs + `(("python-arcp" ,python-arcp) + ("python-humanfriendly" ,python-humanfriendly) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-mock" ,python-pytest-mock) + ("python-pytest-runner" ,python-pytest-runner) + ("python-rdflib-jsonld" ,python-rdflib-jsonld))) + (home-page + "https://github.com/common-workflow-language/common-workflow-language") + (synopsis "Common Workflow Language reference implementation") + (description + "This is the reference implementation of the @acronym{CWL, Common Workflow +Language} standards. The CWL open standards are for describing analysis +workflows and tools in a way that makes them portable and scalable across a +variety of software and hardware environments, from workstations to cluster, +cloud, and high performance computing (HPC) environments. CWL is designed to +meet the needs of data-intensive science, such as Bioinformatics, Medical +Imaging, Astronomy, Physics, and Chemistry. The @acronym{cwltool, CWL reference +implementation} is intended to be feature complete and to provide comprehensive +validation of CWL files as well as provide other tools related to working with +CWL descriptions.") + (license license:asl2.0))) + (define-public python-dendropy (package (name "python-dendropy") diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 12bc39322f..2e9709982f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -138,14 +138,15 @@ ;; These variables need to be set to the native versions ;; of the dependencies because they are used to build ;; programs which are executed during build time. - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (let ((freetype (assoc-ref (or native-inputs inputs) "freetype"))) - (setenv "BUILD_FREETYPE_LIBS" - (string-append "-L" freetype - "/lib -lfreetype")) - (setenv "BUILD_FREETYPE_CFLAGS" - (string-append "-I" freetype - "/include/freetype2"))) + (lambda* (#:key native-inputs #:allow-other-keys) + (when (assoc-ref native-inputs "freetype") + (let ((freetype (assoc-ref native-inputs "freetype"))) + (setenv "BUILD_FREETYPE_LIBS" + (string-append "-L" freetype + "/lib -lfreetype")) + (setenv "BUILD_FREETYPE_CFLAGS" + (string-append "-I" freetype + "/include/freetype2")))) #t)) (add-before 'check 'disable-flaky-test (lambda _ diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 3d6a1b03ec..73ef209100 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -27,9 +27,11 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages assembly) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages build-tools) #:use-module (gnu packages compression) @@ -141,6 +143,7 @@ "third_party/depot_tools/owners.py" ;BSD-3 "third_party/devtools-frontend" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat "third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat @@ -150,8 +153,8 @@ "third_party/devtools-frontend/src/front_end/third_party/lit-html" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/lodash-isequal" ;Expat "third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3 + "third_party/devtools-frontend/src/front_end/third_party/puppeteer" ;ASL2.0 "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 - "third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 "third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0 "third_party/dom_distiller_js" ;BSD-3 @@ -219,6 +222,7 @@ "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 + "third_party/private_membership" ;ASL2.0 "third_party/private-join-and-compute" ;ASL2.0 "third_party/protobuf" ;BSD-3 "third_party/protobuf/third_party/six" ;Expat @@ -231,6 +235,8 @@ "third_party/s2cellid" ;ASL2.0 "third_party/schema_org" ;CC-BY-SA3.0 "third_party/securemessage" ;ASL2.0 + "third_party/shaka-player" ;ASL2.0 + "third_party/shell-encryption" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 "third_party/skia/third_party/skcms" ;BSD-3 @@ -252,6 +258,8 @@ "third_party/usb_ids" ;BSD-3 "third_party/usrsctp" ;BSD-2 "third_party/vulkan_memory_allocator" ;Expat + "third_party/wayland/protocol" ;Expat + "third_party/wayland/stubs" ;BSD-3, Expat "third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3 "third_party/wayland-protocols" ;Expat "third_party/web-animations-js" ;ASL2.0 @@ -294,17 +302,9 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define (arch-patch name revision hash) - (origin - (method url-fetch) - (uri (string-append "https://raw.githubusercontent.com/archlinux" - "/svntogit-packages/" revision "/trunk/" name)) - (sha256 (base32 hash)))) - -(define %chromium-version "86.0.4240.198") -(define %ungoogled-revision "b68e17f32e9eff56615a07b44e457835bb9460c6") +(define %chromium-version "87.0.4280.66") +(define %ungoogled-revision "1f7cdef6dfa8f612afde8f988131f210612333e0") (define %debian-revision "debian/84.0.4147.105-1") -(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9") (define %debian-patches (list (debian-patch "system/zlib.patch" %debian-revision @@ -312,17 +312,6 @@ (debian-patch "system/openjpeg.patch" %debian-revision "0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j"))) -(define %arch-patches - (list (arch-patch "check-for-enable-accelerated-video-decode-on-Linux.patch" - %arch-revision - "12qj23dcp2g2ivyfyj13m4fzf68nllb9djwcxf1h195gn8wkml03") - (arch-patch "only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch" - %arch-revision - "0073qjp0dp9kj2ix2j6cxrima01rpdpkcjj9crxlb9b43b4cc53m") - (arch-patch "fix-invalid-end-iterator-usage-in-CookieMonster.patch" - %arch-revision - "1p1wy3dfncw0hhz77a1km0xjhix69ksgbpa569qz86nv76jbgn39"))) - (define %ungoogled-origin (origin (method git-fetch) @@ -332,7 +321,7 @@ (string-take %ungoogled-revision 7))) (sha256 (base32 - "0visyhz321ykrmbjndvx31yd8xlmha9gas0xbkavc2i45rpfahjq")))) + "1cka9h7znkmilz9ld4s8pw1jjq2p7br03g3agcnqrk591y5h141i")))) (define %guix-patches (list (local-file @@ -363,8 +352,7 @@ (for-each (lambda (patch) (invoke "patch" "-p1" "--force" "--input" patch "--no-backup-if-mismatch")) - (append '#+%debian-patches '#+%arch-patches - '#+%guix-patches)) + (append '#+%debian-patches '#+%guix-patches)) (with-directory-excursion #+%ungoogled-origin (format #t "Ungooglifying...~%") @@ -455,7 +443,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "0i3s1il0x5yi3528gdsg3bhnyhs2x24zh7p1nd5apv3va9g85ax0")) + "0hgpg31gkksqgyvycsan7l7vjypc7cr6ikjfygf2zv7dhbmf9a19")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -469,7 +457,7 @@ #:configure-flags ;; See tools/gn/docs/cookbook.md and ;; https://www.chromium.org/developers/gn-build-configuration - ;; for usage. Run "./gn args . --list" in the Release + ;; for usage. Run "gn args . --list" in the Release ;; directory for an exhaustive list of supported flags. ;; (Note: The 'configure' phase will do that for you.) (list "is_debug=false" @@ -477,8 +465,10 @@ ;; a developer build. "is_official_build=true" (string-append "max_jobs_per_link=" - (number->string (parallel-job-count))) + ;; Respect the default cap of 8 jobs. + (number->string (max 8 (parallel-job-count)))) "clang_use_chrome_plugins=false" + "chrome_pgo_phase=0" "use_sysroot=false" "goma_dir=\"\"" "enable_nacl=false" @@ -512,6 +502,11 @@ "use_system_libjpeg=true" "use_system_libopenjpeg2=true" "use_system_libpng=true" + "use_system_wayland_scanner=true" + (string-append "system_wayland_scanner_path=\"" + (assoc-ref %build-inputs "wayland-scanner") + "/bin/wayland-scanner\"") + "use_system_zlib=true" "use_gnome_keyring=false" ;deprecated by libsecret "use_openh264=true" @@ -535,6 +530,8 @@ ;; WebRTC stuff. "rtc_use_h264=true" + "rtc_use_pipewire=true" + "rtc_link_pipewire=true" ;; Don't use bundled sources. "rtc_build_json=true" ;FIXME: libc++ std::string ABI difference "rtc_build_libevent=false" @@ -790,7 +787,8 @@ ("python-beautifulsoup4" ,python2-beautifulsoup4) ("python-html5lib" ,python2-html5lib) - ("python" ,python-2))) + ("python" ,python-2) + ("wayland-scanner" ,wayland))) (inputs `(("alsa-lib" ,alsa-lib) ("atk" ,atk) @@ -840,12 +838,14 @@ ("opus" ,opus+custom) ("pango" ,pango) ("pciutils" ,pciutils) + ("pipewire" ,pipewire) ("pulseaudio" ,pulseaudio) ("snappy" ,snappy) ("speech-dispatcher" ,speech-dispatcher) ("udev" ,eudev) ("valgrind" ,valgrind) - ("vulkan-headers" ,vulkan-headers))) + ("vulkan-headers" ,vulkan-headers) + ("wayland" ,wayland))) (native-search-paths (list (search-path-specification (variable "CHROMIUM_EXTENSION_DIRECTORY") @@ -878,24 +878,46 @@ disabled in order to protect the users privacy.") license:lgpl2.1+)))) (define-public ungoogled-chromium/wayland - (package/inherit ungoogled-chromium + (package + (inherit ungoogled-chromium) (name "ungoogled-chromium-wayland") + (native-inputs '()) (inputs - `(("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols) - ,@(package-inputs ungoogled-chromium))) + `(("bash" ,bash-minimal) + ("glibc-locales" ,glibc-utf8-locales) + ("ungoogled-chromium" ,ungoogled-chromium))) + (build-system trivial-build-system) (arguments - (substitute-keyword-arguments (package-arguments ungoogled-chromium) - ((#:configure-flags flags) - `(append (list "use_ozone=true" - "ozone_platform_wayland=true" - "ozone_platform_x11=true" - "ozone_auto_platforms=false" - "ozone_platform=\"wayland\"" - "use_xkbcommon=true" - "use_system_minigbm=true" - "use_system_libwayland=true" - (string-append "system_wayland_scanner_path=\"" - (assoc-ref %build-inputs "wayland") - "/bin/wayland-scanner\"")) - (delete "use_vaapi=true" ,flags))))))) + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((bash (assoc-ref %build-inputs "bash")) + (chromium (assoc-ref %build-inputs "ungoogled-chromium")) + (locales (assoc-ref %build-inputs "glibc-locales")) + (out (assoc-ref %outputs "out")) + (exe (string-append out "/bin/chromium"))) + + ;; Use a Unicode locale so we can substitute the file below. + (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")) + (setlocale LC_ALL "en_US.utf8") + + (mkdir-p (dirname exe)) + (symlink (string-append chromium "/bin/chromedriver") + (string-append out "/bin/chromedriver")) + + (call-with-output-file exe + (lambda (port) + (format port "#!~a +exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland $@" + (string-append bash "/bin/bash") + (string-append chromium "/bin/chromium")))) + (chmod exe #o555) + + ;; Provide the manual and .desktop file. + (copy-recursively (string-append chromium "/share") + (string-append out "/share")) + (substitute* (string-append + out "/share/applications/chromium.desktop") + ((chromium) out)) + #t)))))) diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 90db1a2d42..605a922768 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm @@ -26,6 +26,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages check) @@ -41,7 +42,9 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xorg)) (define-public djvulibre @@ -77,7 +80,7 @@ utilities.") (define-public djview (package (name "djview") - (version "4.11") + (version "4.12") (source (origin (method git-fetch) @@ -85,7 +88,7 @@ utilities.") (url "https://git.code.sf.net/p/djvu/djview-git") (commit (string-append "release." version)))) (sha256 - (base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy")) + (base32 "0mn9ywjbc7iga50lbjclrk892g0x0rap0dmb6ybzjyarybdhhcxp")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -272,3 +275,36 @@ encoder/decoder. It doesn't support colors or grayscales, just black and white.") (home-page "https://sourceforge.net/projects/minidjvu/") (license license:gpl2))) + +(define-public djvusmooth + (package + (name "djvusmooth") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/jwilk/djvusmooth/releases/download/" version + "/djvusmooth-" version ".tar.gz")) + (sha256 + (base32 "0z403cklvxzz0qaczgv83ax0nknrd9h8micp04j9kjfdxk2sgval")))) + (build-system python-build-system) + (inputs + `(("djvulibre" ,djvulibre) + ("python2-djvulibre" ,python2-djvulibre) + ("python2-subprocess32" ,python2-subprocess32) + ("python2-wxpython" ,python2-wxpython))) + (arguments + `(#:python ,python-2)) + (synopsis "Graphical editor for DjVu documents") + (description + "@code{djvusmooth} is a graphical editor for DjVu_ documents. +It is able to: +@itemize +@item edit document metadata, +@item edit document outline (bookmarks), +@item add, remove or edit hyperlinks, +@item correct occasional errors in the hidden text layer. +@end itemize\n") + (home-page "https://jwilk.net/software/djvusmooth") + (license license:gpl2))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 885487bf17..5f49c64bb7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3074,6 +3074,40 @@ adding convenient undo/redo without losing access to the full undo history, allowing you to visit all previous states of the document if you need.") (license license:gpl3+)))) +(define-public emacs-undo-fu-session + ;; There are no tagged releases upstream on gitlab, instead we are using the + ;; most recent commit. + (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829") + (revision "0")) + (package + (name "emacs-undo-fu-session") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" "-l" "undo-fu-session.el" + "-l" "undo-fu-session-test.el") + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (synopsis "Save & recover undo steps between Emacs sessions") + (description "This package writes undo/redo information upon file save +which is restored where possible when the file is loaded again.") + (license license:gpl3+)))) + (define-public emacs-s (package (name "emacs-s") @@ -6719,6 +6753,33 @@ background of file-visiting buffers (and certain aspects of the UI) to make them easier to distinguish from other, less important buffers.") (license license:expat))) +(define-public emacs-embark + ;; There are no tagged releases upstream on GitHub, instead we are using the + ;; most recent commit. + (let ((commit "dc20b4e53c4ce1ad91100dfeb093115f2cc0b210") + (revision "0")) + (package + (name "emacs-embark") + (version (git-version "0.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oantolin/embark") + (commit commit))) + (sha256 + (base32 "1jrvdlwip7zll5ixlnk9l0apr8hj60ysqfc47q3k4hhfyl9rawbq")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-avy" ,emacs-avy))) + (home-page "https://github.com/oantolin/embark") + (synopsis "Emacs mini-buffer actions rooted in keymaps") + (description "This package provides a command embark-act (and a variant +embark-act-noexit), to execute actions on the top minibuffer completion +canidate: the one that would be chosen by minibuffer-force-complete.") + (license license:gpl3+)))) + (define-public emacs-prescient (package (name "emacs-prescient") @@ -6770,6 +6831,29 @@ marginal benefit compared to the additional complexity of a new interface.") (license license:expat))) +(define-public emacs-orderless + (package + (name "emacs-orderless") + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oantolin/orderless") + (commit version))) + (sha256 + (base32 "032lfwflkpaxbcxl4jf438vapswsdagipjczcn30sc4dfdh3p42c")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/oantolin/orderless") + (synopsis "Emacs completion style that matches multiple regexps in any order") + (description "This package provides an orderless completion style that +divides the pattern into space-separated components, and matches candidates +that match all of the components in any order. Each component can match in +any one of several ways: literally, as a regexp, as an initialism, in the flex +style, or as multiple word prefixes.") + (license license:gpl3+))) + (define-public emacs-smartparens (package (name "emacs-smartparens") diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 870b6dd7b9..7409670a59 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -937,7 +937,7 @@ Unicode Charts. It was developed for use with DejaVu Fonts project.") (define-public libraqm (package (name "libraqm") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) @@ -945,7 +945,7 @@ Unicode Charts. It was developed for use with DejaVu Fonts project.") "releases/download/v" version "/" "raqm-" version ".tar.gz")) (sha256 - (base32 "0hgry3fj2y3qaq2fnmdgd93ixkk3ns5jds4vglkiv2jfvpn7b1g2")))) + (base32 "0a4q9dziirb85sa9rmkamg2krdhd009di2vlz91njwxcp3q8qj46")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static"))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 8c8ed19338..c57ea5a908 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1764,61 +1764,23 @@ a 2D editor view.") (define-public guile-chickadee (package (name "guile-chickadee") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/chickadee/" "chickadee-" version ".tar.gz")) (sha256 (base32 - "0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx")))) + "1jv4jkc35b7rizz8iflh74hhk9qy665isn1xa6gqz0qp9grwb019")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) (propagated-inputs - `(("guile-opengl" ,guile-opengl) - ("guile-sdl2" ,guile-sdl2))) - (inputs - `(("guile" ,guile-2.2) - ("libvorbis" ,libvorbis) - ("mpg123" ,mpg123) - ("openal" ,openal))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("texinfo" ,texinfo))) - (home-page "https://dthompson.us/projects/chickadee.html") - (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL") - (description "Chickadee is a game development toolkit for Guile Scheme -built on top of SDL2 and OpenGL. Chickadee aims to provide all the features -that parenthetically inclined game developers need to make 2D (and eventually -3D) games in Scheme, such as: - -@enumerate -@item extensible, fixed-timestep game loop -@item OpenGL-based rendering engine -@item keyboard, mouse, controller input -@item REPL-driven development model -@end enumerate\n") - (license license:gpl3+))) - -(define-public guile3.0-chickadee - (package - (inherit guile-chickadee) - (name "guile3.0-chickadee") - (version "0.5.0") - (source (origin - (method url-fetch) - (uri (string-append "https://files.dthompson.us/chickadee/" - "chickadee-" version ".tar.gz")) - (sha256 - (base32 - "0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx")))) - (build-system gnu-build-system) - (propagated-inputs `(("guile-opengl" ,guile3.0-opengl) ("guile-sdl2" ,guile3.0-sdl2))) (inputs - `(("guile" ,guile-3.0) + `(("freetype" ,freetype) + ("guile" ,guile-3.0) ("libvorbis" ,libvorbis) ("mpg123" ,mpg123) ("openal" ,openal))) @@ -1840,6 +1802,9 @@ that parenthetically inclined game developers need to make 2D (and eventually @end enumerate\n") (license license:gpl3+))) +(define-public guile3.0-chickadee + (deprecated-package "guile3.0-chickadee" guile-chickadee)) + (define-public bennu-game-development (package (name "bennu-game-development") diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index fc3a78bc7b..44c356e2ff 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -38,7 +38,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.16") + (version "3.10.17") (source (origin (method git-fetch) @@ -46,8 +46,7 @@ (url "https://github.com/gpodder/gpodder") (commit version))) (sha256 - (base32 - "0pbpaasd7kj6y25nm45y1qyb9sxd4570f7g6zkfcpf6pa3nx7qkq")) + (base32 "0wrk8d4q6ricbcjzlhk10vrk1qg9hi323kgyyd0c8nmh7a82h8pd")) (file-name (git-file-name name version)) (patches (search-patches "gpodder-disable-updater.patch")))) (build-system python-build-system) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 0f2afb99de..b5c4774d5c 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages check) @@ -323,21 +325,34 @@ can be used either as a standalone application, or as a Python library.") (define-public python-pydot (package (name "python-pydot") - (version "1.2.4") + (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "pydot" version)) (sha256 (base32 - "1dhy4jpp646jslh2yks6klwwbaxcs905byyny880gl1iap8y5llj")))) + "00az4cbf8bv447lkk9xi6pjm7gcc7ia33y4pm71fwfwis56rv76l")) + (patches (search-patches "python-pydot-regression-test.patch")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + ;; Taken from .travis.yaml + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (with-directory-excursion "test" + (invoke "python" "pydot_unittest.py"))) + #t))))) (native-inputs ;; For tests. - `(("python-chardet" ,python-chardet))) + `(("graphviz" ,graphviz) + ("python-chardet" ,python-chardet))) (propagated-inputs `(("python-pyparsing" ,python-pyparsing))) - (home-page "https://github.com/erocarrera/pydot") + (home-page "https://github.com/pydot/pydot") (synopsis "Python interface to Graphviz's DOT language") (description "Pydot provides an interface to create, handle, modify and process diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5bc144f769..db0cb855bb 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -2128,16 +2128,16 @@ by AOM, including with alpha.") (name "mtpaint") ;; The author neither releases tarballs nor uses git version tags. ;; Instead, author puts version in git commit title. - (version "3.49.27") + (version "3.49.33") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/wjaguar/mtPaint") - (commit "26751cd0336414e2f16cbe25c9fe2702f34e7b5c"))) + (commit "5272e2b1e773c8e02ac3506b2d3bde82ad946b21"))) (file-name (git-file-name name version)) (sha256 - (base32 "12mzai9pqvyb342m21rjz0jxiy75q24sjw6ax147pzy8frzkgd54")))) + (base32 "1bmq4m0dxczl18n1yiqb75g05a4c3pal1vdcyypkilx7ijsr0cmc")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 669951f741..ac9fbfea60 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; @@ -32,7 +32,8 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) - #:use-module (guix build-system minify)) + #:use-module (guix build-system minify) + #:use-module (guix utils)) (define-public font-mathjax (package @@ -415,24 +416,28 @@ external server.") (define-public mujs (package (name "mujs") - (version "1.0.7") - (source (origin - (method url-fetch) - (uri (string-append "https://mujs.com/downloads/mujs-" - version ".tar.xz")) - (sha256 - (base32 - "1ilhay15z4k7mlzs6g2d00snivin7vp72dfw5wwpmc0x70jr31l2")))) + (version "1.0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ccxvii/mujs") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "146lmmigqlvx36d3fzb9kk7sy6y4ddv0ih4pkjz4zyj30zl84gy2")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases - (delete 'configure) ; no configure - (add-after 'install 'install-shared-library + (delete 'configure) ; no configure script + (replace 'install (lambda* (#:key (make-flags '()) #:allow-other-keys) (apply invoke "make" "install-shared" make-flags)))) - #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) - (string-append "CC=gcc")) + #:make-flags + (list ,(string-append "VERSION=" version) + ,(string-append "CC=" (cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))) #:tests? #f)) ; no tests (inputs `(("readline" ,readline))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fd2c43aec8..7c07a6d008 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -352,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernel. That is, the most recently released major ;; version. -(define-public linux-libre-5.9-version "5.9.9") +(define-public linux-libre-5.9-version "5.9.10") (define deblob-scripts-5.9 (linux-libre-deblob-scripts linux-libre-5.9-version @@ -360,7 +360,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0yb04a4j2wq3mwvks3cj7kcm2pscmfs29lrz3falkxpbvjxbbgq2"))) (define-public linux-libre-5.9-pristine-source (let ((version linux-libre-5.9-version) - (hash (base32 "1b8zysy0br131ydhc7ycxhh8d88r44xrmkf2q2lffy0jmy3d60m3"))) + (hash (base32 "0c7hcqn1ld0axlipzpwmjr1jwizrhz5w6bdfbk9npbirx7rb54gm"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.9))) @@ -368,7 +368,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.78") +(define-public linux-libre-5.4-version "5.4.79") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -376,12 +376,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "167zcfkw62pm6nv1xdvvhxw0ca724sywcywnv3z00189f8f8p3vg"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0z8skj0w9jfrz9pfxaqfzqh82l13bz5lhza2wjsxk02cyhhnm226"))) + (hash (base32 "09ffj66wlp27vx799lnixq4zdkin3y4pqaw4lx2a6rpz13xr3455"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.158") +(define-public linux-libre-4.19-version "4.19.159") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -389,12 +389,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0p5pim9izcscnk1a1kdlxbvyvxnnq9lqr1kwl86kfskr7yqy8n6n"))) + (hash (base32 "195hlvr9zsa2km80rk71na1gl0222r2mk76rsqx0cxpgg7dhpjv0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.207") +(define-public linux-libre-4.14-version "4.14.208") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -402,12 +402,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0a804hwh7cwbdd2gnr5n9i32b4s6gppd8iqihah4sn4q1nbm79vq"))) + (hash (base32 "0vzn5kprjlgpgnjr1drjq97x9xbyfgigpgs42xsfw61h2qjy3b1q"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.244") +(define-public linux-libre-4.9-version "4.9.245") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -415,12 +415,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "02givxp0y04qma5nlqbpyxdcl7xdb41p3gw7kgj2rmwdanhzaylr"))) + (hash (base32 "1vxsd3g96vbykrmfnj9qali0p868h678qzcqvf4yrhya47k6pnnb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.244") +(define-public linux-libre-4.4-version "4.4.245") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -428,7 +428,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0brdj6z7flchig80ja0dhzcrpl743lh74s4r4r6prbgkksif9ahp"))) + (hash (base32 "0g1cnis8496kp1ln922gxa7skfr096mdvv89la6676yw7dd4lhyi"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -4083,14 +4083,14 @@ isolation or root privileges.") (define-public hdparm (package (name "hdparm") - (version "9.58") + (version "9.60") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hdparm/hdparm/" "hdparm-" version ".tar.gz")) (sha256 (base32 - "03z1qm8zbgpxagk3994lvp24yqsshjibkwg05v9p3q1w7y48xrws")))) + "1k1mcv7naiacw1y6bdd1adnjfiq1kkx2ivsadjwmlkg4fff775w3")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -7600,13 +7600,13 @@ receiving. It is dedicated to the PL011 UART of the Raspberry Pi.") (define-public ipset (package (name "ipset") - (version "7.7") + (version "7.9") (source (origin (method url-fetch) - (uri (string-append "http://ipset.netfilter.org/ipset-" version ".tar.bz2")) + (uri (string-append "https://ipset.netfilter.org/ipset-" version ".tar.bz2")) (sha256 (base32 - "0ckc678l1431mb0q5ilfgy0ajjwi8n135c72h606imm43dc0v9a5")))) + "02mkp7vmsh609dcp02xi290sxmsgq2fsch3875dxkwfxkrl16p5p")))) (build-system gnu-build-system) (inputs `(("libmnl" ,libmnl))) @@ -7614,7 +7614,7 @@ receiving. It is dedicated to the PL011 UART of the Raspberry Pi.") `(("pkg-config" ,pkg-config))) (arguments `(#:configure-flags '("--with-kmod=no"))) - (home-page "http://ipset.netfilter.org/") + (home-page "https://ipset.netfilter.org/") (synopsis "Administration tool for IP sets") (description "IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel which can be administered by the ipset utility. Depending on the type, diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm index 34ad0f03d5..b317902ee7 100644 --- a/gnu/packages/lsof.scm +++ b/gnu/packages/lsof.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -22,52 +22,37 @@ (define-module (gnu packages lsof) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages groff) #:use-module (gnu packages perl)) (define-public lsof (package (name "lsof") - (version "4.91") + (version "4.94.0") (source (origin - (method url-fetch) - (uri - (apply append - (map - (lambda (mirror-uri) - (let ((tarball (string-append name "_" version ".tar.bz2"))) - (list - (string-append mirror-uri "/" tarball) - ;; Upon every new release, the previous one is moved here: - (string-append mirror-uri "/OLD/" tarball)))) - (list - "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/" - - ;; Add mirrors because the canonical FTP server at purdue.edu - ;; bails out when it cannot do a reverse DNS lookup, as noted - ;; at <https://people.freebsd.org/~abe/>. - "ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/" - (string-append "http://www.mirrorservice.org/sites/" - "lsof.itap.purdue.edu/pub/tools/unix/lsof") - (string-append "ftp://ftp.mirrorservice.org/sites/" - "lsof.itap.purdue.edu/pub/tools/unix/lsof"))))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lsof-org/lsof") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "18sh4hbl9jw2szkf0gvgan8g13f3g4c6s2q9h3zq5gsza9m99nn9")))) + (base32 "0yxv2jg6rnzys49lyrz9yjb4knamah4xvlqj596y6ix3vm4k3chp")) + (patches (search-patches "lsof-fatal-test-failures.patch")))) (build-system gnu-build-system) - (native-inputs `(("perl" ,perl))) + (native-inputs + `(("groff" ,groff) ; for soelim + ("perl" ,perl))) (arguments `(#:phases (modify-phases %standard-phases - (replace 'unpack - (lambda* (#:key source #:allow-other-keys) - (let ((unpack (assoc-ref %standard-phases 'unpack))) - (unpack #:source source) - (unpack #:source (car (find-files "." "\\.tar$")))))) (replace 'configure (lambda _ - (setenv "LSOF_CC" "gcc") + (setenv "LSOF_CC" ,(cc-for-target)) (setenv "LSOF_MAKE" "make") ;; By default, the makefile captures the output of 'uname -a'. @@ -83,14 +68,13 @@ (substitute* "Makefile" (("`date`") "`date --date=@1`")) #t)) + (add-after 'build 'build-man-page + (lambda _ + (with-output-to-file "lsof.8" + (lambda _ (invoke "soelim" "Lsof.8"))) + #t)) (add-before 'check 'disable-failing-tests (lambda _ - ;; In libc 2.28, the 'major' and 'minor' macros are provided by - ;; <sys/sysmacros.h> only so include it. - (substitute* "tests/LTlib.c" - (("#ifndef lint") - "#include <sys/sysmacros.h>\n\n#ifndef lint")) - (substitute* "tests/Makefile" ;; Fails with ‘ERROR!!! client gethostbyaddr() failure’. (("(STDTST=.*) LTsock" _ prefix) prefix) @@ -98,15 +82,16 @@ (("(OPTTST=.*) LTnfs" _ prefix) prefix)) #t)) (replace 'check - (lambda _ - (with-directory-excursion "tests" - ;; Tests refuse to run on ‘unvalidated’ platforms. - (make-file-writable "TestDB") - (invoke "./Add2TestDB") + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "tests" + ;; Tests refuse to run on ‘unvalidated’ platforms. + (make-file-writable "TestDB") + (invoke "./Add2TestDB") - ;; The ‘standard’ tests suggest running ‘optional’ ones as well. - (invoke "make" "standard" "optional") - #t))) + ;; The ‘standard’ tests suggest running ‘optional’ ones as well. + (invoke "make" "standard" "optional"))) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 706def4f43..369e819573 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5797,16 +5797,18 @@ convenience functions for vectors and matrices.") (url "https://github.com/Chris00/ocaml-cairo") (commit version))) (file-name (git-file-name name version)) + (patches + (search-patches + ;; NOTE: This patch will be obsolete on the + ;; next tagged release. Remove it at that + ;; point. + "ocaml-cairo2-caml_ba_array-fix.patch")) (sha256 (base32 "0wzysis9fa850s68qh8vrvqc6svgllhwra3kzll2ibv0wmdqrich")))) (build-system dune-build-system) (arguments - `(;; NOTE: GC reclaims bigarrays packed into a custom structure - ;; regardless of their refcounts. Affects OCaml >= 4.10.x - ;; https://github.com/ocaml/ocaml/issues/9360 - #:tests? #f - #:test-target "tests")) + `(#:test-target "tests")) (inputs `(("cairo" ,cairo) ("gtk+-2" ,gtk+-2) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4a6881d475..6fd789ef53 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -130,8 +130,8 @@ ;; Latest version of Guix, which may or may not correspond to a release. ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. - (let ((version "1.2.0rc2") - (commit "0d4b1afb6bfa4bdeade2cb6409ece9467d513e39") + (let ((version "1.2.0") + (commit "bd96e6d34e4e65dc37eaae7302033d0da287c1e2") (revision 1)) (package (name "guix") @@ -148,7 +148,7 @@ (commit commit))) (sha256 (base32 - "1d0pifzrr14f1n0fn21rlh0hzfjvfsavf9as1vcjga47bdjjvrpp")) + "0j27yw6s89rni39dmjdz3i617ddr2yi5y5hj0i2a7sw8fn215hp4")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 2e56fe4c1e..be88829825 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -55,14 +55,14 @@ (define-public parallel (package (name "parallel") - (version "20201022") + (version "20201122") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0qgh3947l854nvh2ylykbyzsflixd2zdi17vmwqm6azn9a32kzim")))) + (base32 "0c7zrb26xhbn48kvxs01qyj1vhwrpzkm11xxvi23njb6qi1bz82d")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/eigen-remove-openmp-error-counting.patch b/gnu/packages/patches/eigen-remove-openmp-error-counting.patch new file mode 100644 index 0000000000..556474e8b3 --- /dev/null +++ b/gnu/packages/patches/eigen-remove-openmp-error-counting.patch @@ -0,0 +1,64 @@ +From ef3cc72cb65e2d500459c178c63e349bacfa834f Mon Sep 17 00:00:00 2001 +From: Luke Peterson <hazelnusse@gmail.com> +Date: Thu, 8 Oct 2020 12:16:53 -0700 +Subject: [PATCH] Remove error counting in OpenMP parallelize_gemm + +This resolves a compilation error associated with +Eigen::eigen_assert_exception. It also eliminates the counting of +exceptions that may occur in the OpenMP parallel section. If an +unhandled exception occurs in this section, the behavior is non-conforming +according to the OpenMP specification. +--- + Eigen/src/Core/products/Parallelizer.h | 14 +++++--------- + test/CMakeLists.txt | 2 +- + 2 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h +index 67b2442b5..a3cc05b77 100644 +--- a/Eigen/src/Core/products/Parallelizer.h ++++ b/Eigen/src/Core/products/Parallelizer.h +@@ -132,8 +132,7 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, + + ei_declare_aligned_stack_constructed_variable(GemmParallelInfo<Index>,info,threads,0); + +- int errorCount = 0; +- #pragma omp parallel num_threads(threads) reduction(+: errorCount) ++ #pragma omp parallel num_threads(threads) + { + Index i = omp_get_thread_num(); + // Note that the actual number of threads might be lower than the number of request ones. +@@ -152,14 +151,11 @@ void parallelize_gemm(const Functor& func, Index rows, Index cols, Index depth, + info[i].lhs_start = r0; + info[i].lhs_length = actualBlockRows; + +- EIGEN_TRY { +- if(transpose) func(c0, actualBlockCols, 0, rows, info); +- else func(0, rows, c0, actualBlockCols, info); +- } EIGEN_CATCH(...) { +- ++errorCount; +- } ++ if(transpose) ++ func(c0, actualBlockCols, 0, rows, info); ++ else ++ func(0, rows, c0, actualBlockCols, info); + } +- if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception()); + #endif + } + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 0747aa6cb..b02577780 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -163,7 +163,7 @@ ei_add_test(constructor) + ei_add_test(linearstructure) + ei_add_test(integer_types) + ei_add_test(unalignedcount) +-if(NOT EIGEN_TEST_NO_EXCEPTIONS) ++if(NOT EIGEN_TEST_NO_EXCEPTIONS AND NOT EIGEN_TEST_OPENMP) + ei_add_test(exceptions) + endif() + ei_add_test(redux) +-- +GitLab + diff --git a/gnu/packages/patches/lsof-fatal-test-failures.patch b/gnu/packages/patches/lsof-fatal-test-failures.patch new file mode 100644 index 0000000000..e874ba6ad4 --- /dev/null +++ b/gnu/packages/patches/lsof-fatal-test-failures.patch @@ -0,0 +1,58 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Mon, 23 Nov 2020 05:36:53 +0100 +Subject: [PATCH] gnu: lsof: Make test failures fatal. + +Submitted upstream[0]. + +[0]: https://github.com/lsof-org/lsof/pull/144 + +diff --git a/tests/Makefile b/tests/Makefile +index 08574a0..2923bb8 100644 +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -27,7 +27,7 @@ all: ${CKTSTDB} ${BASTST} ${STDTST} FRC + exit 1 ;\ + fi + @rm -f config.LT* +- -@err=0; \ ++ @err=0; \ + echo ""; \ + echo "Basic test:"; \ + ./${BASTST}; \ +@@ -54,8 +54,11 @@ all: ${CKTSTDB} ${BASTST} ${STDTST} FRC + echo "Suggestion: try the optional tests: \"make opt\""; \ + echo ""; \ + fi; \ +- fi; +- @rm -f config.LT* ++ fi; \ ++ rm -f config.LT*; \ ++ if [ $$err -ne 0 ]; then \ ++ exit 1; \ ++ fi + + auto: ckDB silent FRC + +@@ -112,7 +115,7 @@ LTunix: LTunix.c ${CONFIG} ${LIBOBJ} ${HDR} config.ldflags + + opt: ${CKTSTDB} ${OPTTST} FRC + @rm -f config.LT* +- -@err=0; \ ++ @err=0; \ + echo ""; \ + echo "Optional tests:"; \ + for i in ${OPTTST}; do \ +@@ -126,8 +129,11 @@ opt: ${CKTSTDB} ${OPTTST} FRC + else \ + echo "All optional tests succeeded."; \ + fi; \ +- echo ""; +- @rm -f config.LT* ++ echo ""; \ ++ rm -f config.LT*; \ ++ if [ $$err -ne 0 ]; then \ ++ exit 1; \ ++ fi + + optional: opt + diff --git a/gnu/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch b/gnu/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch new file mode 100644 index 0000000000..1ebde1997f --- /dev/null +++ b/gnu/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch @@ -0,0 +1,68 @@ +From 3c70f2ff18650c4794556049cd4ea22a58cc719e Mon Sep 17 00:00:00 2001 +From: Christophe Troestler <Christophe.Troestler@umons.ac.be> +Date: Sun, 27 Sep 2020 23:20:52 +0200 +Subject: [PATCH] Do not store the Caml_ba_array_val pointer during surface + creation + +Extracted from Cairo git-tree on November 22, 2020 by +Brett Gilio <brettg@gnu.org> +--- + src/cairo_stubs.c | 3 ++- + tests/image_create.ml | 5 +++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/cairo_stubs.c b/src/cairo_stubs.c +index 641ee2c..200abf3 100644 +--- a/src/cairo_stubs.c ++++ b/src/cairo_stubs.c +@@ -1580,6 +1580,7 @@ static cairo_status_t caml_cairo_image_bigarray_attach_proxy + caml_cairo_image_bigarray_finalize); + } + ++#define b (Caml_ba_array_val(vb)) + #define SURFACE_CREATE_DATA(name) \ + CAMLexport value caml_cairo_image_surface_create_for_##name \ + (value vb, value vformat, value vwidth, value vheight, value vstride) \ +@@ -1588,7 +1589,6 @@ static cairo_status_t caml_cairo_image_bigarray_attach_proxy + CAMLlocal1(vsurf); \ + cairo_surface_t* surf; \ + const int width = Int_val(vwidth); \ +- struct caml_ba_array *b = Caml_ba_array_val(vb); \ + cairo_status_t status; \ + \ + if ((b->flags & CAML_BA_MANAGED_MASK) == CAML_BA_MAPPED_FILE) \ +@@ -1610,6 +1610,7 @@ static cairo_status_t caml_cairo_image_bigarray_attach_proxy + + SURFACE_CREATE_DATA(data8) + SURFACE_CREATE_DATA(data32) ++#undef b + + #define SURFACE_GET_DATA(type, num_dims, dims ...) \ + CAMLexport value caml_cairo_image_surface_get_##type(value vsurf) \ +diff --git a/tests/image_create.ml b/tests/image_create.ml +index eec98d6..b13c206 100644 +--- a/tests/image_create.ml ++++ b/tests/image_create.ml +@@ -10,6 +10,7 @@ let create() = + + let () = + let cr = create() in ++ printf "With Cairo handle:\n%!"; + set_source_rgb cr 1. 1. 1.; + rectangle cr 0. 0. ~w:300. ~h:300.; + fill cr; +@@ -21,9 +22,9 @@ let () = + show_text cr "Hello"; + Gc.compact(); Gc.compact(); + +- eprintf "Write image\n%!"; ++ eprintf "- Write image\n%!"; + PNG.write (get_target cr) "test_image.png"; +- eprintf "Finish surface\n%!"; ++ eprintf "- Finish surface\n%!"; + Surface.finish (get_target cr); + Gc.compact() + +-- +2.29.2 + diff --git a/gnu/packages/patches/python-pydot-regression-test.patch b/gnu/packages/patches/python-pydot-regression-test.patch new file mode 100644 index 0000000000..d2f0f5996e --- /dev/null +++ b/gnu/packages/patches/python-pydot-regression-test.patch @@ -0,0 +1,79 @@ +This patch is taken from the upstream repository +https://github.com/pydot/pydot/commit/a10ced4d132361027a545a471af4541dea8c5cf5.patch +It should be included in the 1.4.2 release. + + +From a10ced4d132361027a545a471af4541dea8c5cf5 Mon Sep 17 00:00:00 2001 +From: Peter Nowee <peter@peternowee.com> +Date: Wed, 26 Jun 2019 15:43:38 +0800 +Subject: [PATCH] Fix multi.dot Graphviz regression test + +Commit d6602ad of 2018-12-01 fixed the regression test broken by commit +2d55978 of 2016-07-01. This revealed that `test/graphs/multi.dot` was +failing. + +`multi.dot` was introduced in commit 2b3f088 of 2010-11-07 together +with many of the other tests still here today. It has not been touched +since. It is a DOT-file containing two digraphs. The regression test +compares the JPEG images rendered from the DOT-file by pydot with those +rendered by Graphviz's dot directly. + +Commit 66734d2 of 2016-07-01 is the actual cause of the failure. It +changed one of the render methods of the regression test, +`_render_with_pydot`, from calculating a single hash for all the JPEG +images to calculating separate hashes for each JPEG image and then +concatenating those hashes in one long string. The other render method, +`_render_with_graphviz`, still calculates a single hash over all data. +For DOT-files that generate only one image the end result is the same, +but because `multi.dot` has two graphs, it produces two images and this +leads to comparing a string of two hashes with one single hash. + +I do not think the change in generating the hash was intentional, for +the following reasons: +- Commit 66734d2 states that its purpose was to adapt the test to an + API change in pydot. It does not mention a deliberate choice to + change the testing method. +- There was no effort to change `_render_with_graphviz` to also produce + multiple hashes. +- Except for easier debugging in case of a failing test with multiple + images (AFAICT, only `multi.dot`), I do not see much added benefit in + checking a concatenation of the hashes of all images vs. checking one + hash of all images together: In both cases the test will fail if one + or more images is rendered differently. +- Given that there were many commits authored that same hour, including + commit 2d55978 which broke the regression tests, I suspect the author + did not run the tests for each individual commit, but only at the end + of that batch, and was therefore also not alerted of this change by + the test suite. + +Assuming that the change was not intended, this commit will now revert +`_render_with_pydot` to the old behavior of calculating a single hash +from all JPEG image data. + +Tested with Debian 9.9, Graphviz 2.38.0-17, Python 2.7.13-2 and 3.5.3-1. + +Fixes https://github.com/pydot/pydot/issues/204. +--- + test/pydot_unittest.py | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/test/pydot_unittest.py b/test/pydot_unittest.py +index 881ee16..64aa856 100644 +--- a/test/pydot_unittest.py ++++ b/test/pydot_unittest.py +@@ -194,11 +194,11 @@ def _render_with_graphviz(self, filename, encoding): + + def _render_with_pydot(self, filename, encoding): + c = pydot.graph_from_dot_file(filename, encoding=encoding) +- sha = '' ++ jpe_data = bytearray() + for g in c: +- jpe_data = g.create(prog=TEST_PROGRAM, format='jpe', encoding=encoding) +- sha += sha256(jpe_data).hexdigest() +- return sha ++ jpe_data.extend(g.create(prog=TEST_PROGRAM, format='jpe', ++ encoding=encoding)) ++ return sha256(jpe_data).hexdigest() + + def test_my_regression_tests(self): + path = os.path.join(test_dir, TESTS_DIR_1) diff --git a/gnu/packages/patches/ungoogled-chromium-system-nspr.patch b/gnu/packages/patches/ungoogled-chromium-system-nspr.patch index 6fbc0a56a7..988296b143 100644 --- a/gnu/packages/patches/ungoogled-chromium-system-nspr.patch +++ b/gnu/packages/patches/ungoogled-chromium-system-nspr.patch @@ -17,8 +17,8 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys --- a/base/time/time.cc +++ b/base/time/time.cc @@ -14,7 +14,7 @@ - #include "base/macros.h" - #include "base/no_destructor.h" + #include "base/optional.h" + #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" -#include "base/third_party/nspr/prtime.h" +#include <nspr/prtime.h> @@ -27,7 +27,7 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -107,6 +107,9 @@ config("base_flags") { +@@ -102,6 +102,9 @@ "-Wglobal-constructors", ] } @@ -37,7 +37,7 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys } config("base_implementation") { -@@ -712,8 +715,6 @@ jumbo_component("base") { +@@ -720,8 +723,6 @@ "third_party/cityhash_v103/src/city_v103.h", "third_party/icu/icu_utf.cc", "third_party/icu/icu_utf.h", @@ -48,19 +48,19 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys "threading/hang_watcher.cc", --- a/tools/gn/build/gen.py +++ b/tools/gn/build/gen.py -@@ -339,6 +339,9 @@ def WriteGNNinja(path, platform, host, o +@@ -380,6 +380,9 @@ if not options.no_static_libstdcpp: ldflags.append('-static-libstdc++') + # Additional system libraries that are used. + libs.append('-lnspr4') + - # This is needed by libc++. - if not platform.is_mingw(): - libs.append('-ldl') + if platform.is_mingw() or platform.is_msys(): + cflags.remove('-std=c++17') + cflags.extend([ --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -103,6 +103,9 @@ +@@ -110,6 +110,9 @@ "//build/win:default_exe_manifest", "//third_party/icu", ] @@ -72,7 +72,7 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys # This isn't strictly necessary since we can just add the deps to "platform", --- a/third_party/crashpad/crashpad/handler/BUILD.gn +++ b/third_party/crashpad/crashpad/handler/BUILD.gn -@@ -140,6 +140,9 @@ +@@ -144,6 +144,9 @@ "../third_party/mini_chromium:base", "../tools:tool_support", ] @@ -104,7 +104,7 @@ https://salsa.debian.org/chromium-team/chromium/-/blob/master/debian/patches/sys + "-lnspr4", + ] if (is_ios) { - libs = [ "UIKit.framework" ] + frameworks = [ "UIKit.framework" ] } --- a/components/schema_org/BUILD.gn +++ b/components/schema_org/BUILD.gn diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 2ccb41fe3a..16249680f2 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3111,6 +3111,19 @@ provide an easy-to-use Python interface for building OAuth1 and OAuth2 clients." (define-public python2-cachecontrol (package-with-python2 python-cachecontrol)) +(define-public python-cachecontrol-0.11 + (package + (inherit python-cachecontrol) + (name "python-cachecontrol") + (version "0.11.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "CacheControl" version)) + (sha256 + (base32 + "07jsfhlbcwgqg6ayz8nznzaqg5rmxqblbzxz1qvg5wc44pcjjy4g")))))) + (define-public python-betamax (package (name "python-betamax") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2f270d1b3e..2d9f2f10cc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -56,6 +56,7 @@ ;;; Copyright © 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> +;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Sam <smbaines8@gmail.com> ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> @@ -123,6 +124,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages dbm) + #:use-module (gnu packages djvu) #:use-module (gnu packages docker) #:use-module (gnu packages enchant) #:use-module (gnu packages file) @@ -166,6 +168,7 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) + #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages search) @@ -16264,6 +16267,125 @@ and integration into other projects.") (propagated-inputs `(("python2-selectors2" ,python2-selectors2)))))) +(define-public python-bagit + (package + (name "python-bagit") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bagit" version)) + (sha256 + (base32 + "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-coverage" ,python-coverage) + ("python-mock" ,python-mock))) + (home-page "https://libraryofcongress.github.io/bagit-python/") + (synopsis "Create and validate BagIt packages") + (description "Bagit is a Python library and command line utility for working +with BagIt style packages. BagIt is a minimalist packaging format for digital +preservation.") + (license license:cc0))) + +(define-public python-prov + (package + (name "python-prov") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "prov" version)) + (sha256 + (base32 + "1vi2fj31vygfcqrkimdmk52q2ldw08g9fn4v4zlgdfgcjlhqyhxn")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-lxml" ,python-lxml) + ("python-networkx" ,python-networkx) + ("python-rdflib" ,python-rdflib))) + (native-inputs + `(("graphviz" ,graphviz) + ("python-pydot" ,python-pydot))) + (home-page "https://github.com/trungdong/prov") + (synopsis + "W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)") + (description + "This package provides a library for W3C Provenance Data Model supporting +PROV-O (RDF), PROV-XML, PROV-JSON import/export.") + (license license:expat))) + +(define-public python-arcp + (package + (name "python-arcp") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "arcp" version)) + (sha256 + (base32 + "1p8mfyjssa6pbn5dp6pyzv9yy6kwm2rz5jn2kjbq5vy9f9wsq5sw")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "http://arcp.readthedocs.io/") + (synopsis + "Archive and Package URI parser and generator") + (description + "@acronym{arcp, Archive and Package} provides functions for creating +@code{arcp_} URIs, which can be used for identifying or parsing hypermedia files +packaged in an archive or package, like a ZIP file. arcp URIs can be used to +consume or reference hypermedia resources bundled inside a file archive or an +application package, as well as to resolve URIs for archive resources within a +programmatic framework. This URI scheme provides mechanisms to generate a +unique base URI to represent the root of the archive, so that relative URI +references in a bundled resource can be resolved within the archive without +having to extract the archive content on the local file system. An arcp URI can +be used for purposes of isolation (e.g. when consuming multiple archives), +security constraints (avoiding \"climb out\" from the archive), or for +externally identiyfing sub-resources referenced by hypermedia formats.") + (license license:asl2.0))) + +(define-public python-shellescape + (package + (name "python-shellescape") + (version "3.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrissimpkins/shellescape") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wzccxk139qx1lb2g70f5b2yh9zq15nr2mgvqdbfabg5zm0vf1qw")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "tests/test_shellescape.py")) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/chrissimpkins/shellescape") + (synopsis + "Shell escape a string to safely use it as a token in a shell command") + (description + "The shellescape Python module defines the @code{shellescape.quote()} +function that returns a shell-escaped version of a Python string. This is a +backport of the @code{shlex.quote()} function from Python 3.8 that makes it +accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.") + (license license:expat))) + (define-public python-validators (package (name "python-validators") @@ -16352,14 +16474,14 @@ address is valid and really exists.") (define-public python-marshmallow (package (name "python-marshmallow") - (version "3.0.0b14") + (version "3.9.1") (source (origin (method url-fetch) (uri (pypi-uri "marshmallow" version)) (sha256 (base32 - "1digk3f5cfk7wmlka65mc7bzsd96pbsgcsvp6pimd5b4ff9zb5p3")))) + "0kizhh3mnhpa08wfnsv1gagy22bpxzxszgbiylkhpz1d8qvwrykk")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -22872,3 +22994,38 @@ applications with variable CPU loads).") (define-public python2-parallel (package-with-python2 python-parallel)) + +(define-public python-djvulibre + (package + (name "python-djvulibre") + (version "0.8.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-djvulibre" version)) + (sha256 + (base32 "1c0lvpg7j2525cv52s3q5sg7hfnakkb8rmghg0jc02gshsxmrj4f")))) + (build-system python-build-system) + (native-inputs + `(("ghostscript" ,ghostscript) + ("pkg-config" ,pkg-config) + ("python-nose" ,python-nose))) + (inputs + `(("djvulibre" ,djvulibre) + ("python-cython" ,python-cython))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; Unit tests try to load the 'dllpath.py' and fail, because it + ;; doesn't make sense on GNU/Linux. + (delete-file "djvu/dllpath.py") + #t))))) + (synopsis "Python bindings for DjVuLibre") + (description "This is a set of Python bindings for the DjVuLibre library.") + (home-page "https://jwilk.net/software/python-djvulibre") + (license license:gpl2))) + +(define-public python2-djvulibre + (package-with-python2 python-djvulibre)) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 004f71ae8d..4b66429335 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -73,6 +73,7 @@ ("rust-zoneinfo-compiled" ,rust-zoneinfo-compiled-0.4)) #:cargo-development-inputs (("rust-datetime" ,rust-datetime-0.4)) + #:phases (modify-phases %standard-phases ;; Ignoring failing tests. ;; Reported in https://github.com/ogham/exa/issues/318 diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 11613cb703..34da04d0d8 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1126,14 +1126,13 @@ such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32.") (define-public python-pandocfilters (package (name "python-pandocfilters") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (pypi-uri "pandocfilters" version)) (sha256 - (base32 - "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk")))) + (base32 "1sq675dg4barb5949xxz4d5gk2ly524hi1p1xgwb3d1l0nsznqxw")))) (build-system python-build-system) (home-page "https://github.com/jgm/pandocfilters") (synopsis "Python module for writing Pandoc filters") diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 09ee84e3ad..ed09f3dcd2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,6 +87,7 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -2047,3 +2049,48 @@ administrators and developers in managing the database.") libosinfo library. It provides information about guest operating systems for use with virtualization provisioning tools") (license license:lgpl2.0+))) + +(define-public python-transient + (package + (name "python-transient") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "transient" version)) + (sha256 + (base32 + "1740l50483fcq9748g69nkk28s2x69n4hh1l7n8f4s7p6lq1kqjy")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Requires behave + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda _ + (substitute* "setup.py" + (("==") + ">=")) + #t))))) + (propagated-inputs + `(("python-beautifultable" ,python-beautifultable) + ("python-click" ,python-click) + ("python-importlib-resources" + ,python-importlib-resources) + ("python-lark-parser" ,python-lark-parser) + ("python-marshmallow" ,python-marshmallow) + ("python-progressbar2" ,python-progressbar2) + ("python-requests" ,python-requests) + ("python-toml" ,python-toml))) + (native-inputs + `(("python-black" ,python-black) + ("python-mypy" ,python-mypy) + ("python-pyhamcrest" ,python-pyhamcrest) + ("python-twine" ,python-twine))) + (home-page + "https://github.com/ALSchwalm/transient") + (synopsis + "QEMU Wrapper written in Python") + (description + "@code{transient} is a wrapper for QEMU allowing the creation of virtual +machines with shared folder, ssh, and disk creation support.") + (license license:expat))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index d72cbfeda3..89a3b4c18b 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; @@ -224,14 +224,14 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.30.2") + (version "2.30.3") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "0ak8slddg7gpk6m096xzkiqw9bfsrrizvqr815bw44665fyf0ry4")) + "0zsy3say94d9bhaan0l6mfr59z03a5x4kngyy8b2i20n77q19skd")) (patches (search-patches "webkitgtk-share-store.patch" "webkitgtk-bind-all-fonts.patch")))) (build-system cmake-build-system) diff --git a/guix/store.scm b/guix/store.scm index 11e2dae579..4da39971b5 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1399,8 +1399,9 @@ When a handler is installed with 'with-build-handler', it is called any time (status 1)))))))))))) (define-operation (ensure-path (store-path path)) - "Make PATH a temporary root for the duration of the current session. -Return #t." + "Ensure that a path is valid. If it is not valid, it may be made valid by +running a substitute. As a GC root is not created by the daemon, you may want +to call ADD-TEMP-ROOT on that store path." boolean) (define-operation (add-temp-root (store-path path)) |