summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Leidi <goodoldpaul@autistici.org>2024-10-09 17:46:34 +0200
committerHilton Chain <hako@ultrarare.space>2025-04-04 21:28:32 +0800
commit5bdf1c9103794b7db85b4208026db51292e42ebc (patch)
tree61520c76c8f2f6bda72cd39754026a21809a9101
parentf170bdc32dc3529c91ae8154a449371e6d637c73 (diff)
nongnu: Add yarn.
* nongnu/packages/node.scm: New file. Signed-off-by: Hilton Chain <hako@ultrarare.space> Modified-by: Hilton Chain <hako@ultrarare.space>
-rw-r--r--nongnu/packages/node.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/nongnu/packages/node.scm b/nongnu/packages/node.scm
new file mode 100644
index 0000000..876e65b
--- /dev/null
+++ b/nongnu/packages/node.scm
@@ -0,0 +1,60 @@
+;;; SPDX-License-Identifier: GPL-3.0-or-later
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+
+(define-module (nongnu packages node)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages node)
+ #:use-module (guix build-system copy)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module ((guix licenses) :prefix license:))
+
+(define-public yarn
+ (package
+ (name "yarn")
+ (version "1.22.22")
+ (source (origin
+ (method url-fetch/tarbomb)
+ (uri (string-append "https://github.com/yarnpkg/yarn/releases/download/v"
+ version
+ "/yarn-v"
+ version
+ ".tar.gz"))
+
+ (sha256
+ (base32
+ "181nvynhhrbga3c209v8cd9psk6lqjkc1s9wyzy125lx35j889l8"))))
+ (build-system copy-build-system)
+ (inputs (list coreutils bash-minimal node-lts sed))
+ (arguments
+ (list #:install-plan
+ #~`((,(string-append "yarn-v" #$version "/bin") "bin")
+ (,(string-append "yarn-v" #$version "/lib") "lib")
+ (,(string-append "yarn-v" #$version "/package.json")
+ "lib/package.json"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'delete-powershell-entrypoints
+ (lambda _
+ (delete-file (string-append #$output "/bin/yarn.cmd"))
+ (delete-file (string-append #$output "/bin/yarnpkg.cmd"))))
+ (add-after 'delete-powershell-entrypoints 'wrap-entrypoints
+ (lambda _
+ (for-each
+ (lambda (entrypoint)
+ (wrap-program (string-append #$output "/bin/" entrypoint)
+ `("PATH" = (,(string-append
+ #$output "/bin:"
+ #$(this-package-input "bash-minimal") "/bin:"
+ #$(this-package-input "coreutils") "/bin:"
+ #$(this-package-input "sed") "/bin:"
+ #$(this-package-input "node") "/bin")))))
+ '("yarn" "yarnpkg")))))))
+ (home-page "https://yarnpkg.com/")
+ (synopsis "Dependency management tool for JavaScript")
+ (description
+ "Yarn is a dependency management tool for JavaScript. It acts as a
+drop-in replacement for @code{node}'s @command{npm}.")
+ (license license:bsd-2)))