summaryrefslogtreecommitdiff
path: root/gnu/packages/package-management.scm
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 /gnu/packages/package-management.scm
parentb244ae25f9d5d09ef62f59249c794601b1433886 (diff)
gnu: Add 'guix-register'.
* gnu/packages/package-management.scm (guix-register): New variable.
Diffstat (limited to 'gnu/packages/package-management.scm')
-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)