guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#52731] [PATCH] import: texlive: Check if Subversion is installed.


From: Xinglu Chen
Subject: [bug#52731] [PATCH] import: texlive: Check if Subversion is installed.
Date: Wed, 22 Dec 2021 10:01:01 +0100

Exit with a friendlier error message instead of throwing throwing a “failed with
signal 11” error if ‘svn’ isn’t in the user’s PATH.

  $ guix import texlive getmap
  command "svn" "export" "--non-interactive" "--trust-server-cert" "-r" "59745" 
"svn://www.tug.org/texlive/tags/texlive-2021.3/Master/texmf-dist/doc/latex/getmap/"
 "/tmp/guix-directory.YgfGgo/doc/latex/getmap/" failed with signal 11

* doc/guix.texi (Invoking guix import): Mention that Subversion has be
installed.
* guix/import/texlive.scm (tlpdb->package): Check if ‘svn’ is found in PATH,
if not exit with an error message.
---
 doc/guix.texi           | 4 +++-
 guix/import/texlive.scm | 7 +++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 333cb4117a..1ece51de81 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -12020,7 +12020,9 @@
 Information about the package is obtained from the TeX Live package
 database, a plain text file that is included in the @code{texlive-bin}
 package.  The source code is downloaded from possibly multiple locations
-in the SVN repository of the Tex Live project.
+in the SVN repository of the Tex Live project.  This means that the
+@code{subversion} package has to be installed in order for the importer
+to work.
 
 The command command below imports metadata for the @code{fontspec}
 TeX package:
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index bdef9f58b0..e3b870efa0 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,8 @@ (define-module (guix import texlive)
   #:use-module (guix utils)
   #:use-module (guix upstream)
   #:use-module (guix packages)
+  #:use-module (guix diagnostics)
+  #:use-module (guix i18n)
   #:use-module (guix build-system texlive)
   #:export (texlive->guix-package
             texlive-recursive-import))
@@ -204,6 +207,10 @@ (define (files->directories files)
                           equal?)))
 
 (define (tlpdb->package name package-database)
+  ;; Check if 'svn' is available.
+  (unless (search-path (string-split (getenv "PATH") #\:) "svn")
+    (leave (G_ "the 'svn' program has to be in your PATH~%")))
+  
   (and-let* ((data (assoc-ref package-database name))
              (dirs (files->directories
                     (map (lambda (dir)

base-commit: 87e5502d406bfb44b61f7577b241602e02a3498e
-- 
2.33.1








reply via email to

[Prev in Thread] Current Thread [Next in Thread]