diff options
author | Jelle Licht <jlicht@fsfe.org> | 2021-03-30 01:27:39 -0400 |
---|---|---|
committer | Jelle Licht <jlicht@fsfe.org> | 2021-04-02 18:04:23 +0200 |
commit | 6b930e524292026f81ca04688f83d0bcf195e0cf (patch) | |
tree | 50b00306299fbefc7eb16d23bd9f6b4de2f7a29f | |
parent | 2780cea3f8b90d7feb3e21b92b9637abdaa58a76 (diff) | |
download | guix-6b930e524292026f81ca04688f83d0bcf195e0cf.tar.gz guix-6b930e524292026f81ca04688f83d0bcf195e0cf.tar.xz |
gnu: Add node-llparse-builder-bootstrap.
* gnu/packages/node.scm (node-llparse-builder-bootstrap): New variable.
-rw-r--r-- | gnu/packages/node.scm | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6c4c02265d..570d4521ac 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -333,6 +333,71 @@ utility modelled after Node.js core's debugging technique. It works in 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 imports for esbuild. + ;; https://github.com/evanw/esbuild/issues/477 + (substitute* '("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" + "--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 llparse") + (description "This package builds graphs for consumption by llparse.") + (license license:expat))) + (define-public libnode (package/inherit node (name "libnode") |