ngz pushed a commit to branch tex-team
in repository guix.

commit 6b35bbc054de2d2e2be7268ed4432c4225d2b6b7
Author: Nicolas Goaziou <m...@nicolasgoaziou.fr>
AuthorDate: Mon Jun 10 21:13:00 2024 +0200

    guix: import texlive: Remove need for having "svn" binary in PATH.
    
    * guix/svn-download.scm (download-svn-to-store):
    (download-multi-svn-to-store): Use "svn" executable from store.
    
    Change-Id: Ia0b80a67de3d6a0f2f67038176678495a0c9eee0
---
 guix/svn-download.scm | 39 ++++++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/guix/svn-download.scm b/guix/svn-download.scm
index 62649e4374..93456c94cb 100644
--- a/guix/svn-download.scm
+++ b/guix/svn-download.scm
@@ -328,25 +328,28 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a 
generic name if #f."
 
 (define* (download-svn-to-store store ref
                                 #:optional (name (basename (svn-reference-url 
ref)))
-                                #:key (log (current-error-port)))
+                                #:key (log (current-error-port))
+                                (svn (subversion-package)))
   "Download from REF, a <svn-reference> object to STORE.  Write progress
 reports to LOG."
   (call-with-temporary-directory
    (lambda (temp)
      (let ((result
             (parameterize ((current-output-port log))
-              (build:svn-fetch (svn-reference-url ref)
-                               (svn-reference-revision ref)
-                               (string-append temp "/svn")
-                               #:user-name (svn-reference-user-name ref)
-                               #:password (svn-reference-password ref)))))
+              #~(build:svn-fetch (svn-reference-url ref)
+                                 (svn-reference-revision ref)
+                                 (string-append temp "/svn")
+                                 #:svn-command #+(file-append svn "/bin/svn")
+                                 #:user-name (svn-reference-user-name ref)
+                                 #:password (svn-reference-password ref)))))
        (and result
             (add-to-store store name #t "sha256"
                           (string-append temp "/svn")))))))
 
 (define* (download-multi-svn-to-store store ref
                                       #:optional (name (basename 
(svn-multi-reference-url ref)))
-                                      #:key (log (current-error-port)))
+                                      #:key (log (current-error-port))
+                                      (svn (subversion-package)))
   "Download from REF, a <svn-multi-reference> object to STORE.  Write progress
 reports to LOG."
   (call-with-temporary-directory
@@ -355,16 +358,18 @@ reports to LOG."
                    (let ((dir (string-append temp "/" (dirname location))))
                      (mkdir-p dir))
                    (parameterize ((current-output-port log))
-                     (build:svn-fetch (string-append (svn-multi-reference-url 
ref)
-                                                     "/" location)
-                                      (svn-multi-reference-revision ref)
-                                      (if (string-suffix? "/" location)
-                                          (string-append temp "/" location)
-                                          (string-append temp "/" (dirname 
location)))
-                                      #:recursive?
-                                      (svn-multi-reference-recursive? ref)
-                                      #:user-name 
(svn-multi-reference-user-name ref)
-                                      #:password (svn-multi-reference-password 
ref))))
+                     #~(build:svn-fetch
+                        (string-append (svn-multi-reference-url ref)
+                                       "/" location)
+                        (svn-multi-reference-revision ref)
+                        (if (string-suffix? "/" location)
+                            (string-append temp "/" location)
+                            (string-append temp "/" (dirname location)))
+                        #:svn-command #+(file-append svn "/bin/svn")
+                        #:recursive?
+                        (svn-multi-reference-recursive? ref)
+                        #:user-name (svn-multi-reference-user-name ref)
+                        #:password (svn-multi-reference-password ref))))
                  (svn-multi-reference-locations ref))
           (add-to-store store name #t "sha256" temp)))))
 

Reply via email to