summaryrefslogtreecommitdiff
path: root/guix/self.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-11-06 15:48:04 +0100
committerLudovic Courtès <ludo@gnu.org>2018-11-06 17:00:02 +0100
commite3744779aabc4badd992f52ebaa085e6d68a2eeb (patch)
tree16c6c79d3aed959c177bb6272b8d0df77b919456 /guix/self.scm
parenta2f99207dd318c0082b3aabe1384b0a7e427df4e (diff)
self: Install shell completion files.
* guix/self.scm (miscellaneous-files): New procedure. (whole-package): Remove #:substitute-keys, add #:miscellany. [build]: Remove code for SUBSTITUTE-KEYS and add code to copy MISCELLANY to OUTPUT. (compiled-guix): Adjust call to 'whole-package'.
Diffstat (limited to 'guix/self.scm')
-rw-r--r--guix/self.scm34
1 files changed, 24 insertions, 10 deletions
diff --git a/guix/self.scm b/guix/self.scm
index 43223972c6..96fef44e78 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -405,11 +405,28 @@ load path."
(apply guix-main (command-line))))
#:guile guile))
+(define (miscellaneous-files source)
+ "Return data files taken from SOURCE."
+ (file-mapping "guix-misc"
+ `(("etc/bash_completion.d/guix"
+ ,(file-append* source "/etc/completion/bash/guix"))
+ ("etc/bash_completion.d/guix-daemon"
+ ,(file-append* source "/etc/completion/bash/guix-daemon"))
+ ("share/zsh/site-functions/_guix"
+ ,(file-append* source "/etc/completion/zsh/_guix"))
+ ("share/fish/vendor_completions.d/guix.fish"
+ ,(file-append* source "/etc/completion/fish/guix.fish"))
+ ("share/guix/hydra.gnu.org.pub"
+ ,(file-append* source
+ "/etc/substitutes/hydra.gnu.org.pub"))
+ ("share/guix/berlin.guixsd.org.pub"
+ ,(file-append* source "/etc/substitutes/berlin.guixsd.org.pub")))))
+
(define* (whole-package name modules dependencies
#:key
(guile-version (effective-version))
compiled-modules
- info daemon substitute-keys
+ info daemon miscellany
guile
(command (guix-command modules
#:dependencies dependencies
@@ -424,6 +441,7 @@ assumed to be part of MODULES."
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
+
(mkdir-p (string-append #$output "/bin"))
(symlink #$command
(string-append #$output "/bin/guix"))
@@ -432,13 +450,6 @@ assumed to be part of MODULES."
(symlink (string-append #$daemon "/bin/guix-daemon")
(string-append #$output "/bin/guix-daemon")))
- (when #$substitute-keys
- (mkdir-p (string-append #$output "/share/guix"))
- (copy-recursively #$substitute-keys
- (string-append #$output
- "/share/guix")
- #:log (%make-void-port "w")))
-
(let ((modules (string-append #$output
"/share/guile/site/"
(effective-version)))
@@ -450,6 +461,10 @@ assumed to be part of MODULES."
(string-append #$output
"/share/info"))))
+ (when #$miscellany
+ (copy-recursively #$miscellany #$output
+ #:log (%make-void-port "w")))
+
;; Object files.
(when #$compiled-modules
(let ((modules (string-append #$output "/lib/guile/"
@@ -675,8 +690,7 @@ assumed to be part of MODULES."
'guix-daemon)
#:info (info-manual source)
- #:substitute-keys (file-append* source
- "etc/substitutes")
+ #:miscellany (miscellaneous-files source)
#:guile-version guile-version)))
((= 0 pull-version)
;; Legacy 'guix pull': return the .scm and .go files as one