1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
3 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
5 ;;; This file is part of GNU Guix.
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 (define-module (gnu packages node-xyz)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix git-download)
24 #:use-module (guix build-system node))
26 (define-public node-color-name
28 (name "node-color-name")
34 (url "https://github.com/colorjs/color-name")
35 (commit (string-append "v" version))))
36 (file-name (git-file-name name version))
39 "09rbmj16nfwcwkhrybqxyy66bkrs50vpw6hkdqqb14l3gsyxpr74"))))
40 (build-system node-build-system)
41 (home-page "https://github.com/colorjs/color-name")
42 (synopsis "JSON with CSS color names")
44 "This package provides a JSON list with color names and their values.")
45 (license license:expat)))
47 (define-public node-env-variable
49 (name "node-env-variable")
55 (url "https://github.com/bigpipe/env-variable")
57 (file-name (git-file-name name version))
60 "0nnpxjxfhy4na7fixb7p3ww6ard5xgggfm83b78i333867r4gmsq"))))
61 (build-system node-build-system)
62 (arguments '(#:tests? #f)) ; No tests.
63 (home-page "https://github.com/bigpipe/env-variable")
64 (synopsis "Environment variables for Node with fallbacks")
65 (description "This package provides environment variables with
66 @code{process.env}, @code{window.name}, @code{location.hash} and
67 @code{localStorage} fallbacks.")
68 (license license:expat)))
70 (define-public node-far
78 (url "https://github.com/felixge/node-far")
79 (commit (string-append "v" version))))
80 (file-name (git-file-name name version))
83 "083rv1rszjn0i91zcpaghlid0kwhk0angmpj4hiflrlyhd6cmjzw"))))
84 (build-system node-build-system)
87 (modify-phases %standard-phases
90 ;; We skip the two tests which are supposed to fail.
91 (invoke "bin/node-far" "-v" "test/" "-e" "test.*fail.js"))))))
93 `(("node-oop" ,node-oop)))
94 (home-page "https://github.com/felixge/node-far")
95 (synopsis "Node.js test runner")
96 (description "This package provides a simple test runner that finds and runs
97 multiple node.js files, while providing useful information about output and exit
99 (license license:expat)))
101 (define-public node-long-stack-traces
103 (name "node-long-stack-traces")
109 (url "https://github.com/tlrobinson/long-stack-traces")
110 (commit (string-append "v" version))))
111 (file-name (git-file-name name version))
114 "0famwsyc6xawi30v25zi65d8fhbvlvh976bqydf1dqn5gz200cl3"))))
115 (build-system node-build-system)
116 (arguments '(#:tests? #f)) ; No tests.
117 (home-page "https://github.com/tlrobinson/long-stack-traces")
118 (synopsis "Long stacktraces implemented in user-land JavaScript")
119 (description "This package provides long stacktraces for V8 implemented in
120 user-land JavaScript.")
121 (license license:expat))) ; in README
123 (define-public node-mersenne
125 (name "node-mersenne")
131 (url "https://github.com/jwatte/node-mersenne")
132 ;; The actual release lacks a git tag.
133 (commit "f9fa01694ee49d6ae6ff9d90cfda594bddd3ccef")))
134 (file-name (git-file-name name version))
137 "034iaiq2pdqn342p2404cpz364g282d2hkp9375hysnh9i968wbb"))))
138 (build-system node-build-system)
139 (arguments '(#:tests? #f)) ; No tests.
140 (home-page "http://www.enchantedage.com/node-mersenne")
141 (synopsis "Node.js module for generating Mersenne Twister random numbers")
142 (description "Thix package provides a node.js port of the Mersenne Twister
143 random number generator.")
144 (license license:bsd-3)))
146 (define-public node-oop
147 ;; No releases, last commit was February 2013.
148 (let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
152 (version (git-version "0.0.0" revision commit))
157 (url "https://github.com/felixge/node-oop")
159 (file-name (git-file-name name version))
162 "0mqrcf0xi2jbwffwkk00cljpqfsri1jk8s6kz8jny45apn7zjds1"))))
163 (build-system node-build-system)
164 (arguments '(#:tests? #f)) ; Tests run during build phase.
165 (home-page "https://github.com/felixge/node-oop")
166 (synopsis "Simple, light-weight oop module for Node")
167 (description "This library tries to bring basic oop features to JavaScript
168 while being as light-weight and simple as possible.")
169 (license license:expat))))
171 (define-public node-stack-trace
172 ;; There have been improvements since the last release.
173 (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
176 (name "node-stack-trace")
177 (version (git-version "0.0.10" revision commit))
182 (url "https://github.com/felixge/node-stack-trace")
184 (file-name (git-file-name name version))
187 "1pk19wcpy8i95z5jr77fybd57qj7xmzmniap4dy47vjlmpkqia4i"))))
188 (build-system node-build-system)
191 (modify-phases %standard-phases
192 (add-before 'check 'skip-intentionally-failing-test
194 (substitute* "test/run.js"
195 (("far.include") "far.exclude(/test-parse.js/)\nfar.include"))
198 `(("node-far" ,node-far)
199 ("node-long-stack-traces" ,node-long-stack-traces)))
200 (home-page "https://github.com/felixge/node-stack-trace")
201 (synopsis "Get v8 stack traces as an array of CallSite objects")
202 (description "Get v8 stack traces as an array of CallSite objects.")
203 (license license:expat))))
205 (define-public node-statsd-parser
207 (name "node-statsd-parser")
213 (url "https://github.com/dscape/statsd-parser")
215 (file-name (git-file-name name version))
218 "049rnczsd6pv6bk282q4w72bhqc5cs562djgr7yncy7lk0wzq5j3"))))
219 (build-system node-build-system)
220 (arguments '(#:tests? #f)) ; No tests.
221 (home-page "https://github.com/dscape/statsd-parser")
222 (synopsis "Streaming parser for the statsd protocol")
223 (description "This package provides a streaming parser for the statsd
224 protocol used in @code{node-lynx}.")
225 (license license:asl2.0)))
227 (define-public node-util-deprecate
229 (name "node-util-deprecate")
235 (url "https://github.com/TooTallNate/util-deprecate")
237 (file-name (git-file-name name version))
240 "1rk94nl3qc7znsk8400bnga30v0m7j2mmvz9ldwjinxv1d3n11xc"))))
241 (build-system node-build-system)
242 (arguments '(#:tests? #f)) ; No test suite.
243 (home-page "https://github.com/TooTallNate/util-deprecate")
244 (synopsis "Node.js `util.deprecate()` function with browser support")
245 (description "This package provides the Node.js @code{util.deprecate()}
246 function with browser support.")
247 (license license:expat)))
249 (define-public node-semver
256 (url "https://github.com/npm/node-semver")
257 (commit (string-append "v" version))))
258 (file-name (git-file-name name version))
261 "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p"))))
262 (build-system node-build-system)
264 `(#:tests? #f)) ;; FIXME: Tests depend on node-tap
265 (home-page "https://github.com/npm/node-semver")
266 (synopsis "Parses semantic versions strings")
268 "@code{node-semver} is a JavaScript implementation of the
269 @uref{https://semver.org/, SemVer.org} specification.")
270 (license license:isc)))