Index: textproc/node-re2/Makefile =================================================================== --- /dev/null +++ textproc/node-re2/Makefile @@ -0,0 +1,66 @@ +# $FreeBSD$ + +PORTNAME= re2 +PORTVERSION= 1.15.9 +CATEGORIES= textproc +PKGNAMEPREFIX= node- + +MAINTAINER= otis@FreeBSD.org +COMMENT= Node.js bindings for devel/re2 + +LICENSE= BSD3CLAUSE + +BUILD_DEPENDS= ${LOCALBASE}/bin/node-gyp:devel/node-gyp \ + ${LOCALBASE}/bin/npm:www/npm \ + ${LOCALBASE}/lib/node_modules/nan:devel/node-nan +LIB_DEPENDS= libre2.so:devel/re2 \ + libuv.so:devel/libuv +RUN_DEPENDS= ${LOCALBASE}/bin/npm:www/npm + +USES= gmake python + +USE_GITHUB= yes +GH_ACCOUNT= uhop +GH_PROJECT= node-re2 + +.include + +_NODECMD= ${LOCALBASE}/bin/node --version +_NPMCMD= ${LOCALBASE}/bin/npm +_RE2DIR= ${STAGEDIR}${PREFIX}/lib/node_modules/re2 +_DEVDIR:= ${WRKDIR}/.devdir + +pre-configure: + ${RM} ${WRKSRC}/package-lock.json + (_NPMGROOT=$$(${_NPMCMD} root -g) && \ + ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \ + -e "s|%%NODEPATH%%|$${_NPMGROOT}|g" ${WRKSRC}/binding.gyp) +# Determine node's version. Particular node version is +# pulled in via www/npm dependency + (_NODEVER=$$(${_NODECMD} | ${SED} -n 's|^v\(.*\)|\1|p') && \ + ${MKDIR} ${_DEVDIR}/$${_NODEVER}/include && \ + ${RLN} ${LOCALBASE}/include/node ${_DEVDIR}/$${_NODEVER}/include/node && \ + ${ECHO} "9" > ${_DEVDIR}/$${_NODEVER}/installVersion \ + ) + +do-configure: + (cd ${WRKSRC} && \ + ${SETENV} HOME=${WRKDIR} NODE_PATH=${LOCALBASE}/lib/node_modules/npm/node_modules \ + ${LOCALBASE}/bin/node-gyp configure --python=${PYTHON_CMD} \ + --devdir=${_DEVDIR}) + +do-build: + (cd ${WRKSRC} && \ + ${SETENV} HOME=${WRKDIR} NODE_PATH=${LOCALBASE}/lib/node_modules/npm/node_modules \ + ${LOCALBASE}/bin/node-gyp build \ + --devdir=${_DEVDIR}) + +do-install: + ${MKDIR} ${_RE2DIR} + ${RM} -r ${WRKSRC}/build/Release/obj.target + ${STRIP_CMD} ${WRKSRC}/build/Release/re2.node + cd ${WRKSRC} && ${COPYTREE_SHARE} . ${_RE2DIR} \ + "! ( -name \.* -or -name binding\.gyp\.* \ + -or -path */\.* -or -name vendor )" + +.include Index: textproc/node-re2/distinfo =================================================================== --- /dev/null +++ textproc/node-re2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1615584704 +SHA256 (uhop-node-re2-1.15.9_GH0.tar.gz) = b52f8a3ae6cd8fe0ba25a30c6a140a6ca60659d396cd3134962766c7b35b7c87 +SIZE (uhop-node-re2-1.15.9_GH0.tar.gz) = 38969 Index: textproc/node-re2/files/patch-binding.gyp =================================================================== --- /dev/null +++ textproc/node-re2/files/patch-binding.gyp @@ -0,0 +1,61 @@ +--- binding.gyp.orig 2020-11-13 05:47:17 UTC ++++ binding.gyp +@@ -14,29 +14,6 @@ + "lib/to_string.cc", + "lib/accessors.cc", + "lib/util.cc", +- "vendor/re2/bitstate.cc", +- "vendor/re2/compile.cc", +- "vendor/re2/dfa.cc", +- "vendor/re2/filtered_re2.cc", +- "vendor/re2/mimics_pcre.cc", +- "vendor/re2/nfa.cc", +- "vendor/re2/onepass.cc", +- "vendor/re2/parse.cc", +- "vendor/re2/perl_groups.cc", +- "vendor/re2/prefilter.cc", +- "vendor/re2/prefilter_tree.cc", +- "vendor/re2/prog.cc", +- "vendor/re2/re2.cc", +- "vendor/re2/regexp.cc", +- "vendor/re2/set.cc", +- "vendor/re2/simplify.cc", +- "vendor/re2/stringpiece.cc", +- "vendor/re2/tostring.cc", +- "vendor/re2/unicode_casefold.cc", +- "vendor/re2/unicode_groups.cc", +- "vendor/util/pcre.cc", +- "vendor/util/rune.cc", +- "vendor/util/strutil.cc" + ], + "cflags": [ + "-std=c++11", +@@ -45,8 +22,7 @@ + "-Wno-sign-compare", + "-Wno-unused-parameter", + "-Wno-missing-field-initializers", +- "-Wno-cast-function-type", +- "-O3", ++ "-Wno-bad-function-cast", + "-g" + ], + "defines": [ +@@ -54,7 +30,8 @@ + "NOMINMAX" + ], + "include_dirs": [ +- "