Message ID | c7c5b4ec926007e9611d74a7cca62d48@autistici.org |
---|---|
State | Accepted |
Headers | show |
Series | [bug#36599] gnu: Add node-semver. (Updated) | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | fail | View Laminar job |
Le 15 avril 2020 11:36:06 GMT-04:00, goodoldpaul@autistici.org a écrit : >Hi Efraim, > >> Overall it looks good to me. I also checked npm¹ and it agrees that >> there are no dependencies for this package. Do you happen to know why >> there's a test directory installed? I don't know if it's supposed to >be >> there but it seems strange to me > >I didn't notice and I agree that tests shouldn't be installed but IIUC >it's a limitation of the node-build-system that copies recursively the >contents of the node_modules directory. I checked and it seems that >other packages using the node-build-system have the same problem (i.e. >node-color-name install test.js, node-far installs a test directory). >One way to fix this could be adding an extra phase (either to each >package or in the node-build-system with a special field indicating a >list of tests directories) where we delete the test directory from >node_modules preventing the copy. > >On my system I get > >orang3@frastanato ~/code/guix [env]$ du -sh >/gnu/store/5kkb1nya9ws12b2qxsn0r7904nx6v5b5-node-semver-7.2.1 >732K /gnu/store/5kkb1nya9ws12b2qxsn0r7904nx6v5b5-node-semver-7.2.1 > >orang3@frastanato ~/code/guix [env]$ du -sh >/gnu/store/5kkb1nya9ws12b2qxsn0r7904nx6v5b5-node-semver-7.2.1/lib/node_modules/semver/test/ >264K >/gnu/store/5kkb1nya9ws12b2qxsn0r7904nx6v5b5-node-semver-7.2.1/lib/node_modules/semver/test/ > >which is not much but amounts nearly to 1/3 of the total disk usage of >semver. If you believe that another phase deleting the tests would be >better I attached an attempt. > >Giacomo Does npm install the test.js files when run by ittself (in which case we replicate its behavior), or does it have a mechanism to know what files to install? If so we thould replicate that mecanism.
From 77ffe7c3a0be8e215f4f4ae0b780385ffe39c1a2 Mon Sep 17 00:00:00 2001 From: Giacomo Leidi <goodoldpaul@autistici.org> Date: Wed, 8 Apr 2020 00:59:13 +0200 Subject: [PATCH] gnu: Add node-semver. * gnu/packages/node-xyz.scm (node-semver): New variable. --- gnu/packages/node-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 44236ec469..93328969e5 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -244,3 +245,34 @@ protocol used in @code{node-lynx}.") (description "This package provides the Node.js @code{util.deprecate()} function with browser support.") (license license:expat))) + +(define-public node-semver + (package + (name "node-semver") + (version "7.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/node-semver.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) + (build-system node-build-system) + (arguments + `(#:tests? #f ;; FIXME: Tests depend on node-tap + #:phases + (modify-phases %standard-phases + (add-before 'install 'delete-tests-dir + (lambda _ + ;; Delete tests to prevent installing them + (delete-file-recursively "test") + (delete-file-recursively "tap-snapshots") + #t))))) + (home-page "https://github.com/npm/node-semver") + (synopsis "Parses semantic versions strings") + (description + "@code{node-semver} is a JavaScript implementation of the +@uref{https://semver.org/, SemVer.org} specification.") + (license license:isc))) -- 2.26.1