[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
113/141: guix: download-multi-svn-to-store: Allow exporting from base UR
From: |
guix-commits |
Subject: |
113/141: guix: download-multi-svn-to-store: Allow exporting from base URL. |
Date: |
Wed, 26 Jun 2024 06:34:44 -0400 (EDT) |
ngz pushed a commit to branch tex-team
in repository guix.
commit 0709868ff24f0b91380659269d7d4678bc9b5a5a
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Sun Jun 23 17:29:37 2024 +0200
guix: download-multi-svn-to-store: Allow exporting from base URL.
* guix/svn-download.scm (download-multi-svn-to-store): Allow exporting from
locations such as "./" or "somefile.txt".
Change-Id: If37362e4672b175fe413acc56ed67064ad998fe3
---
guix/svn-download.scm | 40 ++++++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 16 deletions(-)
diff --git a/guix/svn-download.scm b/guix/svn-download.scm
index 62649e4374..b20cdc79d1 100644
--- a/guix/svn-download.scm
+++ b/guix/svn-download.scm
@@ -351,21 +351,29 @@ reports to LOG."
reports to LOG."
(call-with-temporary-directory
(lambda (temp)
- (and (every (lambda (location)
- (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))))
- (svn-multi-reference-locations ref))
- (add-to-store store name #t "sha256" temp)))))
+ ;; When "svn" is called, TEMP already exists. As a consequence, "svn"
+ ;; refuses to export files there, assuming it would overwrite a previous
+ ;; export. It can be an issue if locations includes files at SVN URL.
+ ;; To circumvent this, export in a fresh sub-directory.
+ (let ((output (string-append temp "/svn")))
+ (mkdir-p output)
+ (and (every (lambda (location)
+ (unless (string-suffix? "/" location)
+ (mkdir-p (string-append output "/" (dirname location))))
+ (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 output "/" location)
+ (string-append output "/" (dirname location)))
+ #: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" output))))))
;;; svn-download.scm ends here
- 97/141: guix: import texlive: Reduce friction when updating., (continued)
- 97/141: guix: import texlive: Reduce friction when updating., guix-commits, 2024/06/26
- 105/141: gnu: texlive-texaccents: Add missing script., guix-commits, 2024/06/26
- 103/141: gnu: texlive-dotseqn: Remove native input., guix-commits, 2024/06/26
- 99/141: gnu: texlive-metafont: Fix inputs., guix-commits, 2024/06/26
- 100/141: gnu: texlive-luatex: Remove unnecessary native input., guix-commits, 2024/06/26
- 107/141: gnu: texlive-cluttex: Add "cllualatex" and "clxelatex" symlinks., guix-commits, 2024/06/26
- 106/141: gnu: texlive-pdfcrop. Add "rpdfcrop" symlink., guix-commits, 2024/06/26
- 108/141: gnu: texlive-blockdraw-mp: Specify upstream name., guix-commits, 2024/06/26
- 109/141: gnu: texlive-kfsh-nat: Specify upstream name., guix-commits, 2024/06/26
- 110/141: gnu: tex: Set properties to protect inputs during updates., guix-commits, 2024/06/26
- 113/141: guix: download-multi-svn-to-store: Allow exporting from base URL.,
guix-commits <=
- 111/141: gnu: tex: Set properties to protect inputs during updates., guix-commits, 2024/06/26
- 112/141: gnu: texlive-match-parens: Specify upstream name., guix-commits, 2024/06/26
- 114/141: gnu: Turn TEXLIVE-SOURCE into a complete package., guix-commits, 2024/06/26
- 115/141: guix: import texlive: no bogus data with non-existing packages., guix-commits, 2024/06/26
- 116/141: gnu: texlive-ran-toks: Specify upstream name., guix-commits, 2024/06/26
- 117/141: gnu: texlive-ctan-chk: Specify upstream name., guix-commits, 2024/06/26
- 120/141: gnu: texlive-ec: Remove reference to TeX Live version in license., guix-commits, 2024/06/26
- 121/141: guix: import texlive: Add UPSTREAM-NAME property when necessary., guix-commits, 2024/06/26
- 118/141: gnu: texlive-r-und-s: Specify upstream name., guix-commits, 2024/06/26
- 119/141: gnu: texlive-pstricks-calcnotes: Specify upstream name., guix-commits, 2024/06/26