From ce6619b059cb3ae168e3dc270dfa98b50c1f3c97 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 15 Apr 2020 19:54:51 +0200 Subject: [PATCH 01/98] gnu: bind: Update to 9.16.2 [security fixes]. * gnu/packages/dns.scm (isc-bind): Update to 9.16.2. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 77f27fddfb..0f7227ad03 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -115,7 +115,7 @@ (define-public dnsmasq (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 @@ (define-public isc-bind "/bind-" version ".tar.xz")) (sha256 (base32 - "14ayswxnyaqwb935iqdi1w9ih3zs0a0va59j4cyi5f9mh7kxf4x9")))) + "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs From 8f0b41c8bf606fd269970d153ae687e5f36603df Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 20:01:06 +0200 Subject: [PATCH 02/98] gnu: cuirass: Update to 0.0.1-29.27af1d3. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-29.27af1d3. [version]: Use git-version. [file-name]: Use git-file-name. --- gnu/packages/ci.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 24de11b713..817c8a96db 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016, 2017 Mathieu Lirzin ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017, 2019 Ricardo Wurmus +;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -47,20 +47,20 @@ (define-module (gnu packages ci) #: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) From 87b343f7539fe9e5b4cb3814d1607855b8e7bde9 Mon Sep 17 00:00:00 2001 From: TomZ Date: Sat, 11 Apr 2020 14:56:49 +0200 Subject: [PATCH 03/98] gnu: Add flowee. * gnu/packages/finance.scm (flowee): New variable. --- gnu/packages/finance.scm | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index aa71335040..c5f9066fd7 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1440,6 +1440,71 @@ (define-public fulcrum 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") From 72f6ee0e15a12a616cfe70805ce297aa9a66285d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 15 Apr 2020 17:27:22 +0200 Subject: [PATCH 04/98] gnu: Add fldigi. * gnu/packages/radio.scm (fldigi): New variable. --- gnu/packages/radio.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index a84a31fd9c..7afb06210d 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -35,6 +35,7 @@ (define-module (gnu packages radio) #: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,37 @@ (define-public gqrx 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+))) From 8080c03d14ccdd7897a902966ea4aeea8dbfd359 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 15 Apr 2020 19:44:41 +0200 Subject: [PATCH 05/98] gnu: Add flrig. * gnu/packages/radio.scm (flrig): New variable. --- gnu/packages/radio.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 7afb06210d..1cee3ba594 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -560,3 +560,31 @@ (define-public fldigi 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+))) From 46bc7c31c6f720b0d9f12ff514a02c27f3fb706f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 15 Apr 2020 21:40:46 -0400 Subject: [PATCH 06/98] gnu: ISC DHCP: Update bundled BIND to 9.11.18 [security fixes]. * gnu/packages/admin.scm (isc-dhcp): Update bundled BIND to 9.11.18. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e7f63eb2a9..bf5aa9d890 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -768,7 +768,7 @@ (define-public 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 @@ -904,7 +904,7 @@ (define-public isc-dhcp "/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. From 507a608397ff7da7b5658eebee64e170dbd54753 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 21:12:53 +0200 Subject: [PATCH 07/98] gnu: r-gdina: Add missing input. * gnu/packages/cran.scm (r-gdina)[native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f5863e1f6e..d0562b998b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -18006,6 +18006,8 @@ (define-public r-gdina ("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 From 2ff41976260f3eb3a075e1ebf79868948df1c309 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 21:16:00 +0200 Subject: [PATCH 08/98] gnu: r-ggextra: Add missing input. * gnu/packages/cran.scm (r-ggextra)[native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d0562b998b..dd332cf4d4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12306,6 +12306,8 @@ (define-public r-ggextra ("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 From 5ef2b749b50c54d62c231aa8d667bd8524c4b42c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 21:16:31 +0200 Subject: [PATCH 09/98] gnu: r-dose: Add missing input. * gnu/packages/bioconductor.scm (r-dose)[native-inputs]: Add r-knitr. --- gnu/packages/bioconductor.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a49c05dbce..4ee0812dbd 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3529,6 +3529,8 @@ (define-public r-dose ("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 From 229736aa523ec43821979b6aebbc7ccdb2fe0238 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 21:16:49 +0200 Subject: [PATCH 10/98] gnu: r-activepathways: Add missing input. * gnu/packages/bioconductor.scm (r-activepathways)[native-inputs]: Add r-knitr. --- gnu/packages/bioconductor.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4ee0812dbd..c5be2daab2 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6735,6 +6735,8 @@ (define-public r-activepathways `(("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 From fca68e34fb9b4f117eb2ce85d81053a8b07f142e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 23:13:12 +0200 Subject: [PATCH 11/98] gnu: Add r-nbconvertr. * gnu/packages/cran.scm (r-nbconvertr): New variable. --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index dd332cf4d4..3917545422 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -21106,3 +21106,28 @@ (define-public r-asd 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))) From faaf2b35716732a1aa4ae862ff184036785ebf72 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 23:13:22 +0200 Subject: [PATCH 12/98] gnu: r-bioassayr: Add missing input. * gnu/packages/bioconductor.scm (r-bioassayr)[native-inputs]: Add r-knitr. --- gnu/packages/bioconductor.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index c5be2daab2..a4fd69e928 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7109,6 +7109,8 @@ (define-public r-bioassayr ("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 From 506cbeabaa1e468370521ca5ba7a69666a5d4a32 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 23:13:54 +0200 Subject: [PATCH 13/98] gnu: r-bacon: Add missing input. * gnu/packages/bioconductor.scm (r-bacon)[native-inputs]: Add r-knitr. --- gnu/packages/bioconductor.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a4fd69e928..4827b60c8d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3901,6 +3901,8 @@ (define-public r-bacon `(("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 From 3f782a6d957ab3aa5fbb427d85bd37b5445d6fee Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 23:14:11 +0200 Subject: [PATCH 14/98] gnu: r-destiny: Add missing input. * gnu/packages/bioconductor.scm (r-destiny)[native-inputs]: Add r-nbconvertr. --- gnu/packages/bioconductor.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4827b60c8d..68d8e5b574 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2313,6 +2313,8 @@ (define-public r-destiny ("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 From 660912a477d4b9145e0f0b6bc289555842aec3f6 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 16 Apr 2020 14:53:50 +0200 Subject: [PATCH 15/98] gnu: Add flamp. * gnu/packages/radio.scm (flamp): New variable. --- gnu/packages/radio.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 1cee3ba594..417677ec04 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -588,3 +588,30 @@ (define-public flrig 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+))) From 90ec7085793700552359d9d409287528437f0280 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Thu, 16 Apr 2020 15:08:53 +0200 Subject: [PATCH 16/98] gnu: Add flwrap. * gnu/packages/radio.scm (flwrap): New variable. --- gnu/packages/radio.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 417677ec04..8f1562a176 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -615,3 +615,32 @@ (define-public flamp (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+))) From 33f3fef383d066460b4bffc4b5af89b639cb55f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 16 Apr 2020 15:04:55 +0200 Subject: [PATCH 17/98] doc: Remove bogus index entry. * doc/guix.texi (Build Systems): Remove bogus and redundant entry for 'copy-build-system'. --- doc/guix.texi | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index ef5f68db24..13c39427b8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6171,7 +6171,6 @@ if they are defined by the crate. @defvr {Scheme Variable} copy-build-system -@cindex (copy build system) This variable is exported by @code{(guix build-system copy)}. It supports builds of simple packages that don't require much compiling, mostly just moving files around. From 82d8959e5d137b2061a68878d78a8f74a238ac44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 16 Apr 2020 17:34:38 +0200 Subject: [PATCH 18/98] syscalls: 'readdir*' chooses between the Linux and Hurd code at run time. Partly fixes . Reported by Jan Nieuwenhuizen . Previously, we'd choose at expansion time whether to use the Hurd or the Linux variant, taking the cross-compilation target into account. This would lead to the wrong decision when (guix build syscalls) is evaluated while we're cross-compiling to GNU/Hurd. This is a followup to 1ab9e483391f8b62b873833ea71cb0074efa03e7. * guix/build/syscalls.scm (define-generic-identifier) (read-dirent-header, %struct-dirent-header, sizeof-dirent-header): Remove. (readdir*): Rename to... (readdir-procedure): ... this, and add parameters. (readdir*): Define as a call to 'readdir-procedure' as a function of %HOST-TYPE. --- guix/build/syscalls.scm | 50 +++++++++++++---------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 0938ec0ff1..7ef03417c1 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -22,7 +22,6 @@ (define-module (guix build syscalls) #:use-module (system foreign) - #:use-module (system base target) ;for cross-compilation support #:use-module (rnrs bytevectors) #:autoload (ice-9 binary-ports) (get-bytevector-n) #:use-module (srfi srfi-1) @@ -892,36 +891,6 @@ (define-c-struct %struct-dirent-header/hurd (namelen uint8) (name uint8)) -(define-syntax define-generic-identifier - (syntax-rules (gnu/linux gnu/hurd =>) - "Define a generic identifier that adjust to the current GNU variant." - ((_ id (gnu/linux => linux) (gnu/hurd => hurd)) - (define-syntax id - (lambda (s) - (syntax-case s () - ((_ args (... ...)) - (if (string-contains (or (target-type) %host-type) - "linux") - #'(linux args (... ...)) - #'(hurd args (... ...)))) - (_ - (if (string-contains (or (target-type) %host-type) - "linux") - #'linux - #'hurd)))))))) - -(define-generic-identifier read-dirent-header - (gnu/linux => read-dirent-header/linux) - (gnu/hurd => read-dirent-header/hurd)) - -(define-generic-identifier %struct-dirent-header - (gnu/linux => %struct-dirent-header/linux) - (gnu/hurd => %struct-dirent-header/hurd)) - -(define-generic-identifier sizeof-dirent-header - (gnu/linux => sizeof-dirent-header/linux) - (gnu/hurd => sizeof-dirent-header/hurd)) - ;; Constants for the 'type' field, from . (define DT_UNKNOWN 0) (define DT_FIFO 1) @@ -960,19 +929,30 @@ (define closedir* "closedir: ~A" (list (strerror err)) (list err))))))) -(define readdir* +(define (readdir-procedure name-field-offset sizeof-dirent-header + read-dirent-header) (let ((proc (syscall->procedure '* "readdir64" '(*)))) (lambda* (directory #:optional (pointer->string pointer->string/utf-8)) (let ((ptr (proc directory))) (and (not (null-pointer? ptr)) (cons (pointer->string - (make-pointer (+ (pointer-address ptr) - (c-struct-field-offset - %struct-dirent-header name))) + (make-pointer (+ (pointer-address ptr) name-field-offset)) -1) (read-dirent-header (pointer->bytevector ptr sizeof-dirent-header)))))))) +(define readdir* + ;; Decide at run time which one must be used. + (if (string-suffix? "linux-gnu" %host-type) + (readdir-procedure (c-struct-field-offset %struct-dirent-header/linux + name) + sizeof-dirent-header/linux + read-dirent-header/linux) + (readdir-procedure (c-struct-field-offset %struct-dirent-header/hurd + name) + sizeof-dirent-header/hurd + read-dirent-header/hurd))) + (define* (scandir* name #:optional (select? (const #t)) (entry Date: Thu, 16 Apr 2020 21:36:38 +0530 Subject: [PATCH 19/98] doc: Add dicod-service-type in Dictionary Services. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Miscellaneous Services): Add dicod-service-type in Dictionary Services. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 13c39427b8..5c4f90cfcb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -77,6 +77,7 @@ Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020 Brice Waegeneire@* +Copyright @copyright{} 2020 R Veera Kumar@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -25633,6 +25634,11 @@ If true, this must be the name of a file to log messages to. @cindex dictionary The @code{(gnu services dict)} module provides the following service: +@defvr {Scheme Variable} dicod-service-type +This is the type of the service that runs the @command{dicod} daemon, an +implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). +@end defvr + @deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] Return a service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). From 7adf6f1be99ecba38cac4940b3091a1c3aa6c72d Mon Sep 17 00:00:00 2001 From: guy fleury iteriteka Date: Wed, 8 Apr 2020 11:56:40 +0200 Subject: [PATCH 20/98] gnu: Add the GNU MDK. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/education.scm (mdk): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/education.scm | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) 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 ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou ;;; Copyright © 2020 Robert Smith +;;; Copyright © 2020 Guy Fleury Iteriteka ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ (define-module (gnu packages education) #: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 @@ (define-module (gnu packages education) #: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 @@ (define-public tuxmath 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+))) From 48a8b4658c35af29fb05d923ce8b4f52f42a57b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:33:30 +0200 Subject: [PATCH 21/98] gnu: xterm: Update to 353. * gnu/packages/xorg.scm (xterm): Update to 353. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f4c7329e06..80158b1cab 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2017, 2020 Arun Isaac -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2018 Benjamin Slade @@ -5911,7 +5911,7 @@ (define-public xmessage (define-public xterm (package (name "xterm") - (version "351") + (version "353") (source (origin (method url-fetch) (uri (list @@ -5921,7 +5921,7 @@ (define-public xterm "xterm-" version ".tgz"))) (sha256 (base32 - "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn")))) + "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" From 53b655727e4acb55f4174cbe9101f032453dba95 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:33:57 +0200 Subject: [PATCH 22/98] gnu: augeas: Update to 1.12.0. * gnu/packages/augeas.scm (augeas): Update to 1.12.0. --- gnu/packages/augeas.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index fcba5bae7b..c4fd24e829 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,16 +33,16 @@ (define-module (gnu packages augeas) (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 From 9fcd4ef30bd17d6ab66d7ee14d2e74081efcfb29 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:34:08 +0200 Subject: [PATCH 23/98] gnu: augeas: Use HTTPS home page. * gnu/packages/augeas.scm (augeas)[home-page]: Use HTTPS. --- gnu/packages/augeas.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index c4fd24e829..b3c4803e04 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm @@ -49,7 +49,7 @@ (define-public augeas `(("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 From 0159eae3c9dd2c3c87a31fcc24224c8322f023a0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:30:21 +0200 Subject: [PATCH 24/98] gnu: xfdesktop: Update to 4.14.2. * gnu/packages/xfce.scm (xfdesktop): Update to 4.14.2. [source]: Hard-code NAME. --- gnu/packages/xfce.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index b231761d43..02fda262c2 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -741,15 +741,15 @@ (define-public xfwm4 (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 @@ (define-public xfdesktop `(("pkg-config" ,pkg-config) ("intltool" ,intltool) + ;; For our own ‘prepare-background-image’ phase. ("inkscape" ,inkscape) ("imagemagick" ,imagemagick))) (inputs From b760b6922d7bfddf7905f184ddb8c2721ceb025f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:34:46 +0200 Subject: [PATCH 25/98] gnu: xfwm4: Update to 4.14.1. * gnu/packages/xfce.scm (xfwm4): Update to 4.14.1. [source]: Hard-code NAME. --- gnu/packages/xfce.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 02fda262c2..55696407f3 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -711,15 +711,15 @@ (define-public thunar-volman (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) From c6f74eb540ced46a3bfd380efb424867f599ee61 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 16 Apr 2020 19:38:42 +0200 Subject: [PATCH 26/98] gnu: xfce4-taskmanager: Update to 1.2.3. * gnu/packages/xfce.scm (xfce4-taskmanager): Update to 1.2.3. [source]: Hard-code NAME. --- gnu/packages/xfce.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 55696407f3..18327af2e1 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -950,15 +950,15 @@ (define-public ristretto (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) From f52c1f5f61454ed7bc6823216930f127e11d961f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 16 Apr 2020 19:55:17 +0200 Subject: [PATCH 27/98] gnu: guile-newt: Update to 0.0.2. * gnu/packages/guile-xyz.scm (guile-newt): Update to 0.0.2, [source]: remove Guile 3.0 snippet. --- gnu/packages/guile-xyz.scm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index ebd7d89dec..dce12af96e 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1042,7 +1042,7 @@ (define-public guile3.0-email (define-public guile-newt (package (name "guile-newt") - (version "0.0.1") + (version "0.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -1051,20 +1051,7 @@ (define-public guile-newt (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 From 2e7e0cb54770c0b8053b87f5f45303e0b0cda353 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 16 Apr 2020 19:56:01 +0200 Subject: [PATCH 28/98] installer: Remove guile-newt definition. This is no longer necessary since 0.0.2 release of Guile-Newt. * gnu/installer.scm (guile-newt): Remove variable. --- gnu/installer.scm | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/gnu/installer.scm b/gnu/installer.scm index 1051ee1e5f..565707ec42 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -301,25 +301,6 @@ (define (installer-steps) ((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 From 9cb2f28c5a737576ec28099d69aa35ff687e7778 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 16 Apr 2020 21:38:55 +0200 Subject: [PATCH 29/98] gnu: xournalpp: Update to 1.0.18. * gnu/packages/pdf.scm (xournalpp): Update to 1.0.18. --- gnu/packages/pdf.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 9d517bbf2f..39e41c7f1b 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -822,7 +822,7 @@ (define-public xournal (define-public xournalpp (package (name "xournalpp") - (version "1.0.17") + (version "1.0.18") (source (origin (method git-fetch) @@ -831,7 +831,7 @@ (define-public xournalpp (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,11 @@ (define-public xournalpp (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)")) + ;; ;; 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 +857,6 @@ (define-public xournalpp (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 From 70333ee612993c82447aaf94c4c9b8aa6eecb2e1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 21:41:03 +0300 Subject: [PATCH 30/98] gnu: khard: Update to 0.16.1. * gnu/packages/mail.scm (khard): Update to 0.16.1. [arguments]: Remove custom 'install-doc phase. Add 'install-completions phase. --- gnu/packages/mail.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 0a88c20a6e..77df76447c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1958,22 +1958,22 @@ (define-public procmail (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))) From 2765787d65d1d44165fcf1b39b8587cc3010af1f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:14:15 +0300 Subject: [PATCH 31/98] gnu: python-pyicu: Update to 2.4.3. * gnu/packages/python-xyz.scm (python-pyicu): Update to 2.4.3. [properties]: Remove field. (python2-pyicu): Remove package customizations. --- gnu/packages/python-xyz.scm | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 20b8784c05..a12b44db46 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1699,14 +1699,14 @@ (define-public python2-simplejson (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 @@ (define-public python-pyicu (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: . - (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 From c1c2fa68df84fa9d29409614dabb4c366791e18d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:19:07 +0300 Subject: [PATCH 32/98] gnu: python-vobject: Update to 0.9.6.1. * gnu/packages/python-xyz.scm (python-vobject): Update to 0.9.6.1. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a12b44db46..3c8d8f1db2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10265,13 +10265,13 @@ (define-public python2-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. @@ -10282,7 +10282,7 @@ (define-public python-vobject (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/") From bc6c3f48ff60ba85a73e0c7f6f3335de52b39d6d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:22:16 +0300 Subject: [PATCH 33/98] gnu: python-urwid: Update to 2.1.0. * gnu/packages/python-xyz.scm (python-urwid): Update to 2.1.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3c8d8f1db2..dd1dfa7373 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6453,14 +6453,14 @@ (define-public python-ipython-documentation (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") From e40e7fdf0971feaecd622e927a92929c7b03d681 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:26:13 +0300 Subject: [PATCH 34/98] gnu: toot: Update to 0.26.0. * gnu/packages/mastodon.scm (toot): Update to 0.26.0. --- gnu/packages/mastodon.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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-module (gnu packages mastodon) (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 From 626874eb3f0e02e5a4e2a6277c69bce9b25c6484 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:28:29 +0300 Subject: [PATCH 35/98] gnu: python-icalendar: Update to 4.0.5. * gnu/packages/python-xyz.scm (python-icalendar): Update to 4.0.5. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dd1dfa7373..1e72dbca7b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9352,13 +9352,13 @@ (define-public python2-execnet (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) From be02a4cb81887c1d15ad04c22fe5a9351578c2aa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 16 Apr 2020 22:36:16 +0300 Subject: [PATCH 36/98] gnu: python-hy: Update to 0.18.0. * gnu/packages/python-xyz.scm (python-hy): Update to 0.18.0. [arguments]: Make all phases return #t. [propagated-inputs]: Remove python-clint, python-fastentrypoints. Add python-colorama. (python2-hy): Remove variable. --- gnu/packages/python-xyz.scm | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1e72dbca7b..e3ec0010ce 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9447,20 +9447,20 @@ (define-public python2-rply (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. @@ -9471,10 +9471,8 @@ (define-public python-hy ("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/") @@ -9485,9 +9483,6 @@ (define-public python-hy 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") From 7b2cb1bf1947a0b269fc225be3acf0bc7e1f5b1f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 16 Apr 2020 21:59:50 +0200 Subject: [PATCH 37/98] gnu: wireshark: Update to 3.2.3. * gnu/packages/networking.scm (wireshark): Update to 3.2.3. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f754683bb9..c97ac43dee 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -608,14 +608,14 @@ (define-public whois (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 From 1475d45112243a37ae921df41977c4acf3064a6d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 17:23:33 +0200 Subject: [PATCH 38/98] import/print: Return license with prefix. * guix/import/print.scm (license->code): Prepend license: prefix. --- guix/import/print.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 4c2a91fa4f..b819e7cf90 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +57,7 @@ (define (variable-name val mod) ;; Print either license variable name or the code for a license object (define (license->code lic) (let ((var (variable-name lic '(guix licenses)))) - (or var + (or (symbol-append 'license: var) `(license (name ,(license-name lic)) (uri ,(license-uri lic)) From 6269dd567e85c78a87be8d55f7ddc801a0ea870c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 17:24:09 +0200 Subject: [PATCH 39/98] import/print: package->code: Wrap build system value in module reference. * guix/import/print.scm (package->code): Return build system value with corresponding module. --- guix/import/print.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index b819e7cf90..4529a79b23 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -131,8 +131,9 @@ (define (package-lists->code lsts) ,@(if replacement `((replacement ,replacement)) '()) - (build-system ,(symbol-append (build-system-name build-system) - '-build-system)) + (build-system (@ (guix build-system ,(build-system-name build-system)) + ,(symbol-append (build-system-name build-system) + '-build-system))) ,@(match arguments (() '()) (args `((arguments ,(list 'quasiquote args))))) From 16dd764691d7f3ab954c82332f456bfa5f094514 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 18:01:11 +0200 Subject: [PATCH 40/98] import/json: Add json->scheme-file. * guix/import/json.scm (json->code, json->scheme-file): New procedures. --- guix/import/json.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/guix/import/json.scm b/guix/import/json.scm index 8900724dcd..16dc2ad5cb 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2016 Eric Bavier ;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,8 +23,12 @@ (define-module (guix import json) #:use-module (json) #:use-module (guix http-client) #:use-module (guix import utils) + #:use-module (guix import print) + #:use-module (ice-9 rdelim) + #:use-module (srfi srfi-2) #:use-module (srfi srfi-34) - #:export (json-fetch)) + #:export (json-fetch + json->scheme-file)) (define* (json-fetch url ;; Note: many websites returns 403 if we omit a @@ -42,3 +47,31 @@ (define* (json-fetch url (result (json->scm port))) (close-port port) result))) + +(define (json->code file-name) + "Read FILE-NAME containing a JSON package definition and return an +S-expression, or return #F when the JSON is invalid." + (catch 'json-invalid + (lambda () + (let ((json (json-string->scm + (with-input-from-file file-name read-string)))) + (package->code (alist->package json)))) + (const #f))) + +(define (json->scheme-file file) + "Convert the FILE containing a JSON package definition to a Scheme +representation and return the new file name (or #F on error)." + (and-let* ((json (json->code file)) + (file* (let* ((tempdir (or (getenv "TMPDIR") "/tmp")) + (template (string-append tempdir "/guix-XXXXXX")) + (port (mkstemp! template))) + (close-port port) + template))) + (call-with-output-file file* + (lambda (port) + (write '(use-modules (gnu) + (guix) + ((guix licenses) #:prefix license:)) + port) + (write json port))) + file*)) From f87e56320198fecd81ce588f571578b6cda5ed08 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 18:01:49 +0200 Subject: [PATCH 41/98] scripts/build: options->things-to-build: Handle .json files. * guix/scripts/build.scm (options->things-to-build): Handle files that end on .json. --- guix/scripts/build.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 79bd84a1a0..8ff2fd1910 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ (define-module (guix scripts build) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module (guix import json) #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix packages) @@ -834,7 +836,10 @@ (define (ensure-list x) (else (list (specification->package spec))))) (('file . file) - (ensure-list (load* file (make-user-module '())))) + (let ((file (or (and (string-suffix? ".json" file) + (json->scheme-file file)) + file))) + (ensure-list (load* file (make-user-module '()))))) (('manifest . manifest) (map manifest-entry-item (manifest-entries From 4f353c485dea4b549a0aabd1c87b0dd03fef4f1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 14 Apr 2020 18:02:26 +0200 Subject: [PATCH 42/98] scripts/package: Handle JSON files. * guix/scripts/package.scm (%options): Support loading from JSON files when "install-from-file" is used. --- guix/scripts/package.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index badb1dcd38..40445832aa 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Benz Schenk ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ (define-module (guix scripts package) #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix search-paths) + #:use-module (guix import json) #:use-module (guix monads) #:use-module (guix utils) #:use-module (guix config) @@ -418,7 +420,10 @@ (define %options (option '(#\f "install-from-file") #t #f (lambda (opt name arg result arg-handler) (values (alist-cons 'install - (load* arg (make-user-module '())) + (let ((file (or (and (string-suffix? ".json" arg) + (json->scheme-file arg)) + arg))) + (load* file (make-user-module '()))) result) #f))) (option '(#\r "remove") #f #t From c89343232065c50d196cd194073d2034eaedaf44 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 00:38:15 +0200 Subject: [PATCH 43/98] import/json: Use json->code. * guix/import/json.scm (json->code): Export procedure. * guix/scripts/import/json.scm (guix-import-json): Use json->code. --- guix/import/json.scm | 1 + guix/scripts/import/json.scm | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/guix/import/json.scm b/guix/import/json.scm index 16dc2ad5cb..8f8dbbd05d 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -28,6 +28,7 @@ (define-module (guix import json) #:use-module (srfi srfi-2) #:use-module (srfi srfi-34) #:export (json-fetch + json->code json->scheme-file)) (define* (json-fetch url diff --git a/guix/scripts/import/json.scm b/guix/scripts/import/json.scm index c9daf65479..778e5f4bc5 100644 --- a/guix/scripts/import/json.scm +++ b/guix/scripts/import/json.scm @@ -23,7 +23,7 @@ (define-module (guix scripts import json) #:use-module (guix utils) #:use-module (guix scripts) #:use-module (guix import utils) - #:use-module (guix import print) + #:use-module (guix import json) #:use-module (guix scripts import) #:use-module (guix packages) #:use-module (srfi srfi-1) @@ -88,14 +88,8 @@ (define (parse-options) (reverse opts)))) (match args ((file-name) - (catch 'json-invalid - (lambda () - (let ((json (json-string->scm - (with-input-from-file file-name read-string)))) - ;; TODO: also print define-module boilerplate - (package->code (alist->package json)))) - (lambda _ - (leave (G_ "invalid JSON in file '~a'~%") file-name)))) + (or (json->code file-name) + (leave (G_ "invalid JSON in file '~a'~%") file-name))) (() (leave (G_ "too few arguments~%"))) ((many ...) From 86a3b540d08e0ece2a697f7caa6342a55394a6b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 00:39:45 +0200 Subject: [PATCH 44/98] import/print: package->code: Wrap S-expression in definition. * guix/import/print.scm (package->code): Return a definition, not just a package expression. --- guix/import/print.scm | 87 ++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 4529a79b23..08f3ec9c34 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -121,46 +121,47 @@ (define (package-lists->code lsts) (home-page (package-home-page package)) (supported-systems (package-supported-systems package)) (properties (package-properties package))) - `(package - (name ,name) - (version ,version) - (source ,(source->code source version)) - ,@(match properties - (() '()) - (_ `((properties ,properties)))) - ,@(if replacement - `((replacement ,replacement)) - '()) - (build-system (@ (guix build-system ,(build-system-name build-system)) - ,(symbol-append (build-system-name build-system) - '-build-system))) - ,@(match arguments - (() '()) - (args `((arguments ,(list 'quasiquote args))))) - ,@(match outputs - (("out") '()) - (outs `((outputs (list ,@outs))))) - ,@(match native-inputs - (() '()) - (pkgs `((native-inputs ,(package-lists->code pkgs))))) - ,@(match inputs - (() '()) - (pkgs `((inputs ,(package-lists->code pkgs))))) - ,@(match propagated-inputs - (() '()) - (pkgs `((propagated-inputs ,(package-lists->code pkgs))))) - ,@(if (lset= string=? supported-systems %supported-systems) - '() - `((supported-systems (list ,@supported-systems)))) - ,@(match (map search-path-specification->code native-search-paths) - (() '()) - (paths `((native-search-paths (list ,@paths))))) - ,@(match (map search-path-specification->code search-paths) - (() '()) - (paths `((search-paths (list ,@paths))))) - (home-page ,home-page) - (synopsis ,synopsis) - (description ,description) - (license ,(if (list? license) - `(list ,@(map license->code license)) - (license->code license)))))) + `(define-public ,(string->symbol name) + (package + (name ,name) + (version ,version) + (source ,(source->code source version)) + ,@(match properties + (() '()) + (_ `((properties ,properties)))) + ,@(if replacement + `((replacement ,replacement)) + '()) + (build-system (@ (guix build-system ,(build-system-name build-system)) + ,(symbol-append (build-system-name build-system) + '-build-system))) + ,@(match arguments + (() '()) + (args `((arguments ,(list 'quasiquote args))))) + ,@(match outputs + (("out") '()) + (outs `((outputs (list ,@outs))))) + ,@(match native-inputs + (() '()) + (pkgs `((native-inputs ,(package-lists->code pkgs))))) + ,@(match inputs + (() '()) + (pkgs `((inputs ,(package-lists->code pkgs))))) + ,@(match propagated-inputs + (() '()) + (pkgs `((propagated-inputs ,(package-lists->code pkgs))))) + ,@(if (lset= string=? supported-systems %supported-systems) + '() + `((supported-systems (list ,@supported-systems)))) + ,@(match (map search-path-specification->code native-search-paths) + (() '()) + (paths `((native-search-paths (list ,@paths))))) + ,@(match (map search-path-specification->code search-paths) + (() '()) + (paths `((search-paths (list ,@paths))))) + (home-page ,home-page) + (synopsis ,synopsis) + (description ,description) + (license ,(if (list? license) + `(list ,@(map license->code license)) + (license->code license))))))) From 3532fc39fff41eabd061370ee36a1d42b9fac0e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 00:41:03 +0200 Subject: [PATCH 45/98] import/utils: alist->package: Ignore known inputs. * guix/import/utils.scm (alist->package): Accept optional list of known inputs, which are excluded from the specification lookup. * guix/import/print.scm (package->code)[package-lists->code]: Handle inputs which are just symbols. --- guix/import/print.scm | 2 ++ guix/import/utils.scm | 27 ++++++++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 08f3ec9c34..471687c0ff 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -92,6 +92,8 @@ (define (source->code source version) (define (package-lists->code lsts) (list 'quasiquote (map (match-lambda + ((? symbol? s) + (list (symbol->string s) (list 'unquote s))) ((label pkg . out) (let ((mod (package-module-name pkg))) (cons* label diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 94c8cb040b..5fb1322535 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 David Craven -;;; Copyright © 2017, 2019 Ricardo Wurmus +;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2019 Robert Vollmert ;;; @@ -310,7 +310,18 @@ (define (source-spec->object source) (uri (assoc-ref orig "uri")) (sha256 sha)))))) -(define (alist->package meta) +(define* (alist->package meta #:optional (known-inputs '())) + "Return a package value generated from the alist META. If the list of +strings KNOWN-INPUTS is provided, do not treat the mentioned inputs as +specifications to look up and replace them with plain symbols instead." + (define (process-inputs which) + (let-values (((regular known) + (lset-diff+intersection + string=? + (vector->list (or (assoc-ref meta which) #())) + known-inputs))) + (append (specs->package-lists regular) + (map string->symbol known)))) (package (name (assoc-ref meta "name")) (version (assoc-ref meta "version")) @@ -318,15 +329,9 @@ (define (alist->package meta) (build-system (lookup-build-system-by-name (string->symbol (assoc-ref meta "build-system")))) - (native-inputs - (specs->package-lists - (vector->list (or (assoc-ref meta "native-inputs") '#())))) - (inputs - (specs->package-lists - (vector->list (or (assoc-ref meta "inputs") '#())))) - (propagated-inputs - (specs->package-lists - (vector->list (or (assoc-ref meta "propagated-inputs") '#())))) + (native-inputs (process-inputs "native-inputs")) + (inputs (process-inputs "inputs")) + (propagated-inputs (process-inputs "propagated-inputs")) (home-page (assoc-ref meta "home-page")) (synopsis From 7cef499bb060aabf3d59cc4eca37350e5c79ff7d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 15 Apr 2020 00:43:39 +0200 Subject: [PATCH 46/98] import/json: json->code: Handle files with more than one definition. * guix/import/json.scm (json->code): Convert JSON arrays to lists of package definitions. (json->scheme-file): Write all expressions to the target file. --- guix/import/json.scm | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/guix/import/json.scm b/guix/import/json.scm index 8f8dbbd05d..0c98bb25b8 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -24,8 +24,11 @@ (define-module (guix import json) #:use-module (guix http-client) #:use-module (guix import utils) #:use-module (guix import print) + #:use-module (ice-9 match) #:use-module (ice-9 rdelim) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:export (json-fetch json->code @@ -50,19 +53,41 @@ (define* (json-fetch url result))) (define (json->code file-name) - "Read FILE-NAME containing a JSON package definition and return an -S-expression, or return #F when the JSON is invalid." + "Read FILE-NAME containing one ore more JSON package definitions and return +a list of S-expressions, or return #F when the JSON is invalid." (catch 'json-invalid (lambda () (let ((json (json-string->scm (with-input-from-file file-name read-string)))) - (package->code (alist->package json)))) + (match json + (#(packages ...) + ;; To allow definitions to refer to one another, collect references + ;; to local definitions and tell alist->package to ignore them. + (second + (memq #:result + (fold + (lambda (pkg names+result) + (match names+result + ((#:names names #:result result) + (list #:names + (cons (assoc-ref pkg "name") names) + #:result + (append result + (list + (package->code (alist->package pkg names)) + (string->symbol (assoc-ref pkg "name")))))))) + (list #:names '() + #:result '()) + packages)))) + (package + (list (package->code (alist->package json)) + (string->symbol (assoc-ref json "name"))))))) (const #f))) (define (json->scheme-file file) "Convert the FILE containing a JSON package definition to a Scheme representation and return the new file name (or #F on error)." - (and-let* ((json (json->code file)) + (and-let* ((sexprs (json->code file)) (file* (let* ((tempdir (or (getenv "TMPDIR") "/tmp")) (template (string-append tempdir "/guix-XXXXXX")) (port (mkstemp! template))) @@ -74,5 +99,5 @@ (define (json->scheme-file file) (guix) ((guix licenses) #:prefix license:)) port) - (write json port))) + (for-each (cut write <> port) sexprs))) file*)) From 3fd4c4c8394bca7aa9dd81c0ad81f2bb31989464 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Apr 2020 21:44:21 +0200 Subject: [PATCH 47/98] import/utils: alist->package: Include arguments. * guix/import/utils.scm (alist->package): Process arguments field in input data and include it in the generated package. --- guix/import/utils.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 5fb1322535..3809c3d074 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -322,6 +322,11 @@ (define (process-inputs which) known-inputs))) (append (specs->package-lists regular) (map string->symbol known)))) + (define (process-arguments arguments) + (append-map (match-lambda + ((key . value) + (list (symbol->keyword (string->symbol key)) value))) + arguments)) (package (name (assoc-ref meta "name")) (version (assoc-ref meta "version")) @@ -329,6 +334,10 @@ (define (process-inputs which) (build-system (lookup-build-system-by-name (string->symbol (assoc-ref meta "build-system")))) + (arguments + (or (and=> (assoc-ref meta "arguments") + process-arguments) + '())) (native-inputs (process-inputs "native-inputs")) (inputs (process-inputs "inputs")) (propagated-inputs (process-inputs "propagated-inputs")) From 3c0422b9be649e0a09caa0b893713a9f07855cd3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Apr 2020 22:09:41 +0200 Subject: [PATCH 48/98] import/print: Don't factorize URI if there's no version match. * guix/import/print.scm (package->code): If FACTORIZE-URI returns just the unmodified string use that as the URI. --- guix/import/print.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 471687c0ff..11cc218285 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -79,7 +79,9 @@ (define (source->code source version) (patches (origin-patches source))) `(origin (method ,(procedure-name method)) - (uri (string-append ,@(factorize-uri uri version))) + (uri (string-append ,@(match (factorize-uri uri version) + ((? string? uri) (list uri)) + (factorized factorized)))) (sha256 (base32 ,(format #f "~a" (bytevector->nix-base32-string sha256)))) From c9f321e52a99dea93fcc099372ea0167150b9aac Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 16 Apr 2020 22:22:51 +0200 Subject: [PATCH 49/98] doc: Document building and installing from JSON files. * doc/guix.texi (Invoking guix package): Augment pargraphs for "--install-from-file". (Invoking guix build): Document building from JSON files. * doc/package-hello.json: New file. * doc/local.mk (EXTRA_DIST): Add it. --- doc/guix.texi | 18 ++++++++++++++++++ doc/local.mk | 3 ++- doc/package-hello.json | 31 +++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 doc/package-hello.json diff --git a/doc/guix.texi b/doc/guix.texi index 5c4f90cfcb..a475ebb45a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2824,6 +2824,15 @@ in the root of their project source tree that can be used to test development snapshots and create reproducible development environments (@pxref{Invoking guix environment}). +The @var{file} may also contain a JSON representation of one or more +package definitions. Running @code{guix package -f} on +@file{hello.json} with the following contents would result in installing +the package @code{greeter} after building @code{myhello}: + +@example +@verbatiminclude package-hello.json +@end example + @item --remove=@var{package} @dots{} @itemx -r @var{package} @dots{} Remove the specified @var{package}s. @@ -8550,6 +8559,15 @@ As an example, @var{file} might contain a package definition like this @include package-hello.scm @end lisp +The @var{file} may also contain a JSON representation of one or more +package definitions. Running @code{guix build -f} on @file{hello.json} +with the following contents would result in building the packages +@code{myhello} and @code{greeter}: + +@example +@verbatiminclude package-hello.json +@end example + @item --manifest=@var{manifest} @itemx -m @var{manifest} Build all packages listed in the given @var{manifest} diff --git a/doc/local.mk b/doc/local.mk index 3805593172..30c4a8c34d 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -53,7 +53,8 @@ EXTRA_DIST += \ $(DOT_VECTOR_GRAPHICS) \ %D%/images/coreutils-size-map.eps \ %D%/environment-gdb.scm \ - %D%/package-hello.scm + %D%/package-hello.scm \ + %D%/package-hello.json OS_CONFIG_EXAMPLES_TEXI = \ %D%/os-config-bare-bones.texi \ diff --git a/doc/package-hello.json b/doc/package-hello.json new file mode 100644 index 0000000000..a47e266e4b --- /dev/null +++ b/doc/package-hello.json @@ -0,0 +1,31 @@ +[ + { + "name": "myhello", + "version": "2.10", + "source": "mirror://gnu/hello/hello-2.10.tar.gz", + "build-system": "gnu", + "arguments": { + "tests?": false + } + "home-page": "https://www.gnu.org/software/hello/", + "synopsis": "Hello, GNU world: An example GNU package", + "description": "GNU Hello prints a greeting.", + "license": "GPL-3.0+", + "native-inputs": ["gettext"] + }, + { + "name": "greeter", + "version": "1.0", + "source": "https://example.com/greeter-1.0.tar.gz", + "build-system": "gnu", + "arguments": { + "test-target": "foo", + "parallel-build?": false, + }, + "home-page": "https://example.com/", + "synopsis": "Greeter using GNU Hello", + "description": "This is a wrapper around GNU Hello.", + "license": "GPL-3.0+", + "inputs": ["myhello", "hello"] + } +] From 91fb989f105691a3c0b713c710bd9b27d4def4fc Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 16 Apr 2020 23:43:50 +0200 Subject: [PATCH 50/98] gnu: xournalpp: Remove outdated comments. * gnu/packages/pdf.scm (xournalpp): Remove outdated comments. This is a followup to 9cb2f28c5a737576ec28099d69aa35ff687e7778. --- gnu/packages/pdf.scm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 39e41c7f1b..f23f1e34e3 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -844,11 +844,6 @@ (define-public xournalpp (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$")) From bff70d93d22b049c0c4ea3bd234d39f05f794b28 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Apr 2020 00:51:48 +0200 Subject: [PATCH 51/98] gnu: python-jedi: Fix test failure on some file systems. Reported by sirgazil on #guix. * gnu/packages/patches/python-jedi-sort-project-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-xyz.scm (python-jedi)[source](patches): Add it. [arguments]: Run tests more verbosely while at it. --- gnu/local.mk | 1 + .../python-jedi-sort-project-test.patch | 18 ++++++++++++++++++ gnu/packages/python-xyz.scm | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-jedi-sort-project-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 952fc55df4..af79f9afed 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1364,6 +1364,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/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/python-xyz.scm b/gnu/packages/python-xyz.scm index e3ec0010ce..2c54bfc417 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11898,6 +11898,7 @@ (define-public python-jedi (origin (method url-fetch) (uri (pypi-uri "jedi" version)) + (patches (search-patches "python-jedi-sort-project-test.patch")) (sha256 (base32 "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) @@ -11908,7 +11909,7 @@ (define-public python-jedi (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))) From cdac010c1936f5d909d4b7f74961fa41ad754f3e Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 16 Apr 2020 19:34:59 -0700 Subject: [PATCH 52/98] gnu: disorderfs: Update to 0.5.9. * gnu/packages/file-systems (disorderfs): Update to 0.5.9. --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index b5ca37d43e..ce1155c755 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -249,7 +249,7 @@ (define-public jfs_fsck/static (define-public disorderfs (package (name "disorderfs") - (version "0.5.8") + (version "0.5.9") (source (origin (method git-fetch) @@ -259,7 +259,7 @@ (define-public disorderfs (file-name (git-file-name name version)) (sha256 (base32 - "0pk9i0dycjq0wl6dp37r2hbadgpgmzbmjk2xpbjl36x4yrm4jns8")))) + "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 2d9886f7e8838d6aeb0cfb20a2a49fc7d8fb233c Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 16 Apr 2020 12:28:16 -0700 Subject: [PATCH 53/98] gnu: diffoscope: Update to 141. * gnu/packages/diffoscope (diffoscope): Update to 141. [arguments]: Add phase add-known-tools. [native-inputs]: Add hdf5. --- gnu/packages/diffoscope.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 37f8f74b7b..f9a7c66646 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -68,7 +68,7 @@ (define-module (gnu packages diffoscope) #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "139")) + (let ((version "141")) (package (name "diffoscope") (version version) @@ -80,7 +80,7 @@ (define-public diffoscope (file-name (git-file-name name version)) (sha256 (base32 - "1k4yjyvmn5nfdapkwgkr9gzpn18kr4c58n0f32pfkx4yakfqkk4i")))) + "0pls2jryx394ysaz0g8h959lhrsdqak9bkxjd5r6sdckgiikplkj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -91,6 +91,12 @@ (define-public diffoscope (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 +195,7 @@ (define-public diffoscope ("giflib:bin" ,giflib "bin") ("gnumeric" ,gnumeric) ("gnupg" ,gnupg) + ("hdf5" ,hdf5) ("imagemagick" ,imagemagick) ("libarchive" ,libarchive) ("llvm" ,llvm) From 2cc226bbc758f815ae1d58ad77ea58a7174cef2a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 17 Apr 2020 07:33:37 +0100 Subject: [PATCH 54/98] gnu: diffoscope.scm: Add missing import. This follows on from 2d9886f7e8838d6aeb0cfb20a2a49fc7d8fb233c. * gnu/packages/diffoscope.scm: Import (gnu packages maths). --- gnu/packages/diffoscope.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index f9a7c66646..71c0039dfb 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -45,6 +45,7 @@ (define-module (gnu packages diffoscope) #: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) From b9dd2a2fb7dda8b2b9686e8e4bf5cca19514a08d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 17 Apr 2020 10:40:17 +0300 Subject: [PATCH 55/98] gnu: khal: Fix build with python-urwid-2.1.0. * gnu/packages/calendar.scm (khal)[source]: Download upstream patch to fix compatibility with newer python-urwid. --- gnu/packages/calendar.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index bd47800d1d..291221bc26 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -180,7 +180,17 @@ (define-public khal (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 From c135577dbf916bcde7e90683bff82dd505b571f7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 17 Apr 2020 10:42:41 +0300 Subject: [PATCH 56/98] gnu: khal: Move propagated inputs to inputs. As a package one would install we can rely on wrapping the package and not propagating inputs to make it work correctly. * gnu/packages/calendar.scm (khal)[propagated-inputs]: Move all python packages... [inputs]: ... to here. --- gnu/packages/calendar.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 291221bc26..81b2b436c1 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -223,9 +223,8 @@ (define-public khal ("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) From d312bbfa5a1285a2b3fe357eee7f6a332374097a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 17 Apr 2020 10:47:35 +0300 Subject: [PATCH 57/98] gnu: khard: Move propagated-inputs to inputs. As a package one would install we can rely on wrapping the package and not propagating inputs to make it work correctly. * gnu/packages/mail.scm (khard)[propagated-inputs]: Move all python packages ... [inputs]: ... to here. --- gnu/packages/mail.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 77df76447c..9f7bbcd5b4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1977,7 +1977,7 @@ (define-public khard #t)))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) - (propagated-inputs + (inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-configobj" ,python-configobj) ("python-pyyaml" ,python-pyyaml) From 84ce7c5a559c0eabd831b4bf3633103036df1929 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 11 Apr 2020 16:34:01 +0100 Subject: [PATCH 58/98] gnu: dovecot: Add libunwind input for arm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (dovecot)[inputs]: Add libunwind when targetting arm. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9f7bbcd5b4..d2ec51f27a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2017 Kyle Meyer ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018 Rene Saavedra -;;; Copyright © 2018, 2019 Pierre Langlois +;;; Copyright © 2018, 2019, 2020 Pierre Langlois ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus @@ -89,6 +89,7 @@ (define-module (gnu packages mail) #: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) @@ -1435,6 +1436,11 @@ (define-public dovecot (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) From 08a70aa4246fd60743350327528909ecd468e917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Apr 2020 11:06:38 +0200 Subject: [PATCH 59/98] doc: Replace incorrect uses of @var with @code. @var is for meta-syntactic variables but it is used in some places for mere variables, which is incorrect and leads to inconsistent layout in PDF and HTML. * doc/guix.texi (package Reference, The Store Monad) (G-Expressions, operating-system Reference) (File Systems, Base Services, Log Rotation) (Networking Services, Invoking guix deploy): Replace incorrect uses of @var with @code. --- doc/guix.texi | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a475ebb45a..f6522a9942 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5817,7 +5817,7 @@ or a list of such values. @item @code{home-page} The URL to the home-page of the package, as a string. -@item @code{supported-systems} (default: @var{%supported-systems}) +@item @code{supported-systems} (default: @code{%supported-systems}) The list of systems supported by the package, as strings of the form @code{architecture-kernel}, for example @code{"x86_64-linux"}. @@ -7380,7 +7380,7 @@ increments the current state value: @result{} 3 @end lisp -When ``run'' through @var{%state-monad}, we obtain that additional state +When ``run'' through @code{%state-monad}, we obtain that additional state value, which is the number of @code{square} calls. @end defvr @@ -7412,7 +7412,7 @@ The main interface to the store monad, provided by the @code{(guix store)} module, is as follows. @defvr {Scheme Variable} %store-monad -The store monad---an alias for @var{%state-monad}. +The store monad---an alias for @code{%state-monad}. Values in the store monad encapsulate accesses to the store. When its effect is needed, a value of the store monad must be ``evaluated'' by @@ -7773,7 +7773,7 @@ information about monads.) [#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ - [#:module-path @var{%load-path}] @ + [#:module-path @code{%load-path}] @ [#:effective-version "2.2"] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] @ @@ -8077,7 +8077,7 @@ item. This is achieved using the @code{lower-object} monadic procedure. @deffn {Monadic Procedure} lower-object @var{obj} [@var{system}] @ [#:target #f] -Return as a value in @var{%store-monad} the derivation or store item +Return as a value in @code{%store-monad} the derivation or store item corresponding to @var{obj} for @var{system}, cross-compiling for @var{target} if @var{target} is true. @var{obj} must be an object that has an associated gexp compiler, such as a @code{}. @@ -11252,7 +11252,7 @@ By that, we mean all the global system configuration, not per-user configuration (@pxref{Using the Configuration System}). @table @asis -@item @code{kernel} (default: @var{linux-libre}) +@item @code{kernel} (default: @code{linux-libre}) The package object of the operating system kernel to use@footnote{Currently only the Linux-libre kernel is supported. In the future, it will be possible to use the GNU@tie{}Hurd.}. @@ -11409,11 +11409,11 @@ As a user you should @emph{never} need to touch this field. Linux @dfn{pluggable authentication module} (PAM) services. @c FIXME: Add xref to PAM services section. -@item @code{setuid-programs} (default: @var{%setuid-programs}) +@item @code{setuid-programs} (default: @code{%setuid-programs}) List of string-valued G-expressions denoting setuid programs. @xref{Setuid Programs}. -@item @code{sudoers-file} (default: @var{%sudoers-specification}) +@item @code{sudoers-file} (default: @code{%sudoers-specification}) @cindex sudoers file The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-Expressions, @code{local-file} and @code{plain-file}}). @@ -11579,7 +11579,7 @@ variables. @defvr {Scheme Variable} %base-file-systems These are essential file systems that are required on normal systems, -such as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see +such as @code{%pseudo-terminal-file-system} and @code{%immutable-store} (see below.) Operating system declarations should always contain at least these. @end defvr @@ -12646,7 +12646,7 @@ and caches. @defvr {Scheme Variable} %nscd-default-configuration This is the default @code{} value (see below) used by @code{nscd-service}. It uses the caches defined by -@var{%nscd-default-caches}; see below. +@code{%nscd-default-caches}; see below. @end defvr @deftp {Data Type} nscd-configuration @@ -12671,7 +12671,7 @@ Name of the nscd log file. This is where debugging output goes when Integer denoting the debugging levels. Higher numbers mean that more debugging output is logged. -@item @code{caches} (default: @var{%nscd-default-caches}) +@item @code{caches} (default: @code{%nscd-default-caches}) List of @code{} objects denoting things to be cached; see below. @@ -12943,7 +12943,7 @@ well as in the @var{groups} field of the @var{operating-system} record. @end lisp @defvr {Scheme Variable} urandom-seed-service-type -Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} +Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom} when rebooting. It also tries to seed @file{/dev/urandom} from @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is readable. @@ -13322,7 +13322,7 @@ Either @code{#f} or a gexp to execute once the rotation has completed. @end deftp @defvr {Scheme Variable} %default-rotations -Specifies weekly rotation of @var{%rotated-files} and of +Specifies weekly rotation of @code{%rotated-files} and of @file{/var/log/guix-daemon.log}. @end defvr @@ -13782,7 +13782,7 @@ clock synchronized with that of the given servers. @defvr {Scheme Variable} %openntpd-servers This variable is a list of the server addresses defined in -@var{%ntp-servers}. +@code{%ntp-servers}. @end defvr @deftp {Data Type} openntpd-configuration @@ -13800,7 +13800,7 @@ See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more information. @item @code{server} (default: @code{'()}) Specify a list of IP addresses or hostnames of NTP servers to synchronize to. -@item @code{servers} (default: @var{%openntp-servers}) +@item @code{servers} (default: @code{%openntp-servers}) Specify a list of IP addresses or hostnames of NTP pools to synchronize to. @item @code{constraint-from} (default: @code{'()}) @code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. @@ -27109,8 +27109,8 @@ evaluates to. As an example, @var{file} might contain a definition like this: The file should evaluate to a list of @var{machine} objects. This example, upon being deployed, will create a new generation on the remote system -realizing the @code{operating-system} declaration @var{%system}. -@var{environment} and @var{configuration} specify how the machine should be +realizing the @code{operating-system} declaration @code{%system}. +@code{environment} and @code{configuration} specify how the machine should be provisioned---that is, how the computing resources should be created and managed. The above example does not create any resources, as a @code{'managed-host} is a machine that is already running the Guix system and From 1cfa6bcc2c032ba699ebff0b1929d1906f99800e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Apr 2020 11:09:30 +0200 Subject: [PATCH 60/98] maint: Build binary tarball without '-K'. This is a followup to 8b292ffd3cd969286ee9cbdb70fde8cf384b9b8b. * Makefile.am (guix-binary.%.tar.xz): Remove '-K' to allow for offloading. --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 36f23b4062..afbf4eb20a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -668,7 +668,7 @@ GUIX_FOR_BINARY_TARBALL = guile3.0-guix # The self-contained tarball. guix-binary.%.tar.xz: $(AM_V_GEN)GUIX_PACKAGE_PATH= \ - tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ + tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \ --fallback \ -s "$*" --localstatedir --profile-name=current-guix \ $(GUIX_FOR_BINARY_TARBALL)` ; \ From 54e3eb06ca9cca189ab0cb9b9c191a156e68d659 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Wed, 15 Apr 2020 18:40:57 +0200 Subject: [PATCH 61/98] gnu: gpodder: Update to 3.10.15. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gpodder.scm (gpodder): Update to 3.10.15. Signed-off-by: Ludovic Courtès --- gnu/packages/gpodder.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 02aef3ed47..84c63ce806 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -38,7 +38,7 @@ (define-module (gnu packages gpodder) (define-public gpodder (package (name "gpodder") - (version "3.10.13") + (version "3.10.15") (source (origin (method git-fetch) @@ -47,7 +47,7 @@ (define-public gpodder (commit version))) (sha256 (base32 - "1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg")) + "0ghbanj142n0hgydzfjmnkdgri2kswsjal3mn10c723kih4ir4yr")) (file-name (git-file-name name version)))) (build-system python-build-system) (native-inputs From 5ea902874bff728770a46002be4b3a749d1ee8db Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Wed, 15 Apr 2020 18:41:02 +0200 Subject: [PATCH 62/98] gnu: gpodder: Run tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gpodder.scm (gpodder)[native-inputs]: Add python-coverage and python-minimock. [arguments]: Replace the 'check phase and invoke "make unittest". Signed-off-by: Ludovic Courtès --- gnu/packages/gpodder.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 84c63ce806..98d7a84ce7 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -51,7 +51,9 @@ (define-public gpodder (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 @@ (define-public gpodder (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 From 79ef0726a9afb7bd4676b9a53401f742c7b83653 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Wed, 15 Apr 2020 18:41:07 +0200 Subject: [PATCH 63/98] gnu: python-podcastparser: Run tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gpodder.scm (python-podcastparser)[native-inputs]: Add python-coverage. [arguments]: Replace 'check phase and invoke "nosetests". Signed-off-by: Ludovic Courtès --- gnu/packages/gpodder.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 98d7a84ce7..6963da9dff 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -184,7 +184,13 @@ (define-public python-podcastparser (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") From d3f292b8dcd205728231d2bee669a0f8d76fd8e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Apr 2020 15:48:51 +0200 Subject: [PATCH 64/98] gnu: python-tables: Update to 3.6.1. * gnu/packages/python-xyz.scm (python-tables): Update to 3.6.1. [arguments]: Adjust use-gcc phase. --- gnu/packages/python-xyz.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2c54bfc417..ce4a0d29a8 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7980,14 +7980,14 @@ (define-public python2-prettytable (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 @@ -8005,9 +8005,11 @@ (define-public python-tables (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')"))) From 4a085ffc16b25d14d9188d9e2e88baa27f5c7f12 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Apr 2020 15:49:06 +0200 Subject: [PATCH 65/98] gnu: python-pybigwig: Update to 0.3.17. * gnu/packages/bioinformatics.scm (python-pybigwig): Update to 0.3.17. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4741c8bc50..73a1fe119b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2399,13 +2399,13 @@ (define-public libbigwig (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 From c55beaecd8c5a36052b628cbd429da9ab7803c8d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Apr 2020 15:49:19 +0200 Subject: [PATCH 66/98] gnu: python-cooler: Update to 0.8.7. * gnu/packages/bioinformatics.scm (python-cooler): Update to 0.8.7. [propagated-inputs]: Add python-asciitree, python-numpy, python-pyyaml, and python-simplejson. [native-inputs]: Remove python-nose, python-numpydoc, and python-sphinx; add python-pytest. --- gnu/packages/bioinformatics.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 73a1fe119b..6fcabb6f9e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13641,32 +13641,34 @@ (define-public python2-pyfaidx (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 From d8fce2362bbd4d35c1b4b7dfb5babdf9a86bc4bb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Apr 2020 15:50:22 +0200 Subject: [PATCH 67/98] gnu: Add python-hicmatrix. * gnu/packages/bioinformatics.scm (python-hicmatrix): New variable. --- gnu/packages/bioinformatics.scm | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6fcabb6f9e..a2c168b01c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13677,6 +13677,46 @@ (define-public python-cooler 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") From 974bf81776bd13f2162ebc0b2b01466509840b12 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Apr 2020 15:50:29 +0200 Subject: [PATCH 68/98] gnu: python-pygenometracks: Update to 3.3. * gnu/packages/bioinformatics.scm (python-pygenometracks): Update to 3.3. [arguments]: Add phase "relax-requirements"; disable tests. [propagated-inputs]: Remove python-configparser and python-hicexplorer; add python-gffutils, python-pysam, and python-tqdm. --- gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a2c168b01c..b9be0c1918 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13773,23 +13773,35 @@ (define-public python-hicexplorer (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") From 8fa4ac5be4d5f8a1e62635842b16486832ff49f1 Mon Sep 17 00:00:00 2001 From: TomZ Date: Tue, 7 Apr 2020 21:39:04 +0200 Subject: [PATCH 69/98] status: Allow double-click select of URLs. Various places while downloading or compiling guix prints the source URL. This change makes the URL easier to use by placing a space between the URL and the trailing dots. Signed-off-by: Marius Bakke --- guix/status.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guix/status.scm b/guix/status.scm index 4b2edc2f3c..45e441eac5 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -472,16 +472,16 @@ (define erase-current-line* (let ((count (match (assq-ref properties 'graft) (#f 0) (lst (or (assq-ref lst 'count) 0))))) - (format port (info (N_ "applying ~a graft for ~a..." - "applying ~a grafts for ~a..." + (format port (info (N_ "applying ~a graft for ~a ..." + "applying ~a grafts for ~a ..." count)) count drv))) ('profile (let ((count (match (assq-ref properties 'profile) (#f 0) (lst (or (assq-ref lst 'count) 0))))) - (format port (info (N_ "building profile with ~a package..." - "building profile with ~a packages..." + (format port (info (N_ "building profile with ~a package ..." + "building profile with ~a packages ..." count)) count))) ('profile-hook @@ -525,7 +525,7 @@ (define erase-current-line* (newline port))) (('download-started item uri _ ...) (erase-current-line*) - (format port (info (G_ "downloading from ~a...")) uri) + (format port (info (G_ "downloading from ~a ...")) uri) (newline port)) (('download-progress item uri (= string->number size) From a7dbd38859ebb174e5d757645ba80bdc8048bee8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Apr 2020 15:45:32 +0200 Subject: [PATCH 70/98] gnu: ungoogled-chromium: Update to 81.0.4044.113-0.b484ad4 [fixes CVE-2020-6457]. * gnu/packages/chromium.scm (%chromium-version): Set to 81.0.4044.113. (%chromium-origin): Update hash. --- gnu/packages/chromium.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index f79254d825..9f075ae6f5 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -248,7 +248,7 @@ (define* (computed-origin-method gexp-promise hash-algo hash #: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 @@ (define %chromium-origin %chromium-version ".tar.xz")) (sha256 (base32 - "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2")))) + "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17")))) (define %ungoogled-origin (origin From e419e972bcfecd5969dd292e7aaef899463431db Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 17 Apr 2020 15:00:19 -0400 Subject: [PATCH 71/98] gnu: linux-libre@4.19: Update to 4.19.116. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.116. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ad6e38f620..7eea53b1a4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -385,10 +385,10 @@ (define-public linux-libre-5.4-pristine-source (%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))) From 4298fbe2ce77cebfb2e46ba88fa9df73ad433c9f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 17 Apr 2020 15:01:25 -0400 Subject: [PATCH 72/98] gnu: linux-libre@5.6: Update to 5.6.5. * gnu/packages/linux.scm (linux-libre-5.6-version): Update to 5.6.5. (linux-libre-5.6-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7eea53b1a4..0dffba4e1e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -369,10 +369,10 @@ (define (%upstream-linux-source version hash) (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))) From f0da92cb42f99cddadd9cea373758355cb7c6351 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 17 Apr 2020 15:02:04 -0400 Subject: [PATCH 73/98] gnu: linux-libre: Update to 5.4.33. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.33. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0dffba4e1e..2acbe649f0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -377,10 +377,10 @@ (define-public linux-libre-5.6-pristine-source (%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))) From 9d0b9c7c6c0b0d45653dea80b499314ea415d3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Apr 2020 22:38:31 +0200 Subject: [PATCH 74/98] maint: Provide the configuration file in the VM image. This fixes a bug introduced in 362bcdb1b076c8c46f71781add56dfbe532736dc whereby the VM image would no longer contain /etc/config.scm, contrary to what the manual says. Reported by dbdude on #guix. * Makefile.am (release): Pass '--save-provenance' to 'guix system vm-image'. * doc/guix.texi (Running Guix in a VM): Adjust file name accordingly. --- Makefile.am | 1 + doc/guix.texi | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index afbf4eb20a..d9d7ffd6c5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -818,6 +818,7 @@ release: dist-with-updated-version for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \ image=`$(top_builddir)/pre-inst-env \ guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \ + --save-provenance \ --system=$$system --fallback \ gnu/system/examples/vm-image.tmpl` ; \ if [ ! -f "$$image" ] ; then \ diff --git a/doc/guix.texi b/doc/guix.texi index f6522a9942..0fb81e441f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -27252,7 +27252,8 @@ This image boots the Xfce graphical environment and it contains some commonly-used tools. You can install more software in the image by running @command{guix package} in a terminal (@pxref{Invoking guix package}). You can also reconfigure the system based on its initial configuration file available -as @file{/etc/config.scm} (@pxref{Using the Configuration System}). +as @file{/run/current-system/configuration.scm} (@pxref{Using the +Configuration System}). Instead of using this pre-built image, one can also build their own virtual machine image using @command{guix system vm-image} (@pxref{Invoking guix From 10c413685f13af12fa2bb34796db82e1f52b47af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Apr 2020 12:45:54 +0200 Subject: [PATCH 75/98] services: Move 'user-processes' to (gnu services shepherd). * gnu/services/base.scm (%do-not-kill-file) (user-processes-shepherd-service, user-processes-service-type): Move to... * gnu/services/shepherd.scm: ... here. --- gnu/services/base.scm | 124 +------------------------------------ gnu/services/shepherd.scm | 126 +++++++++++++++++++++++++++++++++++++- 2 files changed, 126 insertions(+), 124 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index cb556e87bc..094bc5297e 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -61,11 +61,11 @@ (define-module (gnu services base) #: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 @@ -185,128 +185,6 @@ (define-module (gnu services base) ;;; Code: - -;;; -;;; 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 . - (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/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 @@ (define-module (gnu services shepherd) shepherd-service-lookup-procedure shepherd-service-back-edges - shepherd-service-upgrade)) + shepherd-service-upgrade + + user-processes-service-type)) ;;; Commentary: ;;; @@ -415,4 +417,126 @@ (define to-unload (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 . + (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 From 1e7281108be5fc37daa4cc180e0effdeb4c1a960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Apr 2020 12:48:06 +0200 Subject: [PATCH 76/98] services: account: Have 'user-processes' depend on 'user-homes'. Until now, 'user-homes' happened to start right after 'user-processes' and before services that depend on a home directory but the dependency was not explicit. This addresses it. * gnu/system/shadow.scm (account-service-type): Extend USER-PROCESSES-SERVICE-TYPE. --- gnu/system/shadow.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Efraim Flashner @@ -314,9 +314,7 @@ (define accounts ;; ;; 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 @@ (define account-service-type 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))))) From a37c59af625845b322463811f2e817f3871548ad Mon Sep 17 00:00:00 2001 From: mikadoZero Date: Fri, 22 Feb 2019 18:24:20 -0500 Subject: [PATCH 77/98] doc: Update nar decompression examples. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Invoking guix archive): Show /gzip URL. Add cross-reference to "Invoking guix challenge". (Invoking guix challenge): Show /lzip URL. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 0fb81e441f..e5f4d02504 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4626,8 +4626,8 @@ served by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}: @example $ wget -O - \ - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \ - | bunzip2 | guix archive -x /tmp/emacs + https://@value{SUBSTITUTE-SERVER}/nar/gzip/@dots{}-emacs-24.5 \ + | gunzip | guix archive -x /tmp/emacs @end example Single-item archives are different from multiple-item archives produced @@ -4637,7 +4637,8 @@ and they do @emph{not} embed a signature. Thus this operation does unsafe. The primary purpose of this operation is to facilitate inspection of -archive contents coming from possibly untrusted substitute servers. +archive contents coming from possibly untrusted substitute servers +(@pxref{Invoking guix challenge}). @item --list @itemx -t @@ -10573,8 +10574,8 @@ Alternately, we can do something along these lines (@pxref{Invoking guix archive}): @example -$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ - | guix archive -x /tmp/git +$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/lzip/@dots{}-git-2.5.0 \ + | lzip -d | guix archive -x /tmp/git $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git @end example From 4e3314a4c5bc38958f3f14d88a39631ffe5844cd Mon Sep 17 00:00:00 2001 From: TomZ Date: Fri, 17 Apr 2020 12:26:58 +0200 Subject: [PATCH 78/98] gnu: fulcrum: Update to 1.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (fulcrum): Update to 1.1.0 Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index c5f9066fd7..cc759ee972 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1405,14 +1405,14 @@ (define-public bitcoin-unlimited (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 From 694e10af639da64cdf6f1c44cadf9a64f8a04fa6 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Thu, 16 Apr 2020 23:17:16 +0200 Subject: [PATCH 79/98] ui: Fix typos, 80-col & grammar in comments & docstrings. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/ui.scm (load*): Fix comment line length. (leave-on-EPIPE): Fix typo in docstring. (substitutable-info): Fix typo in comment. (indented-string): Fix typo in docstring. (%package-metrics): Fix typo in comment. (run-guix): Fix grammar in docstring. Signed-off-by: Ludovic Courtès --- guix/ui.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 1ccc80a000..ea5f460865 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -234,8 +234,8 @@ (define tag ;; Give 'load' an absolute file name so that it doesn't try to ;; search for FILE in %LOAD-PATH. Note: use 'load', not - ;; 'primitive-load', so that FILE is compiled, which then allows us - ;; to provide better error reporting with source line numbers. + ;; 'primitive-load', so that FILE is compiled, which then allows + ;; us to provide better error reporting with source line numbers. (load (canonicalize-path file))) (const #f)))))) (lambda _ @@ -796,7 +796,7 @@ (define (manifest-entry-output* entry) (apply format #f format-string format-args)))))) (define-syntax-rule (leave-on-EPIPE exp ...) - "Run EXP... in a context when EPIPE errors are caught and lead to 'exit' + "Run EXP... in a context where EPIPE errors are caught and lead to 'exit' with successful exit code. This is useful when writing to the standard output may lead to EPIPE, because the standard output is piped through 'head' or similar." @@ -925,7 +925,7 @@ (define inputs drv)) (define substitutable-info - ;; Call 'substitutation-oracle' upfront so we don't end up launching the + ;; Call 'substitution-oracle' upfront so we don't end up launching the ;; substituter many times. This makes a big difference, especially when ;; DRV is a long list as is the case with 'guix environment'. (if use-substitutes? @@ -1251,7 +1251,7 @@ (define-syntax with-error-handling (define* (indented-string str indent #:key (initial-indent? #t)) - "Return STR with each newline preceded by IDENT spaces. When + "Return STR with each newline preceded by INDENT spaces. When INITIAL-INDENT? is true, the first line is also indented." (define indent-string (make-list indent #\space)) @@ -1534,7 +1534,7 @@ (define %package-metrics (,(lambda (package) (filter (lambda (output) (not (member output - ;; Some common outpus shared by many packages. + ;; Some common outputs shared by many packages. '("out" "doc" "debug" "lib" "include" "bin")))) (package-outputs package))) . 1) @@ -1942,7 +1942,7 @@ (define module (define (run-guix . args) "Run the 'guix' command defined by command line ARGS. Unlike 'guix-main', this procedure assumes that locale, i18n support, -and signal handling has already been set up." +and signal handling have already been set up." (define option? (cut string-prefix? "-" <>)) ;; The default %LOAD-EXTENSIONS includes the empty string, which doubles the From abb37b3c6261be5e0a0a3c1a0e3596fc3ccec1db Mon Sep 17 00:00:00 2001 From: Martin Becze Date: Thu, 16 Apr 2020 11:17:13 -0500 Subject: [PATCH 80/98] gnu: trezord: Update to 2.0.29. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (trezord): Update to 2.0.29. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index cc759ee972..a78488615d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2019, 2020 Guillaume Le Vaillant ;;; Copyright © 2019 Tanguy Le Carrour -;;; Copyright © 2019 Martin Becze +;;; Copyright © 2019, 2020 Martin Becze ;;; Copyright © 2019 Sebastian Schott ;;; Copyright © 2020 Kei Kebreau ;;; Copyright © 2020 Christopher Lemmer Webber @@ -1168,7 +1168,7 @@ (define-public grisbi (define-public trezord (package (name "trezord") - (version "2.0.17") + (version "2.0.29") (source (origin (method git-fetch) @@ -1177,7 +1177,7 @@ (define-public trezord (commit (string-append "v" version)))) (sha256 (base32 - "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7")) + "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp")) (file-name (git-file-name name version)))) (build-system go-build-system) (arguments From 5a8ef3c127b21251bb1d3aae144a01682179e40d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 16 Apr 2020 14:17:25 -0400 Subject: [PATCH 81/98] gnu: Use the test-only time zone database where appropriate. * gnu/packages/backup.scm (duplicity)[inputs]: Remove tzdata. [native-inputs]: Add tzdata-for-tests. * gnu/packages/finance.scm (ledger): Likewise. * gnu/packages/compression.scm (lhasa)[native-inputs]: Use tzdata-for-tests. * gnu/packages/cran.scm (r-rstan)[native-inputs]: Likewise. * gnu/packages/databases.scm (mongodb)[native-inputs]: Likewise. * gnu/packages/kde-frameworks.scm (kdelibs4support)[native-inputs]: Likewise. --- gnu/packages/backup.scm | 4 ++-- gnu/packages/compression.scm | 2 +- gnu/packages/cran.scm | 2 +- gnu/packages/databases.scm | 2 +- gnu/packages/finance.scm | 4 ++-- gnu/packages/kde-frameworks.scm | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 223c393b6d..d80359f8f1 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -91,6 +91,7 @@ (define-public duplicity ("par2cmdline" ,par2cmdline) ("python-pexpect" ,python2-pexpect) ("python-fasteners" ,python2-fasteners) + ("tzdata" ,tzdata-for-tests) ("mock" ,python2-mock))) (propagated-inputs `(("lockfile" ,python2-lockfile) @@ -99,8 +100,7 @@ (define-public duplicity `(("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/compression.scm b/gnu/packages/compression.scm index 2e1fe04dde..67e3b880f6 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -489,7 +489,7 @@ (define-public lhasa "/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 3917545422..757f809941 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20624,7 +20624,7 @@ (define-public r-rstan "/share/zoneinfo")) #t))))) (native-inputs - `(("tzdata" ,tzdata) + `(("tzdata" ,tzdata-for-tests) ("pandoc" ,ghc-pandoc))) (propagated-inputs `(("r-bh" ,r-bh) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a6f78154e8..7ca2ca37a3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -508,7 +508,7 @@ (define-public mongodb ("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/finance.scm b/gnu/packages/finance.scm index a78488615d..ee254c3a9f 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -241,11 +241,11 @@ (define-public ledger ("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 diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index a586b26d7e..dad50fad24 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -3537,7 +3537,7 @@ (define-public kdelibs4support ("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 From aa78c596c9eaae946f779d8fa3c4125d08187648 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 17 Apr 2020 23:25:17 +0200 Subject: [PATCH 82/98] gnupg: Accept revoked keys. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I (nckx) have revoked all RSA subkeys, in favour of my older and freshly-refreshed ECDSA ones. This was merely a precaution: to my knowledge all my RSA private keys have been carefully destroyed and were never compromised. This commit keeps ‘make authenticate’ happy. * guix/gnupg.scm (revkeysig-rx): New variable for revoked keys. (gnupg-verify): Parse it. (gnupg-status-good-signature?): Accept it as ‘good’ for our purposes. * build-aux/git-authenticate.scm (%committers): Clarify nckx's subkeys. Signed-off-by: Ludovic Courtès --- build-aux/git-authenticate.scm | 7 ++++--- guix/gnupg.scm | 11 ++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm index 37e0c6800c..bb48dddc59 100644 --- a/build-aux/git-authenticate.scm +++ b/build-aux/git-authenticate.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 Ludovic Courtès +;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -147,11 +148,11 @@ (define %committers ("mthl" "F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37") ("nckx" - ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" - "7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C") - ("nckx (2nd)" ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" "F5DA 2032 4B87 3D0B 7A38 7672 0DB0 FF88 4F55 6D79") + ("nckx (revoked; not compromised)" + ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" + "7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C") ("niedzejkob" "E576 BFB2 CF6E B13D F571 33B9 E315 A758 4613 1564") ("ngz" diff --git a/guix/gnupg.scm b/guix/gnupg.scm index bf0283f8fe..5fae24b325 100644 --- a/guix/gnupg.scm +++ b/guix/gnupg.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,6 +72,8 @@ (define validsig-rx "^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$")) (define expkeysig-rx ; good signature, but expired key (make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$")) +(define revkeysig-rx ; good signature, but revoked key + (make-regexp "^\\[GNUPG:\\] REVKEYSIG ([[:xdigit:]]+) (.*)$")) (define errsig-rx ;; Note: The fingeprint part (the last element of the line) appeared in ;; GnuPG 2.2.7 according to 'doc/DETAILS', and it may be missing. @@ -114,6 +117,11 @@ (define (status-line->sexp line) (lambda (match) `(expired-key-signature ,(match:substring match 1) ; fingerprint ,(match:substring match 2)))) ; user name + ((regexp-exec revkeysig-rx line) + => + (lambda (match) + `(revoked-key-signature ,(match:substring match 1) ; fingerprint + ,(match:substring match 2)))) ; user name ((regexp-exec errsig-rx line) => (lambda (match) @@ -157,7 +165,8 @@ (define (gnupg-status-good-signature? status) (match (assq 'valid-signature status) (('valid-signature fingerprint date timestamp) (match (or (assq 'good-signature status) - (assq 'expired-key-signature status)) + (assq 'expired-key-signature status) + (assq 'revoked-key-signature status)) ((_ key-id user) (cons fingerprint user)) (_ #f))) (_ From 1a9af96b188368fb636eb2df7c6771c45a5b0a66 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 18 Apr 2020 17:41:11 +0200 Subject: [PATCH 83/98] installer: Fix backtrace display. The 'syslog' macro cannot be resolved in the pre-unwind-handler context. Failed to resolve 'syslog' in this context resulted in the swallowing of all installation errors. Fixes 5c04b00cf463a543b8ffc9eb55991f6b4cc145dd. * gnu/installer.scm (installer-program): Use (gnu installer utils) module. --- gnu/installer.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/installer.scm b/gnu/installer.scm index 565707ec42..0d55e0db56 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -358,6 +358,7 @@ (define installer-builder (gnu installer services) (gnu installer timezone) (gnu installer user) + (gnu installer utils) (gnu installer newt) ((gnu installer newt keymap) #:select (keyboard-layout->configuration)) From dc9b1835d204e942ffb6bfc1939e204b1dad3aa2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 18 Apr 2020 20:57:15 +0300 Subject: [PATCH 84/98] gnu: chess: Set upstream name and ftp-directory. * gnu/packages/games.scm (chess)[properties]: New field. Add upstream-name and ftp-directory. --- gnu/packages/games.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b15d4eeb3a..181eab19b2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Albin Söderqvist ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau ;;; Copyright © 2016 Alex Griffin -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Steve Webber ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira @@ -1970,6 +1970,8 @@ (define-public chess (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 From 6a825d8c0d4663169e17d60a67f92ed690fd060e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 18 Apr 2020 21:01:52 +0300 Subject: [PATCH 85/98] gnu: chess: Update to 6.2.6. * gnu/packages/games.scm (chess): Update to 6.2.6. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 181eab19b2..10b3a072b9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1955,7 +1955,7 @@ (define-public cmatrix (define-public chess (package (name "chess") - (version "6.2.5") + (version "6.2.6") (source (origin (method url-fetch) @@ -1963,7 +1963,7 @@ (define-public chess ".tar.gz")) (sha256 (base32 - "00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs")))) + "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/chess/") (synopsis "Full chess implementation") From 190f460f983e5cfbfe395b04503520513390f63c Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Wed, 8 Apr 2020 00:59:13 +0200 Subject: [PATCH 86/98] gnu: Add node-semver. * gnu/packages/node-xyz.scm (node-semver): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/node-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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 +;;; Copyright © 2020 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -244,3 +245,26 @@ (define-public node-util-deprecate (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))) From d7041a69ed01984bf1109a0027cf9f227f03a081 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 18 Apr 2020 14:42:53 -0400 Subject: [PATCH 87/98] gnu: libavif: Update to 0.7.1. * gnu/packages/image.scm (libavif): Update to 0.7.1. [arguments]: Run the test suite. --- gnu/packages/image.scm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 8d44bae9ac..7b1d41cfa5 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1942,7 +1942,7 @@ (define-public icoutils (define-public libavif (package (name "libavif") - (version "0.6.3") + (version "0.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -1951,7 +1951,7 @@ (define-public libavif (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" @@ -1959,18 +1959,15 @@ (define-public libavif "-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))) From 0144f8def8d91a6e0fb2bb83e46bd03569276da4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 18 Apr 2020 21:49:59 +0300 Subject: [PATCH 88/98] gnu: vim-asyncrun: Update to 2.7.5. * gnu/packages/vim.scm (vim-asyncrun): Update to 2.7.5. --- gnu/packages/vim.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 @@ (define-public vim-guix-vim (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 @@ (define-public vim-asyncrun (file-name (git-file-name name version)) (sha256 (base32 - "0f7slvz28772qsbrb8xfwrkprfm90wc9i36xhn797lacxcxgwqpw")))) + "02fiqf4rcrxbcgvj02mpd78wkxsrnbi54aciwh9fv5mnz5ka249m")))) (build-system copy-build-system) (arguments '(#:install-plan From cac674d99dc4a332e6210c57ec7f1b8164f66642 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 18 Apr 2020 22:01:58 +0300 Subject: [PATCH 89/98] gnu: qrcodegen-cpp: Update to 1.6.0. * gnu/packages/aidc.scm (qrcodegen-cpp): Update to 1.6.0. --- gnu/packages/aidc.scm | 67 ++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 36 deletions(-) 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 -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2020 Efraim Flashner ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Guillaume Le Vaillant @@ -157,39 +157,34 @@ (define-public zbar (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))) From de5200ada9932501dbe010990ed1acf7688846a6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 18 Apr 2020 22:50:59 +0300 Subject: [PATCH 90/98] gnu: python-cython: Update to 0.29.16. * gnu/packages/python-xyz.scm (python-cython): Update to 0.29.16. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ce4a0d29a8..457e5e6bea 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3853,14 +3853,14 @@ (define-public mallard-ducktype (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 From fafe2343c29bcb02fcee79558fbd8ae2ba2c1214 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Apr 2020 08:52:01 +0300 Subject: [PATCH 91/98] services: sddm: Have sddm provision xorg-server. * gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]: Have sddm provision 'xorg-server like the other display managers. --- gnu/services/sddm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 @@ (define sddm-command (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))))) From ea6594e08e2724c64bc07724a07479fc1633dede Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 19 Apr 2020 11:41:40 +0200 Subject: [PATCH 92/98] installer: connman: Fix Wifi connection. Issue reported by SergioBG here: https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00432.html. Due to default buffering mode, the installer was reading from the pipe without having actually written a command before. * gnu/installer/connman.scm (connman-connect-with-auth): Set pipe buffering mode to 'line. --- gnu/installer/connman.scm | 1 + 1 file changed, 1 insertion(+) 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 @@ (define (run-connection-sequence pipe) (dynamic-wind (const #t) (lambda () + (setvbuf pipe 'line) (run-connection-sequence pipe) #t) (lambda () From 04594054d6cddb985cb1bfce1c84372c81f87636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 18 Apr 2020 23:21:34 +0200 Subject: [PATCH 93/98] status: Remove extra space before ellipsis. Extra space was introduced in 8fa4ac5be4d5f8a1e62635842b16486832ff49f1. * guix/status.scm (print-build-event): Remove extra space before ellipsis. --- guix/status.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/status.scm b/guix/status.scm index 45e441eac5..f40d5d59b9 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -480,8 +480,8 @@ (define erase-current-line* (let ((count (match (assq-ref properties 'profile) (#f 0) (lst (or (assq-ref lst 'count) 0))))) - (format port (info (N_ "building profile with ~a package ..." - "building profile with ~a packages ..." + (format port (info (N_ "building profile with ~a package..." + "building profile with ~a packages..." count)) count))) ('profile-hook From 0639a24038bb1c66db7b82c08e4cc3bf7012aa0a Mon Sep 17 00:00:00 2001 From: Martin Becze Date: Thu, 16 Apr 2020 11:20:44 -0500 Subject: [PATCH 94/98] gnu: Add trezord-udev-rules. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (trezord-udev-rules): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ee254c3a9f..80d0350cf5 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -41,6 +41,7 @@ (define-module (gnu packages finance) #: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) @@ -1165,6 +1166,33 @@ (define-public grisbi (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") From 3c91f003416c9fb79af2dc8766a7f449aa03f839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Apr 2020 13:16:52 +0200 Subject: [PATCH 95/98] tests: Invoke 'git' with a custom '.gitconfig' and ignore the system config. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . Reported by Gábor Boskovits . * guix/tests/git.scm (call-with-environment-variables): New procedure. (with-environment-variables): New macro. (populate-git-repository)[git]: Wrap (git-command) invocation in 'call-with-temporary-directory' and 'with-environment-variables'. --- guix/tests/git.scm | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/guix/tests/git.scm b/guix/tests/git.scm index 21573ac14e..566660e85e 100644 --- a/guix/tests/git.scm +++ b/guix/tests/git.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +30,24 @@ (define-module (guix tests git) (define git-command (make-parameter "git")) +(define (call-with-environment-variables variables thunk) + "Call THUNK with the environment VARIABLES set." + (let ((environment (environ))) + (dynamic-wind + (lambda () + (for-each (match-lambda + ((variable value) + (setenv variable value))) + variables)) + thunk + (lambda () + (environ environment))))) + +(define-syntax-rule (with-environment-variables variables exp ...) + "Evaluate EXP with the given environment VARIABLES set." + (call-with-environment-variables variables + (lambda () exp ...))) + (define (populate-git-repository directory directives) "Initialize a new Git checkout and repository in DIRECTORY and apply DIRECTIVES. Each element of DIRECTIVES is an sexp like: @@ -41,8 +59,21 @@ (define (populate-git-repository directory directives) ;; Note: As of version 0.2.0, Guile-Git lacks the necessary bindings to do ;; all this, so resort to the "git" command. (define (git command . args) - (apply invoke (git-command) "-C" directory - command args)) + ;; Make sure Git doesn't rely on the user's config. + (call-with-temporary-directory + (lambda (home) + (call-with-output-file (string-append home "/.gitconfig") + (lambda (port) + (display "[user] + email = charlie@example.org\n name = Charlie Guix\n" + port))) + + (with-environment-variables + `(("GIT_CONFIG_NOSYSTEM" "1") + ("GIT_ATTR_NOSYSTEM" "1") + ("HOME" ,home)) + (apply invoke (git-command) "-C" directory + command args))))) (mkdir-p directory) (git "init") From a3cbcbaf8b7dcd12a62006bc40a05ead67e10537 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 13 Apr 2020 02:44:21 -0400 Subject: [PATCH 96/98] gnu: Add notification-daemon. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (notification-daemon): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 33aae4545e..3a359abbbb 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -250,6 +250,34 @@ (define-public brasero 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") From 40c6b1802cf014d5a747310606285e52ee3e3d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 19 Apr 2020 13:26:05 +0200 Subject: [PATCH 97/98] doc: Make install script more prominent. Suggested by Steven vanZyl . * doc/guix.texi (Binary Installation): Add @example showing how to download the script. Use "systemctl enable --now". --- doc/guix.texi | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e5f4d02504..0b8460a6fe 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -548,7 +548,14 @@ We recommend the use of this @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell installer script}. The script automates the download, installation, and initial configuration steps described below. It should be run as the root -user. +user. As root, you can thus run this: + +@example +cd /tmp +wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh +chmod +x guix-install.sh +./guix-install.sh +@end example @end quotation Installing goes along these lines: @@ -652,7 +659,7 @@ with these commands: @example # cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ /etc/systemd/system/ -# systemctl start guix-daemon && systemctl enable guix-daemon +# systemctl enable --now guix-daemon @end example If your host distro uses the Upstart init system: From 5c10d55206a4f7a9b932ff08512a4f50c1db35be Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 19 Apr 2020 14:33:30 +0200 Subject: [PATCH 98/98] gnu: emacs-org-superstar: Update to 1.2.1. * gnu/packages/emacs-xyz.scm (emacs-org-superstar): Update to 1.2.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a9550ee112..cd80e57efb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4975,7 +4975,7 @@ (define-public emacs-org-bullets (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 @@ (define-public emacs-org-superstar (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)))