diff options
Diffstat (limited to 'guix/scripts/pull.scm')
-rw-r--r-- | guix/scripts/pull.scm | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index c5facd84d5..f4135efc99 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." @@ -187,17 +173,18 @@ Download and deploy the latest version of Guix.\n")) (define (guix-pull . args) (define (parse-options) ;; Return the alist of option values. - (args-fold args %options - (lambda (opt name arg result) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result) - (leave (_ "~A: unexpected argument~%") arg)) - %default-options)) + (args-fold* args %options + (lambda (opt name arg result) + (leave (_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (leave (_ "~A: unexpected argument~%") arg)) + %default-options)) (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 |