summaryrefslogtreecommitdiff
path: root/guix/build/download.scm
AgeCommit message (Collapse)Author
2014-05-23download: Enlarge your receive buffer.Ludovic Courtès
* guix/build/download.scm (open-connection-for-uri): Remove call to 'setsockopt'. * guix/http-client.scm (open-socket-for-uri)[rmem-max, buffer-size]: New variables. Add call to 'setsockopt'.
2014-04-16download: Improve progress report output.Ludovic Courtès
* guix/build/download.scm (url-fetch): Make current-output-port unbuffered.
2014-03-25download: Don't use 'http-get*' on Guile 2.0.10+.Ludovic Courtès
* guix/build/download.scm (http-fetch)[post-2.0.7?]: Use 'string->number' and numeric comparison. This fixes version comparison with "2.0.10" and subsequent 2.0 releases.
2014-02-10download: Provide a 'User-Agent' field in HTTP requests.Ludovic Courtès
Fixes <http://bugs.gnu.org/16703>. Reported by Raimon Grau <raimonster@gmail.com>. * guix/build/download.scm (http-fetch)[headers]: New variable. Pass it as #:headers or #:extra-headers to 'http-get' and 'http-get*'.
2013-06-22download: Don't fail when abbreviating `file://' URIs.Ludovic Courtès
* guix/build/download.scm (uri-abbreviation)[elide-path]: Handle the case where URI has no `host' part.
2013-06-20substitute-binary: Report progress while downloading.Ludovic Courtès
* guix/scripts/substitute-binary.scm (decompressed-port): Improve docstring. (progress-report-port): New procedure. (guix-substitute-binary)["--substitute"]: Use it to report progress. * guix/build/download.scm: Export `progress-proc' and `uri-abbreviation'.
2013-05-10download: Fix premature socket close on TLS connections.Ludovic Courtès
This would manifest when downloading a large file such as the Bazaar tarball, leading to an "Error in the pull function" GnuTLS exception. * guix/build/download.scm (add-weak-reference): New procedure. (tls-wrap): Add (add-weak-reference record port).
2013-02-20download: Adjust to `http-get*' deprecation.Ludovic Courtès
* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when using Guile 2.0.8+.
2013-01-25download: Follow HTTP redirection upon 301 "moved permanently".Ludovic Courtès
* guix/build/download.scm (http-fetch): Follow redirections upon 301. This is what `downloads.sourceforge.net' returns, for instance.
2013-01-20download: Add HTTPS support.Ludovic Courtès
* guix/build/download.scm: Autoload (gnutls). (tls-wrap): New procedure. (open-connection-for-uri): Add support for `https'. Wrap the socket with `tls-wrap' in that case. (url-fetch): Add `https'. * guix/download.scm (gnutls-derivation): New procedure. (url-fetch)[need-gnutls?]: New variable. Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output to the `GUILE_LOAD_PATH' env. var. in that case.
2013-01-11download: Abbreviate URLs when displaying the progress report.Ludovic Courtès
* guix/build/download.scm (uri-abbreviation): New procedure. (ftp-fetch, http-fetch): Use it instead of `uri->string' when calling `progress-proc'. Reported by Andreas Enge.
2013-01-06download: Report the progress of HTTP downloads.Ludovic Courtès
* guix/build/download.scm (http-fetch): Rename `bv' to `bv-or-port'. Use `http-get*' followed by `dump-port' when the former is available, and pass a progress procedure to `dump-port'.
2013-01-06download: Report the progress of FTP downloads.Ludovic Courtès
* guix/build/download.scm (progress-proc): New procedure. (ftp-fetch): Call `ftp-size' on URI. Use `progress-proc', and pass the result to `dump-port', along with #:buffer-size.
2013-01-06Merge branch 'master' into core-updatesLudovic Courtès
Conflicts: build-aux/download.scm distro/packages/autotools.scm distro/packages/base.scm distro/packages/bootstrap.scm distro/packages/lsh.scm distro/packages/make-bootstrap.scm distro/packages/ncurses.scm distro/packages/perl.scm tests/derivations.scm tests/union.scm
2013-01-05Update license headers of builder-side code.Ludovic Courtès
Change license headers with this script: (use-modules (guix build utils)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (cons "distro/packages/ld-wrapper.scm" (find-files "guix/build" "\\.scm$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) * distro/packages/ld-wrapper.scm, guix/build/download.scm, guix/build/gnu-build-system.scm, guix/build/union.scm, guix/build/utils.scm: Update license headers.
2012-12-17download: Correctly detect "No route to host" conditions.Ludovic Courtès
* guix/build/download.scm (open-connection-for-uri): Delete addrinfos with the same address. Always open SOCK_STREAM/IPPROTO_IP sockets. Fix the error handler's condition to determine what to do. Reported by Nikita Karetnikov <nikita.karetnikov@gmail.com> at <http://lists.gnu.org/archive/html/bug-guix/2012-12/msg00150.html>.
2012-12-14download: Work around (web client) bug <http://bugs.gnu.org/13095>.Ludovic Courtès
* guix/build/download.scm: Annihilate `shutdown' in (web client).
2012-11-27download: Keep only one slash when concatenating URIs.Ludovic Courtès
* guix/build/download.scm (url-fetch)[uri-vicinity]: New procedure. [maybe-expand-mirrors]: Use it.
2012-11-13download: Add support for mirror:// URLs.Ludovic Courtès
* guix/download.scm (%mirrors): New variable. Mirror lists taken from Nixpkgs. (url-fetch): New `mirrors' keyword parameter. [builder]: Pass it. * guix/build/download.scm (url-fetch): New `mirrors' keyword parameter. [maybe-expand-mirrors]: New procedure. [uri]: Use it.
2012-11-13download: Follow HTTP redirections.Ludovic Courtès
* guix/build/download.scm (http-fetch): Follow the redirection when CODE is 302.
2012-11-12Add (guix download) and (guix build download).Ludovic Courtès
* guix/download.scm, guix/build/download.scm: New files. * Makefile.am (MODULES): Add them. * tests/builders.scm ("url-fetch"): New test. * distro/packages/bootstrap.scm (bootstrap-origin): Support `url-fetch'. * guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead of `http-fetch'.