me
/
guix
Archived
1
0
Fork 0

gnu: clojure-instaparse: Update to 1.4.12.

This patch updates clojure-instaparse to 1.4.12. Due to the following AOT
related error I disabled AOT compilation for this package.

```
starting phase `build'
Execution error (IllegalArgumentException) at instaparse.auto-flatten-seq/fn$G (auto_flatten_seq.cljc:7).
No implementation of method: :conj-flat of protocol: #'instaparse.auto-flatten-seq/ConjFlat found for class: instaparse.auto_flatten_seq.AutoFlattenSeq
```

This seems to be a known issue with AOT compilation. The issue has been
discussed [1] and seems to be still an open issue.

[1] https://github.com/Engelberg/instaparse/issues/85

* gnu/packages/clojure.scm (clojure-instaparse): Update to 1.4.12.
[arguments]: Add 'fix-import' phase.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
r0man 2022-07-16 20:24:29 +02:00 committed by Ludovic Courtès
parent f65270c799
commit 666f12f125
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 17 additions and 5 deletions

View File

@ -411,8 +411,7 @@ lazy - should allow parsing and emitting of large XML documents")
(license license:epl1.0))) (license license:epl1.0)))
(define-public clojure-instaparse (define-public clojure-instaparse
(let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e") (let ((version "1.4.12"))
(version "1.4.9")) ; upstream forget to tag this release
(package (package
(name "clojure-instaparse") (name "clojure-instaparse")
(version version) (version version)
@ -420,14 +419,27 @@ lazy - should allow parsing and emitting of large XML documents")
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/Engelberg/instaparse") (url "https://github.com/Engelberg/instaparse")
(commit commit))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"002mrgin4z3dqy88r1lak7smd0m7x8d22vmliw0m6w6mh5pa17lk")))) "1xdiwsv1dc8mvrmvgs4xdqk3z6ddsammc6brhcb771yhimx8jjcr"))))
(build-system clojure-build-system) (build-system clojure-build-system)
(arguments (arguments
'(#:doc-dirs '("docs/"))) '(;; Disabled AOT, because of failing test: No implementation of
;; method: :conj-flat of protocol:
;; #'instaparse.auto-flatten-seq/ConjFlat found for class:
;; instaparse.auto_flatten_seq.AutoFlattenSeq
#:aot-exclude '(#:all)
#:doc-dirs '("docs/")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-import
(lambda _
(substitute*
"test/instaparse/defparser_test.cljc"
(("AssertionError")
"Exception")))))))
(synopsis "No grammar left behind") (synopsis "No grammar left behind")
(description (description
"Instaparse aims to be the simplest way to build parsers in Clojure. "Instaparse aims to be the simplest way to build parsers in Clojure.