Bump databases/postgis25 to version 2.5.4_1
[dports.git] / databases / redis-devel / Makefile
1 # Created by: Sergey Skvortsov <skv@protey.ru>
2 # $FreeBSD$
3
4 PORTNAME=       redis
5 PORTVERSION=    6.0.1.20200501
6 CATEGORIES=     databases
7 PKGNAMESUFFIX=  -devel
8
9 MAINTAINER=     osa@FreeBSD.org
10 COMMENT=        Persistent key-value database with built-in net interface
11
12 LICENSE=        BSD3CLAUSE
13
14 USES+=          compiler:c11 gmake
15 USE_GITHUB=     yes
16 GH_TUPLE=       antirez:${PORTNAME}:47ff136
17
18 OPTIONS_DEFINE= JEMALLOC TESTS TLS TRIB
19 OPTIONS_RADIO=  EXTLUA
20 OPTIONS_RADIO_EXTLUA=   LUA LUAJIT LUAJITOR
21 OPTIONS_SUB=    yes
22 JEMALLOC_DESC=  Use jemalloc
23 LUA_DESC=       Use lang/lua instead of builtin lua
24 LUAJIT_DESC=    Use lang/luajit instead of builtin lua
25 LUAJITOR_DESC=  Use lang/luajit-openresty instead of builtin lua
26 TLS_DESC=       Use TLS (openssl req.)
27 TESTS_DESC=     Install lang/tcl for redis unit tests
28 TRIB_DESC=      Install redis-trib.rb (lang/ruby req.)
29
30 MAKE_ENV=       V=yo OPTIMIZATION=
31
32 JEMALLOC_MAKE_ENV=      USE_JEMALLOC=yes
33
34 LUA_USES=               lua:51
35 LUA_EXTRA_PATCHES=      ${PATCHDIR}/extra-patch-src-Makefile.lua
36 LUA_VARS=               _addflags=true
37
38 LUAJIT_LIB_DEPENDS=     libluajit-5.1.so:lang/luajit
39 LUAJIT_BUILD_DEPENDS=   ${LOCALBASE}/include/luajit-2.0/lua.h:lang/luajit
40 LUAJIT_EXTRA_PATCHES=   ${PATCHDIR}/extra-patch-src-Makefile.luajit
41 LUAJIT_VARS=            _addflags=true
42
43 LUAJITOR_LIB_DEPENDS=   libluajit-5.1.so:lang/luajit-openresty
44 LUAJITOR_BUILD_DEPENDS= ${LOCALBASE}/include/luajit-2.1/lua.h:lang/luajit-openresty
45 LUAJITOR_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src-Makefile.luajit-or \
46                         ${PATCHDIR}/extra-patch-deps_lua_src_lua__cjson.c
47 LUAJITOR_VARS=          _addflags=true
48
49 TESTS_USES=     tcl:build
50
51 TLS_USES=       ssl
52 TLS_MAKE_ENV=   BUILD_TLS=yes
53
54 TRIB_CATEGORIES=        ruby
55 TRIB_USE=               ruby=yes
56 TRIB_RUN_DEPENDS=       rubygem-redis>=2.2:databases/rubygem-redis
57
58 .include <bsd.port.pre.mk>
59
60 .if ${ARCH} == i386 && ! ${CFLAGS:M-march=*}
61 # Needed for __atomic_fetch_add_8
62 USE_GCC=        yes
63 CFLAGS+=        -march=i586
64 .endif
65
66 .if defined(_addflags)
67 CFLAGS=         -fPIC
68 LDFLAGS=        -Wl,-E
69 .endif
70
71 LDFLAGS+=       -lpthread -lm -lexecinfo
72
73 CONFLICTS?=     redis4-4.* redis-5.*
74
75 USE_RC_SUBR=    redis sentinel
76 BIN_FILES=      redis-benchmark redis-check-aof redis-check-rdb \
77                 redis-cli redis-sentinel redis-server
78
79 USERS=  redis
80 GROUPS= redis
81
82 REDIS_DBDIR?=   /var/db/redis
83 REDIS_RUNDIR?=  /var/run/redis
84 REDIS_LOGDIR?=  /var/log/redis
85
86 SUB_FILES=      pkg-message
87 SUB_LIST+=      PORTNAME=${PORTNAME} \
88         REDIS_USER=${USERS} \
89         REDIS_DBDIR=${REDIS_DBDIR} \
90         REDIS_LOGDIR=${REDIS_LOGDIR} \
91         REDIS_RUNDIR=${REDIS_RUNDIR}
92
93 PLIST_SUB+=     REDIS_USER=${USERS} \
94         REDIS_GROUP=${GROUPS} \
95         REDIS_LOGDIR=${REDIS_LOGDIR} \
96         REDIS_DBDIR=${REDIS_DBDIR} \
97         REDIS_RUNDIR=${REDIS_RUNDIR}
98
99 post-patch-JEMALLOC-on:
100         @${REINPLACE_CMD} '35s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile
101
102 post-patch-LUA-on:
103         @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/
104 post-patch-LUAJIT-on:   post-patch-LUA-on
105 post-patch-LUAJITOR-on: post-patch-LUA-on
106
107 post-build:
108         ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
109                 ${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf
110
111 do-install:
112         ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/
113         ${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample
114         ${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample
115         ${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \
116                 ${STAGEDIR}${REDIS_DBDIR} \
117                 ${STAGEDIR}${REDIS_RUNDIR}
118
119 do-install-TRIB-on:
120         ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/
121
122 do-test:
123         @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
124
125 .include <bsd.port.post.mk>