05/07: gnu: Add insight-toolkit-4.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 8f4d457d93797bea5d934d9548da85d438dbd71e
Author: Ricardo Wurmus 
Date:   Tue Aug 13 18:55:57 2019 +0200

gnu: Add insight-toolkit-4.

* gnu/packages/image-processing.scm (insight-toolkit-4): New variable.
---
 gnu/packages/image-processing.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index 2f1f0ad..00b80c1 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -671,3 +671,23 @@ task of aligning or developing correspondences between 
data.  For example, in
 the medical environment, a CT scan may be aligned with a MRI scan in order to
 combine the information contained in both.")
 (license license:asl2.0)))
+
+(define-public insight-toolkit-4
+  (package (inherit insight-toolkit)
+(version "4.13.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/InsightSoftwareConsortium/ITK/;
+   "releases/download/v" version "/InsightToolkit-"
+   version ".tar.xz"))
+   (sha256
+(base32 "19cgfpd63gqrvc3m27m394gy2d7w79g5y6lvznb5qqr49lihbgns"
+(arguments
+ `(#:tests? #f; tests require network access and external data
+   #:configure-flags
+   '("-DITKV3_COMPATIBILITY=ON" ; needed for itk-snap
+ "-DITK_USE_GPU=ON"
+ "-DITK_USE_SYSTEM_LIBRARIES=ON"
+ "-DITK_USE_SYSTEM_GOOGLETEST=ON"
+ "-DITK_USE_SYSTEM_VXL=ON")



04/07: gnu: Add insight-toolkit.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit d7701e1b94158c256f9b0609457cdffadaf39aee
Author: Ricardo Wurmus 
Date:   Tue Aug 13 18:55:46 2019 +0200

gnu: Add insight-toolkit.

* gnu/packages/image-processing.scm (insight-toolkit): New variable.
---
 gnu/packages/image-processing.scm | 63 +++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index 9c084e1..2f1f0ad 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
@@ -60,6 +61,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages tbb)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
@@ -608,3 +610,64 @@ libraries designed for computer vision research and 
implementation.")
  `(#:configure-flags
;; Needed for itk-snap
(list "-DVNL_CONFIG_LEGACY_METHODS=ON")
+
+(define-public insight-toolkit
+  (package
+(name "insight-toolkit")
+(version "5.0.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/InsightSoftwareConsortium/ITK/;
+   "releases/download/v" version "/InsightToolkit-"
+   version ".tar.xz"))
+   (sha256
+(base32 "0bs63mk4q8jmx38f031jy5w5n9yy5ng9x8ijwinvjyvas8cichqi"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f; tests require network access and external data
+   #:configure-flags
+   '("-DITK_USE_GPU=ON"
+ "-DITK_USE_SYSTEM_LIBRARIES=ON"
+ "-DITK_USE_SYSTEM_GOOGLETEST=ON"
+ "-DITK_BUILD_SHARED=ON"
+ ;; This prevents "GTest::GTest" from being added to the ITK_LIBRARIES
+ ;; variable in the installed CMake files.  This is necessary as other
+ ;; packages using insight-toolkit could not be configured otherwise.
+ "-DGTEST_ROOT=gtest")
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'do-not-tune
+   (lambda _
+ (substitute* "CMake/ITKSetStandardCompilerFlags.cmake"
+   (("-mute=native") ""))
+ #t)
+(inputs
+ `(("eigen" ,eigen)
+   ("expat" ,expat)
+   ("fftw" ,fftw)
+   ("fftwf" ,fftwf)
+   ("hdf5" ,hdf5)
+   ("libjpeg" ,libjpeg)
+   ("libpng" ,libpng)
+   ("libtiff" ,libtiff)
+   ("mesa" ,mesa-opencl)
+   ("perl" ,perl)
+   ("python" ,python)
+   ("tbb" ,tbb)
+   ("vxl" ,vxl-1)
+   ("zlib" ,zlib)))
+(native-inputs
+ `(("googletest" ,googletest)
+   ("pkg-config" ,pkg-config)))
+(home-page "https://github.com/InsightSoftwareConsortium/ITK/;)
+(synopsis "Scientific image processing, segmentation and registration")
+(description "The Insight Toolkit (ITK) is a toolkit for N-dimensional
+scientific image processing, segmentation, and registration.  Segmentation is
+the process of identifying and classifying data found in a digitally sampled
+representation.  Typically the sampled representation is an image acquired
+from such medical instrumentation as CT or MRI scanners.  Registration is the
+task of aligning or developing correspondences between data.  For example, in
+the medical environment, a CT scan may be aligned with a MRI scan in order to
+combine the information contained in both.")
+(license license:asl2.0)))



03/07: gnu: Add vxl-1.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 4243af4e5741add5de4972cbea1a8ee6acb39f15
Author: Ricardo Wurmus 
Date:   Tue Aug 13 17:47:03 2019 +0200

gnu: Add vxl-1.

* gnu/packages/image-processing.scm (vxl-1): New variable.
---
 gnu/packages/image-processing.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index a4365f6..9c084e1 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -577,3 +577,34 @@ recalculates.")
 (description "VXL (the Vision-something-Libraries) is a collection of C++
 libraries designed for computer vision research and implementation.")
 (license license:bsd-3)))
+
+(define-public vxl-1
+  (package (inherit vxl)
+(name "vxl")
+(version "1.18.0")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://github.com/vxl/vxl.git;)
+ (commit (string-append "v" version
+   (file-name (git-file-name name version))
+   (sha256
+(base32 "1g4mr2cc58jwm0vasscbd4y5380wj3ahkvq121z4gs83fhavvxgz"))
+   (modules '((guix build utils)))
+   (snippet
+'(begin
+   (for-each delete-file-recursively
+ '("v3p/bzlib/"
+   "v3p/geotiff/"
+   "v3p/png/"
+   "v3p/tiff/"
+   "v3p/zlib/"))
+   (substitute* "v3p/CMakeLists.txt"
+ (("add_subdirectory\\((tiff|png|jpeg|zlib|bzlib|geotiff)\\)")
+  ""))
+   #t
+(arguments
+ `(#:configure-flags
+   ;; Needed for itk-snap
+   (list "-DVNL_CONFIG_LEGACY_METHODS=ON")



01/07: gnu: Add vtk-6.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 18696f7acfed09272eb9a35d2ad27d8a8e534384
Author: Ricardo Wurmus 
Date:   Tue Aug 13 17:45:01 2019 +0200

gnu: Add vtk-6.

* gnu/packages/image-processing.scm (vtk-6): New variable.
---
 gnu/packages/image-processing.scm | 21 +++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index e708e13..6680d65 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 John Darrington 
-;;; Copyright © 2017 Ricardo Wurmus 
+;;; Copyright © 2017, 2019 Ricardo Wurmus 
 ;;; Copyright © 2014 Ludovic Courtès 
 ;;; Copyright © 2014 Mark H Weaver 
 ;;; Copyright © 2016 Eric Bavier 
@@ -64,7 +64,8 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1))
 
 (define-public dcmtk
   (package
@@ -212,6 +213,22 @@ a suite of 3D interaction widgets, supports parallel 
processing, and
 integrates with various databases on GUI toolkits such as Qt and Tk.")
 (license license:bsd-3)))
 
+;; itksnap needs an older variant of VTK.
+(define-public vtk-6
+  (package (inherit vtk)
+(version "6.3.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://vtk.org/files/release/;
+  (version-major+minor version)
+  "/VTK-" version ".tar.gz"))
+  (sha256
+   (base32
+"0pla1r5mvkgl4sl213gfdhzrypdgai0h3z5mfgm6p9jz9hsr794j"
+(inputs
+ `(("jsoncpp" ,jsoncpp-for-tensorflow)
+   ,@(alist-delete "jsoncpp" (package-inputs vtk))
+
 (define-public opencv
   (package
 (name "opencv")



02/07: gnu: Add vxl.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 02e1acfb2a65783d63e526da798337c91b40a5f1
Author: Ricardo Wurmus 
Date:   Tue Aug 13 17:46:22 2019 +0200

gnu: Add vxl.

* gnu/packages/image-processing.scm (vxl): New variable.
---
 gnu/packages/image-processing.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index 6680d65..a4365f6 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages geo)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -534,3 +535,45 @@ the VIPS image processing library.  It's a little like a 
spreadsheet: you
 create a set of formula connecting your objects together, and on a change nip2
 recalculates.")
 (license license:gpl2+)))
+
+(define-public vxl
+  (package
+(name "vxl")
+(version "2.0.2")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://github.com/vxl/vxl.git;)
+ (commit (string-append "v" version
+   (file-name (git-file-name name version))
+   (sha256
+(base32 "0949hw57szq8943f1whwqaz591xjmb19kj803hcv74hdai2b0ycg"))
+   (modules '((guix build utils)))
+   ;; TODO: vxl includes an old version of dcmtk.  It won't build with
+   ;; version 3.6.x.
+   (snippet
+'(begin
+   (for-each delete-file-recursively
+ '("v3p/bzlib/"
+   "v3p/geotiff/"
+   "v3p/jpeg/"
+   "v3p/png/"
+   "v3p/tiff/"
+   "v3p/zlib/"))
+   (substitute* "v3p/CMakeLists.txt"
+ (("add_subdirectory\\((tiff|png|jpeg|zlib|bzlib|geotiff)\\)")
+  ""))
+   #t
+(build-system cmake-build-system)
+(inputs
+ `(("libgeotiff" ,libgeotiff)
+   ("libtiff" ,libtiff)
+   ("libjpeg" ,libjpeg)
+   ("libpng" ,libpng)
+   ("zlib" ,zlib)))
+(home-page "https://github.com/vxl/vxl/;)
+(synopsis "Collection of C++ libraries for computer vision")
+(description "VXL (the Vision-something-Libraries) is a collection of C++
+libraries designed for computer vision research and implementation.")
+(license license:bsd-3)))



07/07: gnu: Add itk-snap.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 1c4e6aa9382e90acbf12246ce29357382902346d
Author: Ricardo Wurmus 
Date:   Thu Aug 15 09:26:55 2019 +0200

gnu: Add itk-snap.

* gnu/packages/image-processing.scm (itk-snap): New variable.
---
 gnu/packages/image-processing.scm | 139 ++
 1 file changed, 139 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index 3fa1be4..b3972a2 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
@@ -60,6 +61,7 @@
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages tls)
@@ -702,3 +704,140 @@ combine the information contained in both.")
"InsightToolkit-" version ".tar.xz"))
(sha256
 (base32 "1qw9mxbh083siljygahl4gdfv91xvfd8hfl7ghwii19f60xrvn2w"))
+
+(define-public itk-snap
+  (package
+(name "itk-snap")
+(version "3.8.0")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://git.code.sf.net/p/itk-snap/src;)
+ (commit (string-append "v" version
+   (file-name (git-file-name name version))
+   (sha256
+(base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"
+(build-system cmake-build-system)
+(arguments
+ `(#:configure-flags
+   (list "-DSNAP_VERSION_GIT_SHA1=release"
+ "-DSNAP_VERSION_GIT_BRANCH=release"
+ "-DSNAP_VERSION_GIT_TIMESTAMP=0"
+ "-DSNAP_PACKAGE_QT_PLUGINS=OFF"
+ "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
+ "-DCMAKE_CXX_FLAGS=-std=gnu++11 -fpermissive")
+   #:phases
+   (modify-phases %standard-phases
+ ;; During the installation phase all libraries provided by all
+ ;; dependencies will be copied to the lib directory.  That's insane,
+ ;; so we disable this.
+ (add-after 'unpack 'do-not-copy-dependencies
+   (lambda _
+ (substitute* "CMakeLists.txt"
+   (("install_qt5_executable\
+\\(\\$\\{SNAP_MAIN_INSTALL_DIR\\}/\\$\\{SNAP_EXE\\}\\)")
+""))
+ #t))
+ (add-after 'unpack 'disable-gui-tests
+   (lambda _
+ ;; The GUI tests just time out.
+ (substitute* "CMakeLists.txt"
+   (("  (Workspace|DiffSpace|ProbeIntensity|RegionCompetition\
+|RandomForest|RandomForestBailOut)")
+""))
+ #t))
+ (add-after 'unpack 'make-reproducible
+   (lambda _
+ (substitute* "CMakeLists.txt"
+   (("TODAY\\(SNAP_VERSION_COMPILE_DATE\\)")
+"SET(SNAP_VERSION_COMPILE_DATE \"(removed for 
reproducibility)\")"))
+ #t))
+ (add-after 'unpack 'prepare-submodules
+   (lambda* (#:key inputs #:allow-other-keys)
+ (rmdir "Submodules/c3d")
+ (copy-recursively (assoc-ref inputs "c3d-src")
+   "Submodules/c3d")
+ (substitute* '("Submodules/c3d/adapters/BiasFieldCorrectionN4.cxx"
+"Submodules/c3d/adapters/ApplyMetric.cxx")
+   (("vcl_") "std::"))
+ (rmdir "Submodules/greedy")
+ (symlink (assoc-ref inputs "greedy-src")
+  "Submodules/greedy")
+ #t))
+ (add-after 'unpack 'fix-includes
+   (lambda _
+ (substitute* "GUI/Model/RegistrationModel.cxx"
+   (("")
+""))
+ #t))
+ (add-before 'check 'prepare-tests
+   (lambda _
+ ;; Needed by at least one test.
+ (setenv "HOME" "/tmp")
+ #t))
+ (add-after 'install 'wrap-executable
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+   (wrap-program (string-append out "/bin/itksnap")
+ `("QT_PLUGIN_PATH" ":" prefix
+   ,(map (lambda (label)
+   (string-append (assoc-ref inputs label)
+  "/lib/qt5/plugins"))
+ '("qtbase" "qtdeclarative"
+   #t))
+(inputs
+ `(("curl" ,curl)
+   ("fftw" ,fftw)
+   ("fftwf" ,fftwf)
+   ("glu" ,glu)
+   ("hdf5" ,hdf5)
+   ("mesa" ,mesa-opencl)
+   ;; This package does not build with either 

branch master updated (03cbd94 -> 5f32531)

2019-08-15 Thread guix-commits
cwebber pushed a change to branch master
in repository guix.

  from  03cbd94   remote: Remove '--system' argument.
   new  5ea7537   machine: Allow non-root users to deploy.
   new  9c70c46   machine: Implement 'roll-back-machine'.
   new  3033d59   machine: Automatically authorize the coordinator's 
signing key.
   new  3967a94   doc: Add description of 'build-locally?'.
   new  5f32531   remote: Use (%daemon-socket-uri) rather than hard-coded 
path.

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


Summary of changes:
 doc/guix.texi   |  15 +++
 gnu/machine.scm |  27 +++-
 gnu/machine/ssh.scm | 113 +++-
 guix/remote.scm |  57 +++-
 guix/scripts/deploy.scm |  17 +++-
 guix/ssh.scm|  48 +---
 6 files changed, 236 insertions(+), 41 deletions(-)



02/05: machine: Implement 'roll-back-machine'.

2019-08-15 Thread guix-commits
cwebber pushed a commit to branch master
in repository guix.

commit 9c70c460a05b2bc60f3f3602f0a2dba0f79ce86c
Author: Jakob L. Kreuze 
Date:   Thu Aug 15 04:05:57 2019 -0400

machine: Implement 'roll-back-machine'.

* gnu/machine.scm (roll-back-machine, , deploy-error?)
(deploy-error-should-roll-back)
(deploy-error-captured-args): New variable.
* gnu/machine/ssh.scm (roll-back-managed-host): New variable.
* guix/scripts/deploy.scm (guix-deploy): Roll-back systems when a
deployment fails.
---
 gnu/machine.scm | 27 ++-
 gnu/machine/ssh.scm | 72 ++---
 guix/scripts/deploy.scm | 17 ++--
 3 files changed, 110 insertions(+), 6 deletions(-)

diff --git a/gnu/machine.scm b/gnu/machine.scm
index 30ae97f..05b03b2 100644
--- a/gnu/machine.scm
+++ b/gnu/machine.scm
@@ -24,6 +24,7 @@
   #:use-module (guix records)
   #:use-module (guix store)
   #:use-module ((guix utils) #:select (source-properties->location))
+  #:use-module (srfi srfi-35)
   #:export (environment-type
 environment-type?
 environment-type-name
@@ -40,7 +41,13 @@
 machine-display-name
 
 deploy-machine
-machine-remote-eval))
+roll-back-machine
+machine-remote-eval
+
+
+deploy-error?
+deploy-error-should-roll-back
+deploy-error-captured-args))
 
 ;;; Commentary:
 ;;;
@@ -66,6 +73,7 @@
   ;; of the form '(machine-remote-eval machine exp)'.
   (machine-remote-eval environment-type-machine-remote-eval) ; procedure
   (deploy-machine  environment-type-deploy-machine)  ; procedure
+  (roll-back-machine   environment-type-roll-back-machine)   ; procedure
 
   ;; Metadata.
   (nameenvironment-type-name)   ; symbol
@@ -105,3 +113,20 @@ are built and deployed to MACHINE beforehand."
 MACHINE, activating it on MACHINE and switching MACHINE to the new generation."
   (let ((environment (machine-environment machine)))
 ((environment-type-deploy-machine environment) machine)))
+
+(define (roll-back-machine machine)
+  "Monadic procedure rolling back to the previous system generation on
+MACHINE. Return the number of the generation that was current before switching
+and the new generation number."
+  (let ((environment (machine-environment machine)))
+((environment-type-roll-back-machine environment) machine)))
+
+
+;;;
+;;; Error types.
+;;;
+
+(define-condition-type  
+  deploy-error?
+  (should-roll-back deploy-error-should-roll-back)
+  (captured-args deploy-error-captured-args))
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index fb15d39..4b5d5fe 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -17,6 +17,7 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu machine ssh)
+  #:use-module (gnu bootloader)
   #:use-module (gnu machine)
   #:autoload   (gnu packages gnupg) (guile-gcrypt)
   #:use-module (gnu system)
@@ -34,6 +35,7 @@
   #:use-module (guix store)
   #:use-module (guix utils)
   #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-34)
@@ -341,6 +343,18 @@ of MACHINE's system profile, ordered from most recent to 
oldest."
(boot-parameters-kernel-arguments params
   generations
 
+(define-syntax-rule (with-roll-back should-roll-back? mbody ...)
+  "Catch exceptions that arise when binding MBODY, a monadic expression in
+%STORE-MONAD, and collect their arguments in a  condition, with
+the 'should-roll-back' field set to SHOULD-ROLL-BACK?"
+  (catch #t
+(lambda ()
+  mbody ...)
+(lambda args
+  (raise (condition (
+ (should-roll-back should-roll-back?)
+ (captured-args args)))
+
 (define (deploy-managed-host machine)
   "Internal implementation of 'deploy-machine' for MACHINE instances with an
 environment type of 'managed-host."
@@ -353,9 +367,60 @@ environment type of 'managed-host."
(bootloader-configuration (operating-system-bootloader os))
(bootcfg (operating-system-bootcfg os menu-entries)))
   (mbegin %store-monad
-(switch-to-system eval os)
-(upgrade-shepherd-services eval os)
-(install-bootloader eval bootloader-configuration bootcfg)
+(with-roll-back #f
+  (switch-to-system eval os))
+(with-roll-back #t
+  (mbegin %store-monad
+(upgrade-shepherd-services eval os)
+(install-bootloader eval bootloader-configuration bootcfg)))
+
+
+;;;
+;;; Roll-back.
+;;;
+
+(define (roll-back-managed-host machine)
+  "Internal implementation of 'roll-back-machine' for MACHINE instances with
+an environment type of 'managed-host."
+  (define remote-exp
+(with-extensions (list guile-gcrypt)
+  

05/05: remote: Use (%daemon-socket-uri) rather than hard-coded path.

2019-08-15 Thread guix-commits
cwebber pushed a commit to branch master
in repository guix.

commit 5f32531770b532deafb79601ecff4913ec38d0b2
Author: Jakob L. Kreuze 
Date:   Thu Aug 15 04:08:22 2019 -0400

remote: Use (%daemon-socket-uri) rather than hard-coded path.

* guix/remote.scm (remote-eval): Use (%daemon-socket-uri) as the default
value of 'socket-name' rather than hard-coded path.
---
 guix/remote.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/remote.scm b/guix/remote.scm
index d8124e4..ae2fe17 100644
--- a/guix/remote.scm
+++ b/guix/remote.scm
@@ -106,7 +106,7 @@ result to the current output port using the (guix repl) 
protocol."
   (build-locally? #t)
   (system (%current-system))
   (module-path %load-path)
-  (socket-name "/var/guix/daemon-socket/socket")
+  (socket-name (%daemon-socket-uri))
   (become-command #f))
   "Evaluate EXP, a gexp, on the host at SESSION, an SSH session.  Ensure that
 all the elements EXP refers to are built and deployed to SESSION beforehand.



04/05: doc: Add description of 'build-locally?'.

2019-08-15 Thread guix-commits
cwebber pushed a commit to branch master
in repository guix.

commit 3967a946c6b36bdd51bd0f11b75ad1f7ef3d4674
Author: Jakob L. Kreuze 
Date:   Thu Aug 15 04:07:19 2019 -0400

doc: Add description of 'build-locally?'.

* doc/guix.texi (Invoking guix deploy): Add section describing the
'build-locally?' field of 'managed-host-environment-type'.
---
 doc/guix.texi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index d80f629..043851e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -25583,6 +25583,8 @@ with an @code{environment} of 
@code{managed-host-environment-type}.
 
 @table @asis
 @item @code{host-name}
+@item @code{build-locally?} (default: @code{#t})
+If false, system derivations will be built on the machine being deployed to.
 @item @code{system}
 The Nix system type describing the architecture of the machine being deployed
 to. This should look something like ``x86_64-linux''.



01/05: machine: Allow non-root users to deploy.

2019-08-15 Thread guix-commits
cwebber pushed a commit to branch master
in repository guix.

commit 5ea7537b9a650cfa525401c19879080a9cf42e13
Author: Jakob L. Kreuze 
Date:   Thu Aug 15 04:05:04 2019 -0400

machine: Allow non-root users to deploy.

* doc/guix.texi (Invoking guix deploy): Add section describing
prerequisites for deploying as a non-root user.
* guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command'
argument.
(%remote-eval): New optional 'become-command' argument.
(remote-eval): New 'become-command' keyword argument.
* guix/ssh.scm (remote-inferior): New optional 'become-command'
argument.
(inferior-remote-eval): New optional 'become-command' argument.
(remote-authorize-signing-key): New optional 'become-command' argument.
* gnu/machine/ssh.scm (machine-become-command): New variable.
(managed-host-remote-eval): Invoke 'remote-eval' with the
'#:become-command' keyword.
(deploy-managed-host): Invoke 'remote-authorize-signing-key' with the
'#:become-command' keyword.
---
 doc/guix.texi   | 10 ++
 gnu/machine/ssh.scm |  8 
 guix/remote.scm | 57 +
 guix/ssh.scm| 25 ---
 4 files changed, 72 insertions(+), 28 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a7facf4..e5cec7a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -25514,6 +25514,7 @@ evaluates to.  As an example, @var{file} might contain 
a definition like this:
(environment managed-host-environment-type)
(configuration (machine-ssh-configuration
(host-name "localhost")
+   (user "alice")
(identity "./id_rsa")
(port )
 @end example
@@ -25546,6 +25547,15 @@ accepts store items it receives from the coordinator:
 # guix archive --authorize < coordinator-public-key.txt
 @end example
 
+@code{user}, in this example, specifies the name of the user account to log in
+as to perform the deployment.  Its default value is @code{root}, but root
+login over SSH may be forbidden in some cases.  To work around this,
+@command{guix deploy} can log in as an unprivileged user and employ
+@code{sudo} to escalate privileges.  This will only work if @code{sudo} is
+currently installed on the remote and can be invoked non-interactively as
+@code{user}.  That is: the line in @code{sudoers} granting @code{user} the
+ability to use @code{sudo} must contain the @code{NOPASSWD} tag.
+
 @deftp {Data Type} machine
 This is the data type representing a single machine in a heterogeneous Guix
 deployment.
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 670990a..fb15d39 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -101,6 +101,14 @@ one from the configuration's parameters if one was not 
provided."
 ;;; Remote evaluation.
 ;;;
 
+(define (machine-become-command machine)
+  "Return as a list of strings the program and arguments necessary to run a
+shell command with escalated privileges for MACHINE's configuration."
+  (if (string= "root" (machine-ssh-configuration-user
+   (machine-configuration machine)))
+  '()
+  '("/run/setuid-programs/sudo" "-n" "--")))
+
 (define (managed-host-remote-eval machine exp)
   "Internal implementation of 'machine-remote-eval' for MACHINE instances with
 an environment type of 'managed-host."
diff --git a/guix/remote.scm b/guix/remote.scm
index bcac64e..d8124e4 100644
--- a/guix/remote.scm
+++ b/guix/remote.scm
@@ -27,6 +27,8 @@
   #:use-module (guix utils)
   #:use-module (ssh popen)
   #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:use-module (ice-9 match)
   #:export (remote-eval))
 
@@ -41,29 +43,41 @@
 ;;;
 ;;; Code:
 
-(define (remote-pipe-for-gexp lowered session)
-  "Return a remote pipe for the given SESSION to evaluate LOWERED."
+(define* (remote-pipe-for-gexp lowered session #:optional become-command)
+  "Return a remote pipe for the given SESSION to evaluate LOWERED.  If
+BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
   (define shell-quote
 (compose object->string object->string))
 
-  (apply open-remote-pipe* session OPEN_READ
- (string-append (derivation-input-output-path
- (lowered-gexp-guile lowered))
-"/bin/guile")
- "--no-auto-compile"
- (append (append-map (lambda (directory)
-   `("-L" ,directory))
- (lowered-gexp-load-path lowered))
- (append-map (lambda (directory)
-   `("-C" ,directory))
- (lowered-gexp-load-path lowered))
- `("-c"
-   ,(shell-quote (lowered-gexp-sexp lowered))
+  (define repl-command
+(append (or become-command '())
+(list
+ 

03/05: machine: Automatically authorize the coordinator's signing key.

2019-08-15 Thread guix-commits
cwebber pushed a commit to branch master
in repository guix.

commit 3033d59ac9a747b42a1fa6ca6664d4fbc62ca117
Author: Jakob L. Kreuze 
Date:   Thu Aug 15 04:06:41 2019 -0400

machine: Automatically authorize the coordinator's signing key.

* guix/ssh.scm (remote-authorize-signing-key): New variable.
* gnu/machine/ssh.scm (deploy-managed-host): Authorize coordinator's
signing key before any invocations of 'remote-eval'.
(deploy-managed-host): Display an error if a signing key does not exist.
* doc/guix.texi (Invoking guix deploy): Remove section describing manual
signing key authorization.
(Invoking guix deploy): Add section describing the 'authorize?' field.
---
 doc/guix.texi   |  3 +++
 gnu/machine/ssh.scm | 33 ++---
 guix/ssh.scm| 23 +++
 3 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index e5cec7a..d80f629 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -25586,6 +25586,9 @@ with an @code{environment} of 
@code{managed-host-environment-type}.
 @item @code{system}
 The Nix system type describing the architecture of the machine being deployed
 to. This should look something like ``x86_64-linux''.
+@item @code{authorize?} (default: @code{#t})
+If true, the coordinator's signing key will be added to the remote's ACL
+keyring.
 @item @code{port} (default: @code{22})
 @item @code{user} (default: @code{"root"})
 @item @code{identity} (default: @code{#f})
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 4b5d5fe..ac3aa3e 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -28,13 +28,16 @@
   #:use-module (guix i18n)
   #:use-module (guix modules)
   #:use-module (guix monads)
+  #:use-module (guix pki)
   #:use-module (guix records)
   #:use-module (guix remote)
   #:use-module (guix scripts system reconfigure)
   #:use-module (guix ssh)
   #:use-module (guix store)
   #:use-module (guix utils)
+  #:use-module (gcrypt pk-crypto)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 textual-ports)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
@@ -48,6 +51,7 @@
 
 machine-ssh-configuration-host-name
 machine-ssh-configuration-build-locally?
+machine-ssh-configuration-authorize?
 machine-ssh-configuration-port
 machine-ssh-configuration-user
 machine-ssh-configuration-session))
@@ -70,17 +74,19 @@
   make-machine-ssh-configuration
   machine-ssh-configuration?
   this-machine-ssh-configuration
-  (host-name  machine-ssh-configuration-host-name) ; string
-  (system machine-ssh-configuration-system); string
-  (build-locally? machine-ssh-configuration-build-locally?
+  (host-name  machine-ssh-configuration-host-name) ; string
+  (system machine-ssh-configuration-system); string
+  (build-locally? machine-ssh-configuration-build-locally? ; boolean
   (default #t))
-  (port   machine-ssh-configuration-port   ; integer
+  (authorize? machine-ssh-configuration-authorize? ; boolean
+  (default #t))
+  (port   machine-ssh-configuration-port   ; integer
   (default 22))
-  (user   machine-ssh-configuration-user   ; string
+  (user   machine-ssh-configuration-user   ; string
   (default "root"))
-  (identity   machine-ssh-configuration-identity   ; path to a private key
+  (identity   machine-ssh-configuration-identity   ; path to a private 
key
   (default #f))
-  (sessionmachine-ssh-configuration-session; session
+  (sessionmachine-ssh-configuration-session; session
   (default #f)))
 
 (define (machine-ssh-session machine)
@@ -359,6 +365,19 @@ the 'should-roll-back' field set to SHOULD-ROLL-BACK?"
   "Internal implementation of 'deploy-machine' for MACHINE instances with an
 environment type of 'managed-host."
   (maybe-raise-unsupported-configuration-error machine)
+  (when (machine-ssh-configuration-authorize?
+ (machine-configuration machine))
+(unless (file-exists? %public-key-file)
+  (raise (condition
+  (
+   (message (format #f (G_ "no signing key '~a'. \
+have you run 'guix archive --generate-key?'")
+%public-key-file))
+(remote-authorize-signing-key (call-with-input-file %public-key-file
+(lambda (port)
+  (string->canonical-sexp
+   (get-string-all port
+  (machine-ssh-session machine)))
   (mlet %store-monad ((_ (check-deployment-sanity machine))
   (boot-parameters (machine-boot-parameters machine)))
 (let* ((os (machine-operating-system machine))

01/01: gnu: libinput: Update to 1.14.0.

2019-08-15 Thread guix-commits
rhelling pushed a commit to branch master
in repository guix.

commit dfdd7380a164217fec6bca0f91ebcf32ade33cb4
Author: Rutger Helling 
Date:   Thu Aug 15 16:21:23 2019 +0200

gnu: libinput: Update to 1.14.0.

* gnu/packages/freedesktop.scm (libinput): Update to 1.14.0.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 9cfdbca..a0cf2c8 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -152,14 +152,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
 (name "libinput")
-(version "1.13.4")
+(version "1.14.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://freedesktop.org/software/libinput/;
   "libinput-" version ".tar.xz"))
   (sha256
(base32
-"07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk"
+"0rzw2kx06ywc19lwf147f474xav7w83h28k0afy822wjz0j5rf3w"
 (build-system meson-build-system)
 (arguments
  `(#:configure-flags '("-Ddocumentation=false")))



branch master updated (1c4e6aa -> dfdd738)

2019-08-15 Thread guix-commits
rhelling pushed a change to branch master
in repository guix.

  from  1c4e6aa   gnu: Add itk-snap.
   new  dfdd738   gnu: libinput: Update to 1.14.0.

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


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



branch master updated (dfdd738 -> 2cbe704)

2019-08-15 Thread guix-commits
rhelling pushed a change to branch master
in repository guix.

  from  dfdd738   gnu: libinput: Update to 1.14.0.
   new  2cbe704   Revert "gnu: libinput: Update to 1.14.0."

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


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



01/01: Revert "gnu: libinput: Update to 1.14.0."

2019-08-15 Thread guix-commits
rhelling pushed a commit to branch master
in repository guix.

commit 2cbe7044ea079b7852efb5c1a96785672c4e5c5b
Author: Rutger Helling 
Date:   Thu Aug 15 16:28:21 2019 +0200

Revert "gnu: libinput: Update to 1.14.0."

This reverts commit dfdd7380a164217fec6bca0f91ebcf32ade33cb4.
libinput-minimal causes too many rebuilds.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a0cf2c8..9cfdbca 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -152,14 +152,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
 (name "libinput")
-(version "1.14.0")
+(version "1.13.4")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://freedesktop.org/software/libinput/;
   "libinput-" version ".tar.xz"))
   (sha256
(base32
-"0rzw2kx06ywc19lwf147f474xav7w83h28k0afy822wjz0j5rf3w"
+"07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk"
 (build-system meson-build-system)
 (arguments
  `(#:configure-flags '("-Ddocumentation=false")))



branch staging updated (47406a9 -> 23cbc6b)

2019-08-15 Thread guix-commits
rhelling pushed a change to branch staging
in repository guix.

  from  47406a9   gnu: mesa: Remove unnecessary inputs.
   new  23cbc6b   gnu: libinput: Update to 1.14.0.

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


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



01/01: gnu: libinput: Update to 1.14.0.

2019-08-15 Thread guix-commits
rhelling pushed a commit to branch staging
in repository guix.

commit 23cbc6b61ef6611a915adb400e04fc6d961ae609
Author: Rutger Helling 
Date:   Thu Aug 15 16:21:23 2019 +0200

gnu: libinput: Update to 1.14.0.

* gnu/packages/freedesktop.scm (libinput): Update to 1.14.0.
---
 gnu/packages/freedesktop.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 9cfdbca..a0cf2c8 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -152,14 +152,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
 (name "libinput")
-(version "1.13.4")
+(version "1.14.0")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://freedesktop.org/software/libinput/;
   "libinput-" version ".tar.xz"))
   (sha256
(base32
-"07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk"
+"0rzw2kx06ywc19lwf147f474xav7w83h28k0afy822wjz0j5rf3w"
 (build-system meson-build-system)
 (arguments
  `(#:configure-flags '("-Ddocumentation=false")))



01/02: gnu: vulkan-headers: Update to 1.1.119.

2019-08-15 Thread guix-commits
rhelling pushed a commit to branch staging
in repository guix.

commit 7fe021b48499a93e5b471bcd6573439242af3e0b
Author: Rutger Helling 
Date:   Thu Aug 15 15:35:48 2019 +0200

gnu: vulkan-headers: Update to 1.1.119.

* gnu/packages/vulkan.scm (vulkan-headers): Update to 1.1.119.
[arguments]: Remove unnecessary phases.
* gnu/packages/vulkan.scm (vulkan-loader): Update hash.
* gnu/packages/vulkan.scm (vulkan-tools): Update hash.
---
 gnu/packages/vulkan.scm | 30 --
 1 file changed, 4 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 0b3d476..f9cb995 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -159,7 +159,7 @@ interpretation of the specifications for these languages.")
 (define-public vulkan-headers
   (package
 (name "vulkan-headers")
-(version "1.1.114")
+(version "1.1.119")
 (source
  (origin
(method git-fetch)
@@ -169,7 +169,7 @@ interpretation of the specifications for these languages.")
(file-name (git-file-name name version))
(sha256
 (base32
- "0fdvh26nxibylh32lj8b62d9nf9j25xa0il9zg362wmr2zgm8gka"
+ "158df0a8kfh5gyixv7kb5n1yp1qx891g0c1fcj22bb82kp1pz3f3"
 (build-system cmake-build-system)
 (arguments
  `(#:tests? #f)); No tests.
@@ -193,7 +193,7 @@ interpretation of the specifications for these languages.")
(file-name (git-file-name name version))
(sha256
 (base32
- "1rkm6dzdzxva62shscipz3kpp66x4kgmwvp1ski2fvf4jzzcbv7h"
+ "0asqyhj2cff1551rbx7lcl0rkyxn16bf6ja9ra8dc6gp8bj04d2g"
 (build-system cmake-build-system)
 (arguments
  `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
@@ -203,28 +203,6 @@ interpretation of the specifications for these languages.")
(lambda* (#:key inputs #:allow-other-keys)
  ;; Remove lines trying to build in a git commit id.
  (substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") 
""))
- #t))
- ;; Make sure that the files needed for Mesa's Vulkan overlay are 
availabe.
- (add-after 'unpack 'copy-headers1
-   (lambda* (#:key outputs #:allow-other-keys)
- (install-file "tests/layers/vk_layer_data.h"
-   (string-append (assoc-ref %outputs "out")
-  "/include/vulkan"))
- (install-file "tests/layers/vk_layer_extension_utils.h"
-   (string-append (assoc-ref %outputs "out")
-  "/include/vulkan"))
- (install-file "loader/vk_loader_platform.h"
-   (string-append (assoc-ref %outputs "out")
-  "/include/vulkan"))
- #t))
- (add-after 'build 'copy-headers2
-   (lambda* (#:key outputs #:allow-other-keys)
- (install-file "vk_layer_dispatch_table.h"
-   (string-append (assoc-ref %outputs "out")
-  "/include/vulkan"))
- (install-file "vk_dispatch_table_helper.h"
-   (string-append (assoc-ref %outputs "out")
-  "/include/vulkan"))
  #t)))
#:configure-flags (list
   "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' 
submodule.
@@ -266,7 +244,7 @@ and the ICD.")
(file-name (git-file-name name version))
(sha256
 (base32
- "1lz06mpni8ghf1xcxi4g6ck306lfaqwfi6f1w64kp9hczmvapfhf"
+ "0q1nlcw28yf88dbbhncmsc9b0sz3jz0cjap94qn63m18nrphfzsg"
 (build-system cmake-build-system)
 (inputs
  `(("glslang" ,glslang)



branch staging updated (4585859 -> 47406a9)

2019-08-15 Thread guix-commits
rhelling pushed a change to branch staging
in repository guix.

  from  4585859   gnu: rust: Fix building.
   new  7fe021b   gnu: vulkan-headers: Update to 1.1.119.
   new  47406a9   gnu: mesa: Remove unnecessary inputs.

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


Summary of changes:
 gnu/packages/gl.scm |  4 +---
 gnu/packages/vulkan.scm | 30 --
 2 files changed, 5 insertions(+), 29 deletions(-)



02/02: gnu: mesa: Remove unnecessary inputs.

2019-08-15 Thread guix-commits
rhelling pushed a commit to branch staging
in repository guix.

commit 47406a929058d11330a6833adafe5513cdd25b5c
Author: Rutger Helling 
Date:   Thu Aug 15 15:36:12 2019 +0200

gnu: mesa: Remove unnecessary inputs.

* gnu/packages/gl.scm (mesa)[native-inputs]: Remove unnecessary inputs.
---
 gnu/packages/gl.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index a2658a6..8a3a1f1 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -272,9 +272,7 @@ also known as DXTn or DXTC) for Mesa.")
 ("gettext" ,gettext-minimal)
 ,@(match (%current-system)
 ((or "x86_64-linux" "i686-linux")
- `(("glslang" ,glslang)
-   ("vulkan-headers" ,vulkan-headers)
-   ("vulkan-loader" ,vulkan-loader)))
+ `(("glslang" ,glslang)))
 (_
  `()))
 ("pkg-config" ,pkg-config)



branch master updated (5f32531 -> 1c4e6aa)

2019-08-15 Thread guix-commits
rekado pushed a change to branch master
in repository guix.

  from  5f32531   remote: Use (%daemon-socket-uri) rather than hard-coded 
path.
   new  18696f7   gnu: Add vtk-6.
   new  02e1acf   gnu: Add vxl.
   new  4243af4   gnu: Add vxl-1.
   new  d7701e1   gnu: Add insight-toolkit.
   new  8f4d457   gnu: Add insight-toolkit-4.
   new  07f36b0   gnu: Add insight-toolkit-4.12.
   new  1c4e6aa   gnu: Add itk-snap.

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


Summary of changes:
 gnu/packages/image-processing.scm | 328 +-
 1 file changed, 326 insertions(+), 2 deletions(-)



06/07: gnu: Add insight-toolkit-4.12.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 07f36b0c53a644c11d26389de34e9d5e84469882
Author: Ricardo Wurmus 
Date:   Tue Aug 13 18:56:03 2019 +0200

gnu: Add insight-toolkit-4.12.

* gnu/packages/image-processing.scm (insight-toolkit-4.12): New variable.
---
 gnu/packages/image-processing.scm | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/image-processing.scm 
b/gnu/packages/image-processing.scm
index 00b80c1..3fa1be4 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -691,3 +691,14 @@ combine the information contained in both.")
  "-DITK_USE_SYSTEM_LIBRARIES=ON"
  "-DITK_USE_SYSTEM_GOOGLETEST=ON"
  "-DITK_USE_SYSTEM_VXL=ON")
+
+(define-public insight-toolkit-4.12
+  (package (inherit insight-toolkit-4)
+(version "4.12.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/itk/itk/4.12/"
+   "InsightToolkit-" version ".tar.xz"))
+   (sha256
+(base32 "1qw9mxbh083siljygahl4gdfv91xvfd8hfl7ghwii19f60xrvn2w"))



branch master updated (413686c -> 170faaa)

2019-08-15 Thread Chris Marusich
marusich pushed a change to branch master
in repository maintenance.

  from  413686c   hydra: nginx: Add short URL for installation script.
   new  170faaa   cdn: README.org: Explain that the CDN is disabled.

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


Summary of changes:
 cdn/README.org | 15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)



01/01: cdn: README.org: Explain that the CDN is disabled.

2019-08-15 Thread Chris Marusich
marusich pushed a commit to branch master
in repository maintenance.

commit 170faaa81d9900b02bd9efe680165b68a67e3b74
Author: Chris Marusich 
Date:   Wed Aug 14 23:32:23 2019 -0700

cdn: README.org: Explain that the CDN is disabled.
---
 cdn/README.org | 15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/cdn/README.org b/cdn/README.org
index f223e7d..af2c8f6 100644
--- a/cdn/README.org
+++ b/cdn/README.org
@@ -1,8 +1,17 @@
 * Overview
 
-The Guix project maintains an Amazon Web Services 
([[https://aws.amazon.com/][AWS]]) account to
-provide a Content Distribution Network 
([[https://en.wikipedia.org/wiki/Content_delivery_network][CDN]]) for the 
berlin build
-farm.  Our CDN is built using [[https://aws.amazon.com/cloudfront/][Amazon 
CloudFront]].
+For a few months in 2019, the Guix project maintained an Amazon Web
+Services ([[https://aws.amazon.com/][AWS]]) account to provide a Content 
Distribution Network 
([[https://en.wikipedia.org/wiki/Content_delivery_network][CDN]])
+for the berlin build farm and Cuirass at ci.guix.gnu.org.  Our CDN was
+built using [[https://aws.amazon.com/cloudfront/][Amazon CloudFront]].  
However, the CDN is no longer in
+service as of August 2019, and the AWS account described herein has
+been closed.
+
+The rest of this document describes how it was set up.  For that
+reason, the remainder of this document uses the present tense, but
+that is only because it was written as the CDN was being built.  You
+could follow this guide to revive the CDN, or to set up your own CDN
+independent of the Guix project, if you wanted to.
 
 We practice 
[[https://en.wikipedia.org/wiki/Infrastructure_as_code]["Infrastructure as 
Code"]].  Nearly all aspects of our AWS
 account are managed via [[https://www.terraform.io/][Terraform]].  The 
"terraform" directory contains



02/03: gnu: Add r-rcistarget.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit bb88417fb70f8881d46e2f2e8235a1aa16591a36
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:39:11 2019 +0200

gnu: Add r-rcistarget.

* gnu/packages/bioconductor.scm (r-rcistarget): New variable.
---
 gnu/packages/bioconductor.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 74620a2..0a0aee7 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -5089,6 +5089,41 @@ by a sparse number of variables, this method can reduce 
the complexity of
 data, to only emphasize the data that actually matters.")
 (license license:expat)))
 
+(define-public r-rcistarget
+  (package
+(name "r-rcistarget")
+(version "1.4.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "RcisTarget" version))
+   (sha256
+(base32
+ "133x2vr86ifbk82q08x1c8q19zsk5za7b6qrzz77dhsyf4bhcvpd"
+(properties `((upstream-name . "RcisTarget")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-aucell" ,r-aucell)
+   ("r-biocgenerics" ,r-biocgenerics)
+   ("r-data-table" ,r-data-table)
+   ("r-feather" ,r-feather)
+   ("r-gseabase" ,r-gseabase)
+   ("r-r-utils" ,r-r-utils)
+   ("r-summarizedexperiment" ,r-summarizedexperiment)))
+(home-page "https://aertslab.org/#scenic;)
+(synopsis "Identify transcription factor binding motifs enriched on a gene 
list")
+(description
+ "RcisTarget identifies @dfn{transcription factor binding motifs} (TFBS)
+over-represented on a gene list.  In a first step, RcisTarget selects DNA
+motifs that are significantly over-represented in the surroundings of the
+@dfn{transcription start site} (TSS) of the genes in the gene-set.  This is
+achieved by using a database that contains genome-wide cross-species rankings
+for each motif.  The motifs that are then annotated to TFs and those that have
+a high @dfn{Normalized Enrichment Score} (NES) are retained.  Finally, for
+each motif and gene-set, RcisTarget predicts the candidate target genes (i.e.
+genes in the gene-set that are ranked above the leading edge).")
+(license license:gpl3)))
+
 (define-public r-cicero
   (package
 (name "r-cicero")



01/03: gnu: Add r-rann-l1.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 6e7553ffe09ed214e1aac362c16b526743e3c25b
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:02:30 2019 +0200

gnu: Add r-rann-l1.

* gnu/packages/cran.scm (r-rann-l1): New variable.
---
 gnu/packages/cran.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 17c85fe..adac3fe 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14945,3 +14945,26 @@ path of values for the regularization parameter.")
 library uses.  It is also possible to control the number of threads in
 OpenMP.")
 (license license:agpl3+)))
+
+(define-public r-rann-l1
+  (package
+(name "r-rann-l1")
+(version "2.5.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "RANN.L1" version))
+   (sha256
+(base32
+ "1hanh3my84mdr5wy6b89fawqzfc184vff1y65wy4l5ld9qza1n44"
+(properties `((upstream-name . "RANN.L1")))
+(build-system r-build-system)
+(home-page "https://github.com/jefferis/RANN/tree/master-L1;)
+(synopsis "Fast nearest neighbour search using L1 metric")
+(description
+ "This package provides tools to find the k nearest neighbours for every
+point in a given dataset in O(N log N) time using Arya and Mount's ANN
+library.  There is support for approximate as well as exact searches, fixed
+radius searches and @code{bd} as well as @code{kd} trees.  The distance is
+computed using the L1 (Manhattan, taxicab) metric.")
+(license license:gpl3+)))



02/03: gnu: Add r-patchwork.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 9c3bfea673f13d84d12acc9189792564b98b930f
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:02:39 2019 +0200

gnu: Add r-patchwork.

* gnu/packages/cran.scm (r-patchwork): New variable.
---
 gnu/packages/cran.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index adac3fe..ae6215b 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14968,3 +14968,34 @@ library.  There is support for approximate as well as 
exact searches, fixed
 radius searches and @code{bd} as well as @code{kd} trees.  The distance is
 computed using the L1 (Manhattan, taxicab) metric.")
 (license license:gpl3+)))
+
+(define-public r-patchwork
+  ;; There has been no public release yet.
+  (let ((commit "fd7958bae3e7a1e30237c751952e412a0a1d1242")
+(revision "1"))
+(package
+  (name "r-patchwork")
+  (version (git-version "0.0.1" revision commit))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/thomasp85/patchwork.git;)
+   (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+  (base32
+   "00fq520xwy1ysg4k8x48x9b0yy9wyi8y8zj6dvxjg4bwx0yyp6s4"
+  (build-system r-build-system)
+  (propagated-inputs
+   `(("r-ggplot2" ,r-ggplot2)
+ ("r-gtable" ,r-gtable)))
+  (home-page "https://github.com/thomasp85/patchwork;)
+  (synopsis "Compose ggplot2 plots")
+  (description
+   "The @code{ggplot2} package provides a strong API for sequentially
+building up a plot, but does not concern itself with composition of multiple
+plots.  Patchwork is a package that expands the API to allow for arbitrarily
+complex composition of plots by providing mathmatical operators for combining
+multiple plots.")
+  (license license:expat



01/03: gnu: Add r-lda.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 19f1aac0e7405b99c96823dda36e5389f18f64ec
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:38:57 2019 +0200

gnu: Add r-lda.

* gnu/packages/cran.scm (r-lda): New variable.
---
 gnu/packages/cran.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 26b9830..76ea2ed 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14946,6 +14946,30 @@ library uses.  It is also possible to control the 
number of threads in
 OpenMP.")
 (license license:agpl3+)))
 
+(define-public r-lda
+  (package
+(name "r-lda")
+(version "1.4.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "lda" version))
+   (sha256
+(base32
+ "03r4h5kgr8mfy44p66mfj5bp4k00g8zh4a1mhn46jw14pkhs21jn"
+(build-system r-build-system)
+(home-page "https://cran.r-project.org/web/packages/lda/;)
+(synopsis "Collapsed Gibbs sampling methods for topic models")
+(description
+ "This package implements @dfn{latent Dirichlet allocation} (LDA) and
+related models.  This includes (but is not limited to) sLDA, corrLDA, and the
+mixed-membership stochastic blockmodel.  Inference for all of these models is
+implemented via a fast collapsed Gibbs sampler written in C.  Utility
+functions for reading/writing data typically used in topic models, as well as
+tools for examining posterior distributions are also included.")
+;; Any version of the LGPL
+(license license:lgpl3+)))
+
 (define-public r-rann-l1
   (package
 (name "r-rann-l1")



03/03: gnu: Add r-cistopic.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit a9815a6cf27dd0e2140038c35d4ad5ef91f6d7d6
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:39:16 2019 +0200

gnu: Add r-cistopic.

* gnu/packages/bioconductor.scm (r-cistopic): New variable.
---
 gnu/packages/bioconductor.scm | 44 +++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 0a0aee7..ea43bf2 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -5186,3 +5186,47 @@ accessibility data.")
`(("r-monocle3" ,r-monocle3)
  ,@(alist-delete "r-monocle"
  (package-propagated-inputs r-cicero)))
+
+(define-public r-cistopic
+  (let ((commit "29abd8df9afb60ff27ac3f0a590930debe926950")
+(revision "0"))
+(package
+  (name "r-cistopic")
+  (version (git-version "0.2.1" revision commit))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/aertslab/cisTopic.git;)
+   (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+  (base32
+   "0s8irpsv5d2zcv4ihanvsf1vrpignzliscxnvs4519af3jmx78h8"
+  (build-system r-build-system)
+  (propagated-inputs
+   `(("r-aucell" ,r-aucell)
+ ("r-data-table" ,r-data-table)
+ ("r-dplyr" ,r-dplyr)
+ ("r-dosnow" ,r-dosnow)
+ ("r-dt" ,r-dt)
+ ("r-feather" ,r-feather)
+ ("r-fitdistrplus" ,r-fitdistrplus)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-lda" ,r-lda)
+ ("r-matrix" ,r-matrix)
+ ("r-plyr" ,r-plyr)
+ ("r-rcistarget" ,r-rcistarget)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-s4vectors" ,r-s4vectors)))
+  (home-page "https://github.com/aertslab/cisTopic;)
+  (synopsis "Modelling of cis-regulatory topics from single cell 
epigenomics data")
+  (description
+   "The sparse nature of single cell epigenomics data can be overruled 
using
+probabilistic modelling methods such as @dfn{Latent Dirichlet
+Allocation} (LDA).  This package allows the probabilistic modelling of
+cis-regulatory topics (cisTopics) from single cell epigenomics data, and
+includes functionalities to identify cell states based on the contribution of
+cisTopics and explore the nature and regulatory proteins driving them.")
+  (license license:gpl3



branch master updated (86d3822 -> a9815a6)

2019-08-15 Thread guix-commits
rekado pushed a change to branch master
in repository guix.

  from  86d3822   gnu: Add r-liger.
   new  19f1aac   gnu: Add r-lda.
   new  bb88417   gnu: Add r-rcistarget.
   new  a9815a6   gnu: Add r-cistopic.

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


Summary of changes:
 gnu/packages/bioconductor.scm | 79 +++
 gnu/packages/cran.scm | 24 +
 2 files changed, 103 insertions(+)



01/02: gnu: python-responses: Update to 0.10.6.

2019-08-15 Thread guix-commits
mbakke pushed a commit to branch master
in repository guix.

commit ef8c83bdb996146ff038c1c818ade3447272eb28
Author: Marius Bakke 
Date:   Thu Aug 15 19:15:15 2019 +0200

gnu: python-responses: Update to 0.10.6.

* gnu/packages/python-web.scm (python-responses): Update to 0.10.6.
---
 gnu/packages/python-web.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 8e5324b..735f033 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1808,13 +1808,13 @@ Python.")
 (define-public python-responses
   (package
 (name "python-responses")
-(version "0.5.1")
+(version "0.10.6")
 (source (origin
   (method url-fetch)
   (uri (pypi-uri "responses" version))
   (sha256
(base32
-"1spcfxixyk9k7pk82jm6zqkwk031s95lh8q0mz7539jrb7269bcc"
+"147pacwkkqy3qf3hr33fnl1xbzgw0zsm3qppvvy9qhq8h069qbah"
 (build-system python-build-system)
 (arguments
  `(;; Test suite is not distributed:



02/02: gnu: Remove python2-internetarchive.

2019-08-15 Thread guix-commits
mbakke pushed a commit to branch master
in repository guix.

commit e3a39ade716eff98d2cdc2ebfced2efc021cbcd5
Author: Marius Bakke 
Date:   Thu Aug 15 19:40:28 2019 +0200

gnu: Remove python2-internetarchive.

This trivial package fails to build and has no reverse dependencies.

* gnu/packages/web.scm (python2-internetarchive): Remove variable.
(python-internetarchive)[properties]: Remove.
---
 gnu/packages/web.scm | 6 --
 1 file changed, 6 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 2294e77..314ed8c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5359,14 +5359,8 @@ command-line arguments or read from stdin.")
 (description "@code{ia} is a command-line tool for using
 @url{archive.org} from the command-line.  It also emplements the
 internetarchive python module for programmatic access to archive.org.")
-(properties
- `((python2-variant . ,(delay python2-internetarchive
 (license license:agpl3+)))
 
-(define-public python2-internetarchive
-  (package-with-python2
-   (strip-python2-variant python-internetarchive)))
-
 (define-public python-clf
   (let ((commit-test-clf "d01d25923c599d3261910f79fb948825b4270d07")) ; 0.5.7
 (package



03/03: gnu: Add r-liger.

2019-08-15 Thread guix-commits
rekado pushed a commit to branch master
in repository guix.

commit 86d3822862d655cfef7ee359464288d9953ec2c0
Author: Ricardo Wurmus 
Date:   Thu Aug 15 17:02:49 2019 +0200

gnu: Add r-liger.

* gnu/packages/cran.scm (r-liger): New variable.
---
 gnu/packages/cran.scm | 74 +++
 1 file changed, 74 insertions(+)

diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index ae6215b..26b9830 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -14999,3 +14999,77 @@ plots.  Patchwork is a package that expands the API to 
allow for arbitrarily
 complex composition of plots by providing mathmatical operators for combining
 multiple plots.")
   (license license:expat
+
+(define-public r-liger
+  (package
+(name "r-liger")
+(version "0.4.2")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://github.com/MacoskoLab/liger.git;)
+ (commit (string-append "v" version
+   (file-name (git-file-name name version))
+   (sha256
+(base32
+ "16dzwwcpw6n78pxlc5w3kraigki35ix7zhd2cbx5f3y60bbkhlmx"))
+   (modules '((guix build utils)))
+   (snippet
+'(begin
+   (delete-file "inst/java/ModularityOptimizer.jar")
+   #t
+(build-system r-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'build-java-part
+   (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "unzip" (assoc-ref inputs "optimizer-src"))
+ (for-each (lambda (file) (invoke "javac" file))
+   (find-files "." "\\.java$"))
+ (apply invoke "jar" "cf" "inst/java/ModularityOptimizer.jar"
+(find-files "." "\\.class$"))
+ #t)
+(propagated-inputs
+ `(("r-cowplot" ,r-cowplot)
+   ("r-dosnow" ,r-dosnow)
+   ("r-dplyr" ,r-dplyr)
+   ("r-fnn" ,r-fnn)
+   ("r-foreach" ,r-foreach)
+   ("r-ggplot2" ,r-ggplot2)
+   ("r-ggrepel" ,r-ggrepel)
+   ("r-hmisc" ,r-hmisc)
+   ("r-ica" ,r-ica)
+   ("r-irlba" ,r-irlba)
+   ("r-matrix" ,r-matrix)
+   ("r-mclust" ,r-mclust)
+   ("r-patchwork" ,r-patchwork)
+   ("r-plyr" ,r-plyr)
+   ("r-rann-l1" ,r-rann-l1)
+   ("r-rcpp" ,r-rcpp)
+   ("r-rcpparmadillo" ,r-rcpparmadillo)
+   ("r-riverplot" ,r-riverplot)
+   ("r-rtsne" ,r-rtsne)
+   ("r-snow" ,r-snow)))
+(native-inputs
+ `(("jdk" ,icedtea "jdk")
+   ;; See https://github.com/MacoskoLab/liger/issues/96
+   ;; The optimizer is released under the Expat license.
+   ("optimizer-src"
+,(origin
+   (method url-fetch)
+   (uri 
"http://www.ludowaltman.nl/slm/modularity_optimizer_source.zip;)
+   (sha256
+(base32
+ "01hmm6sapcmldvayknqx2w4cav3qv71mwwkdkwj4qgq6dss09g18"
+   ("unzip" ,unzip)
+   ("r-knitr" ,r-knitr))) ; for vignettes
+(home-page "https://github.com/MacoskoLab/liger;)
+(synopsis "Integrate and analyze multiple single-cell datasets")
+(description
+ "LIGER is a package for integrating and analyzing multiple single-cell
+datasets, developed and maintained by the Macosko lab.  It relies on
+integrative non-negative matrix factorization to identify shared and
+dataset-specific factors.")
+(license license:gpl3)))



branch master updated (2cbe704 -> 86d3822)

2019-08-15 Thread guix-commits
rekado pushed a change to branch master
in repository guix.

  from  2cbe704   Revert "gnu: libinput: Update to 1.14.0."
   new  6e7553f   gnu: Add r-rann-l1.
   new  9c3bfea   gnu: Add r-patchwork.
   new  86d3822   gnu: Add r-liger.

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


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



01/02: gnu: Add ruby-json-schema.

2019-08-15 Thread guix-commits
jlicht pushed a commit to branch master
in repository guix.

commit 369faa59955ffc2a81ac1a068c8b2c2fec7a4a12
Author: Jelle Licht 
Date:   Mon Aug 12 21:20:01 2019 +0200

gnu: Add ruby-json-schema.

* gnu/packages/ruby.scm (ruby-json-schema): New variable.
---
 gnu/packages/ruby.scm | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1b70f84..94a5377 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2018 Alex Vong 
 ;;; Copyright © 2019 Pierre Neidhardt 
 ;;; Copyright © 2019 Mikhail Kirillov 
+;;; Copyright © 2019 Jelle Licht 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8737,3 +8738,32 @@ then check out http://127.0.0.1:1080 to see the mail.")
  "This package provides a pure Ruby library for event-driven IO.")
 (home-page "https://github.com/castwide/backport;)
 (license license:expat)))
+
+(define-public ruby-json-schema
+  (package
+(name "ruby-json-schema")
+(version "2.8.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "json-schema" version))
+   (sha256
+(base32
+ "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5"
+(build-system ruby-build-system)
+(arguments
+ `(#:tests? #f ; no tests
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'build
+   (lambda _
+ (invoke "gem" "build" ".gemspec"))
+(propagated-inputs
+ `(("ruby-addressable" ,ruby-addressable)))
+(synopsis "Ruby JSON Schema Validator")
+(description "This library provides Ruby with an interface for validating
+JSON objects against a JSON schema conforming to JSON Schema Draft 4.  Legacy
+support for JSON Schema Draft 3, JSON Schema Draft 2, and JSON Schema Draft 1
+is also included.")
+(home-page "https://github.com/ruby-json-schema/json-schema;)
+(license license:expat)))



02/02: gnu: Add swagger-diff.

2019-08-15 Thread guix-commits
jlicht pushed a commit to branch master
in repository guix.

commit 44881cad93801de9462d469500d582af79b99959
Author: Jelle Licht 
Date:   Mon Aug 12 21:20:47 2019 +0200

gnu: Add swagger-diff.

* gnu/packages/ruby.scm (swagger-diff): New variable.
---
 gnu/packages/ruby.scm | 40 
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 94a5377..cee7865 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8767,3 +8767,43 @@ support for JSON Schema Draft 3, JSON Schema Draft 2, 
and JSON Schema Draft 1
 is also included.")
 (home-page "https://github.com/ruby-json-schema/json-schema;)
 (license license:expat)))
+
+(define-public swagger-diff
+  (package
+(name "swagger-diff")
+(version "1.1.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (rubygems-uri "swagger-diff" version))
+   (sha256
+(base32
+ "1hxx50nga1bqn254iqjcdwkc9c72364ks9lyjyw10ajz0l0ly7sn"
+(build-system ruby-build-system)
+(arguments
+ `(#:test-target "spec"
+   #:phases
+   (modify-phases %standard-phases
+ ;; Don't run or require rubocop, the code linting tool, as this is a
+ ;; bit unnecessary.
+ (add-after 'unpack 'dont-run-rubocop
+   (lambda _
+ (substitute* "Rakefile"
+   ((".*rubocop.*") "")
+   ((".*RuboCop.*") ""))
+ #t)
+(propagated-inputs
+ `(("ruby-json-schema" ,ruby-json-schema)))
+(native-inputs
+ `(("bundler" ,bundler)
+   ("ruby-rspec-core" ,ruby-rspec-core)
+   ("ruby-rspec-expectations" ,ruby-rspec-expectations)))
+(synopsis
+ "Compare Open API Initiative specification files")
+(description
+ "Swagger::Diff is a utility for comparing two different Open API
+Initiative (OAI) specifications (formerly known as Swagger specifications).
+It is intended to determine whether a newer API specification is
+backwards-compatible with an older API specification.")
+(home-page "https://github.com/civisanalytics/swagger-diff;)
+(license license:bsd-3)))



branch master updated (d4cf5b0 -> 44881ca)

2019-08-15 Thread guix-commits
jlicht pushed a change to branch master
in repository guix.

  from  d4cf5b0   gnu: einstein: Use mirror for source download.
   new  369faa5   gnu: Add ruby-json-schema.
   new  44881ca   gnu: Add swagger-diff.

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


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



branch master updated (e3a39ad -> d4cf5b0)

2019-08-15 Thread guix-commits
efraim pushed a change to branch master
in repository guix.

  from  e3a39ad   gnu: Remove python2-internetarchive.
   new  d4cf5b0   gnu: einstein: Use mirror for source download.

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


Summary of changes:
 gnu/packages/games.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



04/07: bootstrap: Add mes-minimal-stripped-tarball.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit ed050b1cf51941046466d07ba7e94bd9fba02e00
Author: Jan Nieuwenhuizen 
Date:   Mon Jul 22 10:07:41 2019 +0200

bootstrap: Add mes-minimal-stripped-tarball.

* gnu/packages/make-bootstrap.scm (%mes-minimal, %mes-minimal-stripped,
%mes-bootstrap-tarball): New variable.

Modified-By: Mark H Weaver 
---
 gnu/packages/make-bootstrap.scm | 92 +
 1 file changed, 92 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 5d80f58..cf9f8b4 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -49,6 +49,7 @@
 %gcc-bootstrap-tarball
 %guile-bootstrap-tarball
 %mescc-tools-bootstrap-tarball
+%mes-bootstrap-tarball
 %bootstrap-tarballs
 
 %guile-static-stripped))
@@ -598,6 +599,93 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
  '( "M1" "blood-elf" "hex2"))
#t
 (inputs `(("mescc-tools" ,%mescc-tools-static)
+
+;; (define-public %mes-minimal-stripped
+;;   ;; A minimal Mes without documentation dependencies, for bootstrap.
+;;   (let ((triplet "i686-unknown-linux-gnu"))
+;; (package
+;;   (inherit mes)
+;;   (name "mes-minimal-stripped")
+;;   (native-inputs
+;;`(("guile" ,guile-2.2)))
+;;   (arguments
+;;`(#:system "i686-linux"
+;;  #:strip-binaries? #f
+;;  #:configure-flags '("--mes")
+;;  #:phases
+;;  (modify-phases %standard-phases
+;;(delete 'patch-shebangs)
+;;(add-after 'install 'strip-install
+;;  (lambda _
+;;(let* ((out (assoc-ref %outputs "out"))
+;;   (share (string-append out "/share")))
+;;  (delete-file-recursively (string-append out "/lib/guile"))
+;;  (delete-file-recursively (string-append share "/guile"))
+;;  (delete-file-recursively (string-append share 
"/mes/scaffold"))
+
+;;  (for-each delete-file
+;;(find-files
+;; (string-append share "/mes/lib") "\\.(h|c)"))
+
+;;  (for-each (lambda (dir)
+;;  (for-each remove-store-references
+;;(find-files (string-append out "/" 
dir)
+;;".*")))
+;;'("bin" "share/mes")))
+
+;; Two packages: first build static, bare minimum content.
+(define-public %mes-minimal
+  ;; A minimal Mes without documentation.
+  (let ((triplet "i686-unknown-linux-gnu"))
+(package
+  (inherit mes)
+  (name "mes-minimal")
+  (native-inputs
+   `(("guile" ,guile-2.2)))
+  (arguments
+   `(#:system "i686-linux"
+ #:strip-binaries? #f
+ #:configure-flags '("--mes")
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'patch-shebangs)
+   (add-after 'install 'strip-install
+ (lambda _
+   (let* ((out (assoc-ref %outputs "out"))
+  (share (string-append out "/share")))
+ (delete-file-recursively (string-append out "/lib/guile"))
+ (delete-file-recursively (string-append share "/guile"))
+ (delete-file-recursively (string-append share 
"/mes/scaffold"))
+
+ (for-each delete-file
+   (find-files
+(string-append share "/mes/lib")
+"\\.(h|c)")))
+
+;; next remove store references.
+(define %mes-minimal-stripped
+  ;; A minimal Mes with store references removed, for bootstrap.
+  (package
+(inherit %mes-minimal)
+(name (string-append (package-name %mes-minimal) "-stripped"))
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder
+   (begin
+ (use-modules (guix build utils))
+ (let ((in  (assoc-ref %build-inputs "mes"))
+   (out (assoc-ref %outputs "out")))
+
+   (copy-recursively in out)
+   (for-each (lambda (dir)
+   (for-each remove-store-references
+ (find-files (string-append out "/" dir)
+ ".*")))
+ '("bin" "share/mes"))
+   #t
+(inputs `(("mes" ,%mes-minimal)
+
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
   ;; .scm and .go files relative to its installation directory, rather
@@ -769,6 +857,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
   ;; A tarball with statically-linked MesCC binary seed.
   (tarball-package 

branch wip-binaries created (now 9e6256b)

2019-08-15 Thread guix-commits
mhw pushed a change to branch wip-binaries
in repository guix.

at  9e6256b   bootstrap: guile-static: Disable parallel build.

This branch includes the following new commits:

   new  4f3811f   guix: copy-linux-headers: Extract procedure, add headers.
   new  5b8c6ab   gnu: Add linux-libre-headers-bootstrap-tarball.
   new  fb925c7   bootstrap: Add mescc-tools-static-stripped-tarball.
   new  ed050b1   bootstrap: Add mes-minimal-stripped-tarball.
   new  6744cef   bootstrap: Build the new reduced binary seed bootstrap on 
x86.
   new  fe507d7   bootstrap: Build bootstrap bash deterministically.
   new  9e6256b   bootstrap: guile-static: Disable parallel build.

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




branch wip-binaries deleted (was c67becb)

2019-08-15 Thread guix-commits
mhw pushed a change to branch wip-binaries
in repository guix.

   was  c67becb   bootstrap: guile-static: Disable parallel build.

This change permanently discards the following revisions:

  discards  c67becb   bootstrap: guile-static: Disable parallel build.
  discards  c0715a9   bootstrap: Build bootstrap bash deterministically.
  discards  857ea31   bootstrap: Build the new reduced binary seed bootstrap on 
x86.
  discards  e60b3b9   bootstrap: Add mes-minimal-stripped-tarball.
  discards  08664c1   bootstrap: Add mescc-tools-static-stripped-tarball.
  discards  78ced79   gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
  discards  432f796   gnu: Add linux-libre-headers-bootstrap-tarball.
  discards  2784fc1   guix: copy-linux-headers: Extract procedure, add headers.



07/07: bootstrap: guile-static: Disable parallel build.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit 9e6256ba0f32ab12d61c914a3fed879dac881762
Author: Mark H Weaver 
Date:   Mon Aug 12 00:59:51 2019 -0400

bootstrap: guile-static: Disable parallel build.

* gnu/packages/make-bootstrap.scm (%guile-static)[arguments]:
Override #:parallel-build? to be #f.
---
 gnu/packages/make-bootstrap.scm | 4 
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 2f0bb30..37bf4e9 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -753,6 +753,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
  ((#:tests? _ #f)
   ;; There are uses of `dynamic-link' in
   ;; {foreign,coverage}.test that don't fly here.
+  #f)
+ ((#:parallel-build? _ #f)
+  ;; Work around the fact that the Guile build system is
+  ;; not deterministic when parallel-build is enabled.
   #f))
 (package-with-relocatable-glibc (static-package guile
 



03/07: bootstrap: Add mescc-tools-static-stripped-tarball.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit fb925c7257104077ccc8117087e60bec8b551f45
Author: Jan Nieuwenhuizen 
Date:   Mon Jul 22 10:07:07 2019 +0200

bootstrap: Add mescc-tools-static-stripped-tarball.

* gnu/packages/make-bootstrap.scm (%mescc-tools-static,
%mescc-tools-static-stripped, %mescc-tools-bootstrap-tarball): New variable.

Modified-By: Mark H Weaver 
---
 gnu/packages/make-bootstrap.scm | 68 +
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index af9373a..5d80f58 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Efraim Flashner 
 ;;; Copyright © 2018 Tobias Geerinckx-Rice 
 ;;; Copyright © 2018 Mark H Weaver 
+;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,7 @@
   #:use-module (gnu packages libunistring)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages mes)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -46,6 +48,7 @@
 %glibc-bootstrap-tarball
 %gcc-bootstrap-tarball
 %guile-bootstrap-tarball
+%mescc-tools-bootstrap-tarball
 %bootstrap-tarballs
 
 %guile-static-stripped))
@@ -534,6 +537,67 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
#t
 (inputs `(("gcc" ,%gcc-static)
 
+;; One package: build + remove store references
+;; (define %mescc-tools-static-stripped
+;;   ;; A statically linked Mescc Tools with store references removed, for
+;;   ;; bootstrap.
+;;   (package
+;; (inherit mescc-tools)
+;; (name "mescc-tools-static-stripped")
+;; (arguments
+;;  `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
"out"))
+;;   "CC=gcc -static")
+;;#:test-target "test"
+;;#:phases (modify-phases %standard-phases
+;;   (delete 'configure)
+;;   (add-after 'install 'strip-store-references
+;; (lambda _
+;;   (let* ((out (assoc-ref %outputs "out"))
+;;  (bin (string-append out "/bin")))
+;; (for-each (lambda (file)
+;;  (let ((target (string-append bin "/" 
file)))
+;;(format #t "strippingg `~a'...~%" target)
+;;(remove-store-references target)))
+;;   '( "M1" "blood-elf" "hex2"))
+
+;; Two packages: first build static, bare minimum content.
+(define %mescc-tools-static
+  ;; A statically linked MesCC Tools.
+  (package
+(inherit mescc-tools)
+(name "mescc-tools-static")
+(arguments
+ `(#:system "i686-linux"
+   ,@(substitute-keyword-arguments (package-arguments mescc-tools)
+   ((#:make-flags flags)
+`(cons "CC=gcc -static" ,flags)))
+
+;; ... next remove store references.
+(define %mescc-tools-static-stripped
+  ;; A statically linked Mescc Tools with store references removed, for
+  ;; bootstrap.
+  (package
+(inherit %mescc-tools-static)
+(name (string-append (package-name %mescc-tools-static) "-stripped"))
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder
+   (begin
+ (use-modules (guix build utils))
+ (let* ((in  (assoc-ref %build-inputs "mescc-tools"))
+(out (assoc-ref %outputs "out"))
+(bin (string-append out "/bin")))
+   (mkdir-p bin)
+   (for-each (lambda (file)
+   (let ((target (string-append bin "/" file)))
+ (format #t "copying `~a'...~%" file)
+ (copy-file (string-append in "/bin/" file)
+target)
+ (remove-store-references target)))
+ '( "M1" "blood-elf" "hex2"))
+   #t
+(inputs `(("mescc-tools" ,%mescc-tools-static)
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
   ;; .scm and .go files relative to its installation directory, rather
@@ -701,6 +765,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
   ;; A tarball with the statically-linked, relocatable Guile.
   (tarball-package %guile-static-stripped))
 
+(define %mescc-tools-bootstrap-tarball
+  ;; A tarball with statically-linked MesCC binary seed.
+  (tarball-package %mescc-tools-static-stripped))
+
 (define %bootstrap-tarballs
   ;; A single derivation containing all the bootstrap tarballs, for
   ;; convenience.



01/07: guix: copy-linux-headers: Extract procedure, add headers.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit 4f3811f6bbdfba817601eb3168f5b3e0d2f1c3f6
Author: Jan Nieuwenhuizen 
Date:   Sun Sep 9 11:42:29 2018 +0200

guix: copy-linux-headers: Extract procedure, add headers.

* guix/build/make-bootstrap.scm (copy-linux-headers): New procedure; extract
from make-stripped-libc and add headers for Mes bootstrap.
(make-stripped-libc): Use it.
---
 guix/build/make-bootstrap.scm | 72 +++
 1 file changed, 53 insertions(+), 19 deletions(-)

diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm
index 48799f7..e5ef1d6 100644
--- a/guix/build/make-bootstrap.scm
+++ b/guix/build/make-bootstrap.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2017 Manolis Fragkiskos Ragkousis 
 ;;; Copyright © 2015, 2019 Ludovic Courtès 
+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +24,8 @@
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
   #:use-module (guix build utils)
-  #:export (make-stripped-libc))
+  #:export (copy-linux-headers
+make-stripped-libc))
 
 ;; Commentary:
 ;;
@@ -31,6 +33,53 @@
 ;;
 ;; Code:
 
+(define (copy-linux-headers output kernel-headers)
+  "Copy to OUTPUT the subset of KERNEL-HEADERS that is needed when producing a
+bootstrap libc."
+
+  (let* ((incdir (string-append output "/include")))
+(mkdir-p incdir)
+
+;; Copy some of the Linux-Libre headers that glibc headers
+;; refer to.
+(mkdir (string-append incdir "/linux"))
+(for-each (lambda (file)
+(install-file (pk 'src (string-append kernel-headers 
"/include/linux/" file))
+  (pk 'dest (string-append incdir "/linux"
+  '(
+"a.out.h"   ; for 2.2.5
+"atalk.h"   ; for 2.2.5
+"errno.h"
+"falloc.h"
+"if_addr.h" ; for 2.16.0
+"if_ether.h"; for 2.2.5
+"if_link.h" ; for 2.16.0
+"ioctl.h"
+"kernel.h"
+"limits.h"
+"neighbour.h"   ; for 2.16.0
+"netlink.h" ; for 2.16.0
+"param.h"
+"prctl.h"   ; for 2.16.0
+"posix_types.h"
+"rtnetlink.h"   ; for 2.16.0
+"socket.h"
+"stddef.h"
+"swab.h"; for 2.2.5
+"sysctl.h"
+"sysinfo.h" ; for 2.2.5
+"types.h"
+"version.h" ; for 2.2.5
+))
+
+(copy-recursively (string-append kernel-headers "/include/asm")
+  (string-append incdir "/asm"))
+(copy-recursively (string-append kernel-headers "/include/asm-generic")
+  (string-append incdir "/asm-generic"))
+(copy-recursively (string-append kernel-headers "/include/linux/byteorder")
+  (string-append incdir "/linux/byteorder"))
+#t))
+
 (define (make-stripped-libc output libc kernel-headers)
   "Copy to OUTPUT the subset of LIBC and KERNEL-HEADERS that is needed
 when producing a bootstrap libc."
@@ -43,25 +92,10 @@ when producing a bootstrap libc."
 (string-append incdir "/mach"))
   #t))
   
-  (define (copy-linux-headers output kernel-headers)
+  (define (copy-libc+linux-headers output kernel-headers)
 (let* ((incdir (string-append output "/include")))
   (copy-recursively (string-append libc "/include") incdir)
-
-  ;; Copy some of the Linux-Libre headers that glibc headers
-  ;; refer to.
-  (mkdir (string-append incdir "/linux"))
-  (for-each (lambda (file)
-  (install-file (string-append kernel-headers 
"/include/linux/" file)
-(string-append incdir "/linux")))
-'("limits.h" "errno.h" "socket.h" "kernel.h"
-  "sysctl.h" "param.h" "ioctl.h" "types.h"
-  "posix_types.h" "stddef.h" "falloc.h"))
-
-  (copy-recursively (string-append kernel-headers "/include/asm")
-(string-append incdir "/asm"))
-  (copy-recursively (string-append kernel-headers "/include/asm-generic")
-(string-append incdir "/asm-generic"))
-  #t))
+  (copy-linux-headers output kernel-headers)))
 
   (define %libc-object-files-rx "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|\
 util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
@@ -80,6 +114,6 @@ _nonshared\\.a)$")
 
 (if (directory-exists? (string-append kernel-headers "/include/mach"))
 (copy-mach-headers output kernel-headers)
-(copy-linux-headers output kernel-headers)))
+

05/07: bootstrap: Build the new reduced binary seed bootstrap on x86.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit 6744cef5b033c60a388d1de9a6b08c917cc51a4c
Author: Mark H Weaver 
Date:   Mon Aug 12 17:43:03 2019 -0400

bootstrap: Build the new reduced binary seed bootstrap on x86.

* gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[inputs]: On 
i686-linux
and x86_64-linux, substitute linux-libre-headers, Mes, and MesCC, in place 
of
GCC, binutils, and glibc.
---
 gnu/packages/make-bootstrap.scm | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index cf9f8b4..d3b13d9 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -889,9 +889,15 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
%build-inputs)
  #t)))
 (inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
-  ("gcc-tarball" ,%gcc-bootstrap-tarball)
-  ("binutils-tarball" ,%binutils-bootstrap-tarball)
-  ("glibc-tarball" ,(%glibc-bootstrap-tarball))
+  ,@(match (or (%current-target-system) (%current-system))
+  ((or "i686-linux" "x86_64-linux")
+   `(("bootstrap-mescc-tools" ,%mescc-tools-bootstrap-tarball)
+ ("bootstrap-mes" ,%mes-bootstrap-tarball)
+ ("bootstrap-linux-libre-headers"
+  ,%linux-libre-headers-bootstrap-tarball)))
+  (_ `(("gcc-tarball" ,%gcc-bootstrap-tarball)
+   ("binutils-tarball" ,%binutils-bootstrap-tarball)
+   ("glibc-tarball" ,(%glibc-bootstrap-tarball)
   ("coreutils" ,%bootstrap-binaries-tarball)))
 (synopsis "Tarballs containing all the bootstrap binaries")
 (description synopsis)



02/07: gnu: Add linux-libre-headers-bootstrap-tarball.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit 5b8c6abcfcbe97888779fdfe0cd9768f7599129b
Author: Jan Nieuwenhuizen 
Date:   Sun Sep 9 11:48:10 2018 +0200

gnu: Add linux-libre-headers-bootstrap-tarball.

* gnu/packages/make-bootstrap.scm (%linux-libre-headers-stripped): New 
variable.
(%linux-libre-headers-bootstrap-tarball): New variable.
---
 gnu/packages/make-bootstrap.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index c6002eb..af9373a 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -41,6 +41,7 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:export (%bootstrap-binaries-tarball
+%linux-libre-headers-bootstrap-tarball
 %binutils-bootstrap-tarball
 %glibc-bootstrap-tarball
 %gcc-bootstrap-tarball
@@ -300,6 +301,26 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
 (license gpl3+)
 (home-page #f)))
 
+(define %linux-libre-headers-stripped
+  ;; The subset of Linux-Libre-Headers that we need.
+  (package (inherit linux-libre-headers)
+(name (string-append (package-name linux-libre-headers) "-stripped"))
+(build-system trivial-build-system)
+(outputs '("out"))
+(arguments
+ `(#:modules ((guix build utils)
+  (guix build make-bootstrap))
+   #:builder
+   (begin
+ (use-modules (guix build utils)
+  (guix build make-bootstrap))
+
+ (let* ((in  (assoc-ref %build-inputs "linux-libre-headers"))
+(out (assoc-ref %outputs "out")))
+   (copy-linux-headers out in)
+   #t
+(inputs `(("linux-libre-headers" ,linux-libre-headers)
+
 (define %binutils-static
   ;; Statically-linked Binutils.
   (package (inherit binutils)
@@ -660,6 +681,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
   ;; A tarball with the statically-linked bootstrap binaries.
   (tarball-package %static-binaries))
 
+(define %linux-libre-headers-bootstrap-tarball
+  ;; A tarball with the statically-linked Linux-Libre-Headers programs.
+  (tarball-package %linux-libre-headers-stripped))
+
 (define %binutils-bootstrap-tarball
   ;; A tarball with the statically-linked Binutils programs.
   (tarball-package %binutils-static-stripped))



06/07: bootstrap: Build bootstrap bash deterministically.

2019-08-15 Thread guix-commits
mhw pushed a commit to branch wip-binaries
in repository guix.

commit fe507d7a3d83169c77b6f73a66ffa0ce59f1119d
Author: Mark H Weaver 
Date:   Sun Aug 11 22:37:12 2019 -0400

bootstrap: Build bootstrap bash deterministically.

* gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): New variable.
(%static-inputs): Use 'static-bash-for-bootstrap' instead of 'static-bash'.
---
 gnu/local.mk   |  1 +
 gnu/packages/make-bootstrap.scm| 15 ---
 .../patches/bash-4.4-linux-pgrp-pipe.patch | 30 ++
 3 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 16b63bc..38a06e5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -697,6 +697,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/avidemux-install-to-lib.patch   \
   %D%/packages/patches/awesome-reproducible-png.patch  \
   %D%/packages/patches/azr3.patch  \
+  %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch  \
   %D%/packages/patches/bash-completion-directories.patch   \
   %D%/packages/patches/bastet-change-source-of-unordered_set.patch \
   %D%/packages/patches/bazaar-CVE-2017-14176.patch \
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index d3b13d9..2f0bb30 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès 

 ;;; Copyright © 2017 Efraim Flashner 
 ;;; Copyright © 2018 Tobias Geerinckx-Rice 
-;;; Copyright © 2018 Mark H Weaver 
+;;; Copyright © 2018, 2019 Mark H Weaver 
 ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -125,6 +125,15 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
 (current-source-location)
 #:native-inputs native-inputs))
 
+(define static-bash-for-bootstrap
+  (package
+(inherit static-bash)
+(source (origin
+  (inherit (package-source static-bash))
+  (patches
+   (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch")
+ (origin-patches (package-source static-bash
+
 (define %static-inputs
   ;; Packages that are to be used as %BOOTSTRAP-INPUTS.
   (let ((coreutils (package (inherit coreutils)
@@ -192,7 +201,7 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
  (("-Wl,-export-dynamic") ""))
#t)))
 (inputs (if (%current-target-system)
-`(("bash" ,static-bash))
+`(("bash" ,static-bash-for-bootstrap))
 '()
(tar (package (inherit tar)
   (arguments
@@ -233,7 +242,7 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
("sed" ,sed)
("grep" ,grep)
("gawk" ,gawk)))
-  ("bash" ,static-bash
+  ("bash" ,static-bash-for-bootstrap
 
 (define %static-binaries
   (package
diff --git a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch 
b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
new file mode 100644
index 000..0d03d7c
--- /dev/null
+++ b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
@@ -0,0 +1,30 @@
+Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
+the kernel version in use on the build machine.
+
+--- configure.ac.orig  1969-12-31 19:00:00.0 -0500
 configure.ac   2019-08-11 22:28:26.038841961 -0400
+@@ -1092,9 +1092,7 @@
+ solaris2*)LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)  LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)   LOCAL_LDFLAGS=-rdynamic  # allow dynamic loading
+-  case "`uname -r`" in
+-  2.[[456789]]*|[[34]]*)  AC_DEFINE(PGRP_PIPE) ;;
+-  esac ;;
++  AC_DEFINE(PGRP_PIPE) ;;
+ *qnx6*)   LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+ *qnx*)LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" 
LOCAL_LIBS="-lunix -lncurses" ;;
+ powerux*) LOCAL_LIBS="-lgen" ;;
+--- configure.orig 1969-12-31 19:00:00.0 -0500
 configure  2019-08-11 22:28:10.166763255 -0400
+@@ -16064,10 +16064,7 @@
+ solaris2*)LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)  LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)   LOCAL_LDFLAGS=-rdynamic  # allow dynamic loading
+-  case "`uname -r`" in
+-  2.[456789]*|[34]*)  $as_echo "#define PGRP_PIPE 1" 
>>confdefs.h
+- ;;
+-  esac ;;
++  $as_echo "#define PGRP_PIPE 1" >>confdefs.h 

01/01: gnu: einstein: Use mirror for source download.

2019-08-15 Thread guix-commits
efraim pushed a commit to branch master
in repository guix.

commit d4cf5b018a6ec9170ca1b8c46023003c164364b9
Author: Efraim Flashner 
Date:   Thu Aug 15 21:03:19 2019 +0300

gnu: einstein: Use mirror for source download.

* gnu/packages/games.scm (einstein)[source]: Use 'mirror' syntax.
---
 gnu/packages/games.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 92df556..c37364e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2830,7 +2830,7 @@ players.")
 (version "2.0")
 (source (origin
   (method url-fetch)
-  (uri (string-append "http://http.debian.net/debian/pool/main/e/;
+  (uri (string-append "mirror://debian/pool/main/e/"
   "einstein/einstein_2.0.dfsg.2.orig.tar.gz"))
   (sha256
(base32