summary refs log tree commit diff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
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)