2012-10-06 15:54:19 +02:00
|
|
|
# Created by: Sergey Skvortsov <skv@protey.ru>
|
2012-07-17 20:23:25 +02:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= redis
|
2016-02-03 02:02:21 +01:00
|
|
|
DISTVERSION= 3.2.0-rc3
|
2012-07-17 20:23:25 +02:00
|
|
|
CATEGORIES= databases
|
2016-02-03 02:02:21 +01:00
|
|
|
MASTER_SITES= https://github.com/antirez/redis/archive/
|
2012-07-17 20:23:25 +02:00
|
|
|
PKGNAMESUFFIX= -devel
|
2016-02-03 02:02:21 +01:00
|
|
|
DISTNAME= ${DISTVERSION}
|
|
|
|
DIST_SUBDIR= ${PORTNAME}
|
2012-07-17 20:23:25 +02:00
|
|
|
|
|
|
|
MAINTAINER= osa@FreeBSD.org
|
2014-06-10 09:39:01 +02:00
|
|
|
COMMENT= Persistent key-value database with built-in net interface
|
2012-07-17 20:23:25 +02:00
|
|
|
|
2014-06-02 03:42:11 +02:00
|
|
|
LICENSE= BSD3CLAUSE
|
2012-08-03 06:21:19 +02:00
|
|
|
|
2014-08-05 08:36:06 +02:00
|
|
|
USES= execinfo
|
2012-07-17 20:23:25 +02:00
|
|
|
|
2015-10-26 00:39:49 +01:00
|
|
|
OPTIONS_DEFINE= TESTS TRIB
|
2013-08-22 06:40:27 +02:00
|
|
|
OPTIONS_RADIO= EXTLUA
|
|
|
|
OPTIONS_RADIO_EXTLUA= LUA LUAJIT
|
2015-10-26 00:39:49 +01:00
|
|
|
OPTIONS_SUB= yes
|
2013-08-22 06:40:27 +02:00
|
|
|
LUA_DESC= Use lang/lua instead of builtin lua
|
2013-01-12 16:48:47 +01:00
|
|
|
LUAJIT_DESC= Use lang/luajit instead of builtin lua
|
2012-10-06 15:54:19 +02:00
|
|
|
TESTS_DESC= Install lang/tcl for redis unit tests
|
2015-10-26 00:39:49 +01:00
|
|
|
TRIB_DESC= Install redis-trib.rb (lang/ruby req.)
|
2012-10-06 15:54:19 +02:00
|
|
|
|
2016-02-03 02:02:21 +01:00
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
|
|
|
|
|
2012-10-06 15:54:19 +02:00
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
|
2015-10-26 00:39:49 +01:00
|
|
|
.if ${PORT_OPTIONS:MTRIB}
|
|
|
|
CATEGORIES+= ruby
|
|
|
|
USE_RUBY= yes
|
|
|
|
RUN_DEPENDS= rubygem-redis>=2.2:${PORTSDIR}/databases/rubygem-redis
|
|
|
|
.endif
|
|
|
|
|
2013-08-22 06:40:27 +02:00
|
|
|
.if ${PORT_OPTIONS:MLUA}
|
2014-05-26 17:28:28 +02:00
|
|
|
USES+= lua:51
|
2013-08-22 06:40:27 +02:00
|
|
|
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.lua
|
|
|
|
.endif
|
|
|
|
|
2013-01-12 16:48:47 +01:00
|
|
|
.if ${PORT_OPTIONS:MLUAJIT}
|
2013-12-11 17:55:27 +01:00
|
|
|
LIB_DEPENDS+= libluajit-5.1.so:${PORTSDIR}/lang/luajit
|
2013-08-22 06:40:27 +02:00
|
|
|
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.luajit
|
Upgrade from 3.0.0-beta6 to 3.0.0-beta8.
<ChangeLog>
--[ Redis 3.0.0 Beta 8 (version 2.9.57) ] Release date: 29 jul 2014
This is the 8th beta of Redis 3.0.0.
>> General changes
* [FIX] Solaris compilation issues. (Matt Stancliff, Salvatore Sanfilippo)
* [FIX] Allow shared integer objects if maxmemory policy is not LRU based.
(Salvatore Sanfilippo)
* [FIX] PFSELFTEST: less false positives. (Salvatore Sanfilippo)
* [FIX] Fail SYNC if background save child aborted due to a signal. (Yossi
Gottlieb)
* [NEW] Latency framework backported from unstable branch. (Salvatore
Sanfilippo)
* [NEW] AOF rewrite improved for latency. (Salvatore Sanfilippo)
* [NEW] Pub/Sub PING. (Salvatore Sanfilippo)
* [NEW] Much faster ZUNIONSTORE. (Kyle Hubert, Salvatore Sanfilippo)
* [NEW] Faster ll2string() implementation. (Salvatore Sanfilippo)
>> Cluster changes
* [FIX] CLUSTER RESET: Flush slave dataset on reset. (Salvatore Sanfilippo)
* [FIX] Replica migration: don't migrate to masters that never had slaves
in the past, but only to masters that remained orphaned after
failure events. (Salvatore Sanfilippo)
* [NEW] redis-trib: allow to reshard in non-interactive way. (Salvatore
Sanfilippo)
* [NEW] Cluster test: unit 04, check consistency during resharding. (Salvatore
Sanfilippo)
* [NEW] Cluster test: unit 05, slave selection. (Salvatore Sanfilippo)
* [NEW] Cluster test: unit 06, slaves with stale data can't failover. (Salvatore
Sanfilippo)
* [NEW] Cluster test: unit 07, replicas migration. (Salvatore Sanfilippo)
>> Sentinel changes
* No Sentinel changes in this release.
--[ Redis 3.0.0 Beta 7 (version 2.9.56) ] Release date: 30 jun 2014
This is the 7th beta of Redis 3.0.0.
>> General changes
* [FIX] Scripting fixes backported from unstable, see Redis 2.8.12 changelog
for more info. (Salvatore Sanfilippo)
* [FIX] Cancel SHUTDOWN if initial AOF is being written. (Matt Stancliff)
* [NEW] New command: COMMAND, for commands introspection (Matt Stancliff &
Salvatore Sanfilippo)
* [NEW] hiredis: Update to latest version. (Matt Stancliff)
* [NEW] Jemalloc updated to 3.6.0. (Salvatore Sanfilippo)
>> Cluster changes
* [FIX] Cluster: clear NOADDR flag when updating node address.
(Salvatore Sanfilippo)
* [NEW] New CLUSTER SLOTS command to simplify Cluster clients operations.
(Matt Stancliff)
* [NEW] More Cluster tests. (Salvatore Sanfilippo)
* [NEW] Log when failover authorization are granted / denied.
(Salvatore Sanfilippo)
>> Sentinel changes
* [FIX] A few Sentinel bugs fixed and improvements, see Redis 2.8.12
changelog for more info. (Salvatore Sanfilippo & Matt Stancliff)
* [NEW] New Sentinel-Client handshake protocol, ROLE command, CLIENT KILL,
all backported to 3.0 branch. (Salvatore Sanfilippo)
</ChangeLog>
2014-09-10 00:38:00 +02:00
|
|
|
.endif
|
|
|
|
|
|
|
|
.if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT}
|
2013-01-12 16:48:47 +01:00
|
|
|
CFLAGS+= -fPIC
|
|
|
|
LDFLAGS+= -Wl,-E
|
|
|
|
.endif
|
|
|
|
|
2012-10-06 15:54:19 +02:00
|
|
|
.if ${PORT_OPTIONS:MTESTS}
|
2014-02-17 14:22:56 +01:00
|
|
|
USES+= tcl:build
|
2012-10-06 15:54:19 +02:00
|
|
|
.endif
|
|
|
|
|
2012-07-17 20:23:25 +02:00
|
|
|
CFLAGS+= -I${LOCALBASE}/include
|
2015-03-25 10:33:52 +01:00
|
|
|
LDFLAGS+= -L${LOCALBASE}/lib -lpthread -lm -lexecinfo
|
2012-07-17 20:23:25 +02:00
|
|
|
|
Upgrade from 3.0.0-rc4 to 3.0.0.
<ChangeLog>
--[ Redis 3.0.0 ] Release date: 1 Apr 2015
Changes between RC6 and 3.0.0 stable:
>> General changes
* Fixes to diskless replication. (Oran Agra)
* Test for BLPOP replication on role change. (Salvatore Sanfilippo)
* prepareClientToWrite() error handling improvements. (Salvatore Sanfilippo)
* Remove dict.c no longer used function. (Salvatore Sanfilippo)
>> Cluster changes
None
>> Sentinel changes
None
--[ Redis 3.0.0 RC6 (version 2.9.106) ] Release date: 24 mar 2015
Upgrade urgency: HIGH because of bugs related to Redis Custer and replication.
This is the 6th release candidate of Redis 3.0.0. This release fixes important
issues discovered during stress testing, and implements safest behavior
for blocking operations during clients reshardings, and a new much needed
functionality of Redis Cluster manual failovers.
In order to fix certain bugs quite a bit of refactoring was needed which
is usually non advisabble in a Release Candidate, but needed in order to
end with a clean fix.
>> General changes
* [FIX] Redis (non clustered & clustered) replication bug involving blocking
operations: see issue #2473. (Salvatore Sanfilippo)
>> Cluster changes
* [FIX] clientsArePaused() fix crashing the old master during manual failover.
(Salvatore Sanfilippo)
* [FIX] Lua scripts replication in Redis Cluster was totally broken.
(Salvatore Sanfilippo)
* [FIX] Redirect clients blocked into list operations when the hash slot
they are blocked into is migrated to another instance or the cluster
state turns into "fail". (Salvatore Sanfilippo)
* [NEW] TAKEOVER option for CLUSTER FAILOVER implemented. It is now possible
to fix a cluster manually in the minority side of the partition, for
example in order to allow for multi DC setups & recovery.
(Salvatore Sanfilippo)
>> Sentinel changes
No changes in Sentinel.
--[ Redis 3.0.0 RC5 (version 2.9.105) ] Release date: 20 mar 2015
Upgrade urgency: Moderate for Redis Cluster users, low otherwise.
This is the 5th release candidate of Redis 3.0.0, released in order to fix
a moderate bug in Redis Cluster. This RC does not shift in the future the
Redis 3.0.0 final release which is scheduled in a few days (we are in the
process of finishing the documentation for Redis Cluster).
>> General changes
* [FIX] Fix LATENCY command crash. (Salvatore Sanfilippo, thx to Ingmar)
* [FIX] Config: missing activerehashing option support in CONFIG SET added.
(Salvatore Sanfilippo, thx to Bill Anderson)
* [FIX] Fix for backtrace generation issue. (Mariano Pérez Rodríguez, Matt Stancliff, Salvatore Sanfilippo)
* [NEW] Redis-cli --latency-dist backported from unstable.
(Salvatore Sanfilippo)
>> Cluster changes
* [FIX] Avoid redundant SELECT in MIGRATE. (Tommy Wang, Salvatore Sanfilippo)
* [FIX] More robust slave check in CLUSTER REPLICATE. (Salvatore Sanfilippo)
* [FIX] Fixed possible Redis Cluster node crash due to wrong separation of
concerns between getNodeByQuery() and Cluster global state update
fnuction. (Salvatore Sanfilippo, thx to Ingmar)
* [NEW] Add command CLUSTER MYID to easily featch instance ID. (Michel Martens)
>> Sentinel changes
* [NEW] Support for CLIENT command added. It was missing in the command table.
(Leandro López)
</ChangeLog>
2015-04-08 00:14:16 +02:00
|
|
|
CONFLICTS?= redis-3.*
|
2012-07-17 20:23:25 +02:00
|
|
|
|
2014-02-17 14:22:56 +01:00
|
|
|
USES+= gmake
|
2012-07-17 20:23:25 +02:00
|
|
|
MAKE_ENV= "V=yo"
|
2015-10-29 02:34:53 +01:00
|
|
|
USE_RC_SUBR= redis sentinel
|
2016-02-03 02:02:21 +01:00
|
|
|
BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \
|
2012-11-07 12:56:05 +01:00
|
|
|
redis-cli redis-sentinel redis-server
|
2012-07-17 20:23:25 +02:00
|
|
|
|
|
|
|
PKGMESSAGE= ${WRKDIR}/pkg-message
|
|
|
|
|
|
|
|
USERS= redis
|
|
|
|
GROUPS= redis
|
|
|
|
|
|
|
|
REDIS_DBDIR?= /var/db/redis
|
|
|
|
REDIS_RUNDIR?= /var/run/redis
|
|
|
|
REDIS_LOGDIR?= /var/log/redis
|
|
|
|
|
|
|
|
SUB_FILES= pkg-message
|
2012-08-03 06:24:58 +02:00
|
|
|
SUB_LIST+= PORTNAME=${PORTNAME} \
|
2012-07-17 20:23:25 +02:00
|
|
|
REDIS_USER=${USERS} \
|
|
|
|
REDIS_DBDIR=${REDIS_DBDIR} \
|
|
|
|
REDIS_LOGDIR=${REDIS_LOGDIR} \
|
|
|
|
REDIS_RUNDIR=${REDIS_RUNDIR}
|
|
|
|
|
2012-08-03 06:24:58 +02:00
|
|
|
PLIST_SUB+= REDIS_USER=${USERS} \
|
2012-07-17 20:23:25 +02:00
|
|
|
REDIS_GROUP=${GROUPS} \
|
|
|
|
REDIS_LOGDIR=${REDIS_LOGDIR} \
|
|
|
|
REDIS_DBDIR=${REDIS_DBDIR} \
|
|
|
|
REDIS_RUNDIR=${REDIS_RUNDIR}
|
|
|
|
|
2013-08-22 06:40:27 +02:00
|
|
|
.if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA}
|
2013-01-12 16:48:47 +01:00
|
|
|
post-patch:
|
2015-01-17 20:23:18 +01:00
|
|
|
@cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/
|
2013-01-12 16:48:47 +01:00
|
|
|
.endif
|
|
|
|
|
2012-07-17 20:23:25 +02:00
|
|
|
post-build:
|
|
|
|
${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
|
|
${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf
|
|
|
|
|
|
|
|
do-install:
|
2014-06-02 03:42:11 +02:00
|
|
|
${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/
|
2015-10-26 00:39:49 +01:00
|
|
|
.if ${PORT_OPTIONS:MTRIB}
|
|
|
|
${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/
|
|
|
|
.endif
|
2014-06-02 03:42:11 +02:00
|
|
|
${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample
|
|
|
|
${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample
|
2014-10-20 12:41:12 +02:00
|
|
|
${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \
|
|
|
|
${STAGEDIR}${REDIS_DBDIR} \
|
|
|
|
${STAGEDIR}${REDIS_RUNDIR}
|
2012-07-17 20:23:25 +02:00
|
|
|
|
2013-05-03 19:38:24 +02:00
|
|
|
regression-test: build
|
2012-10-06 15:54:19 +02:00
|
|
|
@cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
|
|
|
|
|
2012-07-17 20:23:25 +02:00
|
|
|
.include <bsd.port.mk>
|