diff --git a/www/lessc/Makefile b/www/lessc/Makefile index 4ec068c7e940..0a50113dd4af 100644 --- a/www/lessc/Makefile +++ b/www/lessc/Makefile @@ -14,14 +14,26 @@ LICENSE= APACHE20 BUILD_DEPENDS= npm>=0:www/npm RUN_DEPENDS= npm>=0:www/npm -NO_BUILD= yes USE_GITHUB= yes GH_ACCOUNT= less GH_PROJECT= less.js +# npm install both builds and installs. To avoid building in the stage phase, +# allow npm to install in a temporary directory and move from there. +# Moreover, only a fraction of what is installed by npm needs to be packaged +do-build: + ${MKDIR} ${WRKDIR}/build-lib + (cd ${WRKDIR}/build-lib && \ + ${SETENV} HOME=${WRKDIR} npm install ${WRKSRC}) + do-install: - (cd ${STAGEDIR}${PREFIX}/lib ; ${SETENV} HOME=${WRKDIR} npm install ${WRKSRC}) - # this is a dirty hack - ${LN} -s ${PREFIX}/lib/node_modules/.bin/lessc ${STAGEDIR}${PREFIX}/bin/lessc + ${MKDIR} ${STAGEDIR}${PREFIX}/bin \ + ${STAGEDIR}${PREFIX}/lib/node_modules/.bin + ${MV} ${WRKDIR}/build-lib/node_modules/less \ + ${STAGEDIR}${PREFIX}/lib/node_modules + ${MV} ${WRKDIR}/build-lib/node_modules/.bin/lessc \ + ${STAGEDIR}${PREFIX}/lib/node_modules/.bin + (cd ${STAGEDIR}${PREFIX}/bin && \ + ${LN} -s ../lib/node_modules/.bin/lessc lessc) .include