1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-03 06:04:53 +00:00
freebsd-ports/databases/redis/Makefile
Yasuhiro Kimura 81b6dcb645 databases/redis*: Refine ports
* Alway build with base system compiler. In 2018 Makefile was changed
  so GCC is used with i386. It seems to be workaround of build error,
  But now build succeeds without GCC on i386 and all supported FreeBSD
  versions.
* Remove options for external lua library and related patches. On
  April 2022 upstream made incompatible change of bundled lua library
  to fix vulnerability. As a result build got failed when external lua
  library is enabled. Upstream said in commit message of their
  repository that they took codes from lua repository. So I kept the
  options with marking as broken hoping breakage will be solved in the
  future. But it is still broken after two years and doesn't seem to
  change.
* Remove TRIB option. When it is enabled ruby script named
  redis-trib.rb is installed. But it just prints warning message that
  it is no longer available and redis-cli should be used instead, and
  exit. So it isn't usefull anymore.
* Fix post-patch-JEMALLOC-on target so proper line is replaced.
* Pet portclippy.
2024-04-03 13:35:57 +09:00

78 lines
1.9 KiB
Makefile

PORTNAME= redis
DISTVERSION= 7.2.4
PORTREVISION= 1
CATEGORIES= databases
MASTER_SITES= https://download.redis.io/releases/
MAINTAINER= yasu@FreeBSD.org
COMMENT= Persistent key-value database with built-in net interface
WWW= https://redis.io/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
USES= compiler:c11 cpe gmake tcl:test
CPE_VENDOR= redislabs
USE_RC_SUBR= redis sentinel
MAKE_ENV= OPTIMIZATION= \
V=yo
LDFLAGS+= -lpthread -lm -lexecinfo
CONFLICTS_INSTALL= redis-devel redis6 redis62 redis70 # etc/rc.d/redis
SUB_FILES= pkg-message
SUB_LIST= PORTNAME=${PORTNAME} \
REDIS_DBDIR=${REDIS_DBDIR} \
REDIS_LOGDIR=${REDIS_LOGDIR} \
REDIS_RUNDIR=${REDIS_RUNDIR} \
REDIS_USER=${USERS}
USERS= redis
GROUPS= redis
PLIST_SUB= REDIS_DBDIR=${REDIS_DBDIR} \
REDIS_GROUP=${GROUPS} \
REDIS_LOGDIR=${REDIS_LOGDIR} \
REDIS_RUNDIR=${REDIS_RUNDIR} \
REDIS_USER=${USERS}
OPTIONS_DEFINE= JEMALLOC TLS
OPTIONS_DEFAULT= TLS
OPTIONS_SUB= yes
JEMALLOC_DESC= Use jemalloc
TLS_DESC= Use TLS (openssl req.)
JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes
TLS_USES= ssl
TLS_MAKE_ENV= BUILD_TLS=yes
BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb redis-cli \
redis-sentinel redis-server
REDIS_DBDIR?= /var/db/redis
REDIS_RUNDIR?= /var/run/redis
REDIS_LOGDIR?= /var/log/redis
post-patch-JEMALLOC-on:
@${REINPLACE_CMD} '69s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile
post-build:
${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf
do-install:
${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/
${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample
${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample
${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \
${STAGEDIR}${REDIS_DBDIR} \
${STAGEDIR}${REDIS_RUNDIR}
do-test:
@cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
.include <bsd.port.mk>