Patch is from ewemoa on IRC and claims it built successfully. User didn't want to create a Github account. Original patch is at https://pastee.org/zx45s
Some npm packages strictly require a specific npm version because npm
don't handle some version requirements the same way in 1.0 and 2.0.
However, Nix don't use npm for dependency resolution (this is always
achieved with npm 1.0 criteria by npm2nix), so these requirements turns
out to be pointless and just crashes some package installations.
This patch removes npm requirements so the packages can still be built.
This solves #5787.
Grails is an Open Source, full stack, web application framework for the
JVM. It takes advantage of the Groovy programming language and
convention over configuration to provide a productive and stream-lined
development experience.
http://grails.org/
This is a drop-in replacement that handles nodejs recursive dependencies by
propagating already visited nodejs packages and creating shims for recursive
ones. This implementation handles both, new and old npm2nix output format.
This is because of an error while using `nix` under Archlinux:
```
building path(s) `/nix/store/rwkcbhv9jfhzhandfslg62knl2xw0r7m-node-sources'
building /nix/store/rwkcbhv9jfhzhandfslg62knl2xw0r7m-node-sources
suspicious ownership or permission on `/nix/store/rwkcbhv9jfhzhandfslg62knl2xw0r7m-node-sources'; rejecting this build output
cannot build derivation `/nix/store/01qsszx9y2kyx1x72zr5magy2la98720-uglify-js-2.4.15.drv': 1 dependencies couldn't be built
```
The permissions on all file are like the following:
```
drwxrwxr-x 1 root root 358 Jun 9 17:04 .
drwxr-xr-x 1 root root 421110 Jul 21 15:49 ..
-rw-rw-r-- 1 root root 22 Jun 9 17:04 .gitattributes
```
After the fix, permissions are OK, and no suspicious error any more.
Error is encountered for any node package built. I'm not sure why it
fails on Arch but work on nixos, but I believe the flag is safe to add
anyway.
This implements some longstanding work of getting the Chromium
derivation more modular. Unfortunately, I didn't manage to decrease the
compile time, which was one of the primary goal for doing the refactor.
A main reason this didn't work out well was the fact that most bundled
libraries are so heavily patched that it's not possible within a limited
time frame to decouple it from the main derivation.
However, it should now be easier to build other derivations that build
upon Chromium, like libcef. Also, it finally adds support for the
non-free PepperAPI Flash and PDF plugins and support for fetching the
corresponding versions through the updater.