aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-08-29 07:41:30 +0100
committerChristopher Baines <mail@cbaines.net>2017-08-31 21:48:05 +0100
commita9d5e4bed1bd83136109ff3f8f5fd4881a52ab4b (patch)
treededa3ff3ba85a98b68af4e9d847df3fa2d33f9e9
parentfa9f5222a9e4d809e72537babea02c83086b6a90 (diff)
downloadguix-a9d5e4bed1bd83136109ff3f8f5fd4881a52ab4b.tar
guix-a9d5e4bed1bd83136109ff3f8f5fd4881a52ab4b.tar.gz
gnu: Fix current-guix.
Without this change, I get errors like: ERROR: In procedure string-drop: ERROR: Value out of range 0 to 35: 51 * gnu/packages/package-management.scm (current-guix): Pass exactly the same path to git-predicate and local-file, to ensure that the select? function is compatible.
-rw-r--r--gnu/packages/package-management.scm11
1 files changed, 6 insertions, 5 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 67a956dea1..a6c97e618e 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -312,10 +312,11 @@ generated file."
#t)))
(define-public current-guix
- (let ((select? (delay (or (git-predicate
- (string-append (current-source-directory)
- "/../.."))
- source-file?))))
+ (let* ((repository-root (canonicalize-path
+ (string-append (current-source-directory)
+ "/../..")))
+ (select? (delay (or (git-predicate repository-root)
+ source-file?))))
(lambda ()
"Return a package representing Guix built from the current source tree.
This works by adding the current source tree to the store (after filtering it
@@ -323,7 +324,7 @@ out) and returning a package that uses that as its 'source'."
(package
(inherit guix)
(version (string-append (package-version guix) "+"))
- (source (local-file "../.." "guix-current"
+ (source (local-file repository-root "guix-current"
#:recursive? #t
#:select? (force select?)))))))