* guix/download.scm (%mirrors): Remove defunct ImageMagick mirrors, update
URLs for directory structure changes (/releases instead of /legacy). Move
official site last.
Fixes <https://bugs.gnu.org/40115>.
Previously the result of `guix build -s $system $package' would depend on the
system Guix was built for if $package or one of its dependencies used
'url-fetch/tarbomb' or 'url-fetch/zipbomb' as the origin method of its
source (e.g. `guix build -s i686-linux ffmpeg' on i686-linux would build a
different derivation than on x86_64-linux).
This patch fixes this by explicitly passing the correct system and guile to
'gexp->derivation'.
* guix/download.scm (url-fetch/tarbomb): Pass #:system system and
#:guile-for-build guile to 'gexp->derivation', where guile is the derivation
of guile for system.
(url-fetch/zipbomb): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/download.scm (built-in-download): Add #:executable? parameter.
Pass #:recursive? to 'raw-derivation' and add "executable" to the #:env-vars
alist when EXECUTABLE? is true.
(url-fetch): Add #:executable? and pass it to 'built-in-download'.
(url-fetch/executable): New procedure.
The caching strategy introduced in
40cc850aebb497faed0a11d867d8fcee729023df was ineffective since we
regularly start from an empty object cache. For example, "guix build
inkscape -n" would make 241 'built-in-builders' RPCs.
* guix/store.scm (<store-connection>)[built-in-builders]: New field.
(open-connection): Adjust '%make-store-connection' call accordingly.
(port->connection): Likewise.
(built-in-builders): Rename to...
(%built-in-builders): ... this.
(built-in-builders): New procedure.
* guix/download.scm (built-in-builders*): Remove 'mcached' call.
The previous caching strategy, which used STORE as an 'eq?' key, would
no longer work when the functional cache is used because subsequent
store values are not 'eq?'.
* guix/download.scm (built-in-builders*): Rewrite in terms of
'mcached'.
Fixes <https://bugs.gnu.org/33542>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/download.scm (%content-addressed-mirrors): Autoload (guix base16).
Bug <http://bugs.gnu.org/22774> is no longer relevant now that we use
"builtin:download" exclusively.
* guix/download.scm (%content-addressed-mirrors): Use "https", not
"http".
Fixes a regression introduced in 20927c9331b493eaf94211ad9f8a5055e11b4588.
Reported by Eric Bavier <ericbavier@centurylink.net>.
* guix/download.scm (url-fetch/tarbomb, url-fetch/zipbomb): Within the gexp,
import (guix build utils) for 'invoke'.
* guix/download.scm (%mirrors)[cpan]: Update the list of CPAN mirrors (of
which several are dead) with a more-or-less geographically diverse selection.
This is a followup to 05ceb8dcaf480a47cddf94ac979070b76df6556c.
* guix/download.scm (in-band-download): Remove.
(url-fetch): Call 'error' when BUILTINS lacks "download"; remove call to
'in-band-download'.
* guix/download.scm (%mirrors)[sourceforge]: Remove
nbtelecom.dl.sourceforge.net, which never returns 404 responses. This causes
download failures due to hash mismatch, effectively preventing secondary
source URLs from being queried.