summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-04-08 16:38:53 +0200
committerLudovic Courtès <ludo@gnu.org>2018-04-08 17:41:08 +0200
commit278c16579dfe59833155b1e7678a727e60fa6540 (patch)
tree2e4d61d5c8a6819f228e7c073fb3af1797d7747c
parentb244ae25f9d5d09ef62f59249c794601b1433886 (diff)
downloadguix-278c16579dfe59833155b1e7678a727e60fa6540.tar.gz
gnu: Add 'guix-register'.
* gnu/packages/package-management.scm (guix-register): New variable.
-rw-r--r--gnu/packages/package-management.scm27
1 files changed, 27 insertions, 0 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index a90ba7a21a..f0c6b8a7e9 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -283,6 +283,33 @@ the Nix package manager.")
 ;; Alias for backward compatibility.
 (define-public guix-devel guix)
 
+(define-public guix-register
+  ;; This package is for internal consumption: it allows us to quickly build
+  ;; the 'guix-register' program, which is referred to by (guix config).
+  ;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme
+  ;; code.
+  (package
+    (inherit guix)
+    (properties `((hidden? . #t)))
+    (name "guix-register")
+    (arguments
+     (substitute-keyword-arguments (package-arguments guix)
+       ((#:tests? #f #f)
+        #f)
+       ((#:phases phases '%standard-phases)
+        `(modify-phases ,phases
+           (replace 'build
+             (lambda _
+               (invoke "make" "nix/libstore/schema.sql.hh")
+               (invoke "make" "-j" (number->string
+                                    (parallel-job-count))
+                       "guix-register")))
+           (delete 'copy-bootstrap-guile)
+           (replace 'install
+             (lambda _
+               (invoke "make" "install-sbinPROGRAMS")))
+           (delete 'wrap-program)))))))
+
 (define-public guile2.0-guix
   (package
     (inherit guix)