gnu: node: Add node-llparse-builder-bootstrap.

* gnu/packages/node.scm (node-llparse-builder-bootstrap): New package.
This commit is contained in:
Jelle Licht 2020-10-23 22:55:12 +02:00
parent 7541e2222a
commit c503393702
No known key found for this signature in database
GPG key ID: DA4597F947B41025

View file

@ -354,6 +354,79 @@ (define-public node-debug-bootstrap
@code{Node.js} and web browsers.")
(license license:expat)))
(define-public node-llparse-builder-bootstrap
(package
(name "node-llparse-builder")
(version "1.5.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/indutny/llparse-builder.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r82iiwqsb73k2fxw7842rjjiixllxpyc6yl9cq4ma6ybkf6xmzm"))
(modules '((guix build utils)))
(snippet
'(begin
;; FIXME: Unneeded runtime dependency
;; https://github.com/indutny/llparse-builder/pull/2
(substitute* "package.json"
(("\"@types/debug.*,") ""))
;; Fix incorrect import semantics
;; https://github.com/evanw/esbuild/issues/477
(substitute* (list
"src/node/invoke.ts"
"src/node/base.ts"
"src/node/consume.ts"
"src/node/match.ts"
"src/node/error.ts"
"src/node/pause.ts"
"src/edge.ts"
"src/utils.ts"
"src/loop-checker/index.ts"
"src/loop-checker/lattice.ts"
"src/code/field.ts"
"src/span-allocator.ts")
(("\\* as assert") "assert")
(("\\* as debugAPI") "debugAPI"))
#t))))
(build-system node-build-system)
(arguments
`(#:node ,node-bootstrap
#:tests? #f
#:phases
(modify-phases
%standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let ((esbuild (string-append
(assoc-ref inputs "esbuild")
"/bin/esbuild")))
(invoke esbuild
"--platform=node"
"--external:debug"
"--external:binary-search"
"--outfile=lib/builder.js"
"--bundle"
"src/builder.ts")))))))
(inputs
`(("node-binary-search" ,node-binary-search-bootstrap)
("node-debug" ,node-debug-bootstrap)))
(native-inputs
`(("esbuild" ,esbuild)))
(home-page
"https://github.com/indutny/llparse-builder#readme")
(properties '((hidden? . #t)))
(synopsis
"Graph builder for consumption by @code{llparse}")
(description
"This package builds graphs for consumption by @code{llparse}.")
(license license:expat)))
(define-public libnode
(package
(inherit node)