summaryrefslogtreecommitdiff
path: root/guix/scripts/pull.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts/pull.scm')
-rw-r--r--guix/scripts/pull.scm19
1 files changed, 3 insertions, 16 deletions
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index c5facd84d5..f99e8c1e3d 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -22,7 +22,7 @@
#:use-module (guix config)
#:use-module (guix packages)
#:use-module (guix derivations)
- #:use-module (guix build download)
+ #:use-module (guix download)
#:use-module (gnu packages base)
#:use-module ((gnu packages bootstrap)
#:select (%bootstrap-guile))
@@ -38,20 +38,6 @@
"http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz"
)
-(define (download-and-store store)
- "Download the latest Guix tarball, add it to STORE, and return its store
-path."
- ;; FIXME: Authenticate the downloaded file!
- ;; FIXME: Optimize data transfers using rsync, Git, bsdiff, or GNUnet's DHT.
- (call-with-temporary-output-file
- (lambda (temp port)
- (let ((result
- (parameterize ((current-output-port (current-error-port)))
- (url-fetch %snapshot-url temp))))
- (close port)
- (and result
- (add-to-store store "guix-latest.tar.gz" #f "sha256" temp))))))
-
(define (unpack store tarball)
"Return a derivation that unpacks TARBALL into STORE and compiles Scheme
files."
@@ -197,7 +183,8 @@ Download and deploy the latest version of Guix.\n"))
(with-error-handling
(let ((opts (parse-options))
(store (open-connection)))
- (let ((tarball (download-and-store store)))
+ (let ((tarball (download-to-store store %snapshot-url
+ "guix-latest.tar.gz")))
(unless tarball
(leave (_ "failed to download up-to-date source, exiting\n")))
(parameterize ((%guile-for-build