diff options
author | Jelle Licht <jlicht@fsfe.org> | 2020-10-23 22:56:03 +0200 |
---|---|---|
committer | Jelle Licht <jlicht@fsfe.org> | 2020-12-04 12:49:03 +0100 |
commit | 4713045c81dcff245168acd257aba6cc6ab6bab2 (patch) | |
tree | 813f38c7f969d9dbb188e665462d5b9b47fdea60 | |
parent | fab4463d504517ae750d12f8341cac6ce29debe6 (diff) | |
download | guix-4713045c81dcff245168acd257aba6cc6ab6bab2.tar.gz |
gnu: node: Add node-llparse-bootstrap.
* gnu/packages/node.scm (node-llparse-bootstrap): New package.
-rw-r--r-- | gnu/packages/node.scm | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 99c73f3415..59506c5155 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -489,6 +489,70 @@ modelled after @code{Node.js} core's debugging technique. It works in compiler.") (license license:expat))) +(define-public node-llparse-bootstrap + (package + (name "node-llparse") + (version "7.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/indutny/llparse.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10da273iy2if88hp79cwms6c8qpsl1fkgzll6gmqyx5yxv5mkyp6")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix incorrect import semantics + ;; https://github.com/evanw/esbuild/issues/477 + (substitute* (list "src/compiler/index.ts" + "src/implementation/c/node/base.ts" + "src/implementation/c/node/table-lookup.ts" + "src/implementation/c/compilation.ts" + "src/implementation/c/helpers/match-sequence.ts" + "src/implementation/c/code/mul-add.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:llparse-frontend" + "--outfile=lib/api.js" + "--bundle" + "src/api.ts"))))))) + (inputs + `(("node-debug" ,node-debug-bootstrap) + ("node-llparse-frontend" + ,node-llparse-frontend-bootstrap))) + (native-inputs + `(("esbuild" ,esbuild))) + (home-page + "https://github.com/nodejs/llparse#readme") + (properties '((hidden? . #t))) + (synopsis + "Compile incremental parsers to C code") + (description + "This package offers an API for compiling an incremental parser +definition into a C output.") + (license license:expat))) + (define-public libnode (package (inherit node) |