gnu: Add node-llparse-frontend-bootstrap.

* gnu/packages/node.scm (node-llparse-frontend-bootstrap): New variable.
This commit is contained in:
Jelle Licht 2021-03-30 01:27:40 -04:00
parent 6b930e5242
commit 82e7f7c029
No known key found for this signature in database
GPG Key ID: DA4597F947B41025

View File

@ -398,6 +398,62 @@ Node.js and web browsers.")
(description "This package builds graphs for consumption by llparse.")
(license license:expat)))
(define-public node-llparse-frontend-bootstrap
(package
(name "node-llparse-frontend")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/indutny/llparse-frontend.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rm9g4ifyip30svm5cgnf0gx7d45jgh4mpf2hkd092xhngmfvicc"))
(modules '((guix build utils)))
(snippet
'(begin
;; Fix imports for esbuild.
;; https://github.com/evanw/esbuild/issues/477
(substitute* '("src/frontend.ts"
"src/code/field-value.ts"
"src/container/index.ts"
"src/container/wrap.ts"
"src/node/sequence.ts"
"src/node/single.ts"
"src/node/table-lookup.ts"
"src/trie/index.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"
"--outfile=lib/frontend.js"
"--bundle"
"src/frontend.ts")))))))
(inputs
`(("node-debug" ,node-debug-bootstrap)
("node-llparse-builder" ,node-llparse-builder-bootstrap)))
(native-inputs
`(("esbuild" ,esbuild)))
(home-page "https://github.com/indutny/llparse-frontend#readme")
(properties '((hidden? . #t)))
(synopsis "Frontend for the llparse compiler")
(description "This package is a frontend for the llparse compiler.")
(license license:expat)))
(define-public libnode
(package/inherit node
(name "libnode")