blob: 5ebd6125f8b2848b8684fbff3b0b0c9fd282043a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
;;; Package Repository for GNU Guix
;;; Copyright © 2021-2025 Franz Geffke <m@f-a.nz>
(define-module (px packages node)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (ice-9 match)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (guix build-system copy)
#:use-module (guix packages))
(define-public pnpm
(package
(name "pnpm")
(version "10.6.3")
(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 "1dwvq4l9bwm906wy74xx259gv0zr239dj2ja6sj607cn7jc8hnwk"))))
(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)))
(define-public pnpm-9
(package
(name "pnpm")
(version "9.15.5")
(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 "02nwfl15rhx0vjfm5za6grg1748kdlqkw6yfz21g4sgcv3sfiadb"))))
(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)))
(define-public yarn
(package
(name "yarn")
(version "1.22.22")
(source
(origin
(method url-fetch)
(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)
(arguments
`(#:install-plan
'(("bin/" "bin/")
("lib/" "lib/")
("package.json" "lib/yarn/")
("LICENSE" "share/doc/yarn/")
("README.md" "share/doc/yarn/"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'make-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(for-each
(lambda (file)
(chmod file #o755))
(find-files bin ".*"))))))))
(home-page "https://classic.yarnpkg.com")
(synopsis "Fast, reliable, and secure dependency management.")
(description "Yarn is a package manager for your code.
It allows you to use and share (e.g. JavaScript) code with
other developers from around the world. Yarn does this quickly,
securely, and reliably so you don’t ever have to worry.")
(license license:expat)))
|