summaryrefslogtreecommitdiff
path: root/guix/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts')
-rw-r--r--guix/scripts/build.scm13
-rw-r--r--guix/scripts/environment.scm28
2 files changed, 25 insertions, 16 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 2307f76b42..7fd05da189 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -77,19 +77,26 @@ the new package's version number from URI."
;; Return the "base" of FILE-NAME, removing '.tar.gz' or similar
;; extensions.
;; TODO: Factorize.
- (cond ((numeric-extension? file-name)
+ (cond ((not (file-extension file-name))
+ file-name)
+ ((numeric-extension? file-name)
file-name)
((string=? (file-extension file-name) "tar")
(file-sans-extension file-name))
+ ((file-extension file-name)
+ (tarball-base-name (file-sans-extension file-name)))
(else
- (tarball-base-name (file-sans-extension file-name)))))
+ file-name)))
(let ((base (tarball-base-name (basename uri))))
(let-values (((name version)
(package-name->name+version base)))
(package (inherit p)
(version (or version (package-version p)))
- (source (download-to-store store uri))))))
+
+ ;; Use #:recursive? #t to allow for directories.
+ (source (download-to-store store uri
+ #:recursive? #t))))))
;;;
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 42178091e6..007fde1606 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -232,20 +232,22 @@ packages."
(alist-cons 'package arg result))
(with-error-handling
- (with-store store
- (let* ((opts (parse-command-line args %options (list %default-options)
- #:argument-handler handle-argument))
- (pure? (assoc-ref opts 'pure))
- (ad-hoc? (assoc-ref opts 'ad-hoc?))
- (command (assoc-ref opts 'exec))
- (packages (pick-all (options/resolve-packages opts) 'package))
- (inputs (if ad-hoc?
+ (let* ((opts (parse-command-line args %options (list %default-options)
+ #:argument-handler handle-argument))
+ (pure? (assoc-ref opts 'pure))
+ (ad-hoc? (assoc-ref opts 'ad-hoc?))
+ (command (assoc-ref opts 'exec))
+ (packages (pick-all (options/resolve-packages opts) 'package))
+ (inputs (if ad-hoc?
(packages+propagated-inputs packages)
- (packages->transitive-inputs packages)))
- (drvs (run-with-store store
- (mbegin %store-monad
- (set-guile-for-build (default-guile))
- (build-inputs inputs opts)))))
+ (packages->transitive-inputs packages))))
+ (with-store store
+ (define drvs
+ (run-with-store store
+ (mbegin %store-monad
+ (set-guile-for-build (default-guile))
+ (build-inputs inputs opts))))
+
(cond ((assoc-ref opts 'dry-run?)
#t)
((assoc-ref opts 'search-paths)