guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#63307] [PATCH] gnu: Add pnpm


From: Franz Geffke
Subject: [bug#63307] [PATCH] gnu: Add pnpm
Date: Fri, 5 May 2023 15:03:22 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0

diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 991113c05b..b32e68b415 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -29,7 +29,9 @@ (define-module (gnu packages node-xyz)
   #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix git-download)
-  #:use-module (guix build-system node))
+  #:use-module (guix build-system node)
+  #:use-module (guix build-system trivial)
+  #:use-module (ice-9 match))

 (define-public node-acorn
   (package
@@ -1546,3 +1548,37 @@ (define-public node-yazl
 @item Prefer to open input files one at a time than all at once.
 @end enumerate")
     (license license:expat)))
+
+(define-public pnpm
+  (package
+    (name "pnpm")
+    (version "7.32.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/pnpm/pnpm/releases/download/v";
+             version "/pnpm-linuxstatic-"
+             (match (or (%current-system) (%current-target-system))
+               ("x86_64-linux" "x64")
+               ("aarch64-linux" "arm64"))))
+       (sha256
+        (base32
+         "1k3n24ink74ajs8nd0p6y6238vi41n5bvrk8clnydgwg11ax1zx0"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules ((guix build utils)))
+         (let* ((source (assoc-ref %build-inputs "source"))
+                (bin (string-append %output "/bin"))
+                (exe (string-append bin "/pnpm")))
+           (mkdir-p bin)
+           (copy-file source exe)
+           (chmod exe #o755)))))
+    (home-page "https://pnpm.io";)
+    (synopsis "Fast, disk space efficient package manager for nodejs")
+    (description "pnpm uses a content-addressable filesystem to
+store all files from all module directories on a disk")
+    (license license:expat)))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]