From 5137c73e29929c892c9dbd143fd920014a2ef193 Mon Sep 17 00:00:00 2001 From: Ryan Prior via Guix-patches via Date: Sun, 11 Oct 2020 16:16:29 +0000 Subject: gnu: Add esbuild. * gnu/packages/web.scm (esbuild): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/web.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu/packages/web.scm') diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 1699c92366..0c17f27b06 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2018, 2019, 2020 Björn Höfling ;;; Copyright © 2020 Paul Garlick ;;; Copyright © 2020 Michael Rohleder +;;; Copyright © 2020 Ryan Prior ;;; ;;; This file is part of GNU Guix. ;;; @@ -1346,6 +1347,50 @@ (module "tidy") (home-page "http://tidy.sourceforge.net/") (license (license:x11-style "file:///include/tidy.h")))) +(define-public esbuild + (package + (name "esbuild") + (version "0.7.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/evanw/esbuild") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y5hqymv2r8r29f8vh8kgncj3wlkg4fzi0zlc7mgyss872ajkc7i")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove prebuilt binaries + (delete-file-recursively "npm") + #t)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/evanw/esbuild/cmd/esbuild" + #:unpack-path "github.com/evanw/esbuild" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? unpack-path #:allow-other-keys) + (if tests? + (with-directory-excursion (string-append "src/" unpack-path) + (invoke "make" "test-go"))) + #t))))) + (inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (native-inputs + `(("go-github-com-kylelemons-godebug" ,go-github-com-kylelemons-godebug))) + (home-page "https://github.com/evanw/esbuild") + (synopsis "Bundler and minifier tool for JavaScript and TypeScript") + (description + "The esbuild tool provides a unified bundler, transpiler and +minifier. It packages up JavaScript and TypeScript code, along with JSON +and other data, for distribution on the web.") + (license license:expat))) + (define-public tinyproxy (package (name "tinyproxy") -- cgit v1.2.3