summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-04-27 11:40:18 +0200
committerLudovic Courtès <ludo@gnu.org>2013-04-27 11:40:18 +0200
commit786944576c9eaaed736f22dfcd58d1dd4d4e246c (patch)
treee955f14e1c4f210ada1bef31250a529b30d76135
parent1424a96e2592041bb995889c8214497b65b41511 (diff)
downloadguix-786944576c9eaaed736f22dfcd58d1dd4d4e246c.tar.gz
pull: Use `download-to-store'.
* guix/scripts/pull.scm (download-and-store): Remove.
  (unpack): Use `download-to-store' instead.
-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