branch master updated (0557618 -> 0c54939)

2020-03-25 Thread guix-commits
lfam pushed a change to branch master
in repository guix.

from 0557618  gnu: Add emacs-chronometrist.
 new 49a8ef8  gnu: Add r-argon2.
 new 6ad80b2  gnu: Add r-getpass.
 new 0c54939  gnu: Add r-remoter.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/cran.scm | 73 +++
 1 file changed, 73 insertions(+)



branch master updated: gnu: abseil-cpp: Update to 20200225.1.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

rekado pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 8b19fa5  gnu: abseil-cpp: Update to 20200225.1.
8b19fa5 is described below

commit 8b19fa51a4147e65caf56d89f1ad0a64c32ee460
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 16:29:26 2020 +0100

gnu: abseil-cpp: Update to 20200225.1.

* gnu/packages/cpp.scm (abseil-cpp): Update to 20200225.1.
---
 gnu/packages/cpp.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0c5692b..ce816a5 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2019 Jan Wielkiewicz 
 ;;; Copyright © 2020 Nicolò Balzarotti 
 ;;; Copyright © 2020 Roel Janssen 
+;;; Copyright © 2020 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -444,7 +445,7 @@ point and then, after each tween step, plugging back the 
result.")
 (define-public abseil-cpp
   (package
 (name "abseil-cpp")
-(version "20200225")
+(version "20200225.1")
 (source (origin
   (method git-fetch)
   (uri (git-reference
@@ -453,7 +454,7 @@ point and then, after each tween step, plugging back the 
result.")
   (file-name (git-file-name name version))
   (sha256
(base32
-"0wb04pszzrl39ny1pz9jvvq8lbbm355dd60jspcyqfwxnk6njgd1"
+"035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w"
 (build-system cmake-build-system)
 (arguments
  `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"



01/03: gnu: Add r-argon2.

2020-03-25 Thread guix-commits
lfam pushed a commit to branch master
in repository guix.

commit 49a8ef8ae1e43fd3a125b782bf49e1d2383ae71f
Author: Todor Kondić 
AuthorDate: Wed Mar 25 15:37:55 2020 -0400

gnu: Add r-argon2.

* gnu/packages/cran.scm (r-argon2): New variable.

Signed-off-by: Leo Famulari 
---
 gnu/packages/cran.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 30d2ba3..4e67c51 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2018, 2019 Brett Gilio 
 ;;; Copyright © 2019 Nicolò Balzarotti 
 ;;; Copyright © 2019 Wiktor Żelazny 
+;;; Copyright © 2020 Todor Kondić 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20946,3 +20947,23 @@ service.  Functions are provided to work with the 
OAI-PMH verbs:
 @code{GetRecord}, @code{Identify}, @code{ListIdentifiers},
 @code{ListMetadataFormats}, @code{ListRecords}, and @code{ListSets}.")
 (license license:expat)))
+
+(define-public r-argon2
+  (package
+(name "r-argon2")
+(version "0.2-0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "argon2" version))
+   (sha256
+(base32
+ "0kqn06rpb39jlzizjlnc5c44mfic8llrshxn7ljgmyj35lbqwxqh"
+(properties `((upstream-name . "argon2")))
+(build-system r-build-system)
+(home-page
+ "https://github.com/wrathematics/argon2;)
+(synopsis "Secure Password Hashing based on Argon2 Algorithm")
+(description
+ "Utilities for secure password hashing via the argon2 algorithm.")
+(license license:bsd-2)))



02/03: gnu: Add r-getpass.

2020-03-25 Thread guix-commits
lfam pushed a commit to branch master
in repository guix.

commit 6ad80b2a6b25178e94f7bae194c0007215398968
Author: Todor Kondić 
AuthorDate: Wed Mar 25 15:38:50 2020 -0400

gnu: Add r-getpass.

* gnu/packages/cran.scm (r-getpass): New variable.

Signed-off-by: Leo Famulari 
---
 gnu/packages/cran.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 4e67c51..3447859 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -20967,3 +20967,28 @@ service.  Functions are provided to work with the 
OAI-PMH verbs:
 (description
  "Utilities for secure password hashing via the argon2 algorithm.")
 (license license:bsd-2)))
+
+(define-public r-getpass
+  (package
+(name "r-getpass")
+(version "0.2-2")
+(source
+  (origin
+(method url-fetch)
+(uri (cran-uri "getPass" version))
+(sha256
+  (base32
+"03ydafhh0sk3rcnpr3paajyji64x2ddp6p814p9mvbmyrblcgzcc"
+(properties `((upstream-name . "getPass")))
+(build-system r-build-system)
+(propagated-inputs
+  `(("r-rstudioapi" ,r-rstudioapi)))
+(home-page
+  "https://github.com/wrathematics/getPass;)
+(synopsis "Masked User Input")
+(description
+  "This package provides a micro-package for reading \"passwords\", i.e.
+reading user input with masking, so that the input is not displayed as it is
+typed.  Currently, RStudio, the command line (every OS), and any platform
+where tcltk is present are supported.")
+(license license:bsd-2)))



03/03: gnu: Add r-remoter.

2020-03-25 Thread guix-commits
lfam pushed a commit to branch master
in repository guix.

commit 0c549393b9b9194f47fbee2bdfa1caf8f4e32b12
Author: Todor Kondić 
AuthorDate: Wed Mar 25 15:39:08 2020 -0400

gnu: Add r-remoter.

* gnu/packages/cran.scm (r-remoter): New variable.

Signed-off-by: Leo Famulari 
---
 gnu/packages/cran.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 3447859..c0bd4bf 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -20992,3 +20992,30 @@ reading user input with masking, so that the input is 
not displayed as it is
 typed.  Currently, RStudio, the command line (every OS), and any platform
 where tcltk is present are supported.")
 (license license:bsd-2)))
+
+(define-public r-remoter
+  (package
+(name "r-remoter")
+(version "0.4-0")
+(source
+  (origin
+(method url-fetch)
+(uri (cran-uri "remoter" version))
+(sha256
+  (base32
+"1a7m63l8phv5jnazvdqdrqkaqjwqzaac5y4jm2jn0ypy4n8jvkfl"
+(properties `((upstream-name . "remoter")))
+(build-system r-build-system)
+(propagated-inputs
+  `(("r-argon2" ,r-argon2)
+("r-getpass" ,r-getpass)
+("r-pbdzmq" ,r-pbdzmq)
+("r-png" ,r-png)))
+(home-page "https://github.com/RBigData/remoter;)
+(synopsis
+  "Control a Remote R Session from a Local One")
+(description
+  "This package provides a set of utilities for client/server computing
+with R, controlling a remote R session (the server) from a local one (the
+client).")
+(license license:bsd-2)))



branch staging updated: gnu: ImageMagick: Build reproducibly.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

mbakke pushed a commit to branch staging
in repository guix.

The following commit(s) were added to refs/heads/staging by this push:
 new 87bc9f0  gnu: ImageMagick: Build reproducibly.
87bc9f0 is described below

commit 87bc9f022cdd3487e85cf83cf8315246abf9
Author: Marius Bakke 
AuthorDate: Wed Mar 25 18:21:20 2020 +0100

gnu: ImageMagick: Build reproducibly.

Fixes .

* gnu/packages/imagemagick.scm (imagemagick)[arguments]: In 
#:configure-flags,
add "--enable-reproducible-build".
---
 gnu/packages/imagemagick.scm | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 3c1fe01..5287255 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -58,7 +58,11 @@
"0fcbcad95wn0q0pdfl0qgycm30f3a7xhskc0r5icldq6v6l4b3is"
 (build-system gnu-build-system)
 (arguments
- `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
+ `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch"
+
+   ;; Do not embed the build date in binaries.
+   "--enable-reproducible-build")
+
;; FIXME: The test suite succeeded before version 6.9.6-2.
;; Try enabling it again with newer releases.
#:tests? #f



01/02: Handle system test derivations in create-small-backup

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit b99854924aec961a57b518c1d4d2f0340fe77fb5
Author: Christopher Baines 
AuthorDate: Wed Mar 25 18:26:33 2020 +

Handle system test derivations in create-small-backup

Otherwise this table is empty.
---
 scripts/guix-data-service-create-small-backup | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/scripts/guix-data-service-create-small-backup 
b/scripts/guix-data-service-create-small-backup
index e5f5774..996b494 100755
--- a/scripts/guix-data-service-create-small-backup
+++ b/scripts/guix-data-service-create-small-backup
@@ -62,6 +62,17 @@ WHERE revision_id IN (
   )
 );
 
+CREATE UNLOGGED TABLE tmp_guix_revision_system_test_derivations AS
+SELECT *
+FROM guix_revision_system_test_derivations
+WHERE guix_revision_id IN (
+  SELECT id
+  FROM guix_revisions
+  WHERE commit IN (
+SELECT commit FROM git_branches
+  )
+);
+
 CREATE UNLOGGED TABLE tmp_package_derivations AS
 SELECT * FROM package_derivations WHERE id IN (
   SELECT package_derivation_id FROM tmp_guix_revision_package_derivations
@@ -69,7 +80,12 @@ SELECT * FROM package_derivations WHERE id IN (
 
 CREATE UNLOGGED TABLE tmp_derivations AS
 WITH RECURSIVE derivation_ids(id) AS (
-SELECT derivation_id FROM tmp_package_derivations
+(
+SELECT tmp_package_derivations.derivation_id FROM 
tmp_package_derivations
+  UNION
+SELECT tmp_guix_revision_system_test_derivations.derivation_id
+FROM tmp_guix_revision_system_test_derivations
+)
   UNION
 SELECT derivation_outputs.derivation_id
 FROM derivation_ids
@@ -209,6 +225,9 @@ INSERT INTO package_derivations OVERRIDING SYSTEM VALUE
 INSERT INTO guix_revision_package_derivations
   SELECT * FROM tmp_guix_revision_package_derivations;
 
+INSERT INTO guix_revision_system_test_derivations
+  SELECT * FROM tmp_guix_revision_system_test_derivations;
+
 INSERT INTO builds OVERRIDING SYSTEM VALUE
   SELECT * FROM tmp_builds;
 



02/02: Handle channel instances in create-small-backup

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 8af7130239877bc8c24dd0c44ccd52d15d1eb1d0
Author: Christopher Baines 
AuthorDate: Wed Mar 25 18:27:01 2020 +

Handle channel instances in create-small-backup

Otherwise this table is empty.
---
 scripts/guix-data-service-create-small-backup | 16 
 1 file changed, 16 insertions(+)

diff --git a/scripts/guix-data-service-create-small-backup 
b/scripts/guix-data-service-create-small-backup
index 996b494..57ee5ef 100755
--- a/scripts/guix-data-service-create-small-backup
+++ b/scripts/guix-data-service-create-small-backup
@@ -73,6 +73,17 @@ WHERE guix_revision_id IN (
   )
 );
 
+CREATE UNLOGGED TABLE tmp_channel_instances AS
+SELECT *
+FROM channel_instances
+WHERE guix_revision_id IN (
+  SELECT id
+  FROM guix_revisions
+  WHERE commit IN (
+SELECT commit FROM git_branches
+  )
+);
+
 CREATE UNLOGGED TABLE tmp_package_derivations AS
 SELECT * FROM package_derivations WHERE id IN (
   SELECT package_derivation_id FROM tmp_guix_revision_package_derivations
@@ -85,6 +96,8 @@ WITH RECURSIVE derivation_ids(id) AS (
   UNION
 SELECT tmp_guix_revision_system_test_derivations.derivation_id
 FROM tmp_guix_revision_system_test_derivations
+  UNION
+SELECT tmp_channel_instances.derivation_id FROM tmp_channel_instances
 )
   UNION
 SELECT derivation_outputs.derivation_id
@@ -228,6 +241,9 @@ INSERT INTO guix_revision_package_derivations
 INSERT INTO guix_revision_system_test_derivations
   SELECT * FROM tmp_guix_revision_system_test_derivations;
 
+INSERT INTO channel_instances
+  SELECT * FROM tmp_channel_instances;
+
 INSERT INTO builds OVERRIDING SYSTEM VALUE
   SELECT * FROM tmp_builds;
 



branch master updated (60df7ec -> 8af7130)

2020-03-25 Thread Christopher Baines
cbaines pushed a change to branch master
in repository data-service.

from 60df7ec  Remove redundant DISTINCT from the derivation range INSERT 
query
 new b998549  Handle system test derivations in create-small-backup
 new 8af7130  Handle channel instances in create-small-backup

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 scripts/guix-data-service-create-small-backup | 37 ++-
 1 file changed, 36 insertions(+), 1 deletion(-)



branch master updated: gnu: Add emacs-chronometrist.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

ngz pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 0557618  gnu: Add emacs-chronometrist.
0557618 is described below

commit 0557618dbea23afc1d2a0ee2d43d504c35e2f089
Author: Nicolas Goaziou 
AuthorDate: Wed Mar 25 17:34:38 2020 +0100

gnu: Add emacs-chronometrist.

* gnu/packages/emacs-xyz.scm (emacs-chronometrist): New variable.
---
 gnu/packages/emacs-xyz.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7b67cc3..2bfa5f9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1728,6 +1728,39 @@ searches.  Unlike code@{emacs-wiki.el}, it can be 
combined with any format.")
 Emacs buffer.")
 (license license:gpl3+)))
 
+(define-public emacs-chronometrist
+  (package
+(name "emacs-chronometrist")
+(version "0.4.2")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://framagit.org/contrapunctus/chronometrist.git;)
+ (commit (string-append "v" version
+   (file-name (git-file-name name version))
+   (sha256
+(base32 "1ccy7qz1wcmggqlf3hwigbqq4wrx1amds4x9bxz9py6bypglyjc5"
+(build-system emacs-build-system)
+(propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+   ("emacs-s" ,emacs-s)))
+(home-page "https://framagit.org/contrapunctus/chronometrist;)
+(synopsis "Time tracker for Emacs")
+(description "Chronometrist is a time tracker in Emacs, largely modelled
+after the Android application, @emph{A Time Tracker}.
+
+Its features are:
+@itemize
+@item Simple and efficient to use,
+@item Displays useful information about your time usage,
+@item Support for both mouse and keyboard,
+@item Human errors in tracking are easily fixed by editing a plain text file,
+@item Hooks to let you perform arbitrary actions when starting/stopping tasks.
+@end itemize")
+;; Software is dual-licensed.
+(license (list license:unlicense license:wtfpl2
+
 (define-public emacs-direnv
   (package
 (name "emacs-direnv")



branch master updated (7d57a19 -> 5cc6271)

2020-03-25 Thread guix-commits
mhw pushed a change to branch master
in repository guix.

from 7d57a19  gnu: icu4c: Fix CVE-2020-10531.
 new 1d777c7  gnu: linux-libre@4.19: Update to 4.19.113.
 new 5cc6271  gnu: linux-libre: Update to 5.4.28.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/linux.scm | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)



01/02: gnu: linux-libre@4.19: Update to 4.19.113.

2020-03-25 Thread guix-commits
mhw pushed a commit to branch master
in repository guix.

commit 1d777c78379441a325652f92a8616d6f51d82b34
Author: Mark H Weaver 
AuthorDate: Wed Mar 25 20:36:25 2020 -0400

gnu: linux-libre@4.19: Update to 4.19.113.

* gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.113.
(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 f2dcc32..15b74d8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -370,10 +370,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the 
given DEBLOB-SCRIPTS."
 (%upstream-linux-source version hash)
 deblob-scripts-5.4)))
 
-(define-public linux-libre-4.19-version "4.19.112")
+(define-public linux-libre-4.19-version "4.19.113")
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-(hash (base32 "0yiyqwgh6wcyshpdj98s7dc4ahyx47y6whvnww6sjmzdq0fb3hi4")))
+(hash (base32 "1rf0jz7r1f4rb4k0g3glssfa1hm2ka6vlbwjlkmsx1bybxnmg85m")))
 (make-linux-libre-source version
  (%upstream-linux-source version hash)
  deblob-scripts-4.19)))



02/02: gnu: linux-libre: Update to 5.4.28.

2020-03-25 Thread guix-commits
mhw pushed a commit to branch master
in repository guix.

commit 5cc6271d22466c2013d04976e57a807b32cd7afb
Author: Mark H Weaver 
AuthorDate: Wed Mar 25 20:37:38 2020 -0400

gnu: linux-libre: Update to 5.4.28.

* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.28.
(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 15b74d8..bc8300a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -362,10 +362,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the 
given DEBLOB-SCRIPTS."
 "linux-" version ".tar.xz"))
 (sha256 hash)))
 
-(define-public linux-libre-5.4-version "5.4.27")
+(define-public linux-libre-5.4-version "5.4.28")
 (define-public linux-libre-5.4-pristine-source
   (let ((version linux-libre-5.4-version)
-(hash (base32 "0szc1p9y6z8gs2f1nj45nrz52sxcabg2xh7zqlljazv45lvcvf8r")))
+(hash (base32 "197p7rjmbs229ncj1y8s80f7n4bm8g9w0jrv1109m3rl8q9wqqy8")))
(make-linux-libre-source version
 (%upstream-linux-source version hash)
 deblob-scripts-5.4)))



branch master updated: gnu: linux-libre: Update deblob scripts.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

mhw pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 2a57b72  gnu: linux-libre: Update deblob scripts.
2a57b72 is described below

commit 2a57b72251042b819f0822c870c3837f63957d9e
Author: Mark H Weaver 
AuthorDate: Wed Mar 25 20:39:05 2020 -0400

gnu: linux-libre: Update deblob scripts.

* gnu/packages/linux.scm (deblob-scripts-5.4): Update to 5.4.28.
---
 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 bc8300a..db8e180 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -194,9 +194,9 @@ defconfig.  Return the appropriate make target if 
applicable, otherwise return
 
 (define deblob-scripts-5.4
   (linux-libre-deblob-scripts
-   "5.4.19"
+   "5.4.28"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
-   (base32 "1ajzwyy6vgmihxpz3sbshzfzd0w8yzj0fihv0d5rjpr4z3gm48bk")))
+   (base32 "08ls4gx5vanyiq9rn0869nfq4piw4lx1dl8hh9w9xgkr4ypc1j4k")))
 
 (define deblob-scripts-4.19
   (linux-libre-deblob-scripts



02/02: Use the --no-comments option to pg_dump

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit d0eff9da5d0c286fc387dc3e11fba0d3cc81561f
Author: Christopher Baines 
AuthorDate: Wed Mar 25 20:47:53 2020 +

Use the --no-comments option to pg_dump

Hopefully this will help with the pg_restore in the create-small-backup
script:

  pg_restore: [archiver (db)] Error while PROCESSING TOC:
  pg_restore: [archiver (db)] Error from TOC entry 2875; 0 0 COMMENT 
EXTENSION plpgsql
  pg_restore: [archiver (db)] could not execute query: ERROR:  must be 
owner of extension plpgsql
  Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural 
language';
---
 scripts/guix-data-service-backup-database | 1 +
 scripts/guix-data-service-create-small-backup | 1 +
 2 files changed, 2 insertions(+)

diff --git a/scripts/guix-data-service-backup-database 
b/scripts/guix-data-service-backup-database
index 3988a49..77fda89 100755
--- a/scripts/guix-data-service-backup-database
+++ b/scripts/guix-data-service-backup-database
@@ -16,6 +16,7 @@ renice 19 -p $$ || true
 ionice -p $$ -c 3 || true
 
 pg_dump --format=custom --compress=9 --serializable-deferrable \
+--no-comments \
 --username=guix_data_service \
 --file="$TEMPORARY_FILE_NAME" \
 "$DATABASE_NAME"
diff --git a/scripts/guix-data-service-create-small-backup 
b/scripts/guix-data-service-create-small-backup
index 57ee5ef..562735f 100755
--- a/scripts/guix-data-service-create-small-backup
+++ b/scripts/guix-data-service-create-small-backup
@@ -289,6 +289,7 @@ 
TEMPORARY_FILE_NAME="${TMPDIR:-/tmp}/guix_data_service_small-$DATE.dump.tmp"
 
 pg_dump --username=guix_data_service \
 --format=custom --compress=9 --serializable-deferrable \
+--no-comments \
 --username=guix_data_service \
 --file="$TEMPORARY_FILE_NAME" \
 "$URI_FOR_DATABASE"



branch core-updates updated (eac5412 -> fef7710)

2020-03-25 Thread guix-commits
janneke pushed a change to branch core-updates
in repository guix.

from eac5412  gnu: GHC: Enable RUNPATH validation.
 add 654de94  gnu: grub: Support for the Hurd.
 add 9b943db  gnu: hurd: Fix hurd-target?, add hurd-system?.
 add 974c42a  gnu: glibc: Add clock patches for the Hurd.
 add 096a8e3  gnu: glibc: Add signal SA_SIGINFO support for the Hurd.
 add ee1cf1d  gnu: cross-libc: Build fix for the Hurd.
 add eef44fe  Revert "gnu: guile-static-stripped: Update to 2.2."
 add 25bc0f3  gnu: bootstrap: gcc-static: Use gcc-5.
 add fef7710  gnu: bootstrap: Use fall-back mechanism for 
bootstrap-executables.

No new revisions were added by this update.

Summary of changes:
 gnu/local.mk   |   8 +-
 gnu/packages/base.scm  |   5 +-
 gnu/packages/bootloaders.scm   |  26 +-
 gnu/packages/bootstrap.scm |  21 +-
 gnu/packages/cross-base.scm|  12 +-
 gnu/packages/gcc.scm   |   3 +-
 gnu/packages/hurd.scm  |  13 +-
 gnu/packages/linux.scm |   3 +
 gnu/packages/make-bootstrap.scm|  50 +-
 gnu/packages/patches/gcc-5-hurd.patch  |  63 ++
 .../glibc-hurd-clock_gettime_monotonic.patch   |  84 +++
 .../patches/glibc-hurd-clock_t_centiseconds.patch  |  90 +++
 .../patches/glibc-hurd-signal-sa-siginfo.patch | 637 +
 .../grub-verifiers-Blocklist-fallout-cleanup.patch |  41 ++
 gnu/packages/patches/guile-2.2-default-utf8.patch  |  82 ---
 gnu/packages/patches/guile-relocatable.patch   |  36 +-
 gnu/packages/virtualization.scm|   3 +-
 17 files changed, 1038 insertions(+), 139 deletions(-)
 create mode 100644 gnu/packages/patches/gcc-5-hurd.patch
 create mode 100644 
gnu/packages/patches/glibc-hurd-clock_gettime_monotonic.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-clock_t_centiseconds.patch
 create mode 100644 gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch
 create mode 100644 
gnu/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch
 delete mode 100644 gnu/packages/patches/guile-2.2-default-utf8.patch



branch master updated (8af7130 -> d0eff9d)

2020-03-25 Thread Christopher Baines
cbaines pushed a change to branch master
in repository data-service.

from 8af7130  Handle channel instances in create-small-backup
 new 0c4e6a2  Create an index on narinfo_fetch_records
 new d0eff9d  Use the --no-comments option to pg_dump

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 scripts/guix-data-service-backup-database| 1 +
 scripts/guix-data-service-create-small-backup| 1 +
 sqitch/deploy/create_narinfo_fetch_records_index.sql | 8 
 sqitch/revert/create_narinfo_fetch_records_index.sql | 7 +++
 sqitch/sqitch.plan   | 1 +
 sqitch/verify/create_narinfo_fetch_records_index.sql | 7 +++
 6 files changed, 25 insertions(+)
 create mode 100644 sqitch/deploy/create_narinfo_fetch_records_index.sql
 create mode 100644 sqitch/revert/create_narinfo_fetch_records_index.sql
 create mode 100644 sqitch/verify/create_narinfo_fetch_records_index.sql



01/02: Create an index on narinfo_fetch_records

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 0c4e6a2fe49d13a65f836a2b8a5dade720aa7e6b
Author: Christopher Baines 
AuthorDate: Wed Mar 25 19:11:03 2020 +

Create an index on narinfo_fetch_records

This greatly improves the performance of the derivation-outputs page.
---
 sqitch/deploy/create_narinfo_fetch_records_index.sql | 8 
 sqitch/revert/create_narinfo_fetch_records_index.sql | 7 +++
 sqitch/sqitch.plan   | 1 +
 sqitch/verify/create_narinfo_fetch_records_index.sql | 7 +++
 4 files changed, 23 insertions(+)

diff --git a/sqitch/deploy/create_narinfo_fetch_records_index.sql 
b/sqitch/deploy/create_narinfo_fetch_records_index.sql
new file mode 100644
index 000..c3547d5
--- /dev/null
+++ b/sqitch/deploy/create_narinfo_fetch_records_index.sql
@@ -0,0 +1,8 @@
+-- Deploy guix-data-service:create_narinfo_fetch_records_index to pg
+
+BEGIN;
+
+CREATE INDEX narinfo_fetch_records_narinfo_signature_data_id ON
+  narinfo_fetch_records (narinfo_signature_data_id);
+
+COMMIT;
diff --git a/sqitch/revert/create_narinfo_fetch_records_index.sql 
b/sqitch/revert/create_narinfo_fetch_records_index.sql
new file mode 100644
index 000..2da20bf
--- /dev/null
+++ b/sqitch/revert/create_narinfo_fetch_records_index.sql
@@ -0,0 +1,7 @@
+-- Revert guix-data-service:create_narinfo_fetch_records_index from pg
+
+BEGIN;
+
+DROP INDEX narinfo_fetch_records_narinfo_signature_data_id;
+
+COMMIT;
diff --git a/sqitch/sqitch.plan b/sqitch/sqitch.plan
index d770077..e0c55c7 100644
--- a/sqitch/sqitch.plan
+++ b/sqitch/sqitch.plan
@@ -54,3 +54,4 @@ update_build_servers_build_config 2020-02-13T20:07:19Z 
Christopher Baines  # Make some constraints deferrable
 guix_revision_system_test_derivations_add_system 2020-03-19T21:30:33Z 
Christopher Baines  # Add a system column to the 
guix_revision_system_test_derivations table
 drop_package_versions_by_guix_revision_range 2020-03-24T20:40:38Z Christopher 
Baines  # Drop package_versions_by_guix_revision_range
+create_narinfo_fetch_records_index 2020-03-25T19:07:28Z Christopher Baines 
 # Create an index on narinfo_fetch_records
diff --git a/sqitch/verify/create_narinfo_fetch_records_index.sql 
b/sqitch/verify/create_narinfo_fetch_records_index.sql
new file mode 100644
index 000..4835797
--- /dev/null
+++ b/sqitch/verify/create_narinfo_fetch_records_index.sql
@@ -0,0 +1,7 @@
+-- Verify guix-data-service:create_narinfo_fetch_records_index on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;



branch master updated: gnu: icu4c: Fix CVE-2020-10531.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

lfam pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 7d57a19  gnu: icu4c: Fix CVE-2020-10531.
7d57a19 is described below

commit 7d57a190f6896c04b5dad66bf4360bc48a4052ff
Author: Leo Famulari 
AuthorDate: Wed Mar 25 14:25:18 2020 -0400

gnu: icu4c: Fix CVE-2020-10531.

* gnu/packages/patches/icu4c-CVE-2020-10531.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/icu4c.scm (icu4c)[replacement]: New field.
(icu4c/fixed): New variable.
---
 gnu/local.mk|   1 +
 gnu/packages/icu4c.scm  |  11 ++
 gnu/packages/patches/icu4c-CVE-2020-10531.patch | 127 
 3 files changed, 139 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 7cce60b..c905bd3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1033,6 +1033,7 @@ dist_patch_DATA = 
\
   %D%/packages/patches/icecat-use-system-media-libs.patch  \
   %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch  \
   %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch  \
+  %D%/packages/patches/icu4c-CVE-2020-10531.patch  \
   %D%/packages/patches/id3lib-CVE-2007-4460.patch  \
   %D%/packages/patches/id3lib-UTF16-writing-bug.patch  \
   %D%/packages/patches/ilmbase-fix-tests.patch \
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 922dfbd..bc74da5 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -56,6 +56,7 @@
 (define-public icu4c
   (package
(name "icu4c")
+   (replacement icu4c/fixed)
(version "64.2")
(source (origin
 (method url-fetch)
@@ -105,6 +106,16 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/;)))
 
+(define icu4c/fixed
+  (package
+(inherit icu4c)
+(source (origin
+  (inherit (package-source icu4c))
+  (patches (append
+ (origin-patches (package-source icu4c))
+ (search-patches
+   "icu4c-CVE-2020-10531.patch")))
+
 (define-public java-icu4j
   (package
 (name "java-icu4j")
diff --git a/gnu/packages/patches/icu4c-CVE-2020-10531.patch 
b/gnu/packages/patches/icu4c-CVE-2020-10531.patch
new file mode 100644
index 000..c2ab923
--- /dev/null
+++ b/gnu/packages/patches/icu4c-CVE-2020-10531.patch
@@ -0,0 +1,127 @@
+Fix CVE-2020-10531:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531
+
+Patch copied from upstream source repository (changes to the test suite
+are commented out):
+
+https://github.com/unicode-org/icu/commit/b7d08bc04a4296982fcef8b6b8a354a9e4e7afca
+
+From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001
+From: Frank Tang 
+Date: Sat, 1 Feb 2020 02:39:04 +
+Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append
+
+See #971
+---
+ icu4c/source/common/unistr.cpp  |  6 ++-
+ icu4c/source/test/intltest/ustrtest.cpp | 62 +
+ icu4c/source/test/intltest/ustrtest.h   |  1 +
+ 3 files changed, 68 insertions(+), 1 deletion(-)
+
+diff --git a/icu4c/source/common/unistr.cpp b/icu4c/source/common/unistr.cpp
+index 901bb3358ba..077b4d6ef20 100644
+--- a/icu4c/source/common/unistr.cpp
 b/icu4c/source/common/unistr.cpp
+@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t 
srcStart, int32_t srcLeng
+   }
+ 
+   int32_t oldLength = length();
+-  int32_t newLength = oldLength + srcLength;
++  int32_t newLength;
++  if (uprv_add32_overflow(oldLength, srcLength, )) {
++setToBogus();
++return *this;
++  }
+ 
+   // Check for append onto ourself
+   const UChar* oldArray = getArrayStart();
+#diff --git a/icu4c/source/test/intltest/ustrtest.cpp 
b/icu4c/source/test/intltest/ustrtest.cpp
+#index b6515ea813c..ad38bdf53a3 100644
+#--- a/icu4c/source/test/intltest/ustrtest.cpp
+#+++ b/icu4c/source/test/intltest/ustrtest.cpp
+#@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, 
UBool exec, const char* &
+# TESTCASE_AUTO(TestWCharPointers);
+# TESTCASE_AUTO(TestNullPointers);
+# TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf);
+#+TESTCASE_AUTO(TestLargeAppend);
+# TESTCASE_AUTO_END;
+# }
+# 
+#@@ -2310,3 +2311,64 @@ void 
UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() {
+# str.insert(2, sub);
+# assertEquals("", u"abbcdcde", str);
+# }
+#+
+#+void UnicodeStringTest::TestLargeAppend() {
+#+if(quick) return;
+#+
+#+IcuTestErrorCode status(*this, "TestLargeAppend");
+#+// Make a large UnicodeString
+#+int32_t len = 0xAFF;
+#+UnicodeString str;
+#+char16_t *buf = str.getBuffer(len);
+#+// A fast way to set buffer to valid Unicode.
+#+// 4E4E is a valid unicode 

branch master updated: gnu: linux-libre-5.4-source: Add patch to support pinebook pro.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

vagrantc pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 730a4b1  gnu: linux-libre-5.4-source: Add patch to support pinebook 
pro.
730a4b1 is described below

commit 730a4b10fa49d821e0a89af59485cecf8616cd50
Author: Vagrant Cascadian 
AuthorDate: Wed Mar 25 18:59:25 2020 -0700

gnu: linux-libre-5.4-source: Add patch to support pinebook pro.

* gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch:
  New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/linux (linux-libre-5.4-source): Add patch.
---
 gnu/local.mk   |1 +
 gnu/packages/linux.scm |6 +-
 .../linux-libre-support-for-Pinebook-Pro.patch | 1135 
 3 files changed, 1141 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index c905bd3..5a51c47 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1159,6 +1159,7 @@ dist_patch_DATA = 
\
   %D%/packages/patches/lierolibre-remove-arch-warning.patch\
   %D%/packages/patches/lierolibre-try-building-other-arch.patch\
   %D%/packages/patches/linkchecker-tests-require-network.patch \
+  %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
   %D%/packages/patches/linux-pam-no-setfsuid.patch \
   %D%/packages/patches/lirc-localstatedir.patch\
   %D%/packages/patches/lirc-reproducible-build.patch   \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index db8e180..8fec335 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -433,7 +433,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given 
DEBLOB-SCRIPTS."
 (define-public linux-libre-5.4-source
   (source-with-patches linux-libre-5.4-pristine-source
(list %boot-logo-patch
- 
%linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ ;; Pinebook Pro patch from linux-next,
+ ;; can be dropped for linux-libre 5.7
+ (search-patch
+  "linux-libre-support-for-Pinebook-Pro.patch"
 
 (define-public linux-libre-4.19-source
   (source-with-patches linux-libre-4.19-pristine-source
diff --git a/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch 
b/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch
new file mode 100644
index 000..659e10c
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch
@@ -0,0 +1,1135 @@
+From d87a8072e8129a579246d8d31a591ca2aec05275 Mon Sep 17 00:00:00 2001
+From: Tobias Schramm 
+Date: Wed, 4 Mar 2020 22:30:23 +0100
+Subject: [PATCH] arm64: dts: rockchip: Add initial support for Pinebook Pro
+
+This commit adds initial dt support for the rk3399 based Pinebook Pro.
+
+Signed-off-by: Tobias Schramm 
+Link: https://lore.kernel.org/r/20200304213023.689983-3-t.schr...@manjaro.org
+Signed-off-by: Heiko Stuebner 
+
+Taken from next-20200313 commit 5a65505a6988443b211d3bf3f5bb5b79907c33b9
+---
+ arch/arm64/boot/dts/rockchip/Makefile |1 +
+ .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +
+ 2 files changed, 1097 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+
+diff --git a/arch/arm64/boot/dts/rockchip/Makefile 
b/arch/arm64/boot/dts/rockchip/Makefile
+index 1f18a9392d15..7de9b61d6415 100644
+--- a/arch/arm64/boot/dts/rockchip/Makefile
 b/arch/arm64/boot/dts/rockchip/Makefile
+@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4.dtb
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts 
b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+new file mode 100644
+index ..5ea281b55fe2
+--- /dev/null
 b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+@@ -0,0 +1,1096 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++/*
++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
++ * Copyright (c) 2018 Akash Gajjar 
++ * Copyright (c) 2020 Tobias Schramm 
++ */
++
++/dts-v1/;
++#include 
++#include 
++#include 
++#include 
++#include 
++#include "rk3399.dtsi"
++#include "rk3399-opp.dtsi"
++
++/ {
++  model = "Pine64 Pinebook Pro";
++  compatible = "pine64,pinebook-pro", "rockchip,rk3399";
++
++ 

06/09: website: Add language selection dropdown to navbar.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit acdac4ba0a9125dab486d8af1f95c4f1127f0168
Author: Florian Pelz 
AuthorDate: Wed Oct 30 12:12:23 2019 +

website: Add language selection dropdown to navbar.

* website/apps/base/templates/components.scm (navbar): Add it.
(horizontal-skip): New procedure.
* website/static/base/css/navbar.css: Add CSS for horizontal-skip.
Increase size at which website switches to mobile mode.
---
 website/apps/base/templates/components.scm | 30 +++---
 website/static/base/css/navbar.css |  6 +-
 2 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/website/apps/base/templates/components.scm 
b/website/apps/base/templates/components.scm
index f39f3fd..beaa13a 100644
--- a/website/apps/base/templates/components.scm
+++ b/website/apps/base/templates/components.scm
@@ -23,6 +23,7 @@
contact->shtml
 horizontal-line
horizontal-separator
+horizontal-skip
link-more
link-subtle
link-yellow
@@ -180,6 +181,10 @@
`(src ,(guix-url "static/base/img/h-separator-dark.png")))
(alt ""
 
+(define (horizontal-skip)
+  "Return SHTML for a small horizontal space."
+  `(span (@ (class "hskip"
+
 (define (horizontal-line)
   "Return SHTML for a visible separator to be used in a dropdown menu
 like a menu item."
@@ -408,13 +413,32 @@ manual.
  (C_ "website menu" (menu-item #:label "Contact" #:active-item 
active-item #:url (guix-url "contact/")))
  (C_ "website menu" (menu-item #:label "Contribute" #:active-item 
active-item #:url (guix-url "contribute/")))
  (C_ "website menu" (menu-item #:label "Security" #:active-item 
active-item #:url (guix-url "security/")))
- (C_ "website menu" (menu-item #:label "Graphics" #:active-item 
active-item #:url (guix-url "graphics/")))
+ (C_ "website menu" (menu-item #:label "Graphics" #:active-item 
active-item #:url (guix-url "graphics/")
+  ,(horizontal-skip)
+  ;; Languages dropdown.
+  ,(menu-dropdown #:label (locale-display-name) #:active-item active-item
+#:items
+(map-in-order
+ (lambda (ietf-info)
+   (let ((lingua (car ietf-info))
+ (code (cdr ietf-info)))
+ (setlocale LC_ALL (string-append lingua ".utf8"))
+ (let ((out (menu-item #:label (locale-display-name)
+   #:active-item active-item
+   #:url (guix-url (string-append code "/")
+   #:localize #f
+   (setlocale LC_ALL "")
+   out)))
+ (sort (delete %current-lingua
+   ietf-tags-file-contents
+   (lambda (a b) (string=? a (car b
+   (lambda (a b) string

branch wip-i18n created (now 644a618)

2020-03-25 Thread Florian Pelz
pelzflorian pushed a change to branch wip-i18n
in repository guix-artwork.

  at 644a618  website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.

This branch includes the following new commits:

 new 5877dcf  website: Add custom xgettext to extract from nested sexps for 
i18n.
 new 49cb151  website: apps: Mark all files for translation.
 new a37aefc  website: media: Do not localize video page URLs.
 new 8012a15  website: nls: Add German translation.
 new a21bb26  website: navbar: Make dropdowns accessible to keyboard and 
touch input.
 new acdac4b  website: Add language selection dropdown to navbar.
 new 0237605  website: Handle GUIX_WEB_SITE_ROOT_PATH not ending in a slash.
 new f61ba8f  website: Fix building with GUIX_WEB_SITE_ROOT_PATH.
 new 644a618  website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




04/09: website: nls: Add German translation.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit 8012a15a64d91510798c0faccbd077c25aca4015
Author: Florian Pelz 
AuthorDate: Thu Mar 26 00:35:16 2020 +

website: nls: Add German translation.
---
 website/apps/base/data.scm |7 +-
 website/po/LINGUAS |1 +
 website/po/de.po   | 2093 
 website/po/ietf-tags.scm   |3 +-
 4 files changed, 2097 insertions(+), 7 deletions(-)

diff --git a/website/apps/base/data.scm b/website/apps/base/data.scm
index ef7d090..ef5d7d8 100644
--- a/website/apps/base/data.scm
+++ b/website/apps/base/data.scm
@@ -76,12 +76,7 @@ though we also accept other languages."))
  (string=? (cadar to-delete) (cadr b))
  ;; but language code is different
  (not (string=? (cadddr to-delete) (car b))
- `(("de"
-"Melden Sie sich bei der „Help“-Mailingliste an, um per E-Mail
-gemeinschaftlichen Rat zu Guix System und Guix zu bekommen.  Sie können
->>> website: apps: Mark all files for translation.
-Nachrichten auch auf deutsch verfassen.")
-   ("eo"
+ `(("eo"
 "Subskribu al la retmesaĝolisto \"Help\" por demandi helpon pri
 GNU Guix al la grupo.  Vi povas skribi esperantlingve.")
("es"
diff --git a/website/po/LINGUAS b/website/po/LINGUAS
index d4dd759..dc8e711 100644
--- a/website/po/LINGUAS
+++ b/website/po/LINGUAS
@@ -1,3 +1,4 @@
 # Translation with sexp-xgettext requires the full LL_CC locale name
 # to be specified.
+de_DE
 en_US
diff --git a/website/po/de.po b/website/po/de.po
new file mode 100644
index 000..eaffd8e
--- /dev/null
+++ b/website/po/de.po
@@ -0,0 +1,2093 @@
+# German translations for guix-website package.
+# Copyright (C) 2020 Ludovic Courtès
+# This file is distributed under the same license as the guix-website package.
+# Florian Pelz , 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: guix-website\n"
+"Report-Msgid-Bugs-To: l...@gnu.org\n"
+"POT-Creation-Date: 2020-03-26 01:17+0100\n"
+"PO-Revision-Date: 2020-03-26 01:26+0100\n"
+"Last-Translator: Florian Pelz \n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANSLATORS: The locale’s display name; please include a country
+#. code like in English (US) *only* if there are multiple
+#. Translation Project teams for the same language.
+#: apps/base/utils.scm:64
+msgid "English (US)"
+msgstr "Deutsch"
+
+#: apps/base/templates/home.scm:19
+msgctxt "webpage title"
+msgid "GNU's advanced distro and transactional package manager"
+msgstr "GNUs fortgeschrittene Distribution und transaktionelle Paketverwaltung"
+
+#: apps/base/templates/home.scm:21 apps/base/templates/about.scm:19
+msgid ""
+"Guix is an advanced distribution of the GNU operating system.\n"
+"   Guix is technology that respects the freedom of computer users.\n"
+"   You are free to run the system for any purpose, study how it\n"
+"   works, improve it, and share it with the whole world."
+msgstr ""
+"Guix ist eine fortgeschrittene Distribution des GNU-Betriebssystems.\n"
+"   Guix ist eine Technologie, die die Freiheit der Benutzer von "
+"Rechengeräten respektiert.\n"
+"   Es steht Ihnen frei, das System zu jedem Zweck auszuführen, seine "
+"Funktionsweise zu studieren,\n"
+"   es zu verbessern und es mit der ganzen Welt zu teilen."
+
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#. TRANSLATORS: |-separated list of webpage keywords
+#: apps/base/templates/home.scm:27 apps/base/templates/menu.scm:20
+#: apps/blog/templates/post-list.scm:29 apps/blog/templates/tag.scm:33
+#: apps/media/templates/screenshot.scm:24
+#: apps/media/templates/screenshots-overview.scm:21
+#: apps/packages/templates/detailed-index.scm:27
+#: apps/packages/templates/detailed-package-list.scm:30
+#: apps/packages/templates/index.scm:27
+#: apps/packages/templates/package-list.scm:30
+#: apps/packages/templates/package.scm:32
+msgid ""
+"GNU|Linux|Unix|Free software|Libre software|Operating system|GNU Hurd|GNU "
+"Guix package manager|GNU Guile|Guile Scheme|Transactional upgrades|"
+"Functional package management|Reproducibility"
+msgstr ""
+"GNU|Linux|Unix|Freie Software|Libre-Software|Betriebssystem|GNU Hurd|GNU-"
+"Guix-Paketverwaltung|GNU Guile|Guile Scheme|Transaktionelle 

01/09: website: Add custom xgettext to extract from nested sexps for i18n.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit 5877dcf0730a0fa2470c1bb5b6e7dd89f71bf1cd
Author: Florian Pelz 
AuthorDate: Wed Oct 30 08:22:47 2019 +

website: Add custom xgettext to extract from nested sexps for i18n.

* website/po/POTFILES: New file.  List apps files here.
* website/po/LINGUAS: New file.  List en_US lingua.
* website/po/ietf-tags.scm: New file.  Add association for en_US lingua.
* website/scripts/sexp-xgettext.scm: New file for generating a POT file.
(, , ): New record types.
(combine-duplicate-po-entries, complex-keyword-spec?, parse-scheme-file,
po-equal?, write-po-entry, update-ecomments-string!, update-file-name!,
update-old-line-number!, update-line-number!, incr-line-number!,
incr-line-number-for-each-nl!, current-ref, make-simple-po-entry,
matching-keyword, nth-exp, more-than-one-exp?, token->string-symbol-or-keyw,
complex-marked-list->po-entries, construct-po-entries, tag,
construct-msgid-and-po-entries, scheme-file->po-entries): New procedures.
(%keyword-specs, %options, %comments-line, %ecomments-string, %file-name,
%old-line-number, %line-number, %files-from-port, %source-files,
%output-po-entries, %output-port): New variables.
* website/sexp-xgettext.scm: New file with module for looking up
translations.
(%complex-keywords, %simple-keywords, %plural-numbers, %linguas):
New variables.
(, ): New record types.
(set-complex-keywords!, set-simple-keywords!, gettext-keyword?, tag,
sexp->msgid, deconstruct): New procedures.
(sgettext, spgettext, sngettext, snpgettext): New macro helpers.
* website/apps/i18n.scm: New file.
(G_, N_, C_, NC_, ietf-tags-file-contents): New syntax to use for i18n.
(%current-ietf-tag, %current-lang, %current-lingua): New variables.
(builder->localized-builder, builders->localized-builders,
localized-root-path, first-value): New utility procedures.
(, ): New imports from Haunt.
* website/haunt.scm: Wrap each builder to build the locale set in LC_ALL.
* website/.guix.scm: Make Haunt build directory writable so Haunt can
overwrite duplicate assets.  Convert PO files to MO files and build for
each lingua.
* website/README: Adapt build instructions for i18n.
* website/i18n-howto: New file with usage instructions.
---
 website/.guix.scm |  80 +++-
 website/README|   8 +-
 website/apps/i18n.scm | 132 ++
 website/haunt.scm |  19 +-
 website/i18n-howto.txt|  86 
 website/po/LINGUAS|   3 +
 website/po/POTFILES   |  36 ++
 website/po/ietf-tags.scm  |   9 +
 website/scripts/sexp-xgettext.scm | 830 ++
 website/sexp-xgettext.scm | 530 
 10 files changed, 1707 insertions(+), 26 deletions(-)

diff --git a/website/.guix.scm b/website/.guix.scm
index aac1c8c..fe1119c 100644
--- a/website/.guix.scm
+++ b/website/.guix.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix web site
 ;;; Copyright © 2017, 2019, 2020 Ludovic Courtès 
+;;; Copyright © 2019 Florian Pelz 
 ;;;
 ;;; This file is part of the GNU Guix web site.
 ;;;
@@ -18,16 +19,27 @@
 
 ;; Run 'guix build -f .guix.scm' to build the web site.
 
+(define this-directory
+  (dirname (current-filename)))
+
+;; Make sure po/LINGUAS will be found in the current working
+;; directory.
+(chdir this-directory)
+
+;; We need %linguas from the (sexp-xgettext) module.
+;; Therefore, we add its path to the load path.
+(set! %load-path (cons this-directory %load-path))
+
 (use-modules (guix) (gnu)
  (guix modules)
  (guix git-download)
  (guix gexp)
  (guix channels)
  (srfi srfi-9)
- (ice-9 match))
-
-(define this-directory
-  (dirname (current-filename)))
+ (ice-9 match)
+ (ice-9 rdelim)
+ (ice-9 regex)
+ (sexp-xgettext))
 
 (define source
   (local-file this-directory "guix-web-site"
@@ -73,9 +85,7 @@
 
   (setvbuf (current-output-port) 'line)
   (setvbuf (current-error-port) 'line)
-
   (copy-recursively #$source ".")
-
   ;; Set 'GUILE_LOAD_PATH' so that Haunt find the Guix modules and
   ;; its dependencies.  To find out the load path of Guix and its
   ;; dependencies, fetch its value over 'guix repl'.
@@ -96,24 +106,62 @@
 ":"
 (close-pipe pipe))
 
+  ;; Make the copy writable so Haunt can overwrite duplicate assets.
+  (invoke #+(file-append (specification->package "coreutils")
+ "/bin/chmod")
+  "--recursive" "u+w" ".")
+
+  ;; For translations, create MO files from PO files.
+  (for-each
+   (lambda (lingua)
+ (let* ((msgfmt #+(file-append
+

branch wip-i18n deleted (was c3c5ee0)

2020-03-25 Thread Florian Pelz
pelzflorian pushed a change to branch wip-i18n
in repository guix-artwork.

 was c3c5ee0  website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.

This change permanently discards the following revisions:

 discard c3c5ee0  website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.
 discard 73cb001  website: Fix building with GUIX_WEB_SITE_ROOT_PATH.
 discard 0ff8bef  website: Handle GUIX_WEB_SITE_ROOT_PATH not ending in a slash.
 discard ed78bab  website: Add language selection dropdown to navbar.
 discard 49a065c  website: navbar: Make dropdowns accessible to keyboard and 
touch input.
 discard d58487b  website: nls: Add German translation.
 discard b206d9a  website: media: Do not localize video page URLs.
 discard a00d40c  website: apps: Mark all files for translation.
 discard 77675f1  website: Add custom xgettext to extract from nested sexps for 
i18n.



03/09: website: media: Do not localize video page URLs.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit a37aefc9950d1e80ef03b09d5e6eafe8277493ed
Author: Florian Pelz 
AuthorDate: Fri Nov 1 11:07:24 2019 +0100

website: media: Do not localize video page URLs.

* website/apps/media/types.scm (, video):
Add new field for the page URL subpath.
* website/apps/media/data.scm (playlists): Use it.
* website/apps/media/utils.scm (video->url): Compute page URL from it.
---
 website/apps/media/data.scm  |  7 +++
 website/apps/media/types.scm | 16 
 website/apps/media/utils.scm |  5 +
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/website/apps/media/data.scm b/website/apps/media/data.scm
index 5b12a81..ad2e8d8 100644
--- a/website/apps/media/data.scm
+++ b/website/apps/media/data.scm
@@ -23,6 +23,7 @@
(list
 (video
  #:title (C_ "video title" "Installation from Script")
+ #:page-subpath "installation-from-script"
  #:description
  (G_ '(p "Explains how to install Guix on distributions not
 running GNU Guix."))
@@ -32,6 +33,7 @@ running GNU Guix."))
(list
 (video
  #:title (C_ "video title" "Everyday use of GNU Guix, Part One")
+ #:page-subpath "everyday-use-of-gnu-guix,-part-one"
  #:description
  (G_ '(p "How to install packages and how to manage software
 package generations."))
@@ -40,6 +42,7 @@ package generations."))
  #:last-updated (string->date "2019-10-25T20:00:00" "~Y-~m-~dT~H:~M:~S"))
 (video
  #:title (C_ "video title" "Everyday use of GNU Guix, Part Two")
+ #:page-subpath "everyday-use-of-gnu-guix,-part-two"
  #:description
  (G_ '(p "How to upgrade software and how to reclaim storage
 space."))
@@ -49,6 +52,7 @@ space."))
(list
 (video
  #:title (C_ "video title" "Asking for help")
+ #:page-subpath "asking-for-help"
  #:description
  (G_ '(p "How to get help from the Guix community."))
  #:url "https://archive.org/download/guix-videos/03-help-new-version.webm;
@@ -57,6 +61,7 @@ space."))
(list
 (video
  #:title (C_ "video title" "Packaging, Part One")
+ #:page-subpath "packaging,-part-one"
  #:description
  (G_ '(p "How to set up a development environment for GNU Guix."))
  #:url 
"https://archive.org/download/guix-videos/04-packaging-part-one.webm;
@@ -64,6 +69,7 @@ space."))
  #:last-updated (string->date "2019-10-25T20:00:00" "~Y-~m-~dT~H:~M:~S"))
 (video
  #:title (C_ "video title" "Packaging, Part Two")
+ #:page-subpath "packaging,-part-two"
  #:description
  (G_ '(p "How to create a package recipe for not yet packaged software."))
  #:url 
"https://archive.org/download/guix-videos/04-packaging-part-two.webm;
@@ -71,6 +77,7 @@ space."))
  #:last-updated (string->date "2019-10-25T20:00:00" "~Y-~m-~dT~H:~M:~S"))
 (video
  #:title (C_ "video title" "Packaging, Part Three")
+ #:page-subpath "packaging,-part-three"
  #:description
  (G_ '(p "How to submit a package for inclusion in the GNU Guix
 distribution."))
diff --git a/website/apps/media/types.scm b/website/apps/media/types.scm
index 7ad988f..50c0989 100644
--- a/website/apps/media/types.scm
+++ b/website/apps/media/types.scm
@@ -22,6 +22,7 @@
 video?
 video-description
 video-last-updated
+video-page-subpath
 video-poster
 video-title
 video-url))
@@ -144,6 +145,12 @@
 ;;; url (string)
 ;;;   A URL to the video file.
 ;;;
+;;; page-subpath (string)
+;;;   The subpath to the webpage for this video.  It should correspond
+;;;   to the English video title converted to lower case with spaces
+;;;   replaced by hyphens.  For example:
+;;;   'everyday-use-of-gnu-guix,-part-one'.
+;;;
 ;;; poster (string)
 ;;;   A URL to a representative preview image for the video.
 ;;;
@@ -157,18 +164,19 @@
 ;;;   possibly become outdated over time such as documentation videos.
 ;;;
 (define-record-type 
-  (make-video title description url poster tracks last-updated)
+  (make-video title description url page-subpath poster tracks last-updated)
   video?
   (title video-title)
   (description video-description)
   (url video-url)
+  (page-subpath video-page-subpath)
   (poster video-poster)
   (tracks video-tracks)
   (last-updated video-last-updated))
 
 ;;; Helper procedures.
 
-(define* (video #:key (title "") (description "")
-(url "") (poster "") (tracks '()) (last-updated #f))
+(define* (video #:key (title "") (description "") (url #f) (page-subpath #f)
+(poster "") (tracks '()) (last-updated #f))
   "Return a  object with the given attributes."
-  (make-video title description url poster tracks last-updated))
+  (make-video title description url page-subpath poster tracks last-updated))
diff --git a/website/apps/media/utils.scm b/website/apps/media/utils.scm
index 129b085..1c909a5 100644
--- a/website/apps/media/utils.scm
+++ 

09/09: website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit 644a6188edae936627420fcdbd0265ac9f32e4f3
Author: Florian Pelz 
AuthorDate: Thu Oct 31 14:52:29 2019 +0100

website: Refactor GUIX_WEB_SITE_ROOT_PATH handling.

* website/apps/base/utils.scm (guix-url): Always use guix-root-url-path.
(guix-root-url-path): Move here the logic that computes which root path to 
use.
---
 website/apps/base/utils.scm | 27 +++
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/website/apps/base/utils.scm b/website/apps/base/utils.scm
index ebb4000..8f73ee6 100644
--- a/website/apps/base/utils.scm
+++ b/website/apps/base/utils.scm
@@ -51,11 +51,17 @@
 
 (define guix-root-url-path
   ;; Path to GNU Guix site at guix.gnu.org.
-  (make-parameter (or (getenv "GUIX_WEB_SITE_ROOT_PATH") "/")
-  (lambda (path)
-(if (string-suffix? "/" path)
-path
-(string-append path "/")
+  (let ((path (cond
+   ;; If we are trying out the website locally, use "/" as the 
root.
+   ((getenv "GUIX_WEB_SITE_LOCAL") "/")
+   (else (or (getenv "GUIX_WEB_SITE_ROOT_PATH") "/")
+(make-parameter
+ path
+ ;; When setting guix-root-url-path, make it end in a slash.
+ (lambda (path)
+   (if (string-suffix? "/" path)
+   path
+   (string-append path "/"))
 
 (define latest-guix-version
   (make-parameter "1.0.1"))
@@ -108,16 +114,13 @@
  For example: 'packages/icecat-XYZ/'.
 
LOCALIZE (boolean)
- Whether to call localize-url on the URL path.
+ Whether to prepend the result of 'localized-root-path' to the URL path.
 
RETURN VALUE (string)
  A URL path. For example: /software/guix/packages/icecat-XYZ/."
-  ((if localize localize-url identity)
-   ;; If we are trying out the website locally, use "/" as the root.
-   ;; Otherwise use guix-root-url-path for deployment to gnu.org.
-   (if (getenv "GUIX_WEB_SITE_LOCAL")
-   (string-append "/" subpath)
-   (string-append (guix-root-url-path) subpath
+  (string-append (guix-root-url-path)
+ (if localize (localized-root-path subpath) "")
+ subpath))
 
 
 (define* (manual-url #:optional (subpath "")



05/09: website: navbar: Make dropdowns accessible to keyboard and touch input.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit a21bb2661cbc8080c7294728f382f8b70ea3a321
Author: Florian Pelz 
AuthorDate: Sun Dec 1 23:15:16 2019 +

website: navbar: Make dropdowns accessible to keyboard and touch input.

* website/apps/base/templates/components.scm (horizontal-line): New 
procedure.
(navbar, menu-dropdown): Adapt to use CSS for accessibility.
* website/static/base/css/navbar.css: Adapt CSS to new dropdowns.
(menu-item-active): Make visible when appropriate.
(menu-item): Make visible when appropriate.  Change margin.
(dropdown-btn): Make visible when appropriate.  Add margin.  Change padding.
(submenu): Make visible when appropriate.
(menu-hidden-input): Hide HTML radio buttons not meant for display.
(hline): Hide in small browser window.
(navbar): With mouse cursor, signify dropdown labels are clickable.
Highlight pressed down labels.
---
 website/apps/base/templates/components.scm | 78 --
 website/static/base/css/navbar.css | 75 +---
 2 files changed, 121 insertions(+), 32 deletions(-)

diff --git a/website/apps/base/templates/components.scm 
b/website/apps/base/templates/components.scm
index 8c80a85..f39f3fd 100644
--- a/website/apps/base/templates/components.scm
+++ b/website/apps/base/templates/components.scm
@@ -21,6 +21,7 @@
button-little
contact-preview
contact->shtml
+horizontal-line
horizontal-separator
link-more
link-subtle
@@ -179,6 +180,13 @@
`(src ,(guix-url "static/base/img/h-separator-dark.png")))
(alt ""
 
+(define (horizontal-line)
+  "Return SHTML for a visible separator to be used in a dropdown menu
+like a menu item."
+  `(img (@ (class "hline")
+   (src ,(guix-url "static/base/img/h-separator.png"))
+   (alt ""
+
 
 (define* (link-more #:key (label "More") (url "#") (light #false))
   "Return an SHTML a element that looks like a 'more →' link.
@@ -285,19 +293,53 @@ manual.
ITEMS (list of menu items)
  A list of menu items as returned by the menu-item procedure in this
  same module. If not provided, the value defaults to an empty list."
-  `(li
-(@ (class "dropdown"))
-(a
- (@ (class
-,(if (string=? (string-downcase label) (string-downcase active-item))
- "menu-item menu-item-active dropdown-btn"
- "menu-item dropdown-btn"))
-   (href ,url))
- ,label)
-(div
- (@ (class "submenu"))
- (div (@ (class "submenu-triangle")) " ")
- (ul ,@items
+  (let ((label-hash (number->string (string-hash label
+`(li
+  (@ (class ,(if (string=? (string-downcase label)
+   (string-downcase active-item))
+ "menu-item menu-item-active dropdown dropdown-btn"
+ "menu-item dropdown dropdown-btn")))
+  ,@(let ((id (string-append "visible-dropdown-" label-hash)))
+  `(;; show dropdown when button is checked:
+(style ,(string-append "#" id ":checked ~ #submenu-" label-hash "
+{
+min-width: 150px;
+/* reset to initial values: */
+width: auto;
+height: auto;
+overflow: visible;
+}"))
+;; show uncheck version of button iff button is checked
+(style ,(string-append "#" id ":checked \
+~ label[for=all-dropdowns-hidden]
+{
+display: inline;
+}"))
+(style "label[for=all-dropdowns-hidden]
+{
+display: none;
+}")
+;; show check version of button iff button is unchecked
+(style ,(string-append "#" id ":checked ~ label[for=" id "]
+{
+display: none;
+}"))
+(input (@ (class "menu-hidden-input")
+  (type "radio")
+  (name "dropdown")
+  (id ,id)))
+(label
+ (@ (for ,id))
+ ,label)
+(label
+ (@ (for "all-dropdowns-hidden"))
+ ,label)))
+  (div
+   (@ (class "submenu")
+  (id ,(string-append "submenu-" label-hash)))
+   (div (@ (class "submenu-triangle"))
+" ")
+   (ul ,@items)
 
 
 (define* (menu-item #:key (label "Item") (active-item "") (url "#"))
@@ -338,7 +380,11 @@ manual.
 
 ;; Menu.
 (nav (@ (class "menu"))
- ,(G_ `(h2 (@ (class "a11y-offset")) "website menu:"))
+ ,(G_ `(h2 (@ (class "a11y-offset")) "website menu:"))
+ (input (@ (class "menu-hidden-input")
+   (type "radio")
+   (name "dropdown")
+   (id "all-dropdowns-hidden")))
  (ul
   ,(C_ "website menu" (menu-item #:label "Overview" #:active-item 
active-item #:url (guix-url)))
   ,(C_ "website menu" (menu-item #:label "Download" #:active-item 
active-item #:url (guix-url "download/")))
@@ -354,9 +400,11 @@ manual.
   ,(C_ "website menu" 

08/09: website: Fix building with GUIX_WEB_SITE_ROOT_PATH.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit f61ba8fdd0da8061da84aa57c6fd3b9b1e424821
Author: Florian Pelz 
AuthorDate: Wed Oct 30 21:45:45 2019 +

website: Fix building with GUIX_WEB_SITE_ROOT_PATH.

* website/.guix.scm: Retain GUIX_WEB_SITE_ROOT_PATH in the build expression.
---
 website/.guix.scm | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/website/.guix.scm b/website/.guix.scm
index fe1119c..5b864c5 100644
--- a/website/.guix.scm
+++ b/website/.guix.scm
@@ -46,6 +46,9 @@
   #:recursive? #t
   #:select? (git-predicate this-directory)))
 
+(define root-path
+  (getenv "GUIX_WEB_SITE_ROOT_PATH"))
+
 (define (package+propagated-inputs package)
   (match (package-transitive-propagated-inputs package)
 (((labels packages) ...)
@@ -143,6 +146,10 @@
   ;; Use a sane default.
   (setenv "XDG_CACHE_HOME" "/tmp/.cache")
 
+  ;; Use GUIX_WEB_SITE_ROOT_PATH from the environment in which
+  ;; this script was run.
+  (setenv "GUIX_WEB_SITE_ROOT_PATH" #$root-path)
+
   ;; Build the website for each translation.
   (for-each
(lambda (lingua)



07/09: website: Handle GUIX_WEB_SITE_ROOT_PATH not ending in a slash.

2020-03-25 Thread Florian Pelz
pelzflorian pushed a commit to branch wip-i18n
in repository guix-artwork.

commit 0237605412c5c82a82050dafb83ee17b770c797e
Author: Florian Pelz 
AuthorDate: Wed Oct 30 19:43:16 2019 +

website: Handle GUIX_WEB_SITE_ROOT_PATH not ending in a slash.

* website/apps/base/utils.scm (guix-root-url-path): Add check in setter.
---
 website/apps/base/utils.scm | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/website/apps/base/utils.scm b/website/apps/base/utils.scm
index 508abcd..ebb4000 100644
--- a/website/apps/base/utils.scm
+++ b/website/apps/base/utils.scm
@@ -51,7 +51,11 @@
 
 (define guix-root-url-path
   ;; Path to GNU Guix site at guix.gnu.org.
-  (make-parameter (or (getenv "GUIX_WEB_SITE_ROOT_PATH") "/")))
+  (make-parameter (or (getenv "GUIX_WEB_SITE_ROOT_PATH") "/")
+  (lambda (path)
+(if (string-suffix? "/" path)
+path
+(string-append path "/")
 
 (define latest-guix-version
   (make-parameter "1.0.1"))



branch master updated (620c756 -> eb019af)

2020-03-25 Thread guix-commits
rekado pushed a change to branch master
in repository guix.

from 620c756  gnu: electron-cash: Update to 4.0.14.
 new b3c083b  services/nfs: Mount nfsd pseudo file system.
 new eb019af  tests/nfs: Fix use of WAIT-FOR-FILE.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/services/nfs.scm | 18 ++
 gnu/tests/nfs.scm|  2 +-
 2 files changed, 15 insertions(+), 5 deletions(-)



06/06: '--dry-run' no longer implies '--no-grafts'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit 599293396bb0205a21294acd442fdb0ebad5659c
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 15:05:15 2020 +0100

'--dry-run' no longer implies '--no-grafts'.

* guix/scripts/archive.scm (%options): "dry-run" option no longer adds
'graft? #f to RESULT.
* guix/scripts/environment.scm (%options): Likewise.
* guix/scripts/pack.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
* guix/scripts/pull.scm (%options): Likewise.
* guix/scripts/system.scm (%options): Likewise.
---
 guix/scripts/archive.scm | 2 +-
 guix/scripts/build.scm   | 2 +-
 guix/scripts/copy.scm| 2 +-
 guix/scripts/environment.scm | 2 +-
 guix/scripts/pack.scm| 2 +-
 guix/scripts/package.scm | 3 +--
 guix/scripts/pull.scm| 2 +-
 guix/scripts/system.scm  | 2 +-
 8 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index 80f3b70..41a2a42 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -183,7 +183,7 @@ Export/import one or more packages from/to the store.\n"))
  (alist-delete 'verbosity result)
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result)
-   (alist-cons 'dry-run? #t (alist-cons 'graft? #f result
+   (alist-cons 'dry-run? #t result)))
 
  %standard-build-options))
 
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 9f87feb..79bd84a 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -778,7 +778,7 @@ must be one of 'package', 'all', or 'transitive'~%")
(alist-cons 'manifest arg result)))
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result)
-   (alist-cons 'dry-run? #t (alist-cons 'graft? #f result
+   (alist-cons 'dry-run? #t result)))
  (option '(#\r "root") #t #f
  (lambda (opt name arg result)
(alist-cons 'gc-root arg result)))
diff --git a/guix/scripts/copy.scm b/guix/scripts/copy.scm
index 2fa31ec..f6f64d0 100644
--- a/guix/scripts/copy.scm
+++ b/guix/scripts/copy.scm
@@ -135,7 +135,7 @@ Copy ITEMS to or from the specified host over SSH.\n"))
  (alist-delete 'verbosity result)
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result)
-   (alist-cons 'dry-run? #t (alist-cons 'graft? #f result
+   (alist-cons 'dry-run? #t result)))
 
  (option '(#\h "help") #f #f
  (lambda args
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index ca12346..bfc4039 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -256,7 +256,7 @@ use '--preserve' instead~%"))
(alist-cons 'ad-hoc? #t result)))
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result)
-   (alist-cons 'dry-run? #t (alist-cons 'graft? #f result
+   (alist-cons 'dry-run? #t result)))
  (option '(#\s "system") #t #f
  (lambda (opt name arg result)
(alist-cons 'system arg
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index b6fb738..f641f53 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -823,7 +823,7 @@ last resort for relocation."
 
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result)
-   (alist-cons 'dry-run? #t (alist-cons 'graft? #f result
+   (alist-cons 'dry-run? #t result)))
  (option '(#\d "derivation") #f #f
  (lambda (opt name arg result)
(alist-cons 'derivation-only? #t result)))
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index b5d16ac..5713653 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -493,8 +493,7 @@ kind of search path~%")
#f)))
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg result arg-handler)
-   (values (alist-cons 'dry-run? #t
-   (alist-cons 'graft? #f result))
+   (values (alist-cons 'dry-run? #t result)
#f)))
  (option '(#\v "verbosity") #t #f
  (lambda (opt name arg result arg-handler)
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index b7e0a4a..42c9956 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -168,7 +168,7 @@ Download and deploy the latest version of Guix.\n"))
(alist-delete 'system result eq?
  (option '(#\n "dry-run") #f #f
  (lambda (opt name arg 

03/06: DRAFT gexp: 'lower-inputs' uses 'mapm/accumulate-builds'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit 56ab07e71b3ec45637174468078ee1ff4adc116f
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 12:43:49 2020 +0100

DRAFT gexp: 'lower-inputs' uses 'mapm/accumulate-builds'.

DRAFT: Check performance impact.

* guix/gexp.scm (lower-inputs): Use 'mapm/accumulate-builds' instead of 
'mapm'.
---
 guix/gexp.scm | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/guix/gexp.scm b/guix/gexp.scm
index 133e0f5..3d21685 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -683,22 +683,22 @@ When TARGET is true, use it as the cross-compilation 
target triplet."
 (and (string? obj) (store-path? obj)))
 
   (with-monad %store-monad
-(mapm %store-monad
-  (match-lambda
-(((? struct? thing) sub-drv ...)
- (mlet %store-monad ((obj (lower-object
-   thing system #:target target)))
-   (return (match obj
- ((? derivation? drv)
-  (let ((outputs (if (null? sub-drv)
- '("out")
- sub-drv)))
-(derivation-input drv outputs)))
- ((? store-item? item)
-  item)
-(((? store-item? item))
- (return item)))
-  inputs)))
+(mapm/accumulate-builds
+ (match-lambda
+   (((? struct? thing) sub-drv ...)
+(mlet %store-monad ((obj (lower-object
+  thing system #:target target)))
+  (return (match obj
+((? derivation? drv)
+ (let ((outputs (if (null? sub-drv)
+'("out")
+sub-drv)))
+   (derivation-input drv outputs)))
+((? store-item? item)
+ item)
+   (((? store-item? item))
+(return item)))
+ inputs)))
 
 (define* (lower-reference-graphs graphs #:key system target)
   "Given GRAPHS, a list of (FILE-NAME INPUT ...) lists for use as a



02/06: guix build: Use 'map/accumulate-builds'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit 11462aba8e8058b91475cd15c1adb285e3a39ef6
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 12:42:54 2020 +0100

guix build: Use 'map/accumulate-builds'.

* guix/scripts/build.scm (options->derivations): Use
'map/accumulate-builds' instead of 'append-map'.
---
 guix/scripts/build.scm | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index af18d8b..9f87feb 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -920,8 +920,10 @@ build."
   (with-unbound-variable-handling
(parameterize ((%graft? graft?))
  (append-map (lambda (system)
-   (append-map (cut compute-derivation <> system)
-   things-to-build))
+   (concatenate
+(map/accumulate-builds store
+   (cut compute-derivation <> system)
+   things-to-build)))
  systems
 
 (define (show-build-log store file urls)



04/06: profiles: Use 'mapm/accumulate-builds'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit 3bd295546f2b18e35fd7c250b9552795062b218a
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 12:45:12 2020 +0100

profiles: Use 'mapm/accumulate-builds'.

* guix/profiles.scm (check-for-collisions): Use 'mapm/accumulate-builds'
to lower manifest entries.  Call 'foldm' over the already-lowered entries.
(profile-derivation): Use 'mapm/accumulate-builds' instead of 'mapm'
when calling HOOKS.
---
 guix/profiles.scm | 57 +++
 1 file changed, 32 insertions(+), 25 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 20a2973..7a3961e 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -280,29 +280,37 @@ file name."
   (define lookup
 (manifest-entry-lookup manifest))
 
-  (with-monad %store-monad
+  (define candidates
+(filter-map (lambda (entry)
+  (let ((other (lookup (manifest-entry-name entry)
+   (manifest-entry-output entry
+(and other (list entry other
+(manifest-entries manifest)))
+
+  (define lower-pair
+(match-lambda
+  ((first second)
+   (mlet %store-monad ((first  (lower-manifest-entry first system
+ #:target target))
+   (second (lower-manifest-entry second system
+ #:target target)))
+ (return (list first second))
+
+  ;; Start by lowering CANDIDATES "in parallel".
+  (mlet %store-monad ((lst (mapm/accumulate-builds lower-pair candidates)))
 (foldm %store-monad
-   (lambda (entry result)
- (match (lookup (manifest-entry-name entry)
-(manifest-entry-output entry))
-   ((? manifest-entry? second);potential conflict
-(mlet %store-monad ((first (lower-manifest-entry entry system
- #:target
- target))
-(second (lower-manifest-entry second system
-  #:target
-  target)))
-  (if (string=? (manifest-entry-item first)
-(manifest-entry-item second))
-  (return result)
-  (raise (condition
-  (
-   (entry first)
-   (conflict second)))
-   (#f;no conflict
-(return result
+   (lambda (entries result)
+ (match entries
+   ((first second)
+(if (string=? (manifest-entry-item first)
+  (manifest-entry-item second))
+(return result)
+(raise (condition
+(
+ (entry first)
+ (conflict second
#t
-   (manifest-transitive-entries manifest
+   lst)))
 
 (define* (package->manifest-entry package #:optional (output "out")
   #:key (parent (delay #f))
@@ -1521,10 +1529,9 @@ are cross-built for TARGET."
  #:target target)))
(extras (if (null? (manifest-entries manifest))
(return '())
-   (mapm %store-monad
- (lambda (hook)
-   (hook manifest))
- hooks
+   (mapm/accumulate-builds (lambda (hook)
+ (hook manifest))
+   hooks
 (define inputs
   (append (filter-map (lambda (drv)
 (and (derivation? drv)



01/02: services/nfs: Mount nfsd pseudo file system.

2020-03-25 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit b3c083b98530448fe226399c037c0126a531b459
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 14:10:55 2020 +0100

services/nfs: Mount nfsd pseudo file system.

* gnu/services/nfs.scm (nfs-shepherd-services): Add shepherd-service 
providing
/proc/fs/nfsd and make other shepherd services require it.
---
 gnu/services/nfs.scm | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm
index c909843..cbaa97b 100644
--- a/gnu/services/nfs.scm
+++ b/gnu/services/nfs.scm
@@ -274,9 +274,19 @@
rpcmountd-port rpcstatd-port nfsd-port nfsd-threads
pipefs-directory debug)
 (list (shepherd-service
+   (documentation "Mount the nfsd pseudo file system.")
+   (provision '(/proc/fs/nfsd))
+   (start #~(lambda ()
+  (mount "nfsd" "/proc/fs/nfsd" "nfsd")
+  (member "/proc/fs/nfsd" (mount-points
+
+   (stop #~(lambda (pid . args)
+ (umount "/proc/fs/nfsd" MNT_DETACH)
+ (not (member "/proc/fs/nfsd" (mount-points))
+  (shepherd-service
(documentation "Run the NFS statd daemon.")
(provision '(rpc.statd))
-   (requirement '(rpcbind-daemon))
+   (requirement '(/proc/fs/nfsd rpcbind-daemon))
(start
 #~(make-forkexec-constructor
(list #$(file-append nfs-utils "/sbin/rpc.statd")
@@ -295,7 +305,7 @@
   (shepherd-service
(documentation "Run the NFS mountd daemon.")
(provision '(rpc.mountd))
-   (requirement '(rpc.statd))
+   (requirement '(/proc/fs/nfsd rpc.statd))
(start
 #~(make-forkexec-constructor
(list #$(file-append nfs-utils "/sbin/rpc.mountd")
@@ -310,7 +320,7 @@
   (shepherd-service
(documentation "Run the NFS daemon.")
(provision '(rpc.nfsd))
-   (requirement '(rpc.statd networking))
+   (requirement '(/proc/fs/nfsd rpc.statd networking))
(start
 #~(lambda _
 (zero? (system* #$(file-append nfs-utils "/sbin/rpc.nfsd")
@@ -329,7 +339,7 @@
   (shepherd-service
(documentation "Run the NFS mountd daemon and refresh exports.")
(provision '(nfs))
-   (requirement '(rpc.nfsd rpc.mountd rpc.statd rpcbind-daemon))
+   (requirement '(/proc/fs/nfsd rpc.nfsd rpc.mountd rpc.statd 
rpcbind-daemon))
(start
 #~(lambda _
 (let ((rpcdebug #$(file-append nfs-utils "/sbin/rpcdebug")))



branch wip-build-accumulator created (now 5992933)

2020-03-25 Thread guix-commits
civodul pushed a change to branch wip-build-accumulator
in repository guix.

  at 5992933  '--dry-run' no longer implies '--no-grafts'.

This branch includes the following new commits:

 new 066c8ba  DRAFT store: Add 'map/accumulate-builds'.
 new 11462ab  guix build: Use 'map/accumulate-builds'.
 new 56ab07e  DRAFT gexp: 'lower-inputs' uses 'mapm/accumulate-builds'.
 new 3bd2955  profiles: Use 'mapm/accumulate-builds'.
 new ba982b2  grafts: Don't rely on substitute info for missing store items.
 new 5992933  '--dry-run' no longer implies '--no-grafts'.

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




01/06: DRAFT store: Add 'map/accumulate-builds'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit 066c8ba2c6678f64e838484bed62d641cf2af094
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 12:41:18 2020 +0100

DRAFT store: Add 'map/accumulate-builds'.

DRAFT: Add tests.

* guix/store.scm (): New record type.
(build-accumulator, map/accumulate-builds, mapm/accumulate-builds): New
procedures.
---
 guix/store.scm | 56 
 1 file changed, 56 insertions(+)

diff --git a/guix/store.scm b/guix/store.scm
index fdaae27..b3641ef 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -105,6 +105,8 @@
 add-file-tree-to-store
 binary-file
 with-build-handler
+map/accumulate-builds
+mapm/accumulate-builds
 build-things
 build
 query-failed-paths
@@ -1263,6 +1265,48 @@ deals with \"dynamic dependencies\" such as 
grafts---derivations that depend
 on the build output of a previous derivation."
   (call-with-build-handler handler (lambda () exp ...)))
 
+;; Unresolved dynamic dependency.
+(define-record-type 
+  (unresolved things continuation)
+  unresolved?
+  (things   unresolved-things)
+  (continuation unresolved-continuation))
+
+(define (build-accumulator continue store things mode)
+  "This build handler accumulates THINGS and returns an  object."
+  (if (= mode (build-mode normal))
+  (unresolved things continue)
+  (continue #t)))
+
+(define (map/accumulate-builds store proc lst)
+  "Apply PROC over each element of LST, accumulating 'build-things' calls and
+coalescing them into a single call."
+  (define result
+(map (lambda (obj)
+   (with-build-handler build-accumulator
+ (proc obj)))
+ lst))
+
+  (match (append-map (lambda (obj)
+   (if (unresolved? obj)
+   (unresolved-things obj)
+   '()))
+ result)
+(()
+ result)
+(to-build
+ ;; We've accumulated things TO-BUILD.  Actually build them and resume the
+ ;; corresponding continuations.
+ (build-things store (delete-duplicates to-build))
+ (map/accumulate-builds store
+(lambda (obj)
+  (if (unresolved? obj)
+  ;; Pass #f because 'build-things' is now
+  ;; unnecessary.
+  ((unresolved-continuation obj) #f)
+  obj))
+result
+
 (define build-things
   (let ((build (operation (build-things (string-list things)
 (integer mode))
@@ -1789,6 +1833,18 @@ taking the store as its first argument."
   (lambda (store . args)
 (run-with-store store (apply proc args)
 
+(define (mapm/accumulate-builds mproc lst)
+  "Like 'mapm' in %STORE-MONAD, but accumulate 'build-things' calls and
+coalesce them into a single call."
+  (lambda (store)
+(values (map/accumulate-builds store
+   (lambda (obj)
+ (run-with-store store
+   (mproc obj)))
+   lst)
+store)))
+
+
 ;;
 ;; Store monad operators.
 ;;



branch master updated: import/cran: Import missing module.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

rekado pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 9e17989  import/cran: Import missing module.
9e17989 is described below

commit 9e1798901712d5858d2f2eaf00d41a36f3b8ff39
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 16:27:22 2020 +0100

import/cran: Import missing module.

This is a follow-up to commit b005c240bb5e436ffe9d55c2dd75c9af85aa0fdd.

Reported-by: Ludovic Courtès 

* guix/import/cran.scm: Import (guix ui) module.
---
 guix/import/cran.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 9929f3c..53b930a 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -45,6 +45,7 @@
   #:use-module (guix utils)
   #:use-module (guix git)
   #:use-module ((guix build-system r) #:select (cran-uri bioconductor-uri))
+  #:use-module (guix ui)
   #:use-module (guix upstream)
   #:use-module (guix packages)
   #:use-module (gnu packages)



05/06: grafts: Don't rely on substitute info for missing store items.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch wip-build-accumulator
in repository guix.

commit ba982b240e1e44ab701201e975a142244d225c44
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 14:46:34 2020 +0100

grafts: Don't rely on substitute info for missing store items.

Fixes .

* guix/grafts.scm (references-oracle)[references*]: Remove call to
'substitution-oracle' and to 'references/substitutes'.  Use 'references'
and 'build-derivations' right away instead.
---
 guix/grafts.scm | 15 ---
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/guix/grafts.scm b/guix/grafts.scm
index adc7bfa..0a80363 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 

+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 

 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -169,19 +169,12 @@ INPUT, a derivation input, or their dependencies, returns 
the list of
 references of that item.  Use either local info or substitute info; build
 INPUT if no information is available."
   (define (references* items)
+;; Return the references of ITEMS.
 (guard (c ((store-protocol-error? c)
-   ;; As a last resort, build DRV and query the references of the
-   ;; build result.
-
-   ;; Warm up the narinfo cache, otherwise each derivation build
-   ;; will result in one HTTP request to get one narinfo, which is
-   ;; much less efficient than fetching them all upfront.
-   (substitution-oracle store
-(list (derivation-input-derivation input)))
-
+   ;; ITEMS are not in store so build INPUT first.
(and (build-derivations store (list input))
 (map (cut references store <>) items
-  (references/substitutes store items)))
+  (map (cut references store <>) items)))
 
   (let loop ((items (derivation-input-output-paths input))
  (result vlist-null))



02/02: tests/nfs: Fix use of WAIT-FOR-FILE.

2020-03-25 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit eb019af8d84ad168d6cb11c011842fb0c8303f20
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 14:16:42 2020 +0100

tests/nfs: Fix use of WAIT-FOR-FILE.

* gnu/tests/nfs.scm ("nfs services are running"): Pass marionette to
WAIT-FOR-FILE.
---
 gnu/tests/nfs.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm
index 00109b7..5e4de27 100644
--- a/gnu/tests/nfs.scm
+++ b/gnu/tests/nfs.scm
@@ -236,7 +236,7 @@
  (use-modules (gnu services herd))
  (start-service 'nfs))
   marionette)
- (wait-for-file "/var/run/rpc.statd.pid")))
+ (wait-for-file "/var/run/rpc.statd.pid" marionette)))
 
   (test-assert "nfs share is advertised"
 (marionette-eval



branch master updated (eb019af -> 98e9ed8)

2020-03-25 Thread guix-commits
civodul pushed a change to branch master
in repository guix.

from eb019af  tests/nfs: Fix use of WAIT-FOR-FILE.
 new 2d5ee2c  archive: Use 'with-build-handler'.
 new c74f19d  environment: Use 'with-build-handler'.
 new c136da3  tests: Adjust to 'show-manifest-transaction' changes.
 new 98e9ed8  gnu: gnu-pw-mgr: Build reproducibly.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/gnu-pw-mgr.scm  |   3 +-
 guix/scripts/archive.scm |  50 +++
 guix/scripts/environment.scm | 144 ---
 tests/guix-package.sh|   3 +-
 tests/ui.scm |   4 +-
 5 files changed, 95 insertions(+), 109 deletions(-)



04/04: gnu: gnu-pw-mgr: Build reproducibly.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch master
in repository guix.

commit 98e9ed8a3fa2841dc24030828baf1fa899a329ef
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 15:53:54 2020 +0100

gnu: gnu-pw-mgr: Build reproducibly.

* gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr)[native-inputs]: Remove
AUTOGEN so that man pages are not regenerated with a fresh date.
---
 gnu/packages/gnu-pw-mgr.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm
index a56bc09..6eb8224 100644
--- a/gnu/packages/gnu-pw-mgr.scm
+++ b/gnu/packages/gnu-pw-mgr.scm
@@ -49,8 +49,7 @@
(("/usr/bin/printf") (which "printf")))
  #t)
 (native-inputs
- `(("which" ,which)
-   ("autogen" ,autogen)))
+ `(("which" ,which)))
 (home-page "https://www.gnu.org/software/gnu-pw-mgr/;)
 (synopsis "Retrieve login credentials without recording passwords")
 (description



01/04: archive: Use 'with-build-handler'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch master
in repository guix.

commit 2d5ee2c6e886ef3b717954b80c2c54c47c1805d2
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 14:55:08 2020 +0100

archive: Use 'with-build-handler'.

* guix/scripts/archive.scm (export-from-store): Remove call to
'show-what-to-build' and dry-run? condition.
(guix-archive): Wrap 'cond' in 'with-build-handler'.
---
 guix/scripts/archive.scm | 50 
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index 4f39920..80f3b70 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -259,12 +259,7 @@ build and a list of store files to transfer."
 resulting archive to the standard output port."
   (let-values (((drv files)
 (options->derivations+files store opts)))
-(show-what-to-build store drv
-#:use-substitutes? (assoc-ref opts 'substitutes?)
-#:dry-run? (assoc-ref opts 'dry-run?))
-
-(if (or (assoc-ref opts 'dry-run?)
-(build-derivations store drv))
+(if (build-derivations store drv)
 (export-paths store files (current-output-port)
   #:recursive? (assoc-ref opts 'export-recursive?))
 (leave (G_ "unable to export the given packages~%")
@@ -382,22 +377,27 @@ output port."
(with-status-verbosity (assoc-ref opts 'verbosity)
  (with-store store
(set-build-options-from-command-line store opts)
-   (cond ((assoc-ref opts 'export)
-  (export-from-store store opts))
- ((assoc-ref opts 'import)
-  (import-paths store (current-input-port)))
- ((assoc-ref opts 'missing)
-  (let* ((files   (lines (current-input-port)))
- (missing (remove (cut valid-path? store <>)
-  files)))
-(format #t "~{~a~%~}" missing)))
- ((assoc-ref opts 'list)
-  (list-contents (current-input-port)))
- ((assoc-ref opts 'extract)
-  =>
-  (lambda (target)
-(restore-file (current-input-port) target)))
- (else
-  (leave
-   (G_ "either '--export' or '--import' \
-must be specified~%"
+   (with-build-handler
+   (build-notifier #:use-substitutes?
+   (assoc-ref opts 'substitutes?)
+   #:dry-run?
+   (assoc-ref opts 'dry-run?))
+ (cond ((assoc-ref opts 'export)
+(export-from-store store opts))
+   ((assoc-ref opts 'import)
+(import-paths store (current-input-port)))
+   ((assoc-ref opts 'missing)
+(let* ((files   (lines (current-input-port)))
+   (missing (remove (cut valid-path? store <>)
+files)))
+  (format #t "~{~a~%~}" missing)))
+   ((assoc-ref opts 'list)
+(list-contents (current-input-port)))
+   ((assoc-ref opts 'extract)
+=>
+(lambda (target)
+  (restore-file (current-input-port) target)))
+   (else
+(leave
+ (G_ "either '--export' or '--import' \
+must be specified~%")



03/04: tests: Adjust to 'show-manifest-transaction' changes.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch master
in repository guix.

commit c136da3fbd92a5db1f889d37f0a7c938ccd63648
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 15:37:39 2020 +0100

tests: Adjust to 'show-manifest-transaction' changes.

This is a followup to 3e5ab0a7a9399bb098b9ced46bf3cbf4085c6bab.

* tests/ui.scm ("show-manifest-transaction"): Update regexp.
* tests/guix-package.sh: Adjust Emacs regexp in --with-source test.
---
 tests/guix-package.sh | 3 +--
 tests/ui.scm  | 4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index f9fb310..1f95525 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -189,8 +189,7 @@ emacs_tarball="$module_dir/emacs-42.5.9rc7.tar.gz"
 touch "$emacs_tarball"
 guix package -p "$profile" -i emacs --with-source="$emacs_tarball" -n \
  2> "$tmpfile"
-grep -E 'emacs[[:blank:]]+42\.5\.9rc7[[:blank:]]+.*-emacs-42.5.9rc7' \
- "$tmpfile"
+grep -E 'emacs[[:blank:]]+42\.5\.9rc7' "$tmpfile"
 rm "$emacs_tarball" "$tmpfile"
 rmdir "$module_dir"
 
diff --git a/tests/ui.scm b/tests/ui.scm
index 05eace6..3dc6952 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -252,12 +252,12 @@ Second line" 24))
   (let* ((m (manifest (list guile-1.8.8)))
  (t (manifest-transaction (install (list guile-2.0.9)
 (with-store store
-  (and (string-match "guile\t1.8.8 → 2.0.9"
+  (and (string-match "guile +1.8.8 → 2.0.9"
  (with-fluids ((%default-port-encoding "UTF-8"))
(with-error-to-string
 (lambda ()
   (show-manifest-transaction store m t)
-   (string-match "guile\t1.8.8 -> 2.0.9"
+   (string-match "guile +1.8.8 -> 2.0.9"
  (with-error-to-string
(lambda ()
  ;; In Guile 2.2, %DEFAULT-PORT-ENCODING doesn't



02/04: environment: Use 'with-build-handler'.

2020-03-25 Thread guix-commits
civodul pushed a commit to branch master
in repository guix.

commit c74f19d758c786d30ee238e3bc8c4e3f8893ba4b
Author: Ludovic Courtès 
AuthorDate: Wed Mar 25 15:01:15 2020 +0100

environment: Use 'with-build-handler'.

* guix/scripts/environment.scm (build-environment): Remove.
(guix-environment): Wrap 'with-status-verbosity' in
'with-build-handler'.  Remove 'dry-run?' conditional.  Use
'built-derivations' instead of 'build-environment'.
---
 guix/scripts/environment.scm | 144 ---
 1 file changed, 66 insertions(+), 78 deletions(-)

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index f043637..ca12346 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2018 David Thompson 
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès 
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 

 ;;; Copyright © 2018 Mike Gerwitz 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -364,19 +364,6 @@ for the corresponding packages."
 opts)
 manifest-entry=?)))
 
-(define* (build-environment derivations opts)
-  "Build the DERIVATIONS required by the environment using the build options
-in OPTS."
-  (let ((substitutes? (assoc-ref opts 'substitutes?))
-(dry-run? (assoc-ref opts 'dry-run?)))
-(mbegin %store-monad
-  (show-what-to-build* derivations
-   #:use-substitutes? substitutes?
-   #:dry-run? dry-run?)
-  (if dry-run?
-  (return #f)
-  (built-derivations derivations)
-
 (define (manifest->derivation manifest system bootstrap?)
   "Return the derivation for a profile of MANIFEST.
 BOOTSTRAP? specifies whether to use the bootstrap Guile to build the profile."
@@ -720,67 +707,68 @@ message if any test fails."
 
 
   (with-store store
-(with-status-verbosity (assoc-ref opts 'verbosity)
-  (define manifest
-(options/resolve-packages store opts))
-
-  (set-build-options-from-command-line store opts)
-
-  ;; Use the bootstrap Guile when requested.
-  (parameterize ((%graft? (assoc-ref opts 'graft?))
- (%guile-for-build
-  (package-derivation
-   store
-   (if bootstrap?
-   %bootstrap-guile
-   (canonical-package guile-2.2)
-(run-with-store store
-  ;; Containers need a Bourne shell at /bin/sh.
-  (mlet* %store-monad ((bash   (environment-bash container?
- bootstrap?
- system))
-   (prof-drv   (manifest->derivation
-manifest system bootstrap?))
-   (profile -> (derivation->output-path 
prof-drv))
-   (gc-root -> (assoc-ref opts 'gc-root)))
-
-;; First build the inputs.  This is necessary even for
-;; --search-paths.  Additionally, we might need to build bash 
for
-;; a container.
-(mbegin %store-monad
-  (build-environment (if (derivation? bash)
- (list prof-drv bash)
- (list prof-drv))
- opts)
-  (mwhen gc-root
-(register-gc-root profile gc-root))
-
-  (cond
-   ((assoc-ref opts 'dry-run?)
-(return #t))
-   ((assoc-ref opts 'search-paths)
-(show-search-paths profile manifest #:pure? pure?)
-(return #t))
-   (container?
-(let ((bash-binary
-   (if bootstrap?
-   (derivation->output-path bash)
-   (string-append (derivation->output-path bash)
-  "/bin/sh"
-  (launch-environment/container #:command command
-#:bash bash-binary
-#:user user
-#:user-mappings mappings
-#:profile profile
-#:manifest manifest
-#:white-list white-list
-#:link-profile? link-prof?
-

branch master updated (f875830 -> 60df7ec)

2020-03-25 Thread Christopher Baines
cbaines pushed a change to branch master
in repository data-service.

from f875830  Sort the lint-warning-message-ids when querying
 new 96bf658  Fix the date ordering on the package output history page
 new 102f7a0  Implement version history using the derivations table
 new ca0d3ee  Stop using package_versions_by_guix_revision_range
 new 9943187  Pass #:store to checkers that support it
 new 60df7ec  Remove redundant DISTINCT from the derivation range INSERT 
query

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 guix-data-service/data-deletion.scm|  3 +-
 guix-data-service/jobs/load-new-guix-revision.scm  | 73 +++---
 .../package-derivation-by-guix-revision-range.scm  | 10 +--
 guix-data-service/model/package.scm| 54 +---
 scripts/guix-data-service-create-small-backup  | 12 
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 sqitch/sqitch.plan |  1 +
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 9 files changed, 69 insertions(+), 105 deletions(-)
 create mode 100644 
sqitch/deploy/drop_package_versions_by_guix_revision_range.sql
 create mode 100644 
sqitch/revert/drop_package_versions_by_guix_revision_range.sql
 create mode 100644 
sqitch/verify/drop_package_versions_by_guix_revision_range.sql



02/05: Implement version history using the derivations table

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 102f7a0536b76f60c06aa42ef1677ca76a4b18a7
Author: Christopher Baines 
AuthorDate: Tue Mar 24 20:17:18 2020 +

Implement version history using the derivations table

Rather than having two big tables looking at the history, just use the
derivations table as it has all the information.

This will allow deleting the package_versions_by_guix_revision_range table
which should help save time when importing revisions, and reduce the size of
the database.
---
 guix-data-service/model/package.scm | 52 ++---
 1 file changed, 31 insertions(+), 21 deletions(-)

diff --git a/guix-data-service/model/package.scm 
b/guix-data-service/model/package.scm
index f484fab..dc5cc4c 100644
--- a/guix-data-service/model/package.scm
+++ b/guix-data-service/model/package.scm
@@ -230,27 +230,37 @@ ORDER BY version")
   (exec-query
conn
"
-SELECT package_version,
-   first_guix_revisions.commit AS first_guix_revision_commit,
-   first_git_branches.datetime AS first_datetime,
-   last_guix_revisions.commit AS last_guix_revision_commit,
-   last_git_branches.datetime AS last_datetime
-FROM package_versions_by_guix_revision_range
-INNER JOIN guix_revisions AS first_guix_revisions
-  ON first_guix_revision_id = first_guix_revisions.id
-INNER JOIN git_branches AS first_git_branches
-  ON first_guix_revisions.git_repository_id = 
first_git_branches.git_repository_id
- AND first_guix_revisions.commit = first_git_branches.commit
-INNER JOIN guix_revisions AS last_guix_revisions
-  ON last_guix_revision_id = last_guix_revisions.id
-INNER JOIN git_branches AS last_git_branches
-  ON last_guix_revisions.git_repository_id = 
last_git_branches.git_repository_id
- AND last_guix_revisions.commit = last_git_branches.commit
-WHERE package_name = $1
-AND package_versions_by_guix_revision_range.git_repository_id = $2
-AND package_versions_by_guix_revision_range.branch_name = $3
-AND first_git_branches.name = $3
-AND last_git_branches.name = $3
+SELECT DISTINCT
+data1.package_version,
+first_value(first_guix_revision_commit) OVER version_window AS 
first_guix_revision_commit,
+first_value(first_datetime) OVER version_window AS first_datetime,
+last_value(last_guix_revision_commit) OVER version_window AS 
last_guix_revision_commit,
+last_value(last_datetime) OVER version_window AS last_datetime
+FROM (
+  SELECT package_version,
+ first_guix_revisions.commit AS first_guix_revision_commit,
+ first_git_branches.datetime AS first_datetime,
+ last_guix_revisions.commit AS last_guix_revision_commit,
+ last_git_branches.datetime AS last_datetime
+  FROM package_derivations_by_guix_revision_range
+  INNER JOIN guix_revisions AS first_guix_revisions
+ON first_guix_revision_id = first_guix_revisions.id
+  INNER JOIN git_branches AS first_git_branches
+ON first_guix_revisions.git_repository_id = 
first_git_branches.git_repository_id
+   AND first_guix_revisions.commit = first_git_branches.commit
+  INNER JOIN guix_revisions AS last_guix_revisions
+ON last_guix_revision_id = last_guix_revisions.id
+  INNER JOIN git_branches AS last_git_branches
+ON last_guix_revisions.git_repository_id = 
last_git_branches.git_repository_id
+   AND last_guix_revisions.commit = last_git_branches.commit
+  WHERE package_name = $1
+  AND package_derivations_by_guix_revision_range.git_repository_id = $2
+  AND package_derivations_by_guix_revision_range.branch_name = $3
+  AND first_git_branches.name = $3
+  AND last_git_branches.name = $3
+  ORDER BY first_datetime ASC, package_version DESC
+) AS data1
+WINDOW version_window AS (PARTITION BY package_version)
 ORDER BY first_datetime DESC, package_version DESC"
(list package-name
  (number->string git-repository-id)



01/05: Fix the date ordering on the package output history page

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 96bf658dfcd185578e30778e4f149067c78b7fbc
Author: Christopher Baines 
AuthorDate: Tue Mar 24 20:17:00 2020 +

Fix the date ordering on the package output history page
---
 guix-data-service/model/package.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix-data-service/model/package.scm 
b/guix-data-service/model/package.scm
index c7e423b..f484fab 100644
--- a/guix-data-service/model/package.scm
+++ b/guix-data-service/model/package.scm
@@ -411,7 +411,7 @@ FROM (
 AND last_git_branches.name = $3
 AND package_derivations_by_guix_revision_range.system = $5
 AND package_derivations_by_guix_revision_range.target = $6
-ORDER BY first_datetime DESC, package_version DESC
+ORDER BY first_datetime ASC, package_version DESC
   ) AS data1
   WINDOW path_window AS (PARTITION BY path)
 ) AS data2



05/05: Remove redundant DISTINCT from the derivation range INSERT query

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 60df7ecbf92ea57e3cf3b694459944a5d5fa682f
Author: Christopher Baines 
AuthorDate: Tue Mar 24 21:37:18 2020 +

Remove redundant DISTINCT from the derivation range INSERT query

This was redundant and slow, so don't do it.
---
 .../model/package-derivation-by-guix-revision-range.scm| 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/guix-data-service/model/package-derivation-by-guix-revision-range.scm 
b/guix-data-service/model/package-derivation-by-guix-revision-range.scm
index 712f546..4c5cbf6 100644
--- a/guix-data-service/model/package-derivation-by-guix-revision-range.scm
+++ b/guix-data-service/model/package-derivation-by-guix-revision-range.scm
@@ -66,11 +66,11 @@ SELECT DISTINCT
  OVER package_version AS last_guix_revision_id
 FROM packages
 INNER JOIN (
-  SELECT DISTINCT package_derivations.package_id,
-  package_derivations.derivation_id,
-  package_derivations.system,
-  package_derivations.target,
-  guix_revision_package_derivations.revision_id
+  SELECT package_derivations.package_id,
+ package_derivations.derivation_id,
+ package_derivations.system,
+ package_derivations.target,
+ guix_revision_package_derivations.revision_id
   FROM package_derivations
   INNER JOIN guix_revision_package_derivations
 ON package_derivations.id = 
guix_revision_package_derivations.package_derivation_id



03/05: Stop using package_versions_by_guix_revision_range

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit ca0d3ee7543b64eca32422a8e29f5f853923750f
Author: Christopher Baines 
AuthorDate: Tue Mar 24 20:44:57 2020 +

Stop using package_versions_by_guix_revision_range

It's been replaced by the package_derivations_by_guix_revision_range table.
---
 guix-data-service/data-deletion.scm|  3 +-
 guix-data-service/jobs/load-new-guix-revision.scm  | 63 --
 scripts/guix-data-service-create-small-backup  | 12 -
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 sqitch/sqitch.plan |  1 +
 ...rop_package_versions_by_guix_revision_range.sql |  7 +++
 7 files changed, 23 insertions(+), 77 deletions(-)

diff --git a/guix-data-service/data-deletion.scm 
b/guix-data-service/data-deletion.scm
index 1a20124..296e000 100644
--- a/guix-data-service/data-deletion.scm
+++ b/guix-data-service/data-deletion.scm
@@ -66,8 +66,7 @@ WHERE branch_name = $1 AND git_repository_id = $2"
   table)
  (list branch-name
(number->string git-repository-id
-  '("package_versions_by_guix_revision_range"
-"package_derivations_by_guix_revision_range"))
+  '("package_derivations_by_guix_revision_range"))
 
  (for-each
   (lambda (table)
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm 
b/guix-data-service/jobs/load-new-guix-revision.scm
index d5a54f9..7781c76 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1154,68 +1154,6 @@ WHERE job_id = $1"
 
 (prevent-inlining-for-tests extract-information-from)
 
-(define (update-package-versions-table conn git-repository-id commit)
-  (with-time-logging "lock table: package_versions_by_guix_revision_range"
-;; Lock the table to wait for other transactions to commit before updating
-;; the table
-(exec-query
- conn
- "
-LOCK TABLE ONLY package_versions_by_guix_revision_range
-  IN SHARE ROW EXCLUSIVE MODE"))
-
-  (for-each
-   (match-lambda
- ((branch-name)
-  (with-time-logging
-  (simple-format #f "deleting package version entries for ~A" 
branch-name)
-(exec-query
- conn
- "
-DELETE FROM package_versions_by_guix_revision_range
-WHERE git_repository_id = $1 AND branch_name = $2"
- (list git-repository-id
-   branch-name)))
-  (with-time-logging
-  (simple-format #f "inserting package version entries for ~A" 
branch-name)
-(exec-query
- conn
- "
-INSERT INTO package_versions_by_guix_revision_range
-SELECT DISTINCT
-   $1::integer AS git_repository_id,
-   $2 AS branch_name,
-   packages.name AS package_name,
-   packages.version AS package_version,
-   first_value(guix_revisions.id)
- OVER package_version AS first_guix_revision_id,
-   last_value(guix_revisions.id)
- OVER package_version AS last_guix_revision_id
-FROM packages
-INNER JOIN (
-  SELECT DISTINCT package_derivations.package_id,
-  guix_revision_package_derivations.revision_id
-  FROM package_derivations
-  INNER JOIN guix_revision_package_derivations
-ON package_derivations.id = 
guix_revision_package_derivations.package_derivation_id
-) AS revision_packages ON packages.id = revision_packages.package_id
-INNER JOIN guix_revisions ON revision_packages.revision_id = guix_revisions.id
-INNER JOIN git_branches ON guix_revisions.commit = git_branches.commit
-WHERE git_branches.name = $2
-WINDOW package_version AS (
-  PARTITION BY packages.name, packages.version
-  ORDER BY git_branches.datetime
-  RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
-)
-ORDER BY packages.name, packages.version"
- (list git-repository-id branch-name)
-   (exec-query
-conn
-"SELECT name FROM git_branches WHERE commit = $1 AND git_repository_id = 
$2"
-(list commit git-repository-id)))
-
-  #t)
-
 (define (load-new-guix-revision conn store git-repository-id commit)
   (let* ((channel-for-commit
   (channel (name 'guix)
@@ -1262,7 +1200,6 @@ ORDER BY packages.name, packages.version"
  (simple-format #t "debug: importing channel news not 
supported\n")
  #t))
 
-   (update-package-versions-table conn git-repository-id commit)
(update-package-derivations-table conn
  git-repository-id
  guix-revision-id
diff --git a/scripts/guix-data-service-create-small-backup 
b/scripts/guix-data-service-create-small-backup
index 6616c52..e5f5774 100755
--- a/scripts/guix-data-service-create-small-backup
+++ b/scripts/guix-data-service-create-small-backup
@@ -180,18 +180,6 @@ WITH guix_revision_ids AS (
 SELECT commit FROM git_branches
   )
 )
-DELETE FROM 

04/05: Pass #:store to checkers that support it

2020-03-25 Thread Christopher Baines
cbaines pushed a commit to branch master
in repository data-service.

commit 994318782a8184d3967d6b4b0e08391910879fc8
Author: Christopher Baines 
AuthorDate: Tue Mar 24 21:36:13 2020 +

Pass #:store to checkers that support it

The derivation checker currently opens a store connection on its own, but by
passing the already open connection in, it won't have to do that, and
hopefully this will make checking all the packages faster.
---
 guix-data-service/jobs/load-new-guix-revision.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/guix-data-service/jobs/load-new-guix-revision.scm 
b/guix-data-service/jobs/load-new-guix-revision.scm
index 7781c76..91183e5 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -347,6 +347,10 @@ WHERE job_id = $1"
  %local-checkers))
   (check (lint-checker-check checker)))
 
+ (define lint-checker-requires-store?-defined?
+   (defined? 'lint-checker-requires-store?
+ (resolve-module '(guix lint
+
  (define (process-lint-warning lint-warning)
(list
 (match (lint-warning-location lint-warning)
@@ -397,7 +401,11 @@ WHERE job_id = $1"
  (cons
   package-id
   (map process-lint-warning
-   (check package
+   (if (and lint-checker-requires-store?-defined?
+(lint-checker-requires-store? checker))
+
+   (check package #:store store)
+   (check package)
%package-table)
 
   (and



01/03: gnu: r-mast: Add r-knitr to native inputs.

2020-03-25 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 51d1a7a2effd9a30bfdf8a586baa2ee40e3e50ee
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 09:25:11 2020 +0100

gnu: r-mast: Add r-knitr to native inputs.

* gnu/packages/bioconductor.scm (r-mast)[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 41e49c9..b62a618 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -2649,6 +2649,8 @@ interactive exploration of results.")
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-stringr" ,r-stringr)
("r-summarizedexperiment" ,r-summarizedexperiment)))
+(native-inputs
+ `(("r-knitr" ,r-knitr)))
 (home-page "https://github.com/RGLab/MAST/;)
 (synopsis "Model-based analysis of single cell transcriptomics")
 (description



branch master updated (97b1366 -> b005c24)

2020-03-25 Thread guix-commits
rekado pushed a change to branch master
in repository guix.

from 97b1366  gnu: poetry: Update to 1.0.5.
 new 51d1a7a  gnu: r-mast: Add r-knitr to native inputs.
 new 2fcd2e1  gnu: r-shiny: Add missing inputs.
 new b005c24  import/cran: Support importing from Mercurial repositories.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 gnu/packages/bioconductor.scm |  2 +
 gnu/packages/cran.scm | 17 +---
 guix/import/cran.scm  | 96 ++-
 3 files changed, 90 insertions(+), 25 deletions(-)



02/03: gnu: r-shiny: Add missing inputs.

2020-03-25 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 2fcd2e1a5f482f80a7b636a8f42db4c1f79c13e0
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 09:34:31 2020 +0100

gnu: r-shiny: Add missing inputs.

* gnu/packages/cran.scm (r-shiny)[propagated-inputs]: Add r-later, 
r-promises,
r-rlang, and r-withr.
[native-inputs]: Add gfortran.
---
 gnu/packages/cran.scm | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index fe29b9f..30d2ba3 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -838,15 +838,19 @@ data structures in C++.")
  #t)
 (propagated-inputs
  `(("r-crayon" ,r-crayon)
+   ("r-digest" ,r-digest)
("r-fastmap" ,r-fastmap)
+   ("r-htmltools" ,r-htmltools)
("r-httpuv" ,r-httpuv)
-   ("r-mime" ,r-mime)
("r-jsonlite" ,r-jsonlite)
-   ("r-xtable" ,r-xtable)
-   ("r-digest" ,r-digest)
-   ("r-htmltools" ,r-htmltools)
+   ("r-later" ,r-later)
+   ("r-mime" ,r-mime)
+   ("r-promises" ,r-promises)
("r-r6" ,r-r6)
-   ("r-sourcetools" ,r-sourcetools)))
+   ("r-rlang" ,r-rlang)
+   ("r-sourcetools" ,r-sourcetools)
+   ("r-withr" ,r-withr)
+   ("r-xtable" ,r-xtable)))
 (inputs
  `(("js-datatables" ,js-datatables)
("js-html5shiv" ,js-html5shiv)
@@ -857,7 +861,8 @@ data structures in C++.")
("js-highlight" ,js-highlight)
("js-es5-shim" ,js-es5-shim)))
 (native-inputs
- `(("uglify-js" ,uglify-js)))
+ `(("uglify-js" ,uglify-js)
+   ("gfortran" ,gfortran)))
 (home-page "http://shiny.rstudio.com;)
 (synopsis "Easy interactive web applications with R")
 (description



03/03: import/cran: Support importing from Mercurial repositories.

2020-03-25 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit b005c240bb5e436ffe9d55c2dd75c9af85aa0fdd
Author: Ricardo Wurmus 
AuthorDate: Wed Mar 25 09:36:58 2020 +0100

import/cran: Support importing from Mercurial repositories.

* guix/import/cran.scm (download): Accept keyword #:method; add case for hg
method.
(fetch-description): Handle hg repository.
(description->package): Add cases for hg repositories and update call of
DOWNLOAD procedure.
(cran->guix-package): Retry importing from Bioconductor when hg import 
failed.
---
 guix/import/cran.scm | 96 +---
 1 file changed, 77 insertions(+), 19 deletions(-)

diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index bb8226f..9929f3c 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -21,6 +21,7 @@
 (define-module (guix import cran)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
+  #:use-module (ice-9 popen)
   #:use-module ((ice-9 rdelim) #:select (read-string read-line))
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-2)
@@ -37,7 +38,10 @@
   #:use-module (guix base32)
   #:use-module ((guix download) #:select (download-to-store))
   #:use-module (guix import utils)
-  #:use-module ((guix build utils) #:select (find-files))
+  #:use-module ((guix build utils)
+#:select (find-files
+  delete-file-recursively
+  with-directory-excursion))
   #:use-module (guix utils)
   #:use-module (guix git)
   #:use-module ((guix build-system r) #:select (cran-uri bioconductor-uri))
@@ -191,11 +195,26 @@ bioconductor package NAME, or #F if the package is 
unknown."
 ;; Little helper to download URLs only once.
 (define download
   (memoize
-   (lambda* (url #:optional git)
+   (lambda* (url #:key method)
  (with-store store
-   (if git
-   (latest-repository-commit store url)
-   (download-to-store store url))
+   (cond
+((eq? method 'git)
+ (latest-repository-commit store url))
+((eq? method 'hg)
+ (call-with-temporary-directory
+  (lambda (dir)
+(unless (zero? (system* "hg" "clone" url dir))
+  (leave (G_ "~A: hg download failed~%") url))
+(with-directory-excursion dir
+  (let* ((port (open-pipe* OPEN_READ "hg" "id" "--id"))
+ (changeset (string-trim-right (read-string port
+(close-pipe port)
+(for-each delete-file-recursively
+  (find-files dir "^\\.hg$" #:directories? #t))
+(let ((store-directory
+   (add-to-store store (basename url) #t "sha256" dir)))
+  (values store-directory changeset)))
+(else (download-to-store store url)))
 
 (define (fetch-description repository name)
   "Return an alist of the contents of the DESCRIPTION file for the R package
@@ -244,13 +263,25 @@ from ~s: ~a (~s)~%"
  (and (string-prefix? "http" name)
   ;; Download the git repository at "NAME"
   (call-with-values
-  (lambda () (download name #t))
+  (lambda () (download name #:method 'git))
 (lambda (dir commit)
   (and=> (description->alist (with-input-from-file
  (string-append dir 
"/DESCRIPTION") read-string))
  (lambda (meta)
(cons* `(git . ,name)
   `(git-commit . ,commit)
+  meta)))
+((hg)
+ (and (string-prefix? "http" name)
+  ;; Download the mercurial repository at "NAME"
+  (call-with-values
+  (lambda () (download name #:method 'hg))
+(lambda (dir changeset)
+  (and=> (description->alist (with-input-from-file
+ (string-append dir 
"/DESCRIPTION") read-string))
+ (lambda (meta)
+   (cons* `(hg . ,name)
+  `(hg-changeset . ,changeset)
   meta)
 
 (define (listify meta field)
@@ -404,11 +435,13 @@ from the alist META, which was derived from the R 
package's DESCRIPTION file."
   (let* ((base-url   (case repository
((cran) %cran-url)
((bioconductor) %bioconductor-url)
-   ((git)  #f)))
+   ((git)  #f)
+   ((hg)   #f)))
  (uri-helper (case repository
((cran) cran-uri)
((bioconductor) bioconductor-uri)
-   ((git)  #f)))
+   ((git)  #f)
+   ((hg)   #f)))
  (name   (assoc-ref meta "Package"))
  (synopsis   

branch master updated: gnu: electron-cash: Update to 4.0.14.

2020-03-25 Thread guix-commits
This is an automated email from the git hooks/post-receive script.

glv pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
 new 620c756  gnu: electron-cash: Update to 4.0.14.
620c756 is described below

commit 620c75644346063033ae7be19e4f7a6bdf54fa96
Author: Guillaume Le Vaillant 
AuthorDate: Wed Mar 25 11:09:45 2020 +0100

gnu: electron-cash: Update to 4.0.14.

* gnu/packages/finance.scm (electron-cash): Update to 4.0.14.
---
 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 af75722..43eda97 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -452,7 +452,7 @@ other machines/servers.  Electrum does not download the 
Bitcoin blockchain.")
 (define-public electron-cash
   (package
 (name "electron-cash")
-(version "4.0.13")
+(version "4.0.14")
 (source
  (origin
(method git-fetch)
@@ -461,7 +461,7 @@ other machines/servers.  Electrum does not download the 
Bitcoin blockchain.")
  (commit version)))
(file-name (git-file-name name version))
(sha256
-(base32 "1x9as1dn9n93vgyrixwvp9bh0aarr9vsfz5hdmw16j3wj3wj621f"
+(base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6"
 (build-system python-build-system)
 (inputs
  `(("libevent" ,libevent)