diff options
author | osa <osa@FreeBSD.org> | 2019-11-22 03:27:39 +0800 |
---|---|---|
committer | osa <osa@FreeBSD.org> | 2019-11-22 03:27:39 +0800 |
commit | c978521522fe859917fff515b9f95a1363e10b70 (patch) | |
tree | f097f4a4a9b81f0cf39752ffc85ef362a0176797 /databases | |
parent | d702ad281e966196d7a67765fd6fcd24fa7ea39c (diff) | |
download | freebsd-ports-gnome-c978521522fe859917fff515b9f95a1363e10b70.tar.gz freebsd-ports-gnome-c978521522fe859917fff515b9f95a1363e10b70.tar.zst freebsd-ports-gnome-c978521522fe859917fff515b9f95a1363e10b70.zip |
Repocopy the databases/redis to the databases/redis4 to update
the databases/redis port to the latest stable version, 5.0.6.
PR: 241526
Reviewed by: portmgr (adamw)
Approved by: portmgr (adamw)
Differential Revision: https://reviews.freebsd.org/D22336
Diffstat (limited to 'databases')
36 files changed, 697 insertions, 67 deletions
diff --git a/databases/Makefile b/databases/Makefile index df2bdc415887..61c6a8ba995c 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -890,6 +890,7 @@ SUBDIR += recutils SUBDIR += redis SUBDIR += redis-devel + SUBDIR += redis4 SUBDIR += redis_exporter SUBDIR += redisdesktopmanager SUBDIR += retcl diff --git a/databases/p5-AnyEvent-Redis/Makefile b/databases/p5-AnyEvent-Redis/Makefile index f42f1b7a5ffa..1bb17df0265b 100644 --- a/databases/p5-AnyEvent-Redis/Makefile +++ b/databases/p5-AnyEvent-Redis/Makefile @@ -3,7 +3,7 @@ PORTNAME= AnyEvent-Redis PORTVERSION= 0.24 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= CPAN:DGL diff --git a/databases/p5-Redis-Fast/Makefile b/databases/p5-Redis-Fast/Makefile index a988cd8fe353..5b17c432ace8 100644 --- a/databases/p5-Redis-Fast/Makefile +++ b/databases/p5-Redis-Fast/Makefile @@ -2,6 +2,7 @@ PORTNAME= Redis-Fast PORTVERSION= 0.25 +PORTREVISION= 1 CATEGORIES= databases perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- diff --git a/databases/py-redis/Makefile b/databases/py-redis/Makefile index f61773696234..d250e6d4429d 100644 --- a/databases/py-redis/Makefile +++ b/databases/py-redis/Makefile @@ -3,6 +3,7 @@ PORTNAME= redis PORTVERSION= 3.2.1 +PORTREVISION= 1 CATEGORIES= databases python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/databases/py-redis2/Makefile b/databases/py-redis2/Makefile index 30ed2a7aed06..eb07e32929f7 100644 --- a/databases/py-redis2/Makefile +++ b/databases/py-redis2/Makefile @@ -3,6 +3,7 @@ PORTNAME= redis PORTVERSION= 2.10.6 +PORTREVISION= 1 CATEGORIES= databases python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= 2 diff --git a/databases/redis-devel/Makefile b/databases/redis-devel/Makefile index 7108890743db..7a5b72f84605 100644 --- a/databases/redis-devel/Makefile +++ b/databases/redis-devel/Makefile @@ -3,6 +3,7 @@ PORTNAME= redis DISTVERSION= 5.0.6 +PORTREVISION= 1 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ PKGNAMESUFFIX= -devel @@ -64,7 +65,7 @@ USES+= tcl:build LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-4.* +CONFLICTS?= redis4-4.* redis-5.* USE_RC_SUBR= redis sentinel BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ diff --git a/databases/redis/Makefile b/databases/redis/Makefile index 599e28b867b4..5a9b366cd1fa 100644 --- a/databases/redis/Makefile +++ b/databases/redis/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= redis -DISTVERSION= 4.0.14 -PORTREVISION= 1 +PORTVERSION= 5.0.6 CATEGORIES= databases MASTER_SITES= http://download.redis.io/releases/ @@ -12,15 +11,19 @@ COMMENT= Persistent key-value database with built-in net interface LICENSE= BSD3CLAUSE -OPTIONS_DEFINE= TESTS TRIB +OPTIONS_DEFINE= JEMALLOC TESTS TRIB OPTIONS_RADIO= EXTLUA OPTIONS_RADIO_EXTLUA= LUA LUAJIT OPTIONS_SUB= yes +JEMALLOC_DESC= Use jemalloc LUA_DESC= Use lang/lua instead of builtin lua LUAJIT_DESC= Use lang/luajit instead of builtin lua TESTS_DESC= Install lang/tcl for redis unit tests TRIB_DESC= Install redis-trib.rb (lang/ruby req.) +USES+= compiler gmake +MAKE_ENV= "V=yo" + .include <bsd.port.options.mk> .if ${ARCH} == i386 && ! ${CFLAGS:M-march=*} @@ -29,6 +32,10 @@ USE_GCC= yes CFLAGS+= -march=i586 .endif +.if ${PORT_OPTIONS:MJEMALLOC} +MAKE_ENV+= "USE_JEMALLOC=yes" +.endif + .if ${PORT_OPTIONS:MTRIB} CATEGORIES+= ruby USE_RUBY= yes @@ -56,10 +63,8 @@ USES+= tcl:build LDFLAGS+= -lpthread -lm -lexecinfo -CONFLICTS?= redis-devel-5.* +CONFLICTS?= redis4-4.* redis-devel-5.* -USES+= gmake -MAKE_ENV= "V=yo" USE_RC_SUBR= redis sentinel BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ redis-cli redis-sentinel redis-server @@ -84,10 +89,18 @@ PLIST_SUB+= REDIS_USER=${USERS} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} -.if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA} +.include <bsd.port.pre.mk> + post-patch: +.if ${PORT_OPTIONS:MJEMALLOC} + @${REINPLACE_CMD} '35s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile +.endif +.if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT} @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/ .endif +.if ${CHOSEN_COMPILER_TYPE} == gcc && ${COMPILER_VERSION} <= 42 + ${REINPLACE_CMD} -e '/pragma/d' ${WRKSRC}/src/lzf_d.c +.endif post-build: ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ @@ -107,4 +120,4 @@ do-install: do-test: @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/databases/redis/distinfo b/databases/redis/distinfo index 521076765de6..7e271b43b140 100644 --- a/databases/redis/distinfo +++ b/databases/redis/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1553045896 -SHA256 (redis-4.0.14.tar.gz) = 1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a087587e93a7 -SIZE (redis-4.0.14.tar.gz) = 1740967 +TIMESTAMP = 1572268200 +SHA256 (redis-5.0.6.tar.gz) = 6624841267e142c5d5d5be292d705f8fb6070677687c5aad1645421a936d22b3 +SIZE (redis-5.0.6.tar.gz) = 1979873 diff --git a/databases/redis/files/extra-patch-src-Makefile.lua b/databases/redis/files/extra-patch-src-Makefile.lua index 02d59f386ffa..17c3d23b74b5 100644 --- a/databases/redis/files/extra-patch-src-Makefile.lua +++ b/databases/redis/files/extra-patch-src-Makefile.lua @@ -1,5 +1,5 @@ ---- src/Makefile.orig 2017-08-06 10:42:53.992510000 -0400 -+++ src/Makefile 2017-08-06 10:44:57.344366000 -0400 +--- src/Makefile.orig 2018-10-18 18:09:43.930566000 -0400 ++++ src/Makefile 2018-10-18 18:10:32.562125000 -0400 @@ -16,7 +16,7 @@ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') @@ -30,7 +30,7 @@ ifeq ($(MALLOC),tcmalloc) FINAL_CFLAGS+= -DUSE_TCMALLOC @@ -130,6 +130,9 @@ - FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS) endif +FINAL_CFLAGS+=-I${PREFIX}/include/lua51 @@ -42,10 +42,10 @@ @@ -150,6 +153,7 @@ REDIS_SERVER_NAME=redis-server REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o REDIS_CLI_NAME=redis-cli - REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o + REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o REDIS_BENCHMARK_NAME=redis-benchmark @@ -201,7 +205,7 @@ diff --git a/databases/redis/files/extra-patch-src-Makefile.luajit b/databases/redis/files/extra-patch-src-Makefile.luajit index 48da60aa531d..a0cc15f0f22a 100644 --- a/databases/redis/files/extra-patch-src-Makefile.luajit +++ b/databases/redis/files/extra-patch-src-Makefile.luajit @@ -1,5 +1,5 @@ ---- src/Makefile.orig 2017-08-06 10:48:29.559222000 -0400 -+++ src/Makefile 2017-08-06 10:50:45.155432000 -0400 +--- src/Makefile.orig 2018-10-18 18:11:24.649811000 -0400 ++++ src/Makefile 2018-10-18 18:11:35.160523000 -0400 @@ -16,7 +16,7 @@ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') @@ -30,7 +30,7 @@ ifeq ($(MALLOC),tcmalloc) FINAL_CFLAGS+= -DUSE_TCMALLOC @@ -130,6 +130,9 @@ - FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS) endif +FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.0 @@ -42,10 +42,10 @@ @@ -150,6 +153,7 @@ REDIS_SERVER_NAME=redis-server REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o REDIS_CLI_NAME=redis-cli - REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o + REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o siphash.o crc16.o REDIS_BENCHMARK_NAME=redis-benchmark @@ -201,7 +205,7 @@ diff --git a/databases/redis/files/patch-deps-Makefile b/databases/redis/files/patch-deps-Makefile index e252c929c246..385f0a116c6d 100644 --- a/databases/redis/files/patch-deps-Makefile +++ b/databases/redis/files/patch-deps-Makefile @@ -1,6 +1,6 @@ ---- deps/Makefile.orig 2016-02-02 19:38:43.438304000 -0500 -+++ deps/Makefile 2016-02-02 19:40:05.911356000 -0500 -@@ -59,7 +59,7 @@ +--- deps/Makefile.orig 2019-09-25 10:40:18 UTC ++++ deps/Makefile +@@ -58,7 +58,7 @@ ifeq ($(uname_S),SunOS) LUA_CFLAGS= -D__C99FEATURES__=1 endif @@ -9,7 +9,7 @@ LUA_LDFLAGS+= $(LDFLAGS) # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more # challenging to cross-compile lua (and redis). These defines make it easier -@@ -69,7 +69,7 @@ +@@ -68,7 +68,7 @@ ARFLAGS=rcu lua: .make-prerequisites @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) diff --git a/databases/redis/files/patch-deps-hiredis-Makefile b/databases/redis/files/patch-deps-hiredis-Makefile index 705bc2fb97e0..a74d7b4cc81c 100644 --- a/databases/redis/files/patch-deps-hiredis-Makefile +++ b/databases/redis/files/patch-deps-hiredis-Makefile @@ -1,6 +1,6 @@ ---- deps/hiredis/Makefile.orig 2017-05-01 19:46:31.733229000 -0400 -+++ deps/hiredis/Makefile 2017-05-01 19:48:37.150358000 -0400 -@@ -15,7 +15,7 @@ +--- deps/hiredis/Makefile.orig 2019-09-25 10:40:18 UTC ++++ deps/hiredis/Makefile +@@ -15,7 +15,7 @@ HIREDIS_PATCH=$(shell grep HIREDIS_PATCH hiredis.h | a HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | awk '{print $$3}') # Installation related variables and target @@ -9,7 +9,7 @@ INCLUDE_PATH?=include/hiredis LIBRARY_PATH?=lib PKGCONF_PATH?=pkgconfig -@@ -38,10 +38,10 @@ +@@ -38,10 +38,10 @@ export REDIS_TEST_CONFIG # Fallback to gcc when $CC is not in $PATH. CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') CXX:=$(shell sh -c 'type $(CXX) >/dev/null 2>/dev/null && echo $(CXX) || echo g++') @@ -23,10 +23,11 @@ REAL_LDFLAGS=$(LDFLAGS) $(ARCH) DYLIBSUFFIX=so -@@ -60,6 +60,15 @@ +@@ -59,6 +59,15 @@ ifeq ($(uname_S),SunOS) + REAL_LDFLAGS+= -ldl -lnsl -lsocket DYLIB_MAKE_CMD=$(CC) -G -o $(DYLIBNAME) -h $(DYLIB_MINOR_NAME) $(LDFLAGS) INSTALL= cp -r - endif ++endif +ifeq ($(uname_S),FreeBSD) + CFLAGS?=$(CFLAGS) + CCLINK?=-pthread @@ -35,7 +36,6 @@ + DYLIB_MAKE_CMD?=$(CC) -o ${DYLIBNAME} ${OBJ} + STLIBNAME?=libhiredis.a + STLIB_MAKE_CMD?=ar rcs ${STLIBNAME} ${OBJ} -+endif + endif ifeq ($(uname_S),Darwin) DYLIBSUFFIX=dylib - DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_SONAME).$(DYLIBSUFFIX) diff --git a/databases/redis/files/patch-deps-hiredis-net.c b/databases/redis/files/patch-deps-hiredis-net.c index b230b0b91e4c..dc390fab3057 100644 --- a/databases/redis/files/patch-deps-hiredis-net.c +++ b/databases/redis/files/patch-deps-hiredis-net.c @@ -1,6 +1,6 @@ ---- deps/hiredis/net.c.orig 2017-04-22 07:23:27.000000000 -0400 -+++ deps/hiredis/net.c 2017-05-05 20:02:09.292479000 -0400 -@@ -135,13 +135,12 @@ +--- deps/hiredis/net.c.orig 2019-09-25 10:40:18 UTC ++++ deps/hiredis/net.c +@@ -135,13 +135,12 @@ int redisKeepAlive(redisContext *c, int interval) { val = interval; @@ -16,7 +16,7 @@ val = interval; if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); -@@ -160,6 +159,27 @@ +@@ -160,6 +159,27 @@ int redisKeepAlive(redisContext *c, int interval) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); return REDIS_ERR; } @@ -44,7 +44,7 @@ #endif #endif -@@ -431,7 +451,7 @@ +@@ -431,7 +451,7 @@ int redisContextConnectUnix(redisContext *c, const cha struct sockaddr_un sa; long timeout_msec = -1; @@ -53,7 +53,7 @@ return REDIS_ERR; if (redisSetBlocking(c,0) != REDIS_OK) return REDIS_ERR; -@@ -456,7 +476,7 @@ +@@ -456,7 +476,7 @@ int redisContextConnectUnix(redisContext *c, const cha if (redisContextTimeoutMsec(c,&timeout_msec) != REDIS_OK) return REDIS_ERR; diff --git a/databases/redis/files/patch-deps-linenoise-Makefile b/databases/redis/files/patch-deps-linenoise-Makefile index 8f39994aa201..aef0f10966af 100644 --- a/databases/redis/files/patch-deps-linenoise-Makefile +++ b/databases/redis/files/patch-deps-linenoise-Makefile @@ -1,5 +1,5 @@ ---- deps/linenoise/Makefile.orig 2015-01-17 22:13:25.000000000 +0300 -+++ deps/linenoise/Makefile 2015-01-17 22:13:45.000000000 +0300 +--- deps/linenoise/Makefile.orig 2019-09-25 10:40:18 UTC ++++ deps/linenoise/Makefile @@ -1,10 +1,10 @@ STD= WARN= -Wall diff --git a/databases/redis/files/patch-redis.conf b/databases/redis/files/patch-redis.conf index 5e8d12a9e10b..187a9dfd5d20 100644 --- a/databases/redis/files/patch-redis.conf +++ b/databases/redis/files/patch-redis.conf @@ -1,6 +1,6 @@ ---- redis.conf.orig 2016-06-17 09:15:21.000000000 -0400 -+++ redis.conf 2016-06-18 11:58:19.871082000 -0400 -@@ -125,7 +125,7 @@ +--- redis.conf.orig 2019-09-25 10:40:18 UTC ++++ redis.conf +@@ -133,7 +133,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. @@ -9,7 +9,7 @@ # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: -@@ -147,7 +147,7 @@ +@@ -155,7 +155,7 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. @@ -18,7 +18,7 @@ # Specify the server verbosity level. # This can be one of: -@@ -160,7 +160,7 @@ +@@ -168,7 +168,7 @@ loglevel notice # Specify the log file name. Also the empty string can be used to force # Redis to log on the standard output. Note that if you use standard # output for logging but daemonize, logs will be sent to /dev/null @@ -27,7 +27,7 @@ # To enable logging to the system logger, just set 'syslog-enabled' to yes, # and optionally update the other syslog parameters to suit your needs. -@@ -244,7 +244,7 @@ +@@ -260,7 +260,7 @@ dbfilename dump.rdb # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. diff --git a/databases/redis/files/patch-src-Makefile b/databases/redis/files/patch-src-Makefile index bfbe89b2d241..039f8f0dbe1e 100644 --- a/databases/redis/files/patch-src-Makefile +++ b/databases/redis/files/patch-src-Makefile @@ -1,7 +1,7 @@ ---- src/Makefile.orig 2015-04-01 17:01:44.000000000 +0300 -+++ src/Makefile 2015-04-07 21:30:22.464962000 +0300 -@@ -22,7 +22,7 @@ - WARN=-Wall -W +--- src/Makefile.orig 2019-09-25 10:40:18 UTC ++++ src/Makefile +@@ -29,7 +29,7 @@ endif + WARN=-Wall -W -Wno-missing-field-initializers OPT=$(OPTIMIZATION) -PREFIX?=/usr/local @@ -9,7 +9,7 @@ INSTALL_BIN=$(PREFIX)/bin INSTALL=install -@@ -52,7 +52,6 @@ +@@ -75,7 +75,6 @@ endif FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) FINAL_LIBS=-lm @@ -17,9 +17,9 @@ ifeq ($(uname_S),SunOS) # SunOS -@@ -63,6 +62,11 @@ - ifeq ($(uname_S),Darwin) - # Darwin (nothing to do) +@@ -94,6 +93,11 @@ ifeq ($(uname_S),Darwin) + # Darwin + FINAL_LIBS+= -ldl else +ifeq ($(uname_S),FreeBSD) + # FreeBSD @@ -29,11 +29,11 @@ ifeq ($(uname_S),AIX) # AIX FINAL_LDFLAGS+= -Wl,-bexpall -@@ -75,6 +79,7 @@ +@@ -120,6 +124,7 @@ else + # All the other OSes (notably Linux) + FINAL_LDFLAGS+= -rdynamic + FINAL_LIBS+=-ldl -pthread -lrt ++endif endif endif endif -+endif - # Include paths to dependencies - FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src - diff --git a/databases/redis/files/patch-src-mkreleasehdr.sh b/databases/redis/files/patch-src-mkreleasehdr.sh index 898eca80bfdb..05176402b0c0 100644 --- a/databases/redis/files/patch-src-mkreleasehdr.sh +++ b/databases/redis/files/patch-src-mkreleasehdr.sh @@ -1,5 +1,5 @@ ---- src/mkreleasehdr.sh.orig 2013-08-13 15:39:40.000000000 +0400 -+++ src/mkreleasehdr.sh 2013-08-13 15:39:55.000000000 +0400 +--- src/mkreleasehdr.sh.orig 2019-09-25 10:40:18 UTC ++++ src/mkreleasehdr.sh @@ -1,6 +1,6 @@ #!/bin/sh -GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1` @@ -7,5 +7,5 @@ +GIT_SHA1="00000000" +GIT_DIRTY="0" BUILD_ID=`uname -n`"-"`date +%s` - test -f release.h || touch release.h - (cat release.h | grep SHA1 | grep $GIT_SHA1) && \ + if [ -n "$SOURCE_DATE_EPOCH" ]; then + BUILD_ID=$(date -u -d "@$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" +%s 2>/dev/null || date -u %s) diff --git a/databases/redis4/Makefile b/databases/redis4/Makefile new file mode 100644 index 000000000000..a627d00a9b2d --- /dev/null +++ b/databases/redis4/Makefile @@ -0,0 +1,111 @@ +# Created by: Sergey Skvortsov <skv@protey.ru> +# $FreeBSD$ + +PORTNAME= redis4 +PORTVERSION= 4.0.14 +PORTREVISION= 1 +CATEGORIES= databases +MASTER_SITES= http://download.redis.io/releases/ +DISTNAME= redis-${PORTVERSION} + +MAINTAINER= osa@FreeBSD.org +COMMENT= Persistent key-value database with built-in net interface + +LICENSE= BSD3CLAUSE + +OPTIONS_DEFINE= TESTS TRIB +OPTIONS_RADIO= EXTLUA +OPTIONS_RADIO_EXTLUA= LUA LUAJIT +OPTIONS_SUB= yes +LUA_DESC= Use lang/lua instead of builtin lua +LUAJIT_DESC= Use lang/luajit instead of builtin lua +TESTS_DESC= Install lang/tcl for redis unit tests +TRIB_DESC= Install redis-trib.rb (lang/ruby req.) + +.include <bsd.port.options.mk> + +.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*} +# Needed for __atomic_fetch_add_8 +USE_GCC= yes +CFLAGS+= -march=i586 +.endif + +.if ${PORT_OPTIONS:MTRIB} +CATEGORIES+= ruby +USE_RUBY= yes +RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis +.endif + +.if ${PORT_OPTIONS:MLUA} +USES+= lua:51 +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.lua +.endif + +.if ${PORT_OPTIONS:MLUAJIT} +LIB_DEPENDS+= libluajit-5.1.so:lang/luajit +EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.luajit +.endif + +.if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT} +CFLAGS+= -fPIC +LDFLAGS+= -Wl,-E +.endif + +.if ${PORT_OPTIONS:MTESTS} +USES+= tcl:build +.endif + +LDFLAGS+= -lpthread -lm -lexecinfo + +CONFLICTS?= redis-5.* redis-devel-5.* + +USES+= gmake +MAKE_ENV= "V=yo" +USE_RC_SUBR= redis sentinel +BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ + redis-cli redis-sentinel redis-server + +USERS= redis +GROUPS= redis + +REDIS_DBDIR?= /var/db/redis +REDIS_RUNDIR?= /var/run/redis +REDIS_LOGDIR?= /var/log/redis + +SUB_FILES= pkg-message +SUB_LIST+= PORTNAME=${PORTNAME} \ + REDIS_USER=${USERS} \ + REDIS_DBDIR=${REDIS_DBDIR} \ + REDIS_LOGDIR=${REDIS_LOGDIR} \ + REDIS_RUNDIR=${REDIS_RUNDIR} + +PLIST_SUB+= REDIS_USER=${USERS} \ + REDIS_GROUP=${GROUPS} \ + REDIS_LOGDIR=${REDIS_LOGDIR} \ + REDIS_DBDIR=${REDIS_DBDIR} \ + REDIS_RUNDIR=${REDIS_RUNDIR} + +.if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA} +post-patch: + @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/ +.endif + +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/ +.if ${PORT_OPTIONS:MTRIB} + ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/ +.endif + ${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> diff --git a/databases/redis4/distinfo b/databases/redis4/distinfo new file mode 100644 index 000000000000..521076765de6 --- /dev/null +++ b/databases/redis4/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1553045896 +SHA256 (redis-4.0.14.tar.gz) = 1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a087587e93a7 +SIZE (redis-4.0.14.tar.gz) = 1740967 diff --git a/databases/redis4/files/extra-patch-src-Makefile.lua b/databases/redis4/files/extra-patch-src-Makefile.lua new file mode 100644 index 000000000000..02d59f386ffa --- /dev/null +++ b/databases/redis4/files/extra-patch-src-Makefile.lua @@ -0,0 +1,58 @@ +--- src/Makefile.orig 2017-08-06 10:42:53.992510000 -0400 ++++ src/Makefile 2017-08-06 10:44:57.344366000 -0400 +@@ -16,7 +16,7 @@ + uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') + OPTIMIZATION?=-O2 +-DEPENDENCY_TARGETS=hiredis linenoise lua ++DEPENDENCY_TARGETS=hiredis linenoise + NODEPS:=clean distclean + + # Default settings +@@ -63,8 +63,8 @@ + # Override default settings if possible + -include .make-settings + +-FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) +-FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) ++FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) ++FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) + FINAL_LIBS=-lm + + ifeq ($(uname_S),SunOS) +@@ -112,7 +112,7 @@ + endif + endif + # Include paths to dependencies +-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src ++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise + + ifeq ($(MALLOC),tcmalloc) + FINAL_CFLAGS+= -DUSE_TCMALLOC +@@ -130,6 +130,9 @@ + FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + endif + ++FINAL_CFLAGS+=-I${PREFIX}/include/lua51 ++FINAL_LIBS+= -L${PREFIX}/lib -llua-5.1 ++ + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) + REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) + REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) +@@ -150,6 +153,7 @@ + REDIS_SERVER_NAME=redis-server + REDIS_SENTINEL_NAME=redis-sentinel + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o ++REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o + REDIS_CLI_NAME=redis-cli + REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o + REDIS_BENCHMARK_NAME=redis-benchmark +@@ -201,7 +205,7 @@ + + # redis-server + $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) +- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) ++ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) + + # redis-sentinel + $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/databases/redis4/files/extra-patch-src-Makefile.luajit b/databases/redis4/files/extra-patch-src-Makefile.luajit new file mode 100644 index 000000000000..48da60aa531d --- /dev/null +++ b/databases/redis4/files/extra-patch-src-Makefile.luajit @@ -0,0 +1,58 @@ +--- src/Makefile.orig 2017-08-06 10:48:29.559222000 -0400 ++++ src/Makefile 2017-08-06 10:50:45.155432000 -0400 +@@ -16,7 +16,7 @@ + uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') + OPTIMIZATION?=-O2 +-DEPENDENCY_TARGETS=hiredis linenoise lua ++DEPENDENCY_TARGETS=hiredis linenoise + NODEPS:=clean distclean + + # Default settings +@@ -63,8 +63,8 @@ + # Override default settings if possible + -include .make-settings + +-FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) +-FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) ++FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) ++FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) + FINAL_LIBS=-lm + + ifeq ($(uname_S),SunOS) +@@ -112,7 +112,7 @@ + endif + endif + # Include paths to dependencies +-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src ++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise + + ifeq ($(MALLOC),tcmalloc) + FINAL_CFLAGS+= -DUSE_TCMALLOC +@@ -130,6 +130,9 @@ + FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a + endif + ++FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.0 ++FINAL_LIBS+= -L${PREFIX}/lib -lluajit-5.1 ++ + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) + REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) + REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) +@@ -150,6 +153,7 @@ + REDIS_SERVER_NAME=redis-server + REDIS_SENTINEL_NAME=redis-sentinel + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o ++REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.o + REDIS_CLI_NAME=redis-cli + REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o + REDIS_BENCHMARK_NAME=redis-benchmark +@@ -201,7 +205,7 @@ + + # redis-server + $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) +- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) ++ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) + + # redis-sentinel + $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/databases/redis4/files/patch-deps-Makefile b/databases/redis4/files/patch-deps-Makefile new file mode 100644 index 000000000000..e252c929c246 --- /dev/null +++ b/databases/redis4/files/patch-deps-Makefile @@ -0,0 +1,20 @@ +--- deps/Makefile.orig 2016-02-02 19:38:43.438304000 -0500 ++++ deps/Makefile 2016-02-02 19:40:05.911356000 -0500 +@@ -59,7 +59,7 @@ + LUA_CFLAGS= -D__C99FEATURES__=1 + endif + +-LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' $(CFLAGS) ++LUA_CFLAGS+= -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' $(CFLAGS) + LUA_LDFLAGS+= $(LDFLAGS) + # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more + # challenging to cross-compile lua (and redis). These defines make it easier +@@ -69,7 +69,7 @@ + + lua: .make-prerequisites + @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) +- cd lua/src && $(MAKE) all CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" AR="$(AR) $(ARFLAGS)" ++ cd lua/src && $(MAKE) all CC="$(CC)" CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" AR="$(AR) $(ARFLAGS)" + + .PHONY: lua + diff --git a/databases/redis4/files/patch-deps-hiredis-Makefile b/databases/redis4/files/patch-deps-hiredis-Makefile new file mode 100644 index 000000000000..705bc2fb97e0 --- /dev/null +++ b/databases/redis4/files/patch-deps-hiredis-Makefile @@ -0,0 +1,41 @@ +--- deps/hiredis/Makefile.orig 2017-05-01 19:46:31.733229000 -0400 ++++ deps/hiredis/Makefile 2017-05-01 19:48:37.150358000 -0400 +@@ -15,7 +15,7 @@ + HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | awk '{print $$3}') + + # Installation related variables and target +-PREFIX?=/usr/local ++PREFIX?=${PREFIX} + INCLUDE_PATH?=include/hiredis + LIBRARY_PATH?=lib + PKGCONF_PATH?=pkgconfig +@@ -38,10 +38,10 @@ + # Fallback to gcc when $CC is not in $PATH. + CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') + CXX:=$(shell sh -c 'type $(CXX) >/dev/null 2>/dev/null && echo $(CXX) || echo g++') +-OPTIMIZATION?=-O3 ++#OPTIMIZATION?=-O3 + WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings +-DEBUG_FLAGS?= -g -ggdb +-REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(ARCH) ++#DEBUG_FLAGS?= -g -ggdb ++REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) + REAL_LDFLAGS=$(LDFLAGS) $(ARCH) + + DYLIBSUFFIX=so +@@ -60,6 +60,15 @@ + DYLIB_MAKE_CMD=$(CC) -G -o $(DYLIBNAME) -h $(DYLIB_MINOR_NAME) $(LDFLAGS) + INSTALL= cp -r + endif ++ifeq ($(uname_S),FreeBSD) ++ CFLAGS?=$(CFLAGS) ++ CCLINK?=-pthread ++ LDFLAGS?=-L. -Wl,-rpath,. ++ DYLIBNAME?=libhiredis.so ++ DYLIB_MAKE_CMD?=$(CC) -o ${DYLIBNAME} ${OBJ} ++ STLIBNAME?=libhiredis.a ++ STLIB_MAKE_CMD?=ar rcs ${STLIBNAME} ${OBJ} ++endif + ifeq ($(uname_S),Darwin) + DYLIBSUFFIX=dylib + DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_SONAME).$(DYLIBSUFFIX) diff --git a/databases/redis4/files/patch-deps-hiredis-net.c b/databases/redis4/files/patch-deps-hiredis-net.c new file mode 100644 index 000000000000..b230b0b91e4c --- /dev/null +++ b/databases/redis4/files/patch-deps-hiredis-net.c @@ -0,0 +1,64 @@ +--- deps/hiredis/net.c.orig 2017-04-22 07:23:27.000000000 -0400 ++++ deps/hiredis/net.c 2017-05-05 20:02:09.292479000 -0400 +@@ -135,13 +135,12 @@ + + val = interval; + +-#ifdef _OSX ++#if defined(_OSX) + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPALIVE, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } +-#else +-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) ++#elif defined(__GLIBC__) + val = interval; + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); +@@ -160,6 +159,27 @@ + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } ++#else ++#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTVL) && \ ++ defined(TCP_KEEPCNT) ++ val = interval; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } ++ ++ val = interval/3; ++ if (val == 0) val = 1; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } ++ ++ val = 3; ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) { ++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); ++ return REDIS_ERR; ++ } + #endif + #endif + +@@ -431,7 +451,7 @@ + struct sockaddr_un sa; + long timeout_msec = -1; + +- if (redisCreateSocket(c,AF_LOCAL) < 0) ++ if (redisCreateSocket(c,AF_UNIX) < 0) + return REDIS_ERR; + if (redisSetBlocking(c,0) != REDIS_OK) + return REDIS_ERR; +@@ -456,7 +476,7 @@ + if (redisContextTimeoutMsec(c,&timeout_msec) != REDIS_OK) + return REDIS_ERR; + +- sa.sun_family = AF_LOCAL; ++ sa.sun_family = AF_UNIX; + strncpy(sa.sun_path,path,sizeof(sa.sun_path)-1); + if (connect(c->fd, (struct sockaddr*)&sa, sizeof(sa)) == -1) { + if (errno == EINPROGRESS && !blocking) { diff --git a/databases/redis4/files/patch-deps-linenoise-Makefile b/databases/redis4/files/patch-deps-linenoise-Makefile new file mode 100644 index 000000000000..8f39994aa201 --- /dev/null +++ b/databases/redis4/files/patch-deps-linenoise-Makefile @@ -0,0 +1,15 @@ +--- deps/linenoise/Makefile.orig 2015-01-17 22:13:25.000000000 +0300 ++++ deps/linenoise/Makefile 2015-01-17 22:13:45.000000000 +0300 +@@ -1,10 +1,10 @@ + STD= + WARN= -Wall +-OPT= -Os ++#OPT= -Os + + R_CFLAGS= $(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) + R_LDFLAGS= $(LDFLAGS) +-DEBUG= -g ++#DEBUG= -g + + R_CC=$(CC) $(R_CFLAGS) + R_LD=$(CC) $(R_LDFLAGS) diff --git a/databases/redis4/files/patch-redis.conf b/databases/redis4/files/patch-redis.conf new file mode 100644 index 000000000000..5e8d12a9e10b --- /dev/null +++ b/databases/redis4/files/patch-redis.conf @@ -0,0 +1,38 @@ +--- redis.conf.orig 2016-06-17 09:15:21.000000000 -0400 ++++ redis.conf 2016-06-18 11:58:19.871082000 -0400 +@@ -125,7 +125,7 @@ + + # By default Redis does not run as a daemon. Use 'yes' if you need it. + # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +-daemonize no ++daemonize yes + + # If you run Redis from upstart or systemd, Redis can interact with your + # supervision tree. Options: +@@ -147,7 +147,7 @@ + # + # Creating a pid file is best effort: if Redis is not able to create it + # nothing bad happens, the server will start and run normally. +-pidfile /var/run/redis_6379.pid ++pidfile %%REDIS_RUNDIR%%/redis.pid + + # Specify the server verbosity level. + # This can be one of: +@@ -160,7 +160,7 @@ + # Specify the log file name. Also the empty string can be used to force + # Redis to log on the standard output. Note that if you use standard + # output for logging but daemonize, logs will be sent to /dev/null +-logfile "" ++logfile %%REDIS_LOGDIR%%/redis.log + + # To enable logging to the system logger, just set 'syslog-enabled' to yes, + # and optionally update the other syslog parameters to suit your needs. +@@ -244,7 +244,7 @@ + # The Append Only File will also be created inside this directory. + # + # Note that you must specify a directory here, not a file name. +-dir ./ ++dir %%REDIS_DBDIR%%/ + + ################################# REPLICATION ################################# + diff --git a/databases/redis4/files/patch-src-Makefile b/databases/redis4/files/patch-src-Makefile new file mode 100644 index 000000000000..bfbe89b2d241 --- /dev/null +++ b/databases/redis4/files/patch-src-Makefile @@ -0,0 +1,39 @@ +--- src/Makefile.orig 2015-04-01 17:01:44.000000000 +0300 ++++ src/Makefile 2015-04-07 21:30:22.464962000 +0300 +@@ -22,7 +22,7 @@ + WARN=-Wall -W + OPT=$(OPTIMIZATION) + +-PREFIX?=/usr/local ++PREFIX:=$(PREFIX) + INSTALL_BIN=$(PREFIX)/bin + INSTALL=install + +@@ -52,7 +52,6 @@ + FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) + FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) + FINAL_LIBS=-lm +-DEBUG=-g -ggdb + + ifeq ($(uname_S),SunOS) + # SunOS +@@ -63,6 +62,11 @@ + ifeq ($(uname_S),Darwin) + # Darwin (nothing to do) + else ++ifeq ($(uname_S),FreeBSD) ++ # FreeBSD ++ FINAL_CFLAGS?= $(CFLAGS) $(REDIS_CFLAGS) -I${PREFIX}/include ++ FINAL_LDFLAGS= $(LDFLAGS) -pthread ++else + ifeq ($(uname_S),AIX) + # AIX + FINAL_LDFLAGS+= -Wl,-bexpall +@@ -75,6 +79,7 @@ + endif + endif + endif ++endif + # Include paths to dependencies + FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src + diff --git a/databases/redis/files/patch-src-config.h b/databases/redis4/files/patch-src-config.h index 23666a862b96..23666a862b96 100644 --- a/databases/redis/files/patch-src-config.h +++ b/databases/redis4/files/patch-src-config.h diff --git a/databases/redis/files/patch-src-lua_cjson.c b/databases/redis4/files/patch-src-lua_cjson.c index e4b95cb884ff..e4b95cb884ff 100644 --- a/databases/redis/files/patch-src-lua_cjson.c +++ b/databases/redis4/files/patch-src-lua_cjson.c diff --git a/databases/redis4/files/patch-src-mkreleasehdr.sh b/databases/redis4/files/patch-src-mkreleasehdr.sh new file mode 100644 index 000000000000..898eca80bfdb --- /dev/null +++ b/databases/redis4/files/patch-src-mkreleasehdr.sh @@ -0,0 +1,11 @@ +--- src/mkreleasehdr.sh.orig 2013-08-13 15:39:40.000000000 +0400 ++++ src/mkreleasehdr.sh 2013-08-13 15:39:55.000000000 +0400 +@@ -1,6 +1,6 @@ + #!/bin/sh +-GIT_SHA1=`(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1` +-GIT_DIRTY=`git diff --no-ext-diff 2> /dev/null | wc -l` ++GIT_SHA1="00000000" ++GIT_DIRTY="0" + BUILD_ID=`uname -n`"-"`date +%s` + test -f release.h || touch release.h + (cat release.h | grep SHA1 | grep $GIT_SHA1) && \ diff --git a/databases/redis4/files/pkg-message.in b/databases/redis4/files/pkg-message.in new file mode 100644 index 000000000000..85a89529262a --- /dev/null +++ b/databases/redis4/files/pkg-message.in @@ -0,0 +1,11 @@ +[ +{ type: install + message: <<EOM + To setup "%%PORTNAME%%" you need to edit the configuration file: + %%PREFIX%%/etc/%%PORTNAME%%.conf + + To run redis from startup, add %%PORTNAME%%_enable="YES" + in your /etc/rc.conf. +EOM +} +] diff --git a/databases/redis4/files/redis.in b/databases/redis4/files/redis.in new file mode 100644 index 000000000000..fb54f40bf2b3 --- /dev/null +++ b/databases/redis4/files/redis.in @@ -0,0 +1,70 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: redis +# REQUIRE: LOGIN +# BEFORE: securelevel +# KEYWORD: shutdown + +# Add the following line to /etc/rc.conf to enable `redis': +# +#redis_enable="YES" +# +# Define profiles here to run separate redis instances: +# +#redis_profiles="foo bar" # Script uses %%PREFIX%%/etc/redis-NAME.conf respectively. +# For correct script working please update pidfile entries in +# redis-NAME.conf files. + +. /etc/rc.subr + +name="redis" +rcvar="${name}_enable" + +extra_commands="reload" + +command="%%PREFIX%%/bin/redis-server" +pidfile="%%REDIS_RUNDIR%%/$name.pid" + +# read configuration and set defaults +load_rc_config "$name" +: ${redis_enable="NO"} +: ${redis_user="%%REDIS_USER%%"} +: ${redis_config="%%PREFIX%%/etc/$name.conf"} + +command_args="${redis_config}" +required_files="${redis_config}" + +_profile_exists() { + for _p in ${redis_profiles}; do + [ "${_p}" = "$1" ] && return 1; + done + return 0 +} + +if [ $# -eq 2 ]; then + _profile=$2 + _profile_exists $_profile + _exists=$? + [ ${_exists} -ne 1 ] && { + echo "`basename %%PREFIX%%/etc/rc.d/redis`: no '$2' in 'redis_profiles'" + exit 1 + }; + echo "-- Profile: ${_profile} --" + config_file="%%PREFIX%%/etc/${name}-${_profile}.conf" + command_args="${config_file}" + pidfile="%%REDIS_RUNDIR%%/${_profile}.pid" + required_files="${config_file}" +elif [ -n "${redis_profiles}" ]; then + _swap=$*; shift; _profiles=$* + _profiles=${_profiles:-${redis_profiles}} + set -- ${_swap} + for _profile in ${_profiles}; do + %%PREFIX%%/etc/rc.d/redis $1 ${_profile} + done + exit 0 +fi + +run_rc_command "$1" diff --git a/databases/redis4/files/sentinel.in b/databases/redis4/files/sentinel.in new file mode 100644 index 000000000000..b66ae1492b01 --- /dev/null +++ b/databases/redis4/files/sentinel.in @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: sentinel +# REQUIRE: LOGIN +# BEFORE: securelevel +# KEYWORD: shutdown + +# Add the following line to /etc/rc.conf to enable `sentinel': +# +#sentinel_enable="YES" +# + +. /etc/rc.subr + +name="sentinel" +rcvar="${name}_enable" + +command="/usr/local/bin/redis-sentinel" +pidfile="/var/run/redis/$name.pid" + +# read configuration and set defaults +load_rc_config "$name" +: ${sentinel_enable="NO"} +: ${sentinel_user="redis"} +: ${sentinel_config="/usr/local/etc/$name.conf"} + +command_args="${sentinel_config} --daemonize yes --pidfile ${pidfile}" +required_files="${sentinel_config}" +start_precmd="${name}_checks" +restart_precmd="${name}_checks" + +sentinel_checks() +{ + if [ x`id -u ${sentinel_user}` != x`stat -f %u ${sentinel_config}` ]; then + err 1 "${sentinel_config} must be owned by user ${sentinel_user}" + fi +} + +run_rc_command "$1" diff --git a/databases/redis4/pkg-descr b/databases/redis4/pkg-descr new file mode 100644 index 000000000000..e034aa3723ba --- /dev/null +++ b/databases/redis4/pkg-descr @@ -0,0 +1,19 @@ +Redis is an open source, advanced key-value store. It is often referred +to as a data structure server since keys can contain strings, hashes, +lists, sets and sorted sets. + +You can run atomic operations on these types, like appending to a string; +incrementing the value in a hash; pushing to a list; computing set +intersection, union and difference; or getting the member with highest +ranking in a sorted set. + +In order to achieve its outstanding performance, Redis works with an +in-memory dataset. Depending on your use case, you can persist it either +by dumping the dataset to disk every once in a while, or by appending each +command to a log. + +Redis also supports trivial-to-setup master-slave replication, with very +fast non-blocking first synchronization, auto-reconnection on net split +and so forth. + +WWW: http://redis.io/ diff --git a/databases/redis4/pkg-plist b/databases/redis4/pkg-plist new file mode 100644 index 000000000000..7bc055909fdd --- /dev/null +++ b/databases/redis4/pkg-plist @@ -0,0 +1,12 @@ +bin/redis-benchmark +bin/redis-check-aof +bin/redis-check-rdb +bin/redis-cli +bin/redis-sentinel +bin/redis-server +%%TRIB%%bin/redis-trib.rb +@sample etc/redis.conf.sample +@sample(%%REDIS_USER%%,%%REDIS_GROUP%%,) etc/sentinel.conf.sample +@dir(%%REDIS_USER%%,%%REDIS_GROUP%%,) %%REDIS_DBDIR%% +@dir(%%REDIS_USER%%,%%REDIS_GROUP%%,) %%REDIS_LOGDIR%% +@dir(%%REDIS_USER%%,%%REDIS_GROUP%%,) %%REDIS_RUNDIR%% diff --git a/databases/rubygem-hiredis/Makefile b/databases/rubygem-hiredis/Makefile index 22e56e1cea2a..c30426c71835 100644 --- a/databases/rubygem-hiredis/Makefile +++ b/databases/rubygem-hiredis/Makefile @@ -3,7 +3,7 @@ PORTNAME= hiredis PORTVERSION= 0.6.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= databases rubygems MASTER_SITES= RG |