COMMENT =		persistent key-value database

GH_ACCOUNT =		valkey-io
GH_PROJECT =		valkey
GH_TAGNAME =		9.0.0

CATEGORIES =		databases
HOMEPAGE =		https://valkey.io/

MAINTAINER =		Daniel Jakots <obsd@chown.me>

# BSD
PERMIT_PACKAGE =	Yes

WANTLIB +=		c crypto ssl m pthread

DEBUG_PACKAGES =	${BUILD_PACKAGES}

# C11
COMPILER =		base-clang ports-gcc
COMPILER_LANGS =	c

MODULES =		lang/tcl

MAKE_FLAGS =		BUILD_TLS=yes \
			CC="${CC}" \
			DEBUG="${DEBUG}" \
			DEBUG_FLAGS="${DEBUG}" \
			USE_JEMALLOC=no \
			OPT="" \
			OPTIMIZATION="" \
			V=1

# Fix "undefined reference to `__atomic_store_8'"
.if ${MACHINE_ARCH:Mhppa}
WANTLIB +=		atomic
LIB_DEPENDS +=		lang/gcc/${MODGCC4_VERSION},-libs
MAKE_FLAGS +=		LDFLAGS="${LDFLAGS} -latomic"
.endif

FAKE_FLAGS =		INSTALL="${INSTALL_PROGRAM}" \
			INSTALL_DIR="${INSTALL_DATA_DIR}" \
			INSTALL_TOP="${WRKINST}${PREFIX}"

USE_GMAKE =		Yes

TEST_DEPENDS =		${MODTCL_BUILD_DEPENDS}
TEST_FLAGS =		TCL_BIN="${MODTCL_BIN}"

DBDIR =			${VARBASE}/valkey
SUBST_VARS +=		DBDIR

pre-configure:
	${SUBST_CMD} ${WRKSRC}/src/Makefile

post-install:
	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/valkey
	${SUBST_DATA} ${WRKSRC}/valkey.conf \
			${PREFIX}/share/examples/valkey/valkey.conf
	${SUBST_DATA} ${WRKSRC}/sentinel.conf \
			${PREFIX}/share/examples/valkey/sentinel.conf

.include <bsd.port.mk>
