From c5033937023e27aa4affdb5ee911a1e45fe273df Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Fri, 23 Oct 2020 22:55:12 +0200 Subject: [PATCH] gnu: node: Add node-llparse-builder-bootstrap. * gnu/packages/node.scm (node-llparse-builder-bootstrap): New package. --- gnu/packages/node.scm | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) 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 @@ (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)