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
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Andrea Frigido <andrea@frisoft.it>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages yarn)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages node))
(define-public yarn
(package
(name "yarn")
(version "1.12.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/yarnpkg/yarn/releases/download/v"
version
"/yarn-v"
version
".tar.gz"))
(sha256
(base32
"1wi47awrcy5kki9qmmia4h3rpsf5k7yvnpmwsbdlnb62krc4pk82"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))
(libexec-yarn (string-append out "/libexec/yarn"))
(yarn-js (string-append libexec-yarn "/bin/yarn.js")))
(mkdir-p bin)
(mkdir-p libexec-yarn)
(copy-recursively "./" libexec-yarn)
(symlink yarn-js (string-append bin "/yarn"))
(symlink yarn-js (string-append bin "/yarnpkg"))))))))
(inputs `(("node" ,node)))
(synopsis "Fast, reliable, and secure dependency management")
(description
"Yarn is a fast, reliable, and secure dependency management. Fast: Yarn
caches every package it has downloaded, so it never needs to download the
same package again. It also does almost everything concurrently to maximize
resource utilization. This means even faster installs. Reliable: Using a
detailed but concise lockfile format and a deterministic algorithm for install
operations, Yarn is able to guarantee that any installation that works on one
system will work exactly the same on another system.
Secure: Yarn uses checksums to verify the integrity of every installed package
before its code is executed.")
(license license:bsd-2)
(home-page "https://yarnpkg.com")))
|