diff options
author | Jelle Licht <jlicht@fsfe.org> | 2020-10-23 22:55:12 +0200 |
---|---|---|
committer | Jelle Licht <jlicht@fsfe.org> | 2020-12-04 12:49:02 +0100 |
commit | c5033937023e27aa4affdb5ee911a1e45fe273df (patch) | |
tree | 40d7aa66b3e2a1e7c612a3c56dc1ebd50ceea1c6 /gnu | |
parent | 7541e2222ae0151e56dcade6d7fb94f8d9729196 (diff) | |
download | guix-c5033937023e27aa4affdb5ee911a1e45fe273df.tar.gz |
gnu: node: Add node-llparse-builder-bootstrap.
* gnu/packages/node.scm (node-llparse-builder-bootstrap): New package.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/node.scm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 5a16c95c34..0f47df1fc5 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -354,6 +354,79 @@ modelled after @code{Node.js} core's debugging technique. It works in @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) |