guix-commits
[Top][All Lists]
Advanced

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

01/01: import: stackage: Avoid using (guix ui) in importer code.


From: Federico Beffa
Subject: 01/01: import: stackage: Avoid using (guix ui) in importer code.
Date: Tue, 14 Feb 2017 02:39:28 -0500 (EST)

beffa pushed a commit to branch master
in repository guix.

commit 57075ade97e58eded5657ec74e5516d58f15eda6
Author: Federico Beffa <address@hidden>
Date:   Sat Feb 11 18:18:45 2017 +0100

    import: stackage: Avoid using (guix ui) in importer code.
    
    * guix/import/stackage.scm (stackage->guix-package, 
stackage-lts-info-fetch):
      Raise 'message' condition instead of using 'leave' from (guix ui).
    * guix/scripts/import/stackage.scm (guix-import-stackage): Handle 
conditions.
---
 guix/import/stackage.scm         | 10 +++++++---
 guix/scripts/import/stackage.scm | 19 ++++++++++---------
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm
index 542b718..5b25adc 100644
--- a/guix/import/stackage.scm
+++ b/guix/import/stackage.scm
@@ -21,12 +21,13 @@
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:use-module (guix import json)
   #:use-module (guix import hackage)
   #:use-module (guix memoization)
   #:use-module (guix packages)
   #:use-module (guix upstream)
-  #:use-module (guix ui)
   #:export (stackage->guix-package
             %stackage-updater))
 
@@ -49,6 +50,9 @@
     ((_ ("packages" pkg ...)) pkg)
     (_ '())))
 
+(define (leave-with-message fmt . args)
+  (raise (condition (&message (message (apply format #f fmt args))))))
+
 (define stackage-lts-info-fetch
   ;; "Retrieve the information about the LTS Stackage release VERSION."
   (memoize
@@ -59,7 +63,7 @@
             (lts-info (json-fetch url)))
        (if lts-info
            (reverse lts-info)
-           (leave (_ "LTS release version not found: ~A~%") version))))))
+           (leave-with-message "LTS release version not found: ~a" 
version))))))
 
 (define (stackage-package-name pkg-info)
   (assoc-ref pkg-info "name"))
@@ -99,7 +103,7 @@ included in the Stackage LTS release."
         (hackage->guix-package name-version
                                #:include-test-dependencies?
                                include-test-dependencies?)
-        (leave (_ "package not found: ~A~%") package-name))))
+        (leave-with-message "~a: Stackage package not found" package-name))))
 
 
 ;;;
diff --git a/guix/scripts/import/stackage.scm b/guix/scripts/import/stackage.scm
index cf47bff..f91b496 100644
--- a/guix/scripts/import/stackage.scm
+++ b/guix/scripts/import/stackage.scm
@@ -98,15 +98,16 @@ Import and convert the LTS Stackage package for 
PACKAGE-NAME.\n"))
                            (reverse opts))))
     (match args
       ((package-name)
-       (let ((sexp (stackage->guix-package
-                    package-name
-                    #:include-test-dependencies?
-                    (assoc-ref opts 'include-test-dependencies?)
-                    #:lts-version (assoc-ref opts 'lts-version))))
-         (unless sexp
-           (leave (_ "failed to download cabal file for package '~a'~%")
-                  package-name))
-         sexp))
+       (with-error-handling
+        (let ((sexp (stackage->guix-package
+                     package-name
+                     #:include-test-dependencies?
+                     (assoc-ref opts 'include-test-dependencies?)
+                     #:lts-version (assoc-ref opts 'lts-version))))
+          (unless sexp
+            (leave (_ "failed to download cabal file for package '~a'~%")
+                   package-name))
+          sexp)))
       (()
        (leave (_ "too few arguments~%")))
       ((many ...)



reply via email to

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