[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#62202] [PATCH 15/21] import: juliahub: More robust toml regex parse
From: |
Nicolas Graves |
Subject: |
[bug#62202] [PATCH 15/21] import: juliahub: More robust toml regex parser. |
Date: |
Wed, 15 Mar 2023 13:51:24 +0100 |
---
guix/import/juliahub.scm | 29 ++++++++---------------------
1 file changed, 8 insertions(+), 21 deletions(-)
diff --git a/guix/import/juliahub.scm b/guix/import/juliahub.scm
index 1c7b029296..3985d8d0be 100644
--- a/guix/import/juliahub.scm
+++ b/guix/import/juliahub.scm
@@ -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
--
2.39.2
- [bug#62202] [PATCH 06/21] import: juliahub: Add updater and recursive-importer., (continued)
- [bug#62202] [PATCH 06/21] import: juliahub: Add updater and recursive-importer., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 05/21] import: juliahub: Add indirect dependencies., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 08/21] import: juliahub: Simplify juliahub dependency management., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 10/21] import: juliahub: Add functions to parse the git repo for a git tag., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 07/21] import: juliahub: Filter out julia stdlibs., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 12/21] import: juliahub: Handle the case where we have a subdirectory., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 13/21] import: juliahub: Add support for versions for juliahub-fetch., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 16/21] import: juliahub: Beautify description., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 18/21] import: juliahub: Fix version management., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 14/21] import: juliahub: Filter out stdlibs from test-dependencies., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 15/21] import: juliahub: More robust toml regex parser.,
Nicolas Graves <=
- [bug#62202] [PATCH 20/21] import: utils: Rule out texinfo common syntax from @ escape., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 17/21] import: juliahub: Fix license management., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 21/21] import: juliahub: output package names as symbols., Nicolas Graves, 2023/03/15
- [bug#62202] [PATCH 19/21] import: juliahub: Fix undefined homepages., Nicolas Graves, 2023/03/15