diff options
-rw-r--r-- | gnu/packages/node.scm | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 570d4521ac..16c3decdd4 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -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") |