79 lines
2.6 KiB
Makefile
79 lines
2.6 KiB
Makefile
COMMENT = time-series datastore for metrics, events, and analytics
|
|
|
|
MODGO_VERSION= v2.7.1
|
|
MODGO_MODNAME= github.com/influxdata/influxdb/v2
|
|
GH_ACCOUNT = influxdata
|
|
GH_PROJECT = influxdb
|
|
GH_TAGNAME = ${MODGO_VERSION}
|
|
|
|
HOMEPAGE = https://influxdata.com
|
|
|
|
CATEGORIES = databases
|
|
|
|
# MIT
|
|
PERMIT_PACKAGE = Yes
|
|
|
|
MODULES = lang/go \
|
|
devel/cargo
|
|
|
|
BUILD_DEPENDS = ${MODCARGO_BUILD_DEPENDS} \
|
|
textproc/xmlto \
|
|
textproc/asciidoc
|
|
|
|
#some dists have -w
|
|
FIX_CLEANUP_PERMISSIONS = Yes
|
|
WANTLIB += c c++abi pthread
|
|
|
|
COMPILER = base-clang ports-gcc
|
|
MODCARGO_BUILD = No
|
|
MODCARGO_INSTALL = No
|
|
MODCARGO_CARGOTOML = ${WRKDIR}/go/pkg/mod/github.com/influxdata/flux@v0.193.0/libflux/Cargo.toml
|
|
MODCARGO_TARGET_DIR = ${WRKDIR}/go/pkg/mod/github.com/influxdata/flux@v0.193.0/libflux/target
|
|
# needed to make sure unwind* symbols are found
|
|
MODCARGO_RUSTFLAGS +=-C link-arg=-lc++abi
|
|
CGO_LDFLAGS=-lc++abi
|
|
MAKE_ENV += ${MODCARGO_ENV} CGO_LDFLAGS=${CGO_LDFLAGS}
|
|
MAKE_ENV += PKG_CONFIG=${WRKSRC}/scripts/pkg-config.sh
|
|
.include "crates.inc"
|
|
# required because go.port.mk sets EXTRACT_ONLY to its base distfile
|
|
EXTRACT_ONLY = ${DISTNAME_ESC}${EXTRACT_SUFX}
|
|
.for _cratename _cratever in ${MODCARGO_CRATES}
|
|
EXTRACT_ONLY += ${_MODCARGO_DIST_SUBDIR}${_cratename}-${_cratever}.tar.gz
|
|
.endfor
|
|
.include "modules.inc"
|
|
|
|
# set version for influxd version
|
|
MODGO_LDFLAGS = -X main.version=${MODGO_VERSION:S/v//}
|
|
|
|
# fetch compiled ui assets
|
|
SITES.ui = https://github.com/influxdata/ui/releases/download/OSS-${MODGO_VERSION}/
|
|
DISTFILES.ui = influxdb-ui-${MODGO_VERSION}.tar.gz{build.tar.gz}
|
|
EXTRACT_ONLY += influxdb-ui-${MODGO_VERSION}.tar.gz
|
|
# sha comes from ${WRKSRC}/scripts/fetch-swagger.sh
|
|
OPENAPI_SHA = 8b5f1bbb2cd388eb454dc9da19e3d2c4061cdf5f
|
|
SITES.json = https://github.com/influxdata/openapi/raw/${OPENAPI_SHA}/contracts/
|
|
DISTFILES.json =influxdb-openapi-${OPENAPI_SHA}.json{oss.json}
|
|
# tell go to bundle web ui assets in binary
|
|
MODGO_FLAGS += -tags assets
|
|
|
|
# for patches to apply
|
|
WRKDIST = ${WRKSRC}
|
|
SUBST_VARS = VARBASE
|
|
|
|
NO_TEST = Yes
|
|
|
|
pre-build:
|
|
chmod +x ${WRKSRC}/scripts/pkg-config.sh
|
|
mkdir -p ${WRKSRC}/static/data
|
|
cp -r ${WRKDIR}/build ${WRKSRC}/static/data/
|
|
cp ${FULLDISTDIR}/influxdb-openapi-${OPENAPI_SHA}.json ${WRKSRC}/static/data/swagger.json
|
|
# generates ${WRKSRC}/static/static_gen.go to bundle the web ui assets in the final influxd binary
|
|
# taken from ${WRKSRC}/GNUMakefile
|
|
cd ${WRKSRC} && ${MODGO_CMD} generate ${MODGO_FLAGS} ./static
|
|
# hack to fix build with rust 1.72
|
|
sed -ie 12d ${WRKDIR}/go/pkg/mod/github.com/influxdata/flux@v0.193.0/libflux/flux/src/lib.rs
|
|
|
|
do-configure:
|
|
${MODCARGO_configure}
|
|
|
|
.include <bsd.port.mk>
|