1PORTNAME= kibana 2DISTVERSION= 8.11.3 3PORTREVISION= 2 4DISTVERSIONSUFFIX= -linux-x86_64 5CATEGORIES= textproc www 6MASTER_SITES= https://artifacts.elastic.co/downloads/kibana/ \ 7 http://artifacts.elastic.co/downloads/kibana/ 8PKGNAMESUFFIX= 8 9DISTFILES= ${DISTNAME}${EXTRACT_SUFX} 10 11MAINTAINER= ports@MidnightBSD.org 12COMMENT= Browser based analytics and search interface to ElasticSearch 13WWW= https://www.elastic.co/products/kibana 14 15LICENSE= Apache-2.0 16 17BUILD_DEPENDS= npm-node20>=9.7.2:www/npm-node20 18LIB_DEPENDS= libre2.so:devel/re2 \ 19 libuv.so:devel/libuv 20RUN_DEPENDS= ${LOCALBASE}/bin/node:www/node20 21 22USES= compiler:c++17-lang cpe nodejs:20,build,run python:build 23CPE_VENDOR= elastic 24 25USE_GITHUB= nodefault 26GH_TUPLE= nodejs:nan:v${_NODE_NAN_VER}:node_nan \ 27 uhop:node-re2:${_NODE_RE2_VER}:node_re2 28 29USE_CXXSTD= c++17 30USE_RC_SUBR= ${PORTNAME} 31 32CONFLICTS= kibana7 33 34WWWDIR= ${PREFIX}/www/${PORTNAME}${PKGNAMESUFFIX} 35 36PORTSCOUT= limit:^8 37 38SUB_FILES= pkg-deinstall pkg-message 39SUB_LIST+= BINDIR=${PREFIX}/bin \ 40 PKGNAMESUFFIX=${PKGNAMESUFFIX} \ 41 PORTNAME=${PORTNAME} 42 43WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} 44 45BINS= kibana-encryption-keys kibana-keystore kibana-plugin \ 46 kibana-setup kibana-verification-code 47 48####################################################################### 49# Set node-nan version here 50_NODE_NAN_VER= 2.18.0 51# Set node-re version here 52_NODE_RE2_VER= 1.20.0 53####################################################################### 54 55_NODECMD= ${LOCALBASE}/bin/node --version 56_DEVDIR:= ${WRKDIR}/.devdir 57 58_RE2DIR= ${WRKDIR}/node-re2-${_NODE_RE2_VER} 59 60# Extra patch files must be updated whenever node-re2 changes 61_RE2PATCHES= ${PATCHDIR}/extra-node-re2-binding-gyp.patch 62 63# Directory to prune 64_DIR2DEL= node_modules packages src/plugins x-pack/packages 65 66post-patch: 67.for _dirdel in ${_DIR2DEL} 68 ${FIND} -s ${WRKSRC}/${_dirdel} -type d -empty -delete 69.endfor 70 ${REINPLACE_CMD} -e "s|%%WWWDIR%%|${WWWDIR}|g" \ 71 ${WRKSRC}/config/kibana.yml 72 cd ${_RE2DIR} && ${PATCH} -p0 < ${_RE2PATCHES} 73 ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \ 74 -e "s|%%DEVDIR%%|${_DEVDIR}|g" ${_RE2DIR}/binding.gyp 75 76pre-configure: 77 ( \ 78 _NODEVER=$$(${_NODECMD} | ${SED} -n 's|^v\(.*\)|\1|p') && \ 79 ${MKDIR} ${_DEVDIR}/$${_NODEVER}/include && \ 80 ${RLN} ${LOCALBASE}/include/node ${_DEVDIR}/$${_NODEVER}/include/node && \ 81 ${ECHO} "9" > ${_DEVDIR}/$${_NODEVER}/installVersion \ 82 ) 83 84do-configure: 85 ${MKDIR} ${_DEVDIR}/nan 86 (cd ${WRKDIR}/nan-${_NODE_NAN_VER} && ${COPYTREE_SHARE} . \ 87 ${_DEVDIR}/nan \ 88 "! ( -name \.* -or -path *\/test\/* -or -name test )") 89 (cd ${_RE2DIR} && \ 90 ${SETENV} HOME=${WRKDIR} \ 91 ${LOCALBASE}/lib/node_modules/npm/node_modules/.bin/node-gyp configure \ 92 --python=${PYTHON_CMD} \ 93 --nodedir=${LOCALBASE} \ 94 --devdir=${_DEVDIR}) 95 96do-build: 97 (cd ${_RE2DIR} && \ 98 ${SETENV} HOME=${WRKDIR} \ 99 ${LOCALBASE}/lib/node_modules/npm/node_modules/.bin/node-gyp build \ 100 --devdir=${_DEVDIR}) 101 102do-install: 103 ${MKDIR} ${WWWDIR} ${ETCDIR} 104 ${INSTALL_DATA} ${WRKSRC}/config/kibana.yml ${ETCDIR}/kibana.yml.sample 105 ${INSTALL_DATA} ${WRKSRC}/config/node.options ${ETCDIR}/node.options.sample 106 -(cd ${WRKSRC} && \ 107 ${RM} -r config node optimize && \ 108 ${COPYTREE_SHARE} . ${WWWDIR} && \ 109 ${COPYTREE_BIN} bin ${WWWDIR}) 110 ${INSTALL} -lrs ${ETCDIR} ${WWWDIR}/config 111 ${MKDIR} ${WWWDIR}/node/bin 112 ${LN} -s ${LOCALBASE}/bin/node ${WWWDIR}/node/bin/node 113 -${RM} ${WWWDIR}/node_modules/re2/build/Release/re2.node 114 ${INSTALL_LIB} ${_RE2DIR}/build/Release/re2.node \ 115 ${WWWDIR}/node_modules/re2/build/Release/re2.node 116.for f in ${BINS} 117 ${INSTALL} -l rs ${WWWDIR}/bin/${f} ${PREFIX}/bin/${f} 118 ${ECHO} "bin/${f}" >> ${TMPPLIST} 119.endfor 120 121post-install: 122 ${ECHO} "@sample ${ETCDIR_REL}/kibana.yml.sample" >> ${TMPPLIST} 123 ${ECHO} "@sample ${ETCDIR_REL}/node.options.sample" >> ${TMPPLIST} 124 ${FIND} -s ${WWWDIR} -not -type d | ${SORT} | \ 125 ${SED} -e 's#^${PREFIX}/##' >> ${TMPPLIST} 126 ${ECHO} "@dir(www,www) ${WWWDIR_REL}/data" >> ${TMPPLIST} 127 ${ECHO} "@dir ${WWWDIR_REL}/plugins" >> ${TMPPLIST} 128 ${ECHO} "@dir ${WWWDIR_REL}/logs" >> ${TMPPLIST} 129 130.include <bsd.port.mk> 131