Commit Graph

41 Commits

Author SHA1 Message Date
Jaka Hudoklin
744b06cc28 nodePackages: fix platform detection 2015-04-25 15:18:54 +02:00
Jaka Hudoklin
f953d77be2 Revert "Reverts a bunch of commits as a try to fix GC errors."
This reverts commit 1e4ba025c2.

Conflicts:
	pkgs/development/web/nodejs/build-node-package.nix
2015-03-21 17:49:37 +01:00
Domen Kožar
e61f23d89f Fix a bad revert at 1e4ba025c2 2015-03-18 11:50:19 +01:00
Domen Kožar
1e4ba025c2 Reverts a bunch of commits as a try to fix GC errors.
Commits

- 694f01db2d
- 829479d1dd
- bd81885f70
- b2fdcf801c
2015-03-17 08:55:03 +01:00
Eelco Dolstra
694f01db2d intersect -> intersectLists, subtract -> subtractLists 2015-03-04 22:15:46 +01:00
Eelco Dolstra
829479d1dd substract -> subtract 2015-03-04 22:15:45 +01:00
Jaka Hudoklin
bd81885f70 nodePackages: correctly handle platforms and optional dependencies 2015-02-28 04:03:24 +01:00
Jaka Hudoklin
97ea4ab54e nodePackages: add namePrefix parameter to override package name prefix 2015-02-23 14:27:38 +01:00
Jaka Hudoklin
b2fdcf801c nodePackages: add platform support, fix a lot of bugs 2015-02-23 13:29:50 +01:00
Jaka Hudoklin
60993d7716 nodePackages: prefix packages based on interpreter name 2015-02-23 13:29:50 +01:00
Valérian Galliat
c56256709b Add io.js 2015-02-21 09:06:24 +01:00
Jaka Hudoklin
9060376bcd buildNodePackage: patch shebangs only in text files 2015-02-12 19:09:09 +01:00
Valérian Galliat
25ce27b45e Patch npm packages to ignore npm requirements
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.
2015-02-07 15:17:15 +01:00
Jaka Hudoklin
fffc0c793c nodePackages: fix back compatibility 2015-01-25 01:42:02 +01:00
Jaka Hudoklin
628c84c831 nodePackages: refactor, add support for overrides 2015-01-24 23:28:41 +01:00
Jaka Hudoklin
a00131bb32 nodePackages/buildNodePackage: put patch phase into configure phase, ignore shrinkwrap 2015-01-24 23:28:41 +01:00
Jaka Hudoklin
86744fef91 nodePackages: fix builder
- reuse unpack and patch phase
- patch shebangs of source code
- properly patch depdency versions (thanks @svanderburg)
- add patching for github version names
- add some inline docs
- fix recursive depdencies runtime handling by copying files instead of
  symlinking if package has recursive dependencies
2014-12-26 01:04:08 +01:00
Jaka Hudoklin
7ff4ffd998 nodePackages: add support for recursive dependencies
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.
2014-09-09 22:46:11 +02:00
Michael Raskin
eaac469f11 Merge pull request #3337 from tailhook/node_permission_error
Add `--no-same-permission` to `tar` command in node package builder
2014-08-23 12:38:35 +04:00
Paul Colomiets
7b1a863f1e Add --no-same-permission to tar command in node package builder
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.
2014-07-21 18:54:21 +03:00
Jaka Hudoklin
05ce47f8ec buildNodePackage: add shell hook for development 2014-06-18 13:14:15 +02:00
Rob Vermaas
b116679b24 Force --no-same-owner for unpacking node sources. 2014-05-06 14:57:58 +02:00
Shea Levy
d34e1ac42c fix build-node-package
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-26 10:18:42 -05:00
Shea Levy
9817bada91 Update nodePackages to npm2nix-5.2.0
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 18:02:21 -05:00
Shea Levy
b8872549b7 Fix peerDependency handling in buildNodePackage
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-08-30 09:02:44 -04:00
Shea Levy
7188cc39fa Add karma nodePackage
Required updating to npm2nix 5.1.0 for peerDependency cycle management

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-08-20 18:56:20 -04:00
Shea Levy
67eb2c8ad3 Handle peerDependencies in nodePackages
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-08-18 19:28:51 -04:00
Shea Levy
5c66a46bc6 buildNodePackage: Fix $out/bin symlink
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:46:40 -04:00
Shea Levy
93cdc526c3 buildNodePackages: Move /node_modules to /lib/node_modules to make nix profiles usable as an npm prefix
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-27 13:23:35 -04:00
Shea Levy
b73021a475 buildNodePackage: Handle all node/coffee shebang possibilities
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-18 15:45:02 -04:00
Shea Levy
483755e9ab buildNodePacakge: Create man page symlinks when needed
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-14 14:07:39 -04:00
Shea Levy
021c40c72d buildNodePackage: Handle bundledDependencies by nuking them
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-13 22:25:18 -04:00
Mathijs Kwik
b5ba5959cf fix node packages with binary (native) extensions 2013-06-06 22:38:24 +02:00
Shea Levy
8247806090 buildNodePackage: Move dependency symlinks out of the top-level node_modules directory
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-06-05 12:25:41 -04:00
Shea Levy
d749196f68 buildNodePackage: Utilize the node setup hook
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-29 11:53:36 -04:00
Eelco Dolstra
ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Shea Levy
309ec44f40 build-node-package: make fewer assumptions about the name of the node tarball 2012-09-20 14:45:31 -04:00
Shea Levy
7d5bb08534 Add cipher-block-size node package and remove the nativeDeps argument to build-node-package (buildInputs can just be specified directly) 2012-09-18 12:08:16 -04:00
Mathijs Kwik
baa6223904 node-packages: ability to build npms that have native extensions 2012-09-17 09:56:49 +02:00
Shea Levy
cdc0c13c00 buildNodePackage: Remove absolute path to source tarball to avoid runtime dependency 2012-08-22 15:35:00 -04:00
Shea Levy
c516517656 Add empty node-packages.nix using build-node-package.nix from npm2nix.
buildNodePackage is a function to build npm packages.

npm2nix (https://bitbucket.org/shlevy/npm2nix) can be used to generate subexpressions to go in node-packages.nix
2012-07-25 17:46:21 -04:00