freebsd-ports/textproc/opensearch-dashboards/Makefile
Romain Tartière 6b30847584
textproc/opensearch-dashboards: Add CHROME option
Chrome is required for generating reports.  Add an option to make this
more visible, but since the dependencies are large, do not enable it by
default.

PORTREVISION is kept unchanged since the default package is not
modified.

With hat:	opensearch
2021-12-10 16:16:32 -10:00

76 lines
3.1 KiB
Makefile

PORTNAME= opensearch-dashboards
DISTVERSION= 1.2.0
DISTVERSIONSUFFIX= -linux-x64
CATEGORIES= textproc www
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
MAINTAINER= opensearch@FreeBSD.org
COMMENT= Visualization dashboards for OpenSearch
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS= npm-node14>0:www/npm-node14
USES= nodejs:14,build,run python:build
USE_RC_SUBR= ${PORTNAME}
OPTIONS_DEFINE= CHROME
CHROME_DESC= Add dependency on www/chromium (required for PDF reports)
CHROME_RUN_DEPENDS=chrome:www/chromium
_DEVDIR= ${WRKDIR}/.devdir
post-patch:
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' -e 's|%%LOCALBASE%%|${LOCALBASE}|' -e 's|%%WRKSRC%%|${WRKSRC}|' \
${WRKSRC}/bin/opensearch-dashboards \
${WRKSRC}/bin/opensearch-dashboards-keystore \
${WRKSRC}/bin/opensearch-dashboards-plugin \
${WRKSRC}/node_modules/re2/binding.gyp \
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js
${RM} \
${WRKSRC}/bin/*.orig \
${WRKSRC}/bin/*.bak \
${WRKSRC}/node_modules/re2/binding.gyp.orig \
${WRKSRC}/node_modules/re2/binding.gyp.bak \
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.orig \
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.bak
${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium
do-configure:
(cd ${WRKSRC}/node_modules/re2 && \
${SETENV} HOME=${WRKDIR} \
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure \
--python=${PYTHON_CMD} \
--nodedir ${LOCALBASE} \
--devdir=${_DEVDIR})
do-build:
(cd ${WRKSRC}/node_modules/re2 && \
${SETENV} HOME=${WRKDIR} \
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build \
--devdir=${_DEVDIR})
${RM} -r ${WRKSRC}/node_modules/re2/build/Release/.deps \
${WRKSRC}/node_modules/re2/build/Release/obj.target
do-install:
${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${WRKSRC}/config/opensearch_dashboards.yml ${STAGEDIR}${ETCDIR}/opensearch_dashboards.yml.sample
(cd ${WRKSRC} && \
${COPYTREE_SHARE} "data node_modules package.json plugins src" ${STAGEDIR}${WWWDIR} && \
${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR})
${STRIP_CMD} ${STAGEDIR}${WWWDIR}/node_modules/re2/build/Release/re2.node
post-install:
${ECHO} "@sample ${ETCDIR}/opensearch_dashboards.yml.sample" >> ${TMPPLIST}
${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
${ECHO} "@dir(www,www) ${WWWDIR}/data" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/legacy" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/fixed" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/dynamic" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/fixed" >> ${TMPPLIST}
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/dynamic" >> ${TMPPLIST}
.include <bsd.port.mk>