summaryrefslogtreecommitdiff
path: root/lang/npm
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2018-05-04 13:23:53 +0000
committerfhajny <fhajny@pkgsrc.org>2018-05-04 13:23:53 +0000
commit95ad88d61dc32caaa7ff14bb56fad2b7c3b4e276 (patch)
tree14ddac007205e7bcc7b4e3d841f9c7b0481af919 /lang/npm
parenta2e80219bc31ced3abb9e3f4fae9a960e6d0d0dd (diff)
downloadpkgsrc-95ad88d61dc32caaa7ff14bb56fad2b7c3b4e276.tar.gz
lang/npm: Limit Python version to 2.7, fix path to interpreter.
Diffstat (limited to 'lang/npm')
-rw-r--r--lang/npm/Makefile12
-rw-r--r--lang/npm/distinfo3
-rw-r--r--lang/npm/patches/patch-node__modules_node-gyp_lib_configure.js30
3 files changed, 43 insertions, 2 deletions
diff --git a/lang/npm/Makefile b/lang/npm/Makefile
index a350f958adb..db372678381 100644
--- a/lang/npm/Makefile
+++ b/lang/npm/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.3 2018/05/04 09:40:02 adam Exp $
+# $NetBSD: Makefile,v 1.4 2018/05/04 13:23:53 fhajny Exp $
DISTNAME= npm-6.0.0
+PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GITHUB:=npm/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@@ -17,12 +18,20 @@ SITES.${MARKED}.tar.gz= -https://github.com/markedjs/marked/archive/v${MARKED:S/
USE_TOOLS+= gmake perl
+PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # required by gyp scripts included
+
REPLACE_INTERPRETER+= node
REPLACE.node.old= .*node
REPLACE.node.new= ${PREFIX}/bin/node
REPLACE_FILES.node= bin/npm-cli.js
REPLACE_FILES.node+= bin/npx-cli.js
+SUBST_CLASSES+= python
+SUBST_STAGE.python= pre-configure
+SUBST_FILES.python= node_modules/node-gyp/lib/configure.js
+SUBST_MESSAGE.python= Fixing path to Python
+SUBST_VARS.python= PYTHONBIN
+
CHECK_INTERPRETER_SKIP+=lib/node_modules/npm/*
.include "../../mk/bsd.prefs.mk"
@@ -42,4 +51,5 @@ do-install:
.endif
.include "../../lang/nodejs/nodeversion.mk"
+.include "../../lang/python/pyversion.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/npm/distinfo b/lang/npm/distinfo
index 14bed81aa1c..5ad58f4be30 100644
--- a/lang/npm/distinfo
+++ b/lang/npm/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.3 2018/05/04 09:40:02 adam Exp $
+$NetBSD: distinfo,v 1.4 2018/05/04 13:23:53 fhajny Exp $
SHA1 (marked-0.3.19.tar.gz) = d30691ac399f05d156f40a0a893ce7a2a7f6c5be
RMD160 (marked-0.3.19.tar.gz) = e78a28dfaf5fc1039e48f63228f892fa24a13e6f
@@ -11,3 +11,4 @@ Size (npm-6.0.0.tar.gz) = 8551157 bytes
SHA1 (patch-Makefile) = b5f882d5ab883bfdb527a5802a0f477feef3eb27
SHA1 (patch-node__modules_node-gyp_gyp_pylib_gyp_generator_make.py) = 291e079fb48caea7501ab864c19ef26672b76bc5
SHA1 (patch-node__modules_node-gyp_gyp_pylib_gyp_xcode__emulation.py) = 7f9f5cd8aadafd309ba8dfb27f96fe8fa56a8af8
+SHA1 (patch-node__modules_node-gyp_lib_configure.js) = 5cee993904ffeb1497418706e258c2e61bbd847e
diff --git a/lang/npm/patches/patch-node__modules_node-gyp_lib_configure.js b/lang/npm/patches/patch-node__modules_node-gyp_lib_configure.js
new file mode 100644
index 00000000000..ac178bd71e6
--- /dev/null
+++ b/lang/npm/patches/patch-node__modules_node-gyp_lib_configure.js
@@ -0,0 +1,30 @@
+$NetBSD: patch-node__modules_node-gyp_lib_configure.js,v 1.1 2018/05/04 13:23:53 fhajny Exp $
+
+Skip Python detection, version 2.7 is required and we know where it is.
+
+--- node_modules/node-gyp/lib/configure.js.orig 2018-04-24 05:41:37.000000000 +0000
++++ node_modules/node-gyp/lib/configure.js
+@@ -29,21 +29,14 @@ exports.usage = 'Generates ' + (win ? 'M
+
+ function configure (gyp, argv, callback) {
+
+- var python = gyp.opts.python || process.env.PYTHON || 'python2'
++ var python = '@PYTHONBIN@'
+ , buildDir = path.resolve('build')
+ , configNames = [ 'config.gypi', 'common.gypi' ]
+ , configs = []
+ , nodeDir
+ , release = processRelease(argv, gyp, process.version, process.release)
+
+- findPython(python, function (err, found) {
+- if (err) {
+- callback(err)
+- } else {
+- python = found
+- getNodeDir()
+- }
+- })
++ getNodeDir()
+
+ function getNodeDir () {
+