diff options
author | Marius Bakke <mbakke@fastmail.com> | 2020-04-19 16:53:01 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2020-04-19 16:53:01 +0200 |
commit | 7abe35febe4234609e14e169b6fcc0cbaf4c7119 (patch) | |
tree | 5a8307a28e0c0a6aeab21ce8b9d3487229522588 /gnu | |
parent | 457ded48c54ba04489cb871d3ec6bda0c59bead7 (diff) | |
parent | 5c10d55206a4f7a9b932ff08512a4f50c1db35be (diff) | |
download | guix-7abe35febe4234609e14e169b6fcc0cbaf4c7119.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
43 files changed, 758 insertions, 355 deletions
diff --git a/gnu/installer.scm b/gnu/installer.scm index 3b69cdbdee..79113cb0ef 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -301,25 +301,6 @@ selected keymap." ((installer-final-page current-installer) result prev-steps)))))))) -(define guile-newt - ;; Guile-Newt with 'form-watch-fd'. - ;; TODO: Remove once a new release is out. - (let ((commit "c3cdeb0b53ac71aedabee669f57d44563c662446") - (revision "2")) - (package - (inherit (@ (gnu packages guile-xyz) guile-newt)) - (name "guile-newt") - (version (git-version "0.0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/mothacehe/guile-newt") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09"))))))) - (define (installer-program) "Return a file-like object that runs the given INSTALLER." (define init-gettext @@ -377,6 +358,7 @@ selected keymap." (gnu installer services) (gnu installer timezone) (gnu installer user) + (gnu installer utils) (gnu installer newt) ((gnu installer newt keymap) #:select (keyboard-layout->configuration)) diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm index 7f47b9af77..386f431ced 100644 --- a/gnu/installer/connman.scm +++ b/gnu/installer/connman.scm @@ -393,6 +393,7 @@ interactive connmanctl process." (dynamic-wind (const #t) (lambda () + (setvbuf pipe 'line) (run-connection-sequence pipe) #t) (lambda () diff --git a/gnu/local.mk b/gnu/local.mk index 0795dec6e8..08b659c929 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1387,6 +1387,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-flint-includes.patch \ + %D%/packages/patches/python-jedi-sort-project-test.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e4f9808231..7105a09dd1 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -790,7 +790,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "14") + (bind-patch-version "18") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -927,7 +927,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr")))) + "0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr")))) ;; When cross-compiling, we need the cross Coreutils and sed. ;; Otherwise just use those from %FINAL-INPUTS. diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index b68f2137be..5648f5a9ec 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darringon <jmd@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> @@ -157,39 +157,34 @@ Python as well as GUI widgets for GTK and Qt.") (license license:lgpl2.1+))) (define-public qrcodegen-cpp - ;; Currently this project's installation mechanism only exists as a GitHub - ;; pull request, so we build from a recent commit that the proposed patch - ;; applies to. - (let ((commit "6ea933f1596d818bd21e9a6b8d2e851fb8b4bcf1") - (revision "0")) - (package - (name "qrcodegen-cpp") - (version (git-version "1.5.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nayuki/QR-Code-generator.git") - (commit commit))) - (file-name (git-file-name name version)) - (patches (search-patches "qrcodegen-cpp-make-install.patch")) - (sha256 - (base32 - "19fcwqmfk2n9p2n01dv2j4x2y2mqip0j1wbmfbxjp34rqkjwcwxm")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no test suite - #:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No ./configure script - ;; Only build the C++ variant. - (add-after 'unpack 'chdir - (lambda _ - (chdir "cpp") - #t))))) - (synopsis "QR Code generator library") - (description "qrcodegen-cpp is a QR code generator library in C++. The + (package + (name "qrcodegen-cpp") + (version "1.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nayuki/QR-Code-generator.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "qrcodegen-cpp-make-install.patch")) + (sha256 + (base32 + "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No ./configure script + ;; Only build the C++ variant. + (add-after 'unpack 'chdir + (lambda _ + (chdir "cpp") + #t))))) + (synopsis "QR Code generator library") + (description "qrcodegen-cpp is a QR code generator library in C++. The project also offers Java, Javascript, Python, C, and Rust implementations.") - (home-page "https://www.nayuki.io/page/qr-code-generator-library") - (license license:expat)))) + (home-page "https://www.nayuki.io/page/qr-code-generator-library") + (license license:expat))) diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index fcba5bae7b..b3c4803e04 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,23 +33,23 @@ (define-public augeas (package (name "augeas") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "http://download.augeas.net/augeas-" version ".tar.gz")) (sha256 (base32 - "1c507qj6dfn2dnsl27w94zs9r45xrgm07y8bqba9ry2s0psfhg1r")))) + "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j")))) (build-system gnu-build-system) - ;; Marked as "required" in augeas.pc + ;; Marked as "required" in augeas.pc. (propagated-inputs `(("libxml2" ,libxml2))) (inputs `(("readline" ,readline))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://augeas.net/") + (home-page "https://augeas.net") (synopsis "Edit configuration files programmatically") (description "Augeas is a library and command line tool for programmatically editing diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 97c7be48ca..149f857a41 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -92,6 +92,7 @@ ("par2cmdline" ,par2cmdline) ("python-pexpect" ,python2-pexpect) ("python-fasteners" ,python2-fasteners) + ("tzdata" ,tzdata-for-tests) ("mock" ,python2-mock))) (propagated-inputs `(("lockfile" ,python2-lockfile) @@ -100,8 +101,7 @@ `(("librsync" ,librsync-0.9) ("lftp" ,lftp) ("gnupg" ,gnupg) ; gpg executable needed - ("util-linux" ,util-linux) ; for setsid - ("tzdata" ,tzdata))) + ("util-linux" ,util-linux))) ; for setsid (arguments `(#:python ,python-2 ; setup assumes Python 2 #:test-target "test" diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a49c05dbce..68d8e5b574 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2313,6 +2313,8 @@ possible, parallelization is achieved using the BiocParallel framework.") ("r-tidyr" ,r-tidyr) ("r-tidyselect" ,r-tidyselect) ("r-vim" ,r-vim))) + (native-inputs + `(("r-nbconvertr" ,r-nbconvertr))) ; for vignettes (home-page "https://bioconductor.org/packages/destiny/") (synopsis "Create and plot diffusion maps") (description "This package provides tools to create and plot diffusion @@ -3529,6 +3531,8 @@ to multiple hypothesis correction.") ("r-qvalue" ,r-qvalue) ("r-reshape2" ,r-reshape2) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://guangchuangyu.github.io/software/DOSE/") (synopsis "Disease ontology semantic and enrichment analysis") (description @@ -3899,6 +3903,8 @@ further downstream analysis on its output.") `(("r-biocparallel" ,r-biocparallel) ("r-ellipse" ,r-ellipse) ("r-ggplot2" ,r-ggplot2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/bacon/") (synopsis "Controlling bias and inflation in association studies") (description @@ -6733,6 +6739,8 @@ using whole genome sequencing data.") `(("r-data-table" ,r-data-table) ("r-ggplot2" ,r-ggplot2) ("r-metap" ,r-metap))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/ActivePathways/") (synopsis "Multivariate pathway enrichment analysis") (description @@ -7105,6 +7113,8 @@ structures.") ("r-rjson" ,r-rjson) ("r-rsqlite" ,r-rsqlite) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/TylerBackman/bioassayR") (synopsis "Cross-target analysis of small molecule bioactivity") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cb4cfd58af..e23bafa623 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2399,13 +2399,13 @@ files.") (define-public python-pybigwig (package (name "python-pybigwig") - (version "0.3.12") + (version "0.3.17") (source (origin (method url-fetch) (uri (pypi-uri "pyBigWig" version)) (sha256 (base32 - "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0")) + "157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1")) (modules '((guix build utils))) (snippet '(begin @@ -13642,32 +13642,34 @@ fasta subsequences.") (define-public python-cooler (package (name "python-cooler") - (version "0.7.11") + (version "0.8.7") (source (origin (method url-fetch) (uri (pypi-uri "cooler" version)) (sha256 (base32 - "08k5nxnxa6qsbk15z5z0q01n28042k87wi4905hh95rzqib15mhx")))) + "01g6gqix9ba27sappz6nfyiwabzrlf8i5fn8kwcz8ra356cq9crp")))) (build-system python-build-system) (propagated-inputs - `(("python-biopython" ,python-biopython) + `(("python-asciitree" ,python-asciitree) + ("python-biopython" ,python-biopython) ("python-click" ,python-click) ("python-cytoolz" ,python-cytoolz) ("python-dask" ,python-dask) ("python-h5py" ,python-h5py) ("python-multiprocess" ,python-multiprocess) + ("python-numpy" ,python-numpy) ("python-pandas" ,python-pandas) ("python-pyfaidx" ,python-pyfaidx) ("python-pypairix" ,python-pypairix) ("python-pysam" ,python-pysam) - ("python-scipy" ,python-scipy))) + ("python-pyyaml" ,python-pyyaml) + ("python-scipy" ,python-scipy) + ("python-simplejson" ,python-simplejson))) (native-inputs `(("python-mock" ,python-mock) - ("python-nose" ,python-nose) - ("python-numpydoc" ,python-numpydoc) - ("python-sphinx" ,python-sphinx))) + ("python-pytest" ,python-pytest))) (home-page "https://github.com/mirnylab/cooler") (synopsis "Sparse binary format for genomic interaction matrices") (description @@ -13676,6 +13678,46 @@ storage format, called @code{cool}, used to store genomic interaction data, such as Hi-C contact matrices.") (license license:bsd-3))) +(define-public python-hicmatrix + (package + (name "python-hicmatrix") + (version "12") + (source + (origin + ;; Version 12 is not available on pypi. + (method git-fetch) + (uri (git-reference + (url "https://github.com/deeptools/HiCMatrix.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xhdyx16f3brgxgxybixdi64ki8nbbkq5vk4h9ahi11pzpjfn1pj")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* '("requirements.txt" + "setup.py") + (("cooler *=+ *0.8.5") + "cooler==0.8.*")) + #t))))) + (propagated-inputs + `(("python-cooler" ,python-cooler) + ("python-intervaltree" ,python-intervaltree) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy) + ("python-tables" ,python-tables))) + (home-page "https://github.com/deeptools/HiCMatrix/") + (synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks") + (description + "This helper package implements the @code{HiCMatrix} class for +the HiCExplorer and pyGenomeTracks packages.") + (license license:gpl3+))) + (define-public python-hicexplorer (package (name "python-hicexplorer") @@ -13732,23 +13774,35 @@ genomic scores), long range contacts and the visualization of viewpoints.") (define-public python-pygenometracks (package (name "python-pygenometracks") - (version "2.0") + (version "3.3") (source (origin (method url-fetch) (uri (pypi-uri "pyGenomeTracks" version)) (sha256 (base32 - "1fws6bqsyy9kj3qiabhkqx4wd4i775gsxnhszqd3zg7w67sc1ic5")))) + "16laa0wnf4qn9fb9ych4w1vqhqwjss70v0y0f6wp4gwqfrlgac0f")))) (build-system python-build-system) + (arguments + `(#:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("matplotlib ==3.1.1") + "matplotlib >=3.1.1")) + #t))))) (propagated-inputs - `(("python-configparser" ,python-configparser) - ("python-future" ,python-future) - ("python-hicexplorer" ,python-hicexplorer) + `(("python-future" ,python-future) + ("python-gffutils" ,python-gffutils) + ("python-hicmatrix" ,python-hicmatrix) ("python-intervaltree" ,python-intervaltree) ("python-matplotlib" ,python-matplotlib) ("python-numpy" ,python-numpy) - ("python-pybigwig" ,python-pybigwig))) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) + ("python-tqdm" ,python-tqdm))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://pygenometracks.readthedocs.io") diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 5132a9d8ab..104d61148a 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -186,7 +186,17 @@ data units.") (uri (pypi-uri "khal" version)) (sha256 (base32 - "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")))) + "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")) + (patches + (list + (origin + (method url-fetch) + ;; This patch fixes an issue with python-urwid-2.1.0 + (uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch") + (file-name "khal-compat-urwid-2.1.0.patch") + (sha256 + (base32 + "11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663"))))))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -219,9 +229,8 @@ data units.") ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) ("python-sphinx" ,python-sphinx))) (inputs - `(("sqlite" ,sqlite))) - (propagated-inputs - `(("python-configobj" ,python-configobj) + `(("sqlite" ,sqlite) + ("python-configobj" ,python-configobj) ("python-dateutil" ,python-dateutil) ("python-icalendar" ,python-icalendar) ("python-tzlocal" ,python-tzlocal) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index d92d463e03..4755a94025 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -248,7 +248,7 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "81.0.4044.92") +(define %chromium-version "81.0.4044.113") (define %ungoogled-revision "b484ad4c0bdb696c86d941798ae6b0e2bd0db35d") (define %debian-revision "debian/81.0.4044.92-1") (define package-revision "0") @@ -264,7 +264,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2")))) + "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17")))) (define %ungoogled-origin (origin diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index a5474e0a96..39aa54a9e8 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. @@ -47,20 +47,20 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a") - (revision "28")) + (let ((commit "27af1d34646f4e3fca09283cb52caa8b89cbb2b1") + (revision "29")) (package (name "cuirass") - (version (string-append "0.0.1-" revision "." (string-take commit 7))) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") (commit commit))) - (file-name (string-append name "-" version)) + (file-name (git-file-name name version)) (sha256 (base32 - "103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf")))) + "199fzv4d18qslcggl7lj42ib600nckp0c40x7ahnb4rgnjw8ppyi")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index dfec9ac277..72c6d93cfc 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -503,7 +503,7 @@ than gzip and 15 % smaller output than bzip2.") "/share/zoneinfo")) #t))))) (native-inputs - `(("tzdata" ,tzdata))) + `(("tzdata" ,tzdata-for-tests))) (home-page "https://fragglet.github.com/lhasa/") (synopsis "LHA archive decompressor") (description "Lhasa is a replacement for the Unix LHA tool, for diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e8b635ac16..cd2fea5996 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12306,6 +12306,8 @@ select colors to use in your R code.") ("r-scales" ,r-scales) ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/daattali/ggExtra") (synopsis "Marginal histograms for ggplot2 and other enhancements") (description @@ -18006,6 +18008,8 @@ allowed.") ("r-rsolnp" ,r-rsolnp) ("r-shiny" ,r-shiny) ("r-shinydashboard" ,r-shinydashboard))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/Wenchao-Ma/GDINA") (synopsis "Generalized DINA model framework") (description @@ -20620,7 +20624,7 @@ techniques to average Bayesian predictive distributions.") "/share/zoneinfo")) #t))))) (native-inputs - `(("tzdata" ,tzdata) + `(("tzdata" ,tzdata-for-tests) ("pandoc" ,ghc-pandoc))) (propagated-inputs `(("r-bh" ,r-bh) @@ -21102,3 +21106,28 @@ client).") designs with and without early outcomes for treatment selection and subpopulation type designs.") (license license:gpl3))) + +(define-public r-nbconvertr + (package + (name "r-nbconvertr") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "nbconvertR" version)) + (sha256 + (base32 + "0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg")))) + (properties `((upstream-name . "nbconvertR"))) + (build-system r-build-system) + (inputs + `(("jupyter" ,python-nbconvert) + ("pandoc" ,ghc-pandoc))) + (home-page "https://cran.r-project.org/web/packages/nbconvertR/") + (synopsis "Vignette engine wrapping Jupyter notebooks") + (description + "This package calls the Jupyter script @code{nbconvert} to create +vignettes from notebooks. Those notebooks (@code{.ipynb} files) are files +containing rich text, code, and its output. Code cells can be edited and +evaluated interactively.") + (license license:gpl3))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 09568aec37..ccbcfca005 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -508,7 +508,7 @@ replacement for the code@{python-memcached} library.") ("python" ,python-2) ("python2-pymongo" ,python2-pymongo) ("python2-pyyaml" ,python2-pyyaml) - ("tzdata" ,tzdata))) + ("tzdata" ,tzdata-for-tests))) (arguments `(#:scons ,scons-python2 #:phases diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 37f8f74b7b..71c0039dfb 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages mono) #:use-module (gnu packages ocaml) #:use-module (gnu packages package-management) @@ -68,7 +69,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "139")) + (let ((version "141")) (package (name "diffoscope") (version version) @@ -80,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1k4yjyvmn5nfdapkwgkr9gzpn18kr4c58n0f32pfkx4yakfqkk4i")))) + "0pls2jryx394ysaz0g8h959lhrsdqak9bkxjd5r6sdckgiikplkj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -91,6 +92,12 @@ (lambda _ (substitute* "setup.py" (("'python-magic',") "")))) + ;; Patch in support for known tools + (add-after 'unpack 'add-known-tools + (lambda _ + (substitute* "diffoscope/external_tools.py" + (("'debian': 'hdf5-tools'") + "'debian': 'hdf5-tools', 'guix': 'hdf5'")))) ;; This test is broken because our `file` package has a ;; bug in berkeley-db file type detection. (add-after 'unpack 'remove-berkeley-test @@ -189,6 +196,7 @@ ("giflib:bin" ,giflib "bin") ("gnumeric" ,gnumeric) ("gnupg" ,gnupg) + ("hdf5" ,hdf5) ("imagemagick" ,imagemagick) ("libarchive" ,libarchive) ("llvm" ,llvm) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 869be47ad1..e1198d4381 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -115,7 +115,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.16.1") + (version "9.16.2") (source (origin (method url-fetch) (uri (string-append @@ -123,7 +123,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "14ayswxnyaqwb935iqdi1w9ih3zs0a0va59j4cyi5f9mh7kxf4x9")))) + "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 836fc2b525..a1fee29c4e 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> +;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages flex) #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages game-development) @@ -43,12 +45,14 @@ #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules #:use-module (gnu packages mp3) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) @@ -935,3 +939,40 @@ TuxMath also includes Factoroids, a game that gives practice in factoring numbers and simplifying fractions, as well as zapping rocks floating through space.") (license license:gpl3+))) + +(define-public mdk + (package + (name "mdk") + (version "1.2.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-" + version ".tar.gz")) + (sha256 + (base32 + "1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes"))) + (native-inputs + `(("flex" ,flex) + ("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("ncurses" ,ncurses))) + (inputs + `(("readline" ,readline) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("pango" ,pango) + ("libglade" ,libglade))) + (home-page "https://www.gnu.org/software/mdk/") + (synopsis "Virtual development environment for Knuth's MIX") + (description + "GNU MDK is the Mix Development Kit, an emulation of the pedagogical +computer MIX and its assembly language MIXAL. MIX has a virtual CPU with +standard features such as registers, memory cells, an overflow toggle, +comparison flags, input-output devices, and a set of binary instructions. +The package includes a compiler, a virtual machine, a GUI for the virtual +machine, and more.") + (license license:gpl3+))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 37c449f437..b2b15af679 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4975,7 +4975,7 @@ number.") (define-public emacs-org-superstar (package (name "emacs-org-superstar") - (version "1.1.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -4984,7 +4984,7 @@ number.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14aafqw8rnbmiy3kcw1a58vjxdyamrbmlldnlw018wgk0qqv0xpx")))) + (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index e2c67e9126..cc2ae2447e 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -249,7 +249,7 @@ from the jfsutils package. It is meant to be used in initrds.") (define-public disorderfs (package (name "disorderfs") - (version "0.5.8") + (version "0.5.9") (source (origin (method git-fetch) @@ -259,7 +259,7 @@ from the jfsutils package. It is meant to be used in initrds.") (file-name (git-file-name name version)) (sha256 (base32 - "0pk9i0dycjq0wl6dp37r2hbadgpgmzbmjk2xpbjl36x4yrm4jns8")))) + "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index aa71335040..80d0350cf5 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> -;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> +;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> @@ -41,6 +41,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system emacs) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) @@ -241,11 +242,11 @@ and dynamically with report tools based on filtering and graphical charts.") ("libedit" ,libedit) ("mpfr" ,mpfr) ("python" ,python-2) - ("tzdata" ,tzdata) ("utfcpp" ,utfcpp))) (native-inputs `(("groff" ,groff) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("tzdata" ,tzdata-for-tests))) (home-page "https://ledger-cli.org/") (synopsis "Command-line double-entry accounting program") (description @@ -1165,10 +1166,37 @@ information.") (home-page "https://grisbi.org") (license license:gpl2+))) +(define-public trezord-udev-rules + (let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0") + (revision "0")) + (package + (name "trezord-udev-rules") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trezor/trezor-common.git") + (commit commit))) + (sha256 + (base32 + "14mrirrn68if7ja6qdk9qlxs1hv0f21vrxy5ncnms0gx9iwakp2l")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("./udev/51-trezor.rules" "lib/udev/rules.d/")))) + (home-page "https://github.com/trezor/trezor-common") + (synopsis "Udev rules for trezord") + (description + "This contains the udev rules for trezord. This will let a user run +trezord as a regular user instead of needing to it run as root.") + (license license:lgpl3+)))) + (define-public trezord (package (name "trezord") - (version "2.0.17") + (version "2.0.29") (source (origin (method git-fetch) @@ -1177,7 +1205,7 @@ information.") (commit (string-append "v" version)))) (sha256 (base32 - "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7")) + "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp")) (file-name (git-file-name name version)))) (build-system go-build-system) (arguments @@ -1405,14 +1433,14 @@ a Qt GUI.") (define-public fulcrum (package (name "fulcrum") - (version "1.0.5b") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v" version "/fulcrum-v" version ".tar.gz")) (sha256 - (base32 "1c1hkik8avill8ha33g76rk4b03j5ac8wiml69q4jav7a63ywgfy")))) + (base32 "1xywwgsdhkiblv6la0pfhvn2s9q8vnz6pjg35647rlwzi6ybf0ak")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1440,6 +1468,71 @@ walets in a fast and small server. The full data is stored in a full node, like Flowee the Hub, which Fulcrum connects to over RPC.") (license license:gpl3+))) +(define-public flowee + (package + (name "flowee") + (version "2020.03.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" + version "/thehub-" version ".tar.gz")) + (sha256 + (base32 "1ajd5axv9zyhh6njrvamm11zn52j1q4j3mwn2nfv7cjd4lhnhlsr")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'make-qt-deterministic + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (add-before 'configure 'disable-black-box + ;; the black-box testing runs full hubs and lets them interact. + ;; this is more fragile and a slow machine, or low memory machine, may + ;; make the tests timeout and fail. We just disable them here. + (lambda _ + (substitute* "testing/CMakeLists.txt" + (("test_api") "")) + #t)) + (add-after 'configure 'set-build-info + ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) . + ;; Its purpose is to write the tag name in the build.h file. We do that + ;; here instead. + (lambda _ + (with-output-to-file "include/build.h" + (lambda _ + (display + (string-append "#define BUILD_DESC " "\"", version "\"")))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME + #t)) + (replace 'check + (lambda _ + (invoke "make" "check" "-C" "testing")))))) + (inputs + `(("boost" ,boost) + ("gmp" ,gmp) + ("libevent" ,libevent) + ("miniupnpc" ,miniupnpc) + ("openssl" ,openssl) + ("qtbase" ,qtbase))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("util-linux" ,util-linux))) ; provides the hexdump command for tests + (home-page "https://flowee.org") + (synopsis "Flowee infrastructure tools and services") + (description + "Flowee packages all tier-1 applications and services from the Flowee group. +This includes components like The Hub and Indexer which and various others +that allows you to run services and through them access the Bitcoin Cash networks.") + (license license:gpl3+))) + + (define-public beancount (package (name "beancount") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f20a0bdca8..caa1e8d37c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; 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 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> @@ -1955,7 +1955,7 @@ asynchronously and at a user-defined speed.") (define-public chess (package (name "chess") - (version "6.2.5") + (version "6.2.6") (source (origin (method url-fetch) @@ -1963,13 +1963,15 @@ asynchronously and at a user-defined speed.") ".tar.gz")) (sha256 (base32 - "00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs")))) + "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/chess/") (synopsis "Full chess implementation") (description "GNU Chess is a chess engine. It allows you to compete against the computer in a game of chess, either through the default terminal interface or via an external visual interface such as GNU XBoard.") + (properties '((upstream-name . "gnuchess") + (ftp-directory . "/chess"))) (license license:gpl3+))) (define freedink-engine diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6de7aaf7c6..fbd4c5eb96 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -250,6 +250,34 @@ Desktop. It is designed to be as simple as possible and has some unique features to enable users to create their discs easily and quickly.") (license license:gpl2+))) +(define-public notification-daemon + (package + (name "notification-daemon") + (version "3.20.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("x11" ,libx11))) + (synopsis "Notification Daemon for GNOME Desktop") + (description "Notification-Daemon is the server implementation of the +freedesktop.org desktop notification specification.") + (home-page "https://wiki.gnome.org/Projects/NotificationDaemon") + (license license:gpl2+))) + (define-public mm-common (package (name "mm-common") diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 02aef3ed47..6963da9dff 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -38,7 +38,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.13") + (version "3.10.15") (source (origin (method git-fetch) @@ -47,11 +47,13 @@ (commit version))) (sha256 (base32 - "1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg")) + "0ghbanj142n0hgydzfjmnkdgri2kswsjal3mn10c723kih4ir4yr")) (file-name (git-file-name name version)))) (build-system python-build-system) (native-inputs - `(("intltool" ,intltool))) + `(("intltool" ,intltool) + ("python-coverage" ,python-coverage) + ("python-minimock" ,python-minimock))) (inputs `(("gtk+" ,gtk+) ("python-pygobject" ,python-pygobject) @@ -72,6 +74,12 @@ (substitute* "src/gpodder/util.py" (("xdg-open") (string-append xdg-utils "/bin/xdg-open"))) #t))) + (replace 'check + (lambda _ + ; The `unittest' target overrides the PYTHONPATH variable. + (substitute* "makefile" + (("PYTHONPATH=src/") "PYTHONPATH=${PYTHONPATH}:src/")) + (invoke "make" "unittest"))) ;; 'msgmerge' introduces non-determinism by resetting the ;; POT-Creation-Date in .po files. (add-before 'install 'do-not-run-msgmerge @@ -176,7 +184,13 @@ downloading episode status changes.") (sha256 (base32 "0k62ppg20i41gcc5x8ddjn7zbpy47hqpxzrq9257g2c71m4qw07b")))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "nosetests")))))) (build-system python-build-system) (home-page "http://gpodder.org/podcastparser") (synopsis "Simplified and fast RSS parser Python library") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index ac8155fc89..5be56ba9f7 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1056,7 +1056,7 @@ format.") (define-public guile-newt (package (name "guile-newt") - (version "0.0.1") + (version "0.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -1065,20 +1065,7 @@ format.") (file-name (git-file-name name version)) (sha256 (base32 - "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2 2.0])\n")) - - ;; Remove "guile.m4" since it contains an obsolete version - ;; of 'GUILE_PKG' that doesn't work with development - ;; versions such as 2.9. - (delete-file "m4/guile.m4") - #t)))) + "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09")))) (build-system gnu-build-system) (arguments '(#:make-flags diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0ae88ea1a4..c900bd0eb9 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1972,7 +1972,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (define-public libavif (package (name "libavif") - (version "0.6.3") + (version "0.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -1981,7 +1981,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (file-name (git-file-name name version)) (sha256 (base32 - "0fn2mcpvzw6h9sv8h0icbz10i8ihzzf5d5mx3fc4pvhicyz4syq8")))) + "1xybjbbprvfsrwgysrn7grg6yp7v6ch5vci7zvdcdzcgyrbph172")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" @@ -1989,18 +1989,15 @@ This package can be used to create @code{favicon.ico} files for web sites.") "-DAVIF_BUILD_TESTS=ON") #:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "./aviftest" "../source/tests/data"))) (add-after 'install 'install-readme (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/libavif-" - ,version))) - (install-file "../source/README.md" doc))))) -;; The test suite runs tests for all supported codecs and fails because we don't -;; have rav1e yet. -;; (replace 'check -;; (lambda _ -;; (invoke "./aviftest" "../source/tests/data")))) - #:tests? #f)) + (doc (string-append out "/share/doc/libavif-" ,version))) + (install-file "../source/README.md" doc) + #t)))))) (inputs `(("libaom" ,libaom) ("dav1d" ,dav1d))) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e220b2c24d..0c31709329 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -3537,7 +3537,7 @@ workspace.") ("shared-mime-info" ,shared-mime-info) ("kjobwidgets" ,kjobwidgets) ;; required for running the tests ("strace" ,strace) - ("tzdata" ,tzdata))) + ("tzdata" ,tzdata-for-tests))) (propagated-inputs ;; These are required to be installed along with this package, see ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0970a3909c..344ff77a35 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -369,26 +369,26 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (sha256 hash))) -(define-public linux-libre-5.6-version "5.6.4") +(define-public linux-libre-5.6-version "5.6.5") (define-public linux-libre-5.6-pristine-source (let ((version linux-libre-5.6-version) - (hash (base32 "14cxbc9xi4s3xwx4yb1yd4z0kidsk3d443skf5sgmdhcalg79wax"))) + (hash (base32 "1rjjkcmzsj9azggh960qnk2x44ns475b8nbd4nxazrz1rgdx76zp"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.6))) -(define-public linux-libre-5.4-version "5.4.32") +(define-public linux-libre-5.4-version "5.4.33") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1czjjnln1cqrnjxw0md6mpw9haw9abdyvmxnjds56ym4nzx9jb8r"))) + (hash (base32 "0q9q48ij6vppfcrdf7fr24pvpwsd13pxjkdni6rnjq9a60hrcmxm"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.115") +(define-public linux-libre-4.19-version "4.19.116") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1hh170z3mv181l6cc6qqc12wif5jsmxbh2qxbq6b9km5irydkchi"))) + (hash (base32 "0r3vdc3npl1bn06w9v6wsq7d5mm7bnhm9wsz36pb9ar3xhimvrlf"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b5cd660f21..48b9ec307d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> -;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> @@ -89,6 +89,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) + #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages lsof) #:use-module (gnu packages lua) @@ -1432,6 +1433,11 @@ facilities for checking incoming mail.") (inputs `(("bzip2" ,bzip2) ("libsodium" ,libsodium) ; extra password algorithms + ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's + ;; backtrace_symbol() function so fallback to using libunwind. + ,@(if (target-arm?) + `(("libunwind" ,libunwind)) + '()) ("linux-pam" ,linux-pam) ("lz4" ,lz4) ("openssl" ,openssl) @@ -1955,26 +1961,26 @@ maintained.") (define-public khard (package (name "khard") - (version "0.15.1") + (version "0.16.1") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w")))) + "0fg4qh5gzki5wg958wlpc8a2icnk74gzg33lqxjm755cfnjng7qd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'install 'install-doc + (add-after 'install 'install-completions (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/khard"))) - (copy-recursively "misc/khard" doc) + (zsh (string-append out "/share/zsh/site-functions"))) + (copy-recursively "misc/zsh" zsh) #t)))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) - (propagated-inputs + (inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-configobj" ,python-configobj) ("python-pyyaml" ,python-pyyaml) diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 9f86ee5649..d6b0e25e6b 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -29,13 +29,13 @@ (define-public toot (package (name "toot") - (version "0.25.2") + (version "0.26.0") (source (origin (method url-fetch) (uri (pypi-uri "toot" version)) (sha256 - (base32 "16akld7zfr52rqrbgf6hmsca9qsrfdbbbd9bji8d26zggxmqq4vq")))) + (base32 "0h0lqm1q7i32i9n6yx5q2j563vc92h2sjh1ih4n2rxf98p6c5d1b")))) (build-system python-build-system) (arguments '(#:phases diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 4618817b43..9f1a62a7e7 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -608,14 +608,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.2") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0ygdxpz0i4jxp55fg9x4xcan093wycjb66yas073gviz9kpj6naz")))) + (base32 "1fpsfjrap7j84sy728yhcr2gad9nq3n5gq03mwrmxnc6ijwf81zh")))) (build-system cmake-build-system) (arguments `(#:phases diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 44236ec469..27cd5c18b7 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -244,3 +245,26 @@ protocol used in @code{node-lynx}.") (description "This package provides the Node.js @code{util.deprecate()} function with browser support.") (license license:expat))) + +(define-public node-semver + (package + (name "node-semver") + (version "7.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/node-semver.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) + (build-system node-build-system) + (arguments + `(#:tests? #f)) ;; FIXME: Tests depend on node-tap + (home-page "https://github.com/npm/node-semver") + (synopsis "Parses semantic versions strings") + (description + "@code{node-semver} is a JavaScript implementation of the +@uref{https://semver.org/, SemVer.org} specification.") + (license license:isc))) diff --git a/gnu/packages/patches/python-jedi-sort-project-test.patch b/gnu/packages/patches/python-jedi-sort-project-test.patch new file mode 100644 index 0000000000..b2d602dfe6 --- /dev/null +++ b/gnu/packages/patches/python-jedi-sort-project-test.patch @@ -0,0 +1,18 @@ +Sort the result of file system traversal to avoid test failure on different +file systems. + +Taken from upstream: +https://github.com/davidhalter/jedi/commit/7ff76bb7d0d94514e17cd1647f4ffaf533dd55f5 + +diff --git a/test/test_api/test_project.py b/test/test_api/test_project.py +--- a/test/test_api/test_project.py ++++ b/test/test_api/test_project.py +@@ -135,7 +135,7 @@ def test_search(string, full_names, kwargs, skip_pre_python36): + defs = project.complete_search(string, **kwargs) + else: + defs = project.search(string, **kwargs) +- assert [('stub:' if d.is_stub() else '') + d.full_name for d in defs] == full_names ++ assert sorted([('stub:' if d.is_stub() else '') + d.full_name for d in defs]) == full_names + + + @pytest.mark.parametrize( diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index bb3a26525f..8ccb133e1f 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -822,7 +822,7 @@ using a stylus.") (define-public xournalpp (package (name "xournalpp") - (version "1.0.17") + (version "1.0.18") (source (origin (method git-fetch) @@ -831,7 +831,7 @@ using a stylus.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0xw2mcgnm4sa9hrhfgp669lfypw97drxjmz5w8i5whaprpvmkxzw")))) + (base32 "0a9ygbmd4dwgck3k8wsrm2grynqa0adb12wwspzmzvpisbadffjy")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests @@ -844,11 +844,6 @@ using a stylus.") (modify-phases %standard-phases (add-after 'unpack 'fix-permissions-on-po-files (lambda _ - ;; Always generate translations. A recent upstream patch - ;; disabled it. - (substitute* "po/CMakeLists.txt" - (("gettext_create_translations \\(\"\\$\\{potfile\\}\"\\)") - "gettext_create_translations (\"${potfile}\" ALL)")) ;; Make sure 'msgmerge' can modify the PO files. (for-each (lambda (po) (chmod po #o666)) (find-files "." "\\.po$")) @@ -857,7 +852,6 @@ using a stylus.") (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs `(("cppunit" ,cppunit) - ("gcc" ,gcc-8) ;requires gcc 8+ ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7c73b40181..0636b2b3ea 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1699,14 +1699,14 @@ Python 3.3+.") (define-public python-pyicu (package (name "python-pyicu") - (version "2.3.1") + (version "2.4.3") (source (origin (method url-fetch) (uri (pypi-uri "PyICU" version)) (sha256 (base32 - "1x4w8m7ifki9z2a187pgjr33z6z0rp2fii9b73djak1vhm9v9cnx")))) + "075bw66b3w0nw6mc5k32fwmrhyrmq3d7da3q2mw212qfmm0pgjn0")))) (build-system python-build-system) (inputs `(("icu4c" ,icu4c))) @@ -1717,24 +1717,10 @@ Python 3.3+.") (synopsis "Python extension wrapping the ICU C++ API") (description "PyICU is a python extension wrapping the ICU C++ API.") - (properties `((python2-variant . ,(delay python2-pyicu)))) (license license:x11))) (define-public python2-pyicu - (let ((base (package-with-python2 - (strip-python2-variant python-pyicu)))) - (package - (inherit base) - (arguments - `(,@(package-arguments base) - #:phases - (modify-phases %standard-phases - (add-before 'check 'delete-failing-test - (λ _ - ;; XXX: This fails due to Unicode issues unique to Python 2, - ;; it seems: <https://github.com/ovalhub/pyicu/issues/61>. - (delete-file "test/test_Script.py") - #t)))))))) + (package-with-python2 python-pyicu)) (define-public python2-dogtail ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and @@ -3877,14 +3863,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.15") + (version "0.29.16") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30")))) + "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -6499,14 +6485,14 @@ computing.") (define-public python-urwid (package (name "python-urwid") - (version "2.0.1") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "urwid" version)) (sha256 (base32 - "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4")))) + "11ndnhxd41m13darf5s0c6bafdpkzq1l6mfb04wbzdmyc1hg75h8")))) (build-system python-build-system) (home-page "http://urwid.org") (synopsis "Console user interface library for Python") @@ -8037,14 +8023,14 @@ printing of sub-tables by specifying a row range.") (define-public python-tables (package (name "python-tables") - (version "3.4.4") + (version "3.6.1") (source (origin (method url-fetch) (uri (pypi-uri "tables" version)) (sha256 (base32 - "0affz7k8babh8wdmsgrz5jxrd569by2w8ffimcxs9wiaf5rw1idx")) + "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9")) (modules '((guix build utils))) (snippet '(begin @@ -8062,9 +8048,11 @@ printing of sub-tables by specifying a row range.") (add-after 'unpack 'use-gcc (lambda _ (substitute* "setup.py" - (("compiler = new_compiler\\(\\)" line) + (("^( +)compiler = new_compiler\\(\\)" line indent) (string-append line - "\ncompiler.set_executables(compiler='gcc'," + "\n" + indent + "compiler.set_executables(compiler='gcc'," "compiler_so='gcc'," "linker_exe='gcc'," "linker_so='gcc -shared')"))) @@ -9421,13 +9409,13 @@ minimal and fast API targeting the following uses: (define-public python-icalendar (package (name "python-icalendar") - (version "4.0.4") + (version "4.0.5") (source (origin (method url-fetch) (uri (pypi-uri "icalendar" version)) (sha256 (base32 - "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l")))) + "14ynjj65kfmlcvpb7k097w789wvxncd3cr3xz5m1jz9yl9v6vv5q")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -9516,20 +9504,20 @@ with a new public API, and RPython support.") (define-public python-hy (package (name "python-hy") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (pypi-uri "hy" version)) (sha256 (base32 - "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi")))) + "04dfwm336gw61fmgwikvh0cnxk682p19b4w555wl5d7mlym4rwj2")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'install 'set-HOME - (lambda _ - (setenv "HOME" "/tmp"))) + (add-before 'install 'set-HOME + (lambda _ + (setenv "HOME" "/tmp") #t)) (replace 'check (lambda _ ;; Tests require write access to HOME. @@ -9540,10 +9528,8 @@ with a new public API, and RPython support.") ("python-nose" ,python-nose))) (propagated-inputs `(("python-astor" ,python-astor) - ("python-clint" ,python-clint) + ("python-colorama" ,python-colorama) ("python-rply" ,python-rply) - ("python-fastentrypoints" - ,python-fastentrypoints) ("python-funcparserlib" ,python-funcparserlib))) (home-page "http://hylang.org/") @@ -9554,9 +9540,6 @@ its Lisp code into the Python Abstract Syntax Tree, you have the whole world of Python at your fingertips, in Lisp form.") (license license:expat))) -(define-public python2-hy - (package-with-python2 python-hy)) - (define-public python2-functools32 (package (name "python2-functools32") @@ -10357,13 +10340,13 @@ programmatically interfacing with your system's $EDITOR.") (define-public python-vobject (package (name "python-vobject") - (version "0.9.5") + (version "0.9.6.1") (source (origin (method url-fetch) (uri (pypi-uri "vobject" version)) (sha256 (base32 - "0hqjgf3ay1m5w1c0k00g5yfpdz1zni5qnr5rh9b8fg9hjvhwlmhg")))) + "0081g4gngw28j7vw8101jk600wz4gzfrhf5myrqvn2mrfkn2llcn")))) (build-system python-build-system) (arguments '(;; The test suite relies on some non-portable Windows interfaces. @@ -10374,7 +10357,7 @@ programmatically interfacing with your system's $EDITOR.") (synopsis "Parse and generate vCard and vCalendar files") (description "Vobject is intended to be a full featured Python package for parsing and generating vCard and vCalendar files. Currently, iCalendar files -are supported and well tested. vCard 3.0 files are supported, and all data +are supported and well tested. vCard 3.0 files are supported, and all data should be imported, but only a few components are understood in a sophisticated way.") (home-page "https://eventable.github.io/vobject/") @@ -11997,6 +11980,7 @@ characters, mouse support, and auto suggestions.") (origin (method url-fetch) (uri (pypi-uri "jedi" version)) + (patches (search-patches "python-jedi-sort-project-test.patch")) (sha256 (base32 "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) @@ -12007,7 +11991,7 @@ characters, mouse support, and auto suggestions.") (replace 'check (lambda _ (setenv "HOME" "/tmp") - (invoke "python" "-m" "pytest")))))) + (invoke "python" "-m" "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-docopt" ,python-docopt))) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index a84a31fd9c..8f1562a176 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages documentation) #:use-module (gnu packages engineering) + #:use-module (gnu packages fltk) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) @@ -525,3 +526,121 @@ to the fix block above. using GNU Radio and the Qt GUI toolkit.") (home-page "https://gqrx.dk/") (license license:gpl3+))) + +(define-public fldigi + (package + (name "fldigi") + (version "4.1.11") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-" + version ".tar.gz")) + (sha256 + (base32 "1y62xn1pim38ibaf2mbl8b7aq20jdaac6lgggb9r402w9bj5b196")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fltk" ,fltk) + ("libpng" ,libpng) + ("libsamplerate" ,libsamplerate) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio))) + (synopsis "Software modem for amateur radio use") + (description + "Fldigi is a software modem for amateur radio use. It is a sound card +based program that is used for both transmitting and receiving data by +connecting the microphone and headphone connections of a computer to some radio +hardware.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flrig + (package + (name "flrig") + (version "1.3.50") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flrig/flrig-" + version ".tar.gz")) + (sha256 + (base32 "0fzrknzzi8kmzmrcfpc8rxr7v4a4ny6z6z5q5qwh95sp2kn2qzp9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "Radio transceiver control program") + (description + "Flrig is a transceiver control program for amateur radio use. +It provides computer aided control of various radios using a serial +or USB connection.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flamp + (package + (name "flamp") + (version "2.2.05") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flamp/flamp-" + version ".tar.gz")) + (sha256 + (base32 "19z1kghhdf7bq6hi2j0mzlsn2nhpn3gl1a623x3inmsk80yw3ck4")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "Tool for AMP file transfer") + (description + "FLAMP is a program for transfering files by radio waves using AMP +(Amateur Multicast Protocol).") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flwrap + (package + (name "flwrap") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flwrap/flwrap-" + version ".tar.gz")) + (sha256 + (base32 "0qqivqkkravcg7j45740xfky2q3k7czqpkj6y364qff424q2pppg")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "File encapsulation program") + (description + "Flwrap is a software utility for amateur radio use. Its purpose is to +encapsulate both text and binary files in a way that allows them to be +transmitted over any of several digital modes and verified at the receipt end +for correctness.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 1d70de2ffa..ff7da7958f 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -851,7 +851,7 @@ through its msgpack-rpc API.") (define-public vim-asyncrun (package (name "vim-asyncrun") - (version "2.7.1") + (version "2.7.5") (source (origin (method git-fetch) (uri (git-reference @@ -860,7 +860,7 @@ through its msgpack-rpc API.") (file-name (git-file-name name version)) (sha256 (base32 - "0f7slvz28772qsbrb8xfwrkprfm90wc9i36xhn797lacxcxgwqpw")))) + "02fiqf4rcrxbcgvj02mpd78wkxsrnbi54aciwh9fv5mnz5ka249m")))) (build-system copy-build-system) (arguments '(#:install-plan diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c17cd8ed40..1851a27406 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -711,15 +711,15 @@ and import the new pictures from your camera.") (define-public xfwm4 (package (name "xfwm4") - (version "4.14.0") + (version "4.14.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfwm4/" (version-major+minor version) "/" + "xfwm4-" version ".tar.bz2")) (sha256 (base32 - "05dn4a1i0nm6wm3nyj7qli5bvfalxghcl7x543qr5l33vkw2n65l")))) + "0a0la57jh618qfl7czsn7mspcraqczkm1m616j7jwxkhh2hq21qh")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -741,15 +741,15 @@ on the screen.") (define-public xfdesktop (package (name "xfdesktop") - (version "4.14.1") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfdesktop/" (version-major+minor version) "/" + "xfdesktop-" version ".tar.bz2")) (sha256 (base32 - "10pqxgpj7b57wpcsh2k98sj4aavcgxbs1lc8qsq4mibf4hba01gp")) + "0x1yx9sd5aanrlr1qnbwd2nsmcg09g4132k0kyb7z47a3x3381d3")) (modules '((guix build utils))) (snippet #~(begin @@ -781,6 +781,7 @@ on the screen.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) + ;; For our own ‘prepare-background-image’ phase. ("inkscape" ,inkscape) ("imagemagick" ,imagemagick))) (inputs @@ -949,15 +950,15 @@ the desktop wallpaper.") (define-public xfce4-taskmanager (package (name "xfce4-taskmanager") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfce4-taskmanager/" (version-major+minor version) "/" + "xfce4-taskmanager-" version ".tar.bz2")) (sha256 (base32 - "04qflazmdrj4ys4r54yg4s5pqcjgk02idrjsls395zd4374636p4")))) + "1i63bnvpjpblnd0d3l1v065x9q1cz74cvlab5hzd0q8zgkd49z6w")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 47db1f507f..21a24677c6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> @@ -6004,7 +6004,7 @@ to answer a question. Xmessage can also exit after a specified time.") (define-public xterm (package (name "xterm") - (version "351") + (version "353") (source (origin (method url-fetch) (uri (list @@ -6014,7 +6014,7 @@ to answer a question. Xmessage can also exit after a specified time.") "xterm-" version ".tgz"))) (sha256 (base32 - "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn")))) + "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 08ab5970dc..a532e884c3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -61,11 +61,11 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:use-module (ice-9 format) + #:re-export (user-processes-service-type) ;backwards compatibility #:export (fstab-service-type root-file-system-service file-system-service-type swap-service - user-processes-service-type host-name-service console-keymap-service %default-console-font @@ -187,128 +187,6 @@ ;;; -;;; User processes. -;;; - -(define %do-not-kill-file - ;; Name of the file listing PIDs of processes that must survive when halting - ;; the system. Typical example is user-space file systems. - "/etc/shepherd/do-not-kill") - -(define (user-processes-shepherd-service requirements) - "Return the 'user-processes' Shepherd service with dependencies on -REQUIREMENTS (a list of service names). - -This is a synchronization point used to make sure user processes and daemons -get started only after crucial initial services have been started---file -system mounts, etc. This is similar to the 'sysvinit' target in systemd." - (define grace-delay - ;; Delay after sending SIGTERM and before sending SIGKILL. - 4) - - (list (shepherd-service - (documentation "When stopped, terminate all user processes.") - (provision '(user-processes)) - (requirement requirements) - (start #~(const #t)) - (stop #~(lambda _ - (define (kill-except omit signal) - ;; Kill all the processes with SIGNAL except those listed - ;; in OMIT and the current process. - (let ((omit (cons (getpid) omit))) - (for-each (lambda (pid) - (unless (memv pid omit) - (false-if-exception - (kill pid signal)))) - (processes)))) - - (define omitted-pids - ;; List of PIDs that must not be killed. - (if (file-exists? #$%do-not-kill-file) - (map string->number - (call-with-input-file #$%do-not-kill-file - (compose string-tokenize - (@ (ice-9 rdelim) read-string)))) - '())) - - (define (now) - (car (gettimeofday))) - - (define (sleep* n) - ;; Really sleep N seconds. - ;; Work around <http://bugs.gnu.org/19581>. - (define start (now)) - (let loop ((elapsed 0)) - (when (> n elapsed) - (sleep (- n elapsed)) - (loop (- (now) start))))) - - (define lset= (@ (srfi srfi-1) lset=)) - - (display "sending all processes the TERM signal\n") - - (if (null? omitted-pids) - (begin - ;; Easy: terminate all of them. - (kill -1 SIGTERM) - (sleep* #$grace-delay) - (kill -1 SIGKILL)) - (begin - ;; Kill them all except OMITTED-PIDS. XXX: We would - ;; like to (kill -1 SIGSTOP) to get a fixed list of - ;; processes, like 'killall5' does, but that seems - ;; unreliable. - (kill-except omitted-pids SIGTERM) - (sleep* #$grace-delay) - (kill-except omitted-pids SIGKILL) - (delete-file #$%do-not-kill-file))) - - (let wait () - ;; Reap children, if any, so that we don't end up with - ;; zombies and enter an infinite loop. - (let reap-children () - (define result - (false-if-exception - (waitpid WAIT_ANY (if (null? omitted-pids) - 0 - WNOHANG)))) - - (when (and (pair? result) - (not (zero? (car result)))) - (reap-children))) - - (let ((pids (processes))) - (unless (lset= = pids (cons 1 omitted-pids)) - (format #t "waiting for process termination\ - (processes left: ~s)~%" - pids) - (sleep* 2) - (wait)))) - - (display "all processes have been terminated\n") - #f)) - (respawn? #f)))) - -(define user-processes-service-type - (service-type - (name 'user-processes) - (extensions (list (service-extension shepherd-root-service-type - user-processes-shepherd-service))) - (compose concatenate) - (extend append) - - ;; The value is the list of Shepherd services 'user-processes' depends on. - ;; Extensions can add new services to this list. - (default-value '()) - - (description "The @code{user-processes} service is responsible for -terminating all the processes so that the root file system can be re-mounted -read-only, just before rebooting/halting. Processes still running after a few -seconds after @code{SIGTERM} has been sent are terminated with -@code{SIGKILL}."))) - - -;;; ;;; File systems. ;;; diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index 1921afce95..59f8b16985 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm @@ -170,7 +170,7 @@ Relogin=" (if (sddm-configuration-relogin? config) (list (shepherd-service (documentation "SDDM display manager.") (requirement '(user-processes)) - (provision '(display-manager)) + (provision '(xorg-server display-manager)) (start #~(make-forkexec-constructor #$sddm-command)) (stop #~(make-kill-destructor))))) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 9906ae43c4..e99458da43 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -63,7 +63,9 @@ shepherd-service-lookup-procedure shepherd-service-back-edges - shepherd-service-upgrade)) + shepherd-service-upgrade + + user-processes-service-type)) ;;; Commentary: ;;; @@ -415,4 +417,126 @@ need to be restarted to complete their upgrade." (values to-unload to-restart)) + +;;; +;;; User processes. +;;; + +(define %do-not-kill-file + ;; Name of the file listing PIDs of processes that must survive when halting + ;; the system. Typical example is user-space file systems. + "/etc/shepherd/do-not-kill") + +(define (user-processes-shepherd-service requirements) + "Return the 'user-processes' Shepherd service with dependencies on +REQUIREMENTS (a list of service names). + +This is a synchronization point used to make sure user processes and daemons +get started only after crucial initial services have been started---file +system mounts, etc. This is similar to the 'sysvinit' target in systemd." + (define grace-delay + ;; Delay after sending SIGTERM and before sending SIGKILL. + 4) + + (list (shepherd-service + (documentation "When stopped, terminate all user processes.") + (provision '(user-processes)) + (requirement requirements) + (start #~(const #t)) + (stop #~(lambda _ + (define (kill-except omit signal) + ;; Kill all the processes with SIGNAL except those listed + ;; in OMIT and the current process. + (let ((omit (cons (getpid) omit))) + (for-each (lambda (pid) + (unless (memv pid omit) + (false-if-exception + (kill pid signal)))) + (processes)))) + + (define omitted-pids + ;; List of PIDs that must not be killed. + (if (file-exists? #$%do-not-kill-file) + (map string->number + (call-with-input-file #$%do-not-kill-file + (compose string-tokenize + (@ (ice-9 rdelim) read-string)))) + '())) + + (define (now) + (car (gettimeofday))) + + (define (sleep* n) + ;; Really sleep N seconds. + ;; Work around <http://bugs.gnu.org/19581>. + (define start (now)) + (let loop ((elapsed 0)) + (when (> n elapsed) + (sleep (- n elapsed)) + (loop (- (now) start))))) + + (define lset= (@ (srfi srfi-1) lset=)) + + (display "sending all processes the TERM signal\n") + + (if (null? omitted-pids) + (begin + ;; Easy: terminate all of them. + (kill -1 SIGTERM) + (sleep* #$grace-delay) + (kill -1 SIGKILL)) + (begin + ;; Kill them all except OMITTED-PIDS. XXX: We would + ;; like to (kill -1 SIGSTOP) to get a fixed list of + ;; processes, like 'killall5' does, but that seems + ;; unreliable. + (kill-except omitted-pids SIGTERM) + (sleep* #$grace-delay) + (kill-except omitted-pids SIGKILL) + (delete-file #$%do-not-kill-file))) + + (let wait () + ;; Reap children, if any, so that we don't end up with + ;; zombies and enter an infinite loop. + (let reap-children () + (define result + (false-if-exception + (waitpid WAIT_ANY (if (null? omitted-pids) + 0 + WNOHANG)))) + + (when (and (pair? result) + (not (zero? (car result)))) + (reap-children))) + + (let ((pids (processes))) + (unless (lset= = pids (cons 1 omitted-pids)) + (format #t "waiting for process termination\ + (processes left: ~s)~%" + pids) + (sleep* 2) + (wait)))) + + (display "all processes have been terminated\n") + #f)) + (respawn? #f)))) + +(define user-processes-service-type + (service-type + (name 'user-processes) + (extensions (list (service-extension shepherd-root-service-type + user-processes-shepherd-service))) + (compose concatenate) + (extend append) + + ;; The value is the list of Shepherd services 'user-processes' depends on. + ;; Extensions can add new services to this list. + (default-value '()) + + (description "The @code{user-processes} service is responsible for +terminating all the processes so that the root file system can be re-mounted +read-only, just before rebooting/halting. Processes still running after a few +seconds after @code{SIGTERM} has been sent are terminated with +@code{SIGKILL}."))) + ;;; shepherd.scm ends here diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 42480e823c..a6f1d806cf 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> @@ -314,9 +314,7 @@ accounts among ACCOUNTS+GROUPS." ;; ;; XXX: We arrange for this service to stop right after it's done its job so ;; that 'guix system reconfigure' knows that it can reload it fearlessly - ;; (and thus create new home directories). The cost of this hack is that - ;; there's a small window during which first-time logins could happen before - ;; the home directory has been created. + ;; (and thus create new home directories). (list (shepherd-service (requirement '(file-systems)) (provision '(user-homes)) @@ -374,6 +372,11 @@ the /etc/skel directory for those." account-activation) (service-extension shepherd-root-service-type account-shepherd-service) + ;; Have 'user-processes' depend on 'user-homes' so that + ;; daemons start after their home directory has been + ;; created. + (service-extension user-processes-service-type + (const '(user-homes))) (service-extension etc-service-type etc-files))))) |