aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-04-26 11:56:24 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-05-04 18:33:20 +0300
commitd7653761d35a86e3fc2e654fe5815a0d227326db (patch)
tree9e1cce553b3c535e8ed68f77ba9e60a408d70135
parent145eba0965e81cb95b8632237cb27217307957e3 (diff)
downloadguix-d7653761d35a86e3fc2e654fe5815a0d227326db.tar.gz
guix-d7653761d35a86e3fc2e654fe5815a0d227326db.zip
build-system/copy: Avoid use of 'set!'.
This fixes the copy-build-system on powerpc-linux. * guix/build/copy-build-system.scm (install)[install]: Don't clobber 'target' variable and move variable assignation into the let statement.
-rw-r--r--guix/build/copy-build-system.scm9
1 files changed, 5 insertions, 4 deletions
diff --git a/guix/build/copy-build-system.scm b/guix/build/copy-build-system.scm
index ac4a62a074..fb2d1db056 100644
--- a/guix/build/copy-build-system.scm
+++ b/guix/build/copy-build-system.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -133,8 +134,8 @@ given, then the predicate always returns DEFAULT-VALUE."
file-list))))
(define* (install source target #:key include exclude include-regexp exclude-regexp)
- (set! target (string-append (assoc-ref outputs "out") "/" target))
- (let ((filters? (or include exclude include-regexp exclude-regexp)))
+ (let ((final-target (string-append (assoc-ref outputs "out") "/" target))
+ (filters? (or include exclude include-regexp exclude-regexp)))
(when (and (not (file-is-directory? source))
filters?)
(error "Cannot use filters when SOURCE is a file."))
@@ -143,12 +144,12 @@ given, then the predicate always returns DEFAULT-VALUE."
(and (file-is-directory? source)
filters?))))
(if multi-files-in-source?
- (install-file-list source target
+ (install-file-list source final-target
#:include include
#:exclude exclude
#:include-regexp include-regexp
#:exclude-regexp exclude-regexp)
- (install-simple source target)))))
+ (install-simple source final-target)))))
(for-each (lambda (plan) (apply install plan)) install-plan)
#t)