summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/import/cpan.scm27
1 files changed, 16 insertions, 11 deletions
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 307681b6ce..bd48c44b1a 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -141,17 +141,22 @@ META."
       (#f
        '())
       ((inputs ...)
-       (delete-duplicates
-        ;; Listed dependencies may include core modules.  Filter those out.
-        (filter-map (match-lambda
-                     (("perl" . _)      ;implicit dependency
-                      #f)
-                     ((module . _)
-                      (and (not (core-module? module))
-                           (let ((name (guix-name (module->dist-name module))))
-                             (list name
-                                   (list 'unquote (string->symbol name)))))))
-                    inputs)))))
+       (sort
+        (delete-duplicates
+         ;; Listed dependencies may include core modules.  Filter those out.
+         (filter-map (match-lambda
+                      (("perl" . _)     ;implicit dependency
+                       #f)
+                      ((module . _)
+                       (and (not (core-module? module))
+                            (let ((name (guix-name (module->dist-name module))))
+                              (list name
+                                    (list 'unquote (string->symbol name)))))))
+                     inputs))
+        (lambda args
+          (match args
+            (((a _ ...) (b _ ...))
+             (string<? a b))))))))
 
   (define (maybe-inputs guix-name inputs)
     (match inputs