Age | Commit message (Expand) | Author |
2024-03-09 | download: Honor ‘GUIX_DOWNLOAD_METHODS’ environment variable....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
| Ludovic Courtès |
2024-03-09 | perform-download: Allow use of ‘download-nar’ for ‘--check’ builds....Previously, the nar fallback would always fail on ‘--check’ build
because the output directory in that case is different from the store
file name. This change fixes that.
* guix/build/git.scm (git-fetch-with-fallback): Add #:item parameter and
pass it to ‘download-nar’.
* guix/scripts/perform-download.scm (perform-git-download): Pass #:item
to ‘git-fetch-with-fallback’.
Change-Id: I30fc948718e99574005150bba5215a51ef153c49
| Ludovic Courtès |
2024-02-12 | git-download: Download from SWH by nar hash when possible....* guix/build/git.scm (git-fetch-with-fallback): Add #:hash
and #:hash-algorithm. Try ‘swh-download-directory-by-nar-hash’ before
‘swh-download’ when #:hash is provided.
* guix/git-download.scm (git-fetch/in-band*): Pass #:hash
and #:hash-algorithm to ‘git-fetch-with-fallback’.
* guix/scripts/perform-download.scm (perform-git-download): Likewise.
Change-Id: Ic875a7022fd78c9fac32e92ad4f8ce4d81646ec5
| Ludovic Courtès |
2023-11-07 | git-download: Add support for Git Large File Storage (LFS)....* guix/build/git.scm (git-fetch) [lfs?]: New argument, doc and setup code.
(git-fetch-with-fallback) [lfs?]: New argument. Pass it to git-fetch.
* guix/git-download.scm (git-lfs-package): New procedure.
(git-fetch/in-band*): New procedure, made of the logic of git-fetch/in-band,
with new git-lfs specifics, with the following changes:
New #:git-lfs argument.
<inputs>: Remove labels. Conditionally add git-lfs.
<build>: Read "git lfs?" environment
variable and pass its value to the #:lfs? argument of git-fetch-with-fallback.
Use INPUTS directly; update comment.
<gexp->derivation>: Add "git lfs?" to #:env-vars.
(git-fetch/in-band): Express in terms of git-fetch/in-band*.
(git-fetch/lfs): New procedure.
* doc/guix.texi (origin Reference): Document it.
Change-Id: I5b233b8642a7bdb8737b9d9b740e7254a89ccb25
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2023-09-26 | git-download: Move fallback code to (guix build git)....* guix/build/git.scm (git-fetch-with-fallback): New procedure, with code
taken from…
* guix/git-download.scm (git-fetch): … here.
[modules]: Remove modules that are no longer directly used in ‘build’.
[build]: Use ‘git-fetch-with-fallback’.
| Ludovic Courtès |
2023-07-05 | guix: git: Set initial branch name for git-fetch....This removes the 'hint' about choosing a branch name when creating a new
git repository.
* guix/build/git.scm (git-fetch): When running 'git init' add an initial
branch name.
| Efraim Flashner |
2019-01-06 | git-download: Use 'invoke'....* guix/build/git.scm (git-fetch): Use 'invoke' instead of 'system*' for
"git submodule update".
| Ludovic Courtès |
2019-01-06 | git-download: 'git-fetch' really returns #f upon error....This allows the fallback code in (guix git-download) to actually run.
Regression introduced in commit 329dabe13bf98b899b907b45565434c5140804f5.
Fixes <https://bugs.gnu.org/33911>.
Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>.
* guix/build/git.scm (git-fetch): Guard against 'invoke-error?' and
really return #f upon failure.
| Ludovic Courtès |
2018-10-28 | git-download: Print a message when falling back to a full fetch....Otherwise the user might believe that git-fetch stalled, observing the lack of
output following a 'fatal' git error message (see:
https://debbugs.gnu.org/33100).
* guix/build/git.scm (git-fetch): Print message when falling back to a full
fetch.
| Maxim Cournoyer |
2018-03-04 | git-download: Fetch only the required commit, if possible....* guix/build/git.scm (git-fetch): Fetch only the required commit, if possible.
| Danny Milosavljevic |
2016-01-05 | git-download: Correctly implement recursive checkouts....Previously, the 'git checkout' invocation would remove sub-modules that
had been initialized by 'git clone --recursive'.
* guix/build/git.scm (git-fetch): Never use "git clone --recursive".
Invoke "git submodule update --init --recursive" after "git checkout".
Remove '.git' directories as the last step.
| Ludovic Courtès |
2014-06-27 | git-download: Support recursive clones....* guix/git-download.scm (<git-reference>)[recursive?]: New field.
(git-fetch): Add 'inputs' variable. Add it to the #:inputs argument
of 'build-expression->derivation'. Augment builder with call to
'set-path-environment-variable', and pass #:recursive? to
'git-fetch'.
* guix/build/git.scm (git-fetch): Add #:recursive? parameter. Pass
--recursive when RECURSIVE? is true, and delete all the '.git' files.
| Ludovic Courtès |
2014-05-08 | git-download: Disable TLS certificate verification....* guix/build/git.scm (git-fetch): Add 'setenv' call.
| Ludovic Courtès |
2014-02-21 | Add (guix git-download)....* guix/git-download.scm, guix/build/git.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/packages.scm (<origin>): Fix comment for 'method' field.
| Ludovic Courtès |