[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: svn-download: Pass parameters through environment variables.
From: |
guix-commits |
Subject: |
01/07: svn-download: Pass parameters through environment variables. |
Date: |
Mon, 17 Oct 2022 17:18:46 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 8599fccef84a2930280a5b2844829cfbafd593b0
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Oct 17 17:34:33 2022 +0200
svn-download: Pass parameters through environment variables.
This ensures a single "svn-download" script is created in the store for
all the origins that use 'svn-fetch'.
* guix/svn-download.scm (svn-fetch)[build]: Check for environment
variables instead of splicing REF fields.
Pass #:script-name and #:env-vars to 'gexp->derivation'.
---
guix/svn-download.scm | 41 +++++++++++++++++++++++++++++++++--------
1 file changed, 33 insertions(+), 8 deletions(-)
diff --git a/guix/svn-download.scm b/guix/svn-download.scm
index 55ce0d7351..1c369e7f9a 100644
--- a/guix/svn-download.scm
+++ b/guix/svn-download.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2016, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -79,17 +79,42 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a
generic name if #f."
(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)
+ (use-modules (guix build svn)
+ (ice-9 match))
+
+ (svn-fetch (getenv "svn url")
+ (string->number (getenv "svn revision"))
#$output
- #:svn-command (string-append #+svn "/bin/svn")
- #:recursive? #$(svn-reference-recursive? ref)
- #:user-name #$(svn-reference-user-name ref)
- #:password #$(svn-reference-password ref)))))
+ #:svn-command #+(file-append svn "/bin/svn")
+ #:recursive? (match (getenv "svn recursive?")
+ ("yes" #t)
+ (_ #f))
+ #:user-name (getenv "svn user name")
+ #:password (getenv "svn password")))))
(mlet %store-monad ((guile (package->derivation guile system)))
(gexp->derivation (or name "svn-checkout") build
+
+ ;; Use environment variables and a fixed script name so
+ ;; there's only one script in store for all the
+ ;; downloads.
+ #:script-name "svn-download"
+ #:env-vars
+ `(("svn url" . ,(svn-reference-url ref))
+ ("svn revision"
+ . ,(number->string (svn-reference-revision ref)))
+ ,@(if (svn-reference-recursive? ref)
+ `(("svn recursive?" . "yes"))
+ '())
+ ,@(if (svn-reference-user-name ref)
+ `(("svn user name"
+ . ,(svn-reference-user-name ref)))
+ '())
+ ,@(if (svn-reference-password ref)
+ `(("svn password"
+ . ,(svn-reference-password ref)))
+ '()))
+
#:system system
#:hash-algo hash-algo
#:hash hash
- branch master updated (ec7ba6ae53 -> 2383e14518), guix-commits, 2022/10/17
- 07/07: lint: source: Add check for <svn-reference> over HTTP(S)., guix-commits, 2022/10/17
- 04/07: build-system/qt: Disable grafts., guix-commits, 2022/10/17
- 01/07: svn-download: Pass parameters through environment variables.,
guix-commits <=
- 02/07: svn-download: Pass multi-fetch parameters through environment variables., guix-commits, 2022/10/17
- 03/07: gnu: Add Guile-GnuTLS., guix-commits, 2022/10/17
- 05/07: svn-download: Add missing exports., guix-commits, 2022/10/17
- 06/07: lint: 'probe-uri' honors the 'userinfo' part of URIs., guix-commits, 2022/10/17