mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 13:28:12 -05:00
download: Use 'with-imported-modules'.
* 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.
This commit is contained in:
parent
99b231dee6
commit
e9b046fdda
5 changed files with 79 additions and 78 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
|
@ -60,13 +60,15 @@ (define* (cvs-fetch ref hash-algo hash
|
|||
object. The output is expected to have recursive hash HASH of type
|
||||
HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (guix build cvs))
|
||||
(cvs-fetch '#$(cvs-reference-root-directory ref)
|
||||
'#$(cvs-reference-module ref)
|
||||
'#$(cvs-reference-revision ref)
|
||||
#$output
|
||||
#:cvs-command (string-append #+cvs "/bin/cvs"))))
|
||||
(with-imported-modules '((guix build cvs)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build cvs))
|
||||
(cvs-fetch '#$(cvs-reference-root-directory ref)
|
||||
'#$(cvs-reference-module ref)
|
||||
'#$(cvs-reference-revision ref)
|
||||
#$output
|
||||
#:cvs-command (string-append #+cvs "/bin/cvs")))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "cvs-checkout") build
|
||||
|
@ -74,8 +76,6 @@ (define build
|
|||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
#:recursive? #t
|
||||
#:modules '((guix build cvs)
|
||||
(guix build utils))
|
||||
#:guile-for-build guile
|
||||
#:local-build? #t)))
|
||||
|
||||
|
|
|
@ -286,33 +286,39 @@ (define need-gnutls?
|
|||
(any https? url)))))
|
||||
|
||||
(define builder
|
||||
#~(begin
|
||||
#+(if need-gnutls?
|
||||
(with-imported-modules '((guix build download)
|
||||
(guix build utils)
|
||||
(guix ftp-client)
|
||||
(guix base32)
|
||||
(guix base64))
|
||||
#~(begin
|
||||
#+(if need-gnutls?
|
||||
|
||||
;; Add GnuTLS to the inputs and to the load path.
|
||||
#~(eval-when (load expand eval)
|
||||
(set! %load-path
|
||||
(cons (string-append #+(gnutls-package)
|
||||
"/share/guile/site/"
|
||||
(effective-version))
|
||||
%load-path)))
|
||||
#~#t)
|
||||
;; Add GnuTLS to the inputs and to the load path.
|
||||
#~(eval-when (load expand eval)
|
||||
(set! %load-path
|
||||
(cons (string-append #+(gnutls-package)
|
||||
"/share/guile/site/"
|
||||
(effective-version))
|
||||
%load-path)))
|
||||
#~#t)
|
||||
|
||||
(use-modules (guix build download)
|
||||
(guix base32))
|
||||
(use-modules (guix build download)
|
||||
(guix base32))
|
||||
|
||||
(let ((value-from-environment (lambda (variable)
|
||||
(call-with-input-string
|
||||
(getenv variable)
|
||||
read))))
|
||||
(url-fetch (value-from-environment "guix download url")
|
||||
#$output
|
||||
#:mirrors (call-with-input-file #$%mirror-file read)
|
||||
(let ((value-from-environment (lambda (variable)
|
||||
(call-with-input-string
|
||||
(getenv variable)
|
||||
read))))
|
||||
(url-fetch (value-from-environment "guix download url")
|
||||
#$output
|
||||
#:mirrors (call-with-input-file #$%mirror-file read)
|
||||
|
||||
;; Content-addressed mirrors.
|
||||
#:hashes (value-from-environment "guix download hashes")
|
||||
#:content-addressed-mirrors
|
||||
(primitive-load #$%content-addressed-mirror-file)))))
|
||||
;; Content-addressed mirrors.
|
||||
#:hashes
|
||||
(value-from-environment "guix download hashes")
|
||||
#:content-addressed-mirrors
|
||||
(primitive-load #$%content-addressed-mirror-file))))))
|
||||
|
||||
(let ((uri (and (string? url) (string->uri url))))
|
||||
(if (or (and (string? url) (not uri))
|
||||
|
@ -325,11 +331,6 @@ (define builder
|
|||
#:system system
|
||||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
#:modules '((guix build download)
|
||||
(guix build utils)
|
||||
(guix ftp-client)
|
||||
(guix base32)
|
||||
(guix base64))
|
||||
|
||||
;; Use environment variables and a fixed script
|
||||
;; name so there's only one script in store for
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -68,23 +68,25 @@ (define inputs
|
|||
'()))
|
||||
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (guix build git)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
(with-imported-modules '((guix build git)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build git)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
|
||||
;; The 'git submodule' commands expects Coreutils, sed,
|
||||
;; grep, etc. to be in $PATH.
|
||||
(set-path-environment-variable "PATH" '("bin")
|
||||
(match '#+inputs
|
||||
(((names dirs) ...)
|
||||
dirs)))
|
||||
;; The 'git submodule' commands expects Coreutils, sed,
|
||||
;; grep, etc. to be in $PATH.
|
||||
(set-path-environment-variable "PATH" '("bin")
|
||||
(match '#+inputs
|
||||
(((names dirs) ...)
|
||||
dirs)))
|
||||
|
||||
(git-fetch '#$(git-reference-url ref)
|
||||
'#$(git-reference-commit ref)
|
||||
#$output
|
||||
#:recursive? '#$(git-reference-recursive? ref)
|
||||
#:git-command (string-append #+git "/bin/git"))))
|
||||
(git-fetch '#$(git-reference-url ref)
|
||||
'#$(git-reference-commit ref)
|
||||
#$output
|
||||
#:recursive? '#$(git-reference-recursive? ref)
|
||||
#:git-command (string-append #+git "/bin/git")))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "git-checkout") build
|
||||
|
@ -93,8 +95,6 @@ (define build
|
|||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
#:recursive? #t
|
||||
#:modules '((guix build git)
|
||||
(guix build utils))
|
||||
#:guile-for-build guile
|
||||
#:local-build? #t)))
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -60,15 +60,17 @@ (define* (hg-fetch ref hash-algo hash
|
|||
object. The output is expected to have recursive hash HASH of type
|
||||
HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (guix build hg)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
(with-imported-modules '((guix build hg)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build hg)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
|
||||
(hg-fetch '#$(hg-reference-url ref)
|
||||
'#$(hg-reference-changeset ref)
|
||||
#$output
|
||||
#:hg-command (string-append #+hg "/bin/hg"))))
|
||||
(hg-fetch '#$(hg-reference-url ref)
|
||||
'#$(hg-reference-changeset ref)
|
||||
#$output
|
||||
#:hg-command (string-append #+hg "/bin/hg")))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "hg-checkout") build
|
||||
|
@ -77,8 +79,6 @@ (define build
|
|||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
#:recursive? #t
|
||||
#:modules '((guix build hg)
|
||||
(guix build utils))
|
||||
#:guile-for-build guile)))
|
||||
|
||||
;;; hg-download.scm ends here
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -59,14 +59,16 @@ (define* (svn-fetch ref hash-algo hash
|
|||
object. The output is expected to have recursive hash HASH of type
|
||||
HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||
(define build
|
||||
#~(begin
|
||||
(use-modules (guix build svn))
|
||||
(svn-fetch '#$(svn-reference-url ref)
|
||||
'#$(svn-reference-revision ref)
|
||||
#$output
|
||||
#:svn-command (string-append #+svn "/bin/svn")
|
||||
#:user-name #$(svn-reference-user-name ref)
|
||||
#:password #$(svn-reference-password ref))))
|
||||
(with-imported-modules '((guix build svn)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build svn))
|
||||
(svn-fetch '#$(svn-reference-url ref)
|
||||
'#$(svn-reference-revision ref)
|
||||
#$output
|
||||
#:svn-command (string-append #+svn "/bin/svn")
|
||||
#:user-name #$(svn-reference-user-name ref)
|
||||
#:password #$(svn-reference-password ref)))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "svn-checkout") build
|
||||
|
@ -74,8 +76,6 @@ (define build
|
|||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
#:recursive? #t
|
||||
#:modules '((guix build svn)
|
||||
(guix build utils))
|
||||
#:guile-for-build guile
|
||||
#:local-build? #t)))
|
||||
|
||||
|
|
Loading…
Reference in a new issue