Age | Commit message (Collapse) | Author |
|
Fixes a regression introduced in
275f27989175f31e9feb364ed7deac2435b08f68.
* guix/hg-download.scm (hg-fetch-builder): Remove calls to
‘string->symbol’.
Change-Id: I2e049d1ecb8860b6f946ca51358aaba22bdc9e2e
|
|
Rather than creating a different builder in the store for every different
download (by hash), remove the hash from the builder and pass it in via an
environment variable. This means that when hg-fetch is used by two different
package sources, the derivations will still differ but the builder will be
shared.
Looking at the code, becuase the ref is also in the builder, the builders have
been duplicated for a while. The overhead is probably limited though since
hg-reference isn't used much compared to say svn-multi-reference.
To try and make the effects of introducing variance in to the builder script
more obvious, separate it out in to it's own procedure, so that it's clearer
when there's new data going in that could cause variance.
* guix/hg-download.scm (hg-fetch): Extract out builder script and include
hash, hg ref url, and hg ref changeset in the derivation as an environment
variables.
(hg-fetch-builder): New procedure.
Change-Id: I3c3a0b4963ea1b208bf1d5137ef98666458ae2d7
|
|
This replaces ‘GUIX_DOWNLOAD_FALLBACK_TEST’ and allows you to test
various download methods, like so:
GUIX_DOWNLOAD_METHODS=nar guix build guile-gcrypt -S --check
GUIX_DOWNLOAD_METHODS=disarchive guix build hello -S --check
* guix/build/download.scm (%download-methods): New variable.
(download-method-enabled?): New procedure.
(url-fetch): Define ‘initial-uris’; honor ‘download-method-enabled?’.
Call ‘disarchive-fetch/any’ only when the 'disarchive method is enabled.
* guix/build/git.scm (git-fetch-with-fallback): Honor
‘download-method-enabled?’.
* guix/download.scm (%download-methods): New variable.
(%download-fallback-test): Remove.
(built-in-download): Add #:download-methods parameter and honor it.
(url-fetch*): Pass #:content-addressed-mirrors and #:disarchive-mirrors
unconditionally.
* guix/git-download.scm (git-fetch/in-band*): Pass “git url”
unconditionally.
(git-fetch/built-in): Likewise. Pass “download-methods”.
* guix/bzr-download.scm (bzr-fetch)[build]: Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
* guix/cvs-download.scm (cvs-fetch)[build]: Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
* guix/hg-download.scm (hg-fetch): Honor ‘download-method-enabled?’.
Pass #:env-vars to ‘gexp->derivation’.
* guix/scripts/perform-download.scm (perform-download): Honor
“download-methods” from DRV. Parameterize ‘%download-methods’ before
calling ‘url-fetch’.
(perform-git-download): Likewise.
* guix/svn-download.scm (svn-fetch): Honor ‘download-method-enabled?’.
Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars.
(svn-multi-fetch): Likewise.
Change-Id: Ia3402e17f0303dfa964bdc761265efe8a1dd69ab
|
|
This allows content-addressed access to the checkout, which is
preferable.
* guix/hg-download.scm (hg-fetch): Add call to
‘swh-download-directory-by-nar-hash’ before ‘swh-download’ call.
Change-Id: I2afc8badc1f8bb2c8bdd3a47abbb72d455d93e64
|
|
This reinstates c625e5b64d0a6cb7ffbf2ef971d4c990b1f5c5c1, which was
reverted due to a circular dependency:
https://issues.guix.gnu.org/63331
This is a followup to 305794762cbb57d252d5305b69a18cec6528baef, which
removed Guile bindings from 'gnutls'.
* guix/android-repo-download.scm (android-repo-fetch): Refer to
'guile-gnutls instead of 'gnutls.
* guix/cvs-download.scm (cvs-fetch): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
|
|
This reverts commit c625e5b64d0a6cb7ffbf2ef971d4c990b1f5c5c1, which
introduced a circular dependency: the origin of guile-gnutls relies on
'git-download', which would now depend on guile-gnutls.
|
|
This is a followup to 305794762cbb57d252d5305b69a18cec6528baef, which
removed Guile bindings from 'gnutls'.
* guix/android-repo-download.scm (android-repo-fetch): Refer to
'guile-gnutls instead of 'gnutls.
* guix/cvs-download.scm (cvs-fetch): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
|
|
Previously download-nar worked with gzipped nars and queried
berlin.guix.gnu.org (also known as ci.guix.gnu.org). ci.guix.gnu.org no longer
serves gzipped nars so this is of limited use.
This commit changes download-nar to query both the default substitute servers,
and queries for lzipped rather than gzipped nars, since those are available
from both.
* guix/build/download-nar.scm (urls-for-item): Return urls for lzip rather
than gzip compression, and from both default substitute servers. The comment
about CDN's is no longer relevant.
(restore-gzipped-nar): Rename to restore-lzipped-nar and reimplement
accordingly.
(download-nar): Add progress reporting and switch to use lzip rather than
gzip.
* guix/cvs-download.scm (cvs-fetch): Replace guile-zlib with guile-lzlib.
* guix/git-download.scm (git-fetch): Replace guile-zlib with guile-lzlib.
* guix/hg-download.scm (hg-fetch): Replace guile-zlib with guile-lzlib.
* guix/android-repo-download.scm (android-repo-fetch): Add guile-lzlib for
download-nar.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
This was obtained by setting up this environment:
guix shell -D guix --with-input=guile@3.0.9=guile-next \
--with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2
-- make -j5
then adding 'unused-module' to (@@ (guix build compiler) %warnings),
building, and checking all the "unused module" warnings and removing
those that were definitely unused.
|
|
* guix/hg-download.scm (hg-fetch)[build]: Add 'setvbuf' calls.
|
|
* guix/hg-download.scm (hg-fetch): Fall back to fetching the source from SWH
if the upstream source is missing.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/hg-download.scm: Do not export undefined hg-reference-recursive?.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
|
|
Hg followup to commit ee17a9e06e636400e3354796a42ac445dbcc8f96.
* guix/hg-download.scm (hg-version, hg-file-name): New procedures.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
This partially fixes: <https://issues.guix.gnu.org/48152>.
The (guix build download-nar) module drags the (guix build download) module
that autoloads (guix swh).
[13/26] Loading './guix/swh.scm'...
;;; Failed to autoload swh-download-directory in (guix swh):
;;; no code for module (json)
Backtrace:
In srfi/srfi-1.scm:
460:18 19 (fold #<procedure 7ffff2c50760 at ice-9/eval.scm:336:1?> ?)
In ice-9/eval.scm:
619:8 18 (_ #(#(#<directory (guix build utils) 7ffff318fd20>) # ?))
In ice-9/boot-9.scm:
2806:4 17 (save-module-excursion #<procedure 7ffff25b1a00 at ice-?>)
In unknown file:
16 (primitive-load "./guix/swh.scm")
In ice-9/eval.scm:
721:20 15 (primitive-eval (define-module (guix swh) #:use-module ?))
In ice-9/psyntax.scm:
1241:36 14 (expand-top-sequence ((define-module (guix swh) # # ?)) ?)
1233:19 13 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
285:10 12 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) ?)
In ice-9/eval.scm:
293:34 11 (_ #<directory (guix build utils) 7ffff318fd20>)
In ice-9/boot-9.scm:
3380:4 10 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?)
2565:24 9 (call-with-deferred-observers #<procedure 7ffff2215230 ?>)
3393:24 8 (_)
222:29 7 (map1 (((guix base16)) ((guix build utils)) ((# ?) ?) ?))
222:29 6 (map1 (((guix build utils)) ((guix build syscalls) ?) ?))
222:29 5 (map1 (((guix build syscalls) #:select (mkdtemp!)) (#) ?))
222:29 4 (map1 (((web uri)) ((web client)) ((web response)) (#) ?))
222:29 3 (map1 (((web client)) ((web response)) ((json)) ((?)) ?))
222:29 2 (map1 (((web response)) ((json)) ((srfi srfi-1)) ((?)) ?))
222:17 1 (map1 (((json)) ((srfi srfi-1)) ((srfi srfi-9)) ((?)) ?))
3300:6 0 (resolve-interface (json) #:select _ #:hide _ #:prefix _ ?)
ice-9/boot-9.scm:3300:6: In procedure resolve-interface:
no code for module (json)
* guix/hg-download.scm (hg-fetch): Add guile-json and gnutls as extensions.
|
|
`hg-predicate' acts for mercurial repositories as `git-predicate' acts
for git-repositories.
* guix/hg-download.scm (hg-predicate): New procedure.
Signed-off-by: Christopher Baines <mail@cbaines.net>
|
|
* Makefile.am (MODULES): Move guix/build/download-nar.scm to ...
(MODULES_NOT_COMPILED): ... here.
* guix/build/download-nar.scm: Use (zlib) instead of (guix zlib).
* guix/cvs-download.scm (cvs-fetch): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
* guix/git-download.scm (git-fetch): Ditto.
* guix/hg-download.scm (hg-fetch): Do not stub (guix config) in imported
modules list, instead add "guile-zlib" to the extension list.
|
|
This allows 'git-fetch' etc. origins to honor the proxy and locale of
the daemon.
* guix/bzr-download.scm (bzr-fetch): Pass #:leaked-env-vars to
'gexp->derivation'.
* guix/cvs-download.scm (cvs-fetch): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
* guix/svn-download.scm (svn-multi-fetch): Likewise.
|
|
Fixes <https://bugs.gnu.org/28709>.
* guix/build/download-nar.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New
variables.
[build]: Use MODULES. Add call to 'download-nar'.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
|
|
* guix/cvs-download.scm (cvs-fetch): Use 'with-imported-modules' instead
of the #:modules argument of 'gexp->derivation'.
* guix/download.scm (url-fetch): Likewise.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
|
|
* guix/build/hg.scm: New file.
* guix/hg-download.scm: New file.
* Makefile.am (MODULES): Add them.
|