Subject: Enforce "files" directive in node build system

From: [email-masked]
Date: Tue, 12 May 2020 21:26:22 +0000

Hi,

I'm sending a couple of patches to fix 
https://issues.guix.gnu.org/40710, I tried to base my implementation on 
[0].

The first patch adds "globstar" support to (guix glob), namely the 
ability of recursively matching subdirectories in a glob pattern (i.e. 
"foo/**/bar.scm" matches both "foo/bar.scm" and "foo/baz/bar.scm").

The second patch adds (guix glob) to the imported modules of 
node-build-system and uses that to parse glob patterns in the "files" 
array of a package.json and then install all the matching files.

I tested the patches by verifying that

./pre-inst-env guix build -K node-semver node-util-deprecate 
node-statsd-parser node-stack-trace node-oop node-mersenne 
node-long-stack-traces node-far node-env-variable node-color-name

runs without error and   and by running make check 
TESTS="tests/glob.scm" .