summaryrefslogtreecommitdiff
path: root/guix/build/download.scm
Commit message (Collapse)AuthorAge
...
* download: Abstract the receive buffer size.Ludovic Courtès2015-02-27
| | | | | * guix/build/download.scm (%http-receive-buffer-size): New variable. (progress-proc, tls-wrap, http-fetch): Use it.
* download: Cope with Guile 2.0.6 or earlier.Mark H Weaver2015-02-24
| | | | | | * guix/build/download.scm: Do not attempt to support relative URIs in "Location" headers if 'declare-relative-uri-header!' is not present. This is the case for Guile 2.0.6 or earlier.
* download: Handle HTTP redirects to relative URI references.Mark H Weaver2015-02-19
| | | | | | | | | | | Fixes <http://bugs.gnu.org/19840>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http "Location" header to accept relative URIs. (resolve-uri-reference): New exported procedure. (http-fetch): Use 'resolve-uri-reference' to resolve redirections. * guix/http-client.scm (http-fetch): Use 'resolve-uri-reference'
* download: Export 'maybe-expand-mirrors'.Ludovic Courtès2014-12-29
| | | | | | * guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New procedures. (url-fetch): Remove them from here.
* lint: Add 'home-page' checker.Ludovic Courtès2014-12-28
| | | | | | * guix/build/download.scm (open-connection-for-uri): Export. * guix/scripts/lint.scm (probe-uri, check-home-page): New procedures. (%checkers): Add 'home-page' checker.
* download: Add "Accept: */*" to the headers.Ludovic Courtès2014-10-19
| | | | | | | Fixes downloads from https://alioth.debian.org. Reported by John Darrington <jmd@gnu.org>. * guix/build/download.scm (http-fetch)[headers]: Add 'Accept'.
* download: Use the 'SERVER NAME' TLS extension when possible.Ludovic Courtès2014-09-22
| | | | | | | | | Fixes <http://bugs.gnu.org/18526>. Reported by Mark H. Weaver. * guix/build/download.scm (tls-wrap): Add 'server' parameter. Call 'set-session-server-name!' when (gnutls) defines it. (open-connection-for-uri): Adjust 'tls-wrap' call accordingly.
* download: Enlarge your receive buffer.Ludovic Courtès2014-05-23
| | | | | | | * 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'.
* download: Improve progress report output.Ludovic Courtès2014-04-16
| | | | | * guix/build/download.scm (url-fetch): Make current-output-port unbuffered.
* download: Don't use 'http-get*' on Guile 2.0.10+.Ludovic Courtès2014-03-25
| | | | | | * 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.
* download: Provide a 'User-Agent' field in HTTP requests.Ludovic Courtès2014-02-10
| | | | | | | | | 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*'.
* download: Don't fail when abbreviating `file://' URIs.Ludovic Courtès2013-06-22
| | | | | * guix/build/download.scm (uri-abbreviation)[elide-path]: Handle the case where URI has no `host' part.
* substitute-binary: Report progress while downloading.Ludovic Courtès2013-06-20
| | | | | | | * 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'.
* download: Fix premature socket close on TLS connections.Ludovic Courtès2013-05-10
| | | | | | | | 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).
* download: Adjust to `http-get*' deprecation.Ludovic Courtès2013-02-20
| | | | | * guix/build/download.scm (http-fetch): Adjust to use #:streaming? when using Guile 2.0.8+.
* download: Follow HTTP redirection upon 301 "moved permanently".Ludovic Courtès2013-01-25
| | | | | * guix/build/download.scm (http-fetch): Follow redirections upon 301. This is what `downloads.sourceforge.net' returns, for instance.
* download: Add HTTPS support.Ludovic Courtès2013-01-20
| | | | | | | | | | | | * 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.
* download: Abbreviate URLs when displaying the progress report.Ludovic Courtès2013-01-11
| | | | | | * 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.
* download: Report the progress of HTTP downloads.Ludovic Courtès2013-01-06
| | | | | | * 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'.
* download: Report the progress of FTP downloads.Ludovic Courtès2013-01-06
| | | | | | * 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.
* Merge branch 'master' into core-updatesLudovic Courtès2013-01-06
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * download: Correctly detect "No route to host" conditions.Ludovic Courtès2012-12-17
| | | | | | | | | | | | | | | | * 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>.
* | Update license headers of builder-side code.Ludovic Courtès2013-01-05
|/ | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* download: Work around (web client) bug <http://bugs.gnu.org/13095>.Ludovic Courtès2012-12-14
| | | | * guix/build/download.scm: Annihilate `shutdown' in (web client).
* download: Keep only one slash when concatenating URIs.Ludovic Courtès2012-11-27
| | | | | * guix/build/download.scm (url-fetch)[uri-vicinity]: New procedure. [maybe-expand-mirrors]: Use it.
* download: Add support for mirror:// URLs.Ludovic Courtès2012-11-13
| | | | | | | | | | | * 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.
* download: Follow HTTP redirections.Ludovic Courtès2012-11-13
| | | | | * guix/build/download.scm (http-fetch): Follow the redirection when CODE is 302.
* Add (guix download) and (guix build download).Ludovic Courtès2012-11-12
* 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'.