@@ -154,28 +154,15 @@ (define (json->juliahub-dependencies vector)
#f)))
(vector->list vector))))
-(define (ini-list->test-dependencies lst)
- (match lst
- (('test '= ooo ...)
- `(,(caar ooo) ,@(test-list->test-dependencies (cdar ooo))))
- ((value ooo ...)
- (ini-list->test-dependencies ooo))
- ('()
- '())))
-
-(define (test-list->test-dependencies lst)
- (match lst
- ((('unquote value) ooo ...)
- `(,value ,@(test-list->test-dependencies ooo)))
- ('()
- '())))
-
(define (parse-test-dependencies directory)
(let* ((port (open-input-file (string-append directory "/Project.toml")))
- (ini-list (stream->list (port->stream port read))))
+ (project.toml (get-string-all port))
+ (regex "\ntest = \\[.*\\]")
+ (deps (match:substring (string-match regex project.toml)))
+ (pure (string-delete (list->char-set (list #\" #\ )) deps)))
(close-port port)
(filter (lambda (x) (not (member x %julia-stdlibs)))
- (ini-list->test-dependencies ini-list))))
+ (string-split (string-drop (string-drop-right pure 1) 7) #\,))))
;; Julia package.
(define-json-mapping <juliahub-package> make-juliahub-package juliahub-package?
@@ -243,9 +230,9 @@ (define* (juliahub->guix-package package-name
"Fetch the metadata for PACKAGE-NAME from juliahub.org, and return the
`package' s-expression corresponding to that package, or #f on failure.
Optionally include a VERSION string to fetch a specific version juliahub."
- (let* ((package-toml (ini-fetch (general-url package-name "Package.toml")))
- (subdir (assoc-ref package-toml 'subdir))
- (tag (latest-git-tag (assoc-ref package-toml 'repo)))
+ (let* ((package.toml (ini-fetch (general-url package-name "Package.toml")))
+ (subdir (assoc-ref package.toml 'subdir))
+ (tag (latest-git-tag (assoc-ref package.toml 'repo)))
(package (if version
(juliahub-fetch package-name #:version version)
(if tag