Commit Graph

143 Commits

Author SHA1 Message Date
Maxim Cournoyer
8cdad3484c
download: Add a mirror for CTAN.
* guix/download.scm (%mirrors)[ctan]: New entry.
2022-05-12 12:45:49 -04:00
Efraim Flashner
67213a2759
download: Use https for main KDE source.
* guix/download.scm (%mirrors)[kde]: Use https URIs for main KDE mirrors.
* tests/lint.scm ("mirror-url: kde suggestion"): New test.
2022-03-29 14:43:14 +03:00
Ludovic Courtès
bd61d62182
download: "GUIX_DOWNLOAD_FALLBACK_TEST=none" disables fallback mechanisms.
* guix/download.scm (url-fetch*): Handle (%download-fallback-test) set
to 'none.
2021-10-15 23:16:28 +02:00
Ludovic Courtès
c4a7aa82e2
download: Add parameter to test download fallback mechanisms.
This allows you to run, say:

  GUIX_DOWNLOAD_FALLBACK_TEST=disarchive-mirrors guix build -S r-ebimage --check

or:

  GUIX_DOWNLOAD_FALLBACK_TEST=content-addressed-mirrors ./pre-inst-env guix build -S r-ebimage --check

to check whether these fallback mechanisms work as expected.

* guix/download.scm (%no-mirrors-file, %no-disarchive-mirrors-file)
(%download-fallback-test): New variables.
(url-fetch*): Honor (%download-fallback-test).
2021-10-14 15:44:52 +02:00
Ludovic Courtès
f9a506aa6a
download: Add disarchive.guix.gnu.org.
* guix/download.scm (%disarchive-mirrors): Add disarchive.guix.gnu.org.
2021-10-14 15:44:51 +02:00
Ludovic Courtès
3cb5ae8577
download: Disarchive mirrors can be URL-returning procedures.
As discussed at <https://issues.guix.gnu.org/47336#16>.

* guix/build/download.scm (url-fetch)[disarchive-uris]: Accept MIRROR as
a procedure.
* guix/download.scm (%disarchive-mirrors): Add comment.  This change can
only be made once a 'guix perform-download' that understands procedures
is widely deployed.
2021-09-14 11:50:58 +02:00
Ludovic Courtès
67da646087
download: Remove obsolete workaround.
* guix/download.scm (%content-addressed-mirrors): Use (guix base16)
unconditionally.
2021-09-14 11:50:58 +02:00
Leo Famulari
189003c83e
download: Remove defunct GNOME mirrors.
* guix/download.scm (%mirrors): Remove defunct GNOME mirrors, and try
the canonical site first.
2021-07-27 12:34:57 -04:00
Ludovic Courtès
bc4d81d267
lint: archival: Lookup content in Disarchive database.
* guix/lint.scm (lookup-disarchive-spec): New procedure.
(check-archival): When 'lookup-content' returns #f, call
'lookup-disarchive-spec'.  Call 'lookup-directory' on the result of
'lookup-directory'.
* guix/download.scm (%disarchive-mirrors): Make public.
* tests/lint.scm ("archival: missing content"): Set
'%disarchive-mirrors'.
("archival: content unavailable but disarchive available"): New test.
2021-05-22 23:13:11 +02:00
Timothy Sample
fbc2a52a32
download: Use Disarchive as a last resort.
This is a fixed version of 66b14dccdd,
which was reverted in e74250c3c5.

* guix/download.scm (%disarchive-mirrors): New variable.
(%disarchive-mirror-file): New variable.
(built-in-download): Add 'disarchive-mirrors' keyword argument and
pass its value along to the 'builtin:download' derivation.
(url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'.
* guix/scripts/perform-download.scm (perform-download): Read
Disarchive mirrors from the environment and pass them to
'url-fetch'.
* guix/build/download.scm (disarchive-fetch/any): New procedure.
(url-fetch): Add 'disarchive-mirrors' keyword argument, use it to
make a list of URIs, and use the new procedure to fetch the file if
all other methods fail.
* build-aux/build-self.scm (build-program)[select?]: Exclude '(guix
build download)'.
* guix/self.scm (compiled-guix)[*core-modules*]: Add 'guile-json' to
the list of extensions.
2021-04-29 11:24:48 -04:00
Timothy Sample
e74250c3c5
Revert "download: Use Disarchive as a last resort."
This reverts commit 66b14dccdd, which broke
'guix pull'.
2021-04-28 00:24:28 -04:00
Timothy Sample
66b14dccdd
download: Use Disarchive as a last resort.
* guix/download.scm (%disarchive-mirrors): New variable.
(%disarchive-mirror-file): New variable.
(built-in-download): Add 'disarchive-mirrors' keyword argument and
pass its value along to the 'builtin:download' derivation.
(url-fetch): Pass '%disarchive-mirror-file' to 'built-in-download'.
* guix/scripts/perform-download.scm (perform-download): Read
Disarchive mirrors from the environment and pass them to
'url-fetch'.
* guix/build/download.scm (disarchive-fetch/any): New procedure.
(url-fetch): Add 'disarchive-mirrors' keyword argument, use it to
make a list of URIs, and use the new procedure to fetch the file if
all other methods fail.
2021-04-27 21:27:02 -04:00
Ludovic Courtès
f7008ca713
download: Autoload (guix build download).
* guix/download.scm: Autoload (guix build download).
(url-fetch): Rename to...
(url-fetch*): ... this, locally, to allow for #:autoload.
* guix/status.scm: Autoload (guix build download).
2021-03-19 13:23:27 +01:00
Ludovic Courtès
9d349afaa1
download: 'url-fetch/tarbomb' and 'url-fetch/zipbomb' refer to native tools.
* guix/download.scm (url-fetch/tarbomb, url-fetch/zipbomb): Use
'ungexp-native' instead of 'ungexp' when referring to the decompression
tools.
2021-03-05 12:49:28 +01:00
Marius Bakke
4de58a4b81
download: Update ImageMagick mirror list.
* guix/download.scm (%mirrors): Remove defunct ImageMagick mirrors, update
URLs for directory structure changes (/releases instead of /legacy).  Move
official site last.
2020-12-13 01:05:57 +01:00
Ludovic Courtès
d154462bd8
download: Update docstring.
* guix/download.scm (url-fetch): Update docstring to match what's in the
manual.
2020-10-20 16:30:15 +02:00
Ludovic Courtès
36a5efd967
download: Add Savannah mirror.
* guix/download.scm (%mirrors): Add nongnu.freemirror.org.
2020-07-20 23:25:10 +02:00
Tobias Geerinckx-Rice
5733ba7dd8
download: Replace misconfigured Apache mirror.
E.g. <http://apache.belnet.be/jakarta/oro/jakarta-oro-2.0.8.tar.gz>
redirects to a bogus 200 HTML page.

* guix/download.scm (%mirrors): Replace apache.belnet.be with
ftp.nluug.nl.
2020-07-05 08:23:35 +02:00
Tobias Geerinckx-Rice
c9ea4eecf4
download: Remove usa-mirror.go-parts.com mirror.
It incorrectly redirects 404s (at least) to the commercial home page.

* guix/download.scm (%mirrors): Remove usa-mirror.go-parts.com URLs.
2020-06-15 14:26:44 +02:00
Efraim Flashner
205a0ecd5b
download: Add more apache mirrors.
* guix/download.scm (%mirrors): Add more apache mirrors.
2020-06-12 18:28:51 +03:00
Diego Nicola Barbato
c1d81df93d
download: Use correct system and guile in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.
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>
2020-04-08 19:35:34 +02:00
Tobias Geerinckx-Rice
df0bb509c2
download: Remove misbehaving kvin.lv mirror.
It issues bogus redirections instead of returning 404.

* guix/download.scm (%mirrors): Remove kvin.lv from CPAN.
2020-03-09 16:01:17 +01:00
Mark H Weaver
09f9167cd4
download: Remove ramses.wh2.tu-dresden.de kernel mirror.
* guix/download.scm (%mirrors): Remove ramses.wh2.tu-dresden.de, which seems
to no longer work.
2019-12-18 23:07:38 -05:00
Ludovic Courtès
64de896a71
Merge branch 'master' into core-updates 2019-07-17 15:51:10 +02:00
Ludovic Courtès
02237f13ee
download: Use the new 'derivation' calling convention.
* guix/download.scm (built-in-download): Pass MIRRORS and
CONTENT-ADDRESSED-MIRRORS as #:sources, not #:inputs.
2019-07-15 10:01:05 +02:00
Marius Bakke
4fb9165515
Merge branch 'staging' into core-updates 2019-07-02 20:18:16 +02:00
Tobias Geerinckx-Rice
87a90486ca
download: Remove hydra from content-addressed URL list
* guix/build/download-nar.scm (urls-for-item): Remove
mirror.hydra.gnu.org.
* guix/download.scm (%content-addressed-mirrors): Likewise.
2019-06-29 14:31:23 +02:00
Ludovic Courtès
267966f911
download: Add 'url-fetch/executable'.
* 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.
2019-06-14 15:05:43 +02:00
Ludovic Courtès
883dc11c3a
download: Update list of content-addressed mirrors.
* guix/download.scm (%content-addressed-mirrors): Change
"berlin.guixsd.org" to "ci.guix.gnu.org" and move it first.
2019-06-10 22:42:23 +02:00
Ludovic Courtès
3961edf230
store: Memoize 'built-in-builders' call directly in <store-connection>.
The caching strategy introduced in
40cc850aeb 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.
2019-04-16 17:30:21 +02:00
Guy Fleury Iteriteka
bc4cea6f0e
download: Add MATE mirrors.
* guix/download.scm (%mirrors): Add mirrors for the MATE Desktop.
2019-03-15 13:05:08 -04:00
Ludovic Courtès
40cc850aeb
download: 'built-in-builders*' relies on the functional cache.
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'.
2018-12-19 23:52:25 +01:00
Ludovic Courtès
13bcc6b45f
download: Add berlin.guixsd.org as a content-addressed mirror.
* guix/download.scm (%content-addressed-mirrors)[guix-publish]: New
procedure.
Use it for "mirror.hydra.gnu.org" and add "berlin.guixsd.org" too.
2018-11-28 22:25:34 +01:00
Ludovic Courtès
a52ae1b662
download: Make (guix base16) a soft dependency.
Fixes <https://bugs.gnu.org/33542>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/download.scm (%content-addressed-mirrors): Autoload (guix base16).
2018-11-28 22:25:34 +01:00
Ludovic Courtès
89f1fee8e7
download: Access content-addressed mirrors over HTTPS.
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".
2018-11-14 21:34:08 +01:00
Ludovic Courtès
ee2cfdfe86
download: Add Software Heritage as a content-addressed mirror.
* guix/download.scm (%content-addressed-mirrors): Add Software
Heritage.
2018-11-14 21:34:07 +01:00
Ricardo Wurmus
b347317ae6
Merge branch 'master' into core-updates 2018-05-29 15:41:06 +02:00
Ludovic Courtès
8eff892fac
download: Remove unused procedure.
* guix/download.scm (gnutls-package): Remove.
2018-05-29 15:09:44 +02:00
Mark H Weaver
3d5ad159b3
Merge branch 'master' into core-updates 2018-04-30 04:03:54 -04:00
Ludovic Courtès
5e5d6613a3
download: Use ungrafted tools in 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.
Fixes <https://bugs.gnu.org/31085>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.

* guix/download.scm (url-fetch/tarbomb): Pass #:graft? #f to
'gexp->derivation'.
(url-fetch/zipbomb): Likewise.
2018-04-23 15:25:56 +02:00
Mark H Weaver
6c293a809b
download: Fix 'url-fetch/tarbomb' and 'url-fetch/zipbomb'.
Fixes a regression introduced in 20927c9331.
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'.
2018-04-17 02:15:06 -04:00
Mark H Weaver
647888845c
Merge branch 'master' into core-updates 2018-03-20 00:49:05 -04:00
Mark H Weaver
e72077c535
download: Remove TU Wien mirror.
* guix/download.scm (%mirrors): Remove gd.tuwien.ac.at, which no longer
seems to exist.
2018-03-17 04:05:22 -04:00
Mark H Weaver
20927c9331
download: Use invoke instead of system*.
* guix/download.scm (url-fetch/tarbomb, url-fetch/zipbomb): Use invoke.
2018-03-16 05:02:01 -04:00
Marius Bakke
2dd12924cf
Merge branch 'master' into core-updates 2017-11-19 15:01:00 +01:00
Leo Famulari
d0b87779f0
download: Use HTTPS for the first ImageMagick mirror.
* guix/download.scm (%mirrors)[imagemagick]: Use HTTPS for <sunsite.icm.edu.pl>.
2017-11-12 17:50:01 -05:00
Leo Famulari
ecc585711e
download: Try FTP servers last.
* guix/download.scm (%mirrors)[savannah, kernel.org, apache, xorg, imagemagick]:
Re-arrange so that FTP is last.
2017-11-12 17:50:01 -05:00
Efraim Flashner
19b7bba1b5
Merge remote-tracking branch 'origin/master' into core-updates 2017-11-01 10:29:59 +02:00
Tobias Geerinckx-Rice
63ae4800de
download: Refresh the cpan.org mirror list.
* guix/download.scm (%mirrors)[cpan]: Update the list of CPAN mirrors (of
which several are dead) with a more-or-less geographically diverse selection.
2017-11-01 01:02:03 +01:00
Marius Bakke
c01ef97594
Merge branch 'master' into core-updates 2017-10-10 22:33:28 +02:00