diff mbox series

[bug#66076,v2,10/23] DRAFT import: juliahub: Simplify juliahub dependency management.

Message ID d21d6314221dd876b598a86a655b658821c3334f.1695060058.git.zimon.toutoune@gmail.com
State New
Headers show
Series [bug#62202,v2,01/23] DRAFT guix: import: go: Add optional transform-version to vcs->origin. | expand

Commit Message

Simon Tournier Sept. 18, 2023, 6:03 p.m. UTC
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>

Signed-off-by: Simon Tournier <zimon.toutoune@gmail.com>
---
 guix/import/juliahub.scm | 42 ++++++++++++++--------------------------
 1 file changed, 14 insertions(+), 28 deletions(-)
diff mbox series

Patch

diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm
index af08f3d698d0..b1eeb736a824 100644
--- a/guix/import/juliahub.scm
+++ b/guix/import/juliahub.scm
@@ -100,26 +100,13 @@  (define (juliahub-slug-version name)
          (latest-version (string-drop uri 6)))
     `(,slug ,latest-version)))
 
-(define (json->juliahub-direct-dependencies vector)
+(define (json->juliahub-dependencies vector)
   (if (vector? vector)
       (filter-map
        (lambda (el)
          (let ((dep (json->juliahub-dependency el)))
-           (if (and (juliahub-dependency-direct? dep)
-                    (not (member (juliahub-dependency-name dep)
-                                 %julia-stdlibs)))
-               dep
-               #f)))
-       (vector->list vector))))
-
-(define (json->juliahub-indirect-dependencies vector)
-  (if (vector? vector)
-      (filter-map
-       (lambda (el)
-         (let ((dep (json->juliahub-dependency el)))
-           (if (and (not (juliahub-dependency-direct? dep))
-                    (not (member (juliahub-dependency-name dep)
-                                 %julia-stdlibs)))
+           (if (not (member (juliahub-dependency-name dep)
+                            %julia-stdlibs))
                dep
                #f)))
        (vector->list vector))))
@@ -157,12 +144,9 @@  (define-json-mapping <juliahub-package> make-juliahub-package juliahub-package?
   (readme juliahub-package-readme) ;string
   (version juliahub-package-version) ;string
   (description juliahub-package-description) ;string
-  (direct-dependencies
-   juliahub-package-direct-dependencies "deps"
-   json->juliahub-direct-dependencies) ;list of <juliahub-dependency>
-  (indirect-dependencies
-   juliahub-package-indirect-dependencies "deps"
-   json->juliahub-indirect-dependencies) ;list of <juliahub-dependency>
+  (dependencies
+   juliahub-package-dependencies "deps"
+   json->juliahub-dependencies) ;list of <juliahub-dependency>
   (url juliahub-package-url) ;string
   (uuid juliahub-package-uuid) ;string
   (license juliahub-package-license)) ;string
@@ -184,7 +168,7 @@  (define* (juliahub-fetch name #:key (version #f))
          json->juliahub-package))
 
 (define (make-julia-sexp name source home-page synopsis description
-                         direct-dependencies test-dependencies-names licenses)
+                         dependencies test-dependencies-names licenses)
   "Return the `package' s-expression for a Julia package with the given NAME,
 VERSION, URI, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES,
 TEST-DEPENDENCIES-NAMES and LICENSES."
@@ -193,11 +177,13 @@  (define (make-julia-sexp name source home-page synopsis description
      (version ,version)
      (source ,source)
      (build-system julia-build-system)
-     ,@(if (null? direct-dependencies)
-           '()
-           `((propagated-inputs
-              (list ,@(map (compose julia-name->guix-name juliahub-dependency-name)
-                           direct-dependencies)))))
+     ,@(let ((direct-dependencies
+              (filter julia-dependency-direct? dependencies)))
+         (if (null? direct-dependencies)
+             '()
+             `((propagated-inputs
+                (list ,@(map (compose julia-name->guix-name juliahub-dependency-name)
+                             direct-dependencies))))))
      ,@(if (null? test-dependencies-names)
            '()
            `((native-inputs