gwl-devel
[Top][All Lists]
Advanced

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

Re: Packages specification does not work


From: Olivier Dion
Subject: Re: Packages specification does not work
Date: Thu, 21 Apr 2022 14:25:56 -0400

On Thu, 21 Apr 2022, Olivier Dion <olivier.dion@polymtl.ca> wrote:
> Hi,
>
> The documentation says that we can provide the list of packages as Guix
> specification:

I might have a fix.  Still working on testing it though:

--8<---------------cut here---------------start------------->8---
diff --git a/gwl/packages.scm b/gwl/packages.scm
index 6fe82d4..60e90a7 100644
--- a/gwl/packages.scm
+++ b/gwl/packages.scm
@@ -71,13 +71,21 @@
             (set! connection (open-connection))
             connection)))))

-(define (lookup-package specification)
+(define (%lookup-package name+version output)
+  (values
+   (match (apply lookup-inferior-packages
+                 (cons (current-guix) (string-split name+version #\@)))
+     ((first . rest) first)
+     (_ (raise (condition
+                (&gwl-package-error
+                 (package-spec (string-append name+version output)))))))
+   output))
+
+(define* (lookup-package specification #:optional (output "out"))
   (log-event 'guix (G_ "Looking up package `~a'~%") specification)
-  (match (lookup-inferior-packages (current-guix) specification)
-    ((first . rest) first)
-    (_ (raise (condition
-               (&gwl-package-error
-                (package-spec specification)))))))
+  (match (string-split specification #\:)
+    ((name+version sub-drv) (%lookup-package name+version sub-drv))
+    ((name+version) (%lookup-package name+version output))))

 (define (valid-package? val)
   (or (package? val)
--8<---------------cut here---------------end--------------->8---

-- 
Olivier Dion
oldiob.dev



reply via email to

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