mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
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
This commit is contained in:
parent
abd0cca2a9
commit
2f441fc738
9 changed files with 230 additions and 154 deletions
|
@ -29,8 +29,8 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix modules)
|
||||
#:use-module ((guix derivations) #:select (raw-derivation))
|
||||
#:autoload (guix download) (%download-methods)
|
||||
#:autoload (guix build-system gnu) (standard-packages)
|
||||
#:autoload (guix download) (%download-fallback-test)
|
||||
#:autoload (git bindings) (libgit2-init!)
|
||||
#:autoload (git repository) (repository-open
|
||||
repository-close!
|
||||
|
@ -180,11 +180,7 @@ respective documentation."
|
|||
;; downloads.
|
||||
#:script-name "git-download"
|
||||
#:env-vars
|
||||
`(("git url" . ,(match (%download-fallback-test)
|
||||
('content-addressed-mirrors
|
||||
"https://example.org/does-not-exist")
|
||||
(_
|
||||
(git-reference-url ref))))
|
||||
`(("git url" . ,(git-reference-url ref))
|
||||
("git commit" . ,(git-reference-commit ref))
|
||||
("git recursive?" . ,(object->string
|
||||
(git-reference-recursive? ref)))
|
||||
|
@ -246,14 +242,14 @@ download by itself using its own dependencies."
|
|||
#:recursive? #t
|
||||
#:env-vars
|
||||
`(("url" . ,(object->string
|
||||
(match (%download-fallback-test)
|
||||
('content-addressed-mirrors
|
||||
"https://example.org/does-not-exist")
|
||||
(_
|
||||
(git-reference-url ref)))))
|
||||
(git-reference-url ref)))
|
||||
("commit" . ,(git-reference-commit ref))
|
||||
("recursive?" . ,(object->string
|
||||
(git-reference-recursive? ref))))
|
||||
(git-reference-recursive? ref)))
|
||||
,@(if (%download-methods)
|
||||
`(("download-methods"
|
||||
. ,(object->string (%download-methods))))
|
||||
'()))
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
"COLUMNS")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue