aboutsummaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorJimmy Olgeni <olgeni@FreeBSD.org>2021-04-06 16:26:36 +0000
committerJimmy Olgeni <olgeni@FreeBSD.org>2021-04-06 16:58:00 +0000
commita1a984dd9763dd8bd0c50e538e0ee6bcf6d213b8 (patch)
treea6b9aa3cc28b405cff6dc28390755f4fc500df1d /databases
parent688515d6ad3ffd8721a67c9a05f4eaee1e3b7f31 (diff)
downloadports-a1a984dd9763dd8bd0c50e538e0ee6bcf6d213b8.tar.gz
ports-a1a984dd9763dd8bd0c50e538e0ee6bcf6d213b8.zip
Add databases/webdis, a simple HTTP gateway for Redis.
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile1
-rw-r--r--databases/webdis/Makefile35
-rw-r--r--databases/webdis/distinfo3
-rw-r--r--databases/webdis/files/patch-Makefile13
-rw-r--r--databases/webdis/files/pkg-message.in4
-rw-r--r--databases/webdis/files/webdis.conf24
-rw-r--r--databases/webdis/files/webdis.in42
-rw-r--r--databases/webdis/pkg-descr4
8 files changed, 126 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 3f00997d24cd..4defdda72ec6 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1027,6 +1027,7 @@
SUBDIR += virtualpg
SUBDIR += virtuoso
SUBDIR += vsqlite
+ SUBDIR += webdis
SUBDIR += wfb2sql
SUBDIR += xapian-bindings
SUBDIR += xapian-bindings12
diff --git a/databases/webdis/Makefile b/databases/webdis/Makefile
new file mode 100644
index 000000000000..d792dd51a760
--- /dev/null
+++ b/databases/webdis/Makefile
@@ -0,0 +1,35 @@
+# $FreeBSD$
+
+PORTNAME= webdis
+DISTVERSION= 0.1.14
+CATEGORIES= databases
+
+MAINTAINER= olgeni@FreeBSD.org
+COMMENT= HTTP interface for Redis
+
+LICENSE= BSD2CLAUSE
+
+LIB_DEPENDS= libevent.so:devel/libevent
+
+USES= gmake
+USE_GITHUB= yes
+GH_ACCOUNT= nicolasff
+USE_RC_SUBR= webdis
+
+USERS= webdis
+GROUPS= webdis
+
+PLIST_FILES= bin/webdis \
+ "@sample etc/webdis.conf.sample"
+
+post-patch:
+ ${REINPLACE_CMD} -e "s@%%LOCALBASE%%@${LOCALBASE}@g" ${WRKSRC}/Makefile
+
+do-install:
+ ${INSTALL} ${WRKSRC}/webdis ${STAGEDIR}${PREFIX}/bin/webdis
+ ${INSTALL_DATA} ${FILESDIR}/webdis.conf ${STAGEDIR}${PREFIX}/etc/webdis.conf.sample
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/webdis
+
+.include <bsd.port.mk>
diff --git a/databases/webdis/distinfo b/databases/webdis/distinfo
new file mode 100644
index 000000000000..1ba6ca2bb248
--- /dev/null
+++ b/databases/webdis/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1617726637
+SHA256 (nicolasff-webdis-0.1.14_GH0.tar.gz) = 8c2ba6b85d6fda15acd13eb9705c0b6a19e178a2358c034e5690ef7ca0ebf5d7
+SIZE (nicolasff-webdis-0.1.14_GH0.tar.gz) = 145302
diff --git a/databases/webdis/files/patch-Makefile b/databases/webdis/files/patch-Makefile
new file mode 100644
index 000000000000..0d91188e1f55
--- /dev/null
+++ b/databases/webdis/files/patch-Makefile
@@ -0,0 +1,13 @@
+--- Makefile.orig 2019-09-30 09:33:34 UTC
++++ Makefile
+@@ -5,8 +5,8 @@ B64_OBJS?=b64/cencode.o
+ FORMAT_OBJS?=formats/json.o formats/raw.o formats/common.o formats/custom-type.o
+ HTTP_PARSER_OBJS?=http-parser/http_parser.o
+
+-CFLAGS ?= -O3 -Wall -Wextra -Isrc -Isrc/jansson/src -Isrc/http-parser -MD
+-LDFLAGS ?= -levent -pthread
++CFLAGS += -Isrc -Isrc/jansson/src -Isrc/http-parser -MD -I%%LOCALBASE%%/include -I%%LOCALBASE%%/include/event2
++LDFLAGS += -levent -pthread -L%%LOCALBASE%%/lib
+
+ # check for MessagePack
+ MSGPACK_LIB=$(shell ls /usr/lib/libmsgpack.so 2>/dev/null)
diff --git a/databases/webdis/files/pkg-message.in b/databases/webdis/files/pkg-message.in
new file mode 100644
index 000000000000..ff05961d2e0d
--- /dev/null
+++ b/databases/webdis/files/pkg-message.in
@@ -0,0 +1,4 @@
+You can configure the log file for webdis by adding the following
+entry to %%PREFIX%%/etc/webdis.conf:
+
+ "logfile": "/var/log/webdis.log"
diff --git a/databases/webdis/files/webdis.conf b/databases/webdis/files/webdis.conf
new file mode 100644
index 000000000000..284335149c11
--- /dev/null
+++ b/databases/webdis/files/webdis.conf
@@ -0,0 +1,24 @@
+{
+ "redis_host": "127.0.0.1",
+ "redis_port": 6379,
+ "redis_auth": null,
+ "http_host": "127.0.0.1",
+ "http_port": 7379,
+ "threads": 4,
+ "daemonize": false,
+ "database": 0,
+ "acl": [
+ {
+ "disabled": [
+ "DEBUG"
+ ]
+ },
+ {
+ "http_basic_auth": "user:password",
+ "enabled": [
+ "DEBUG"
+ ]
+ }
+ ],
+ "verbosity": 3
+}
diff --git a/databases/webdis/files/webdis.in b/databases/webdis/files/webdis.in
new file mode 100644
index 000000000000..1aba2553440f
--- /dev/null
+++ b/databases/webdis/files/webdis.in
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# PROVIDE: webdis
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# webdis_enable (bool): Set to NO by default.
+# Set it to YES to enable webdis.
+# webdis_config (path): Set to %%PREFIX%%/etc/webdis.conf
+# by default.
+# webdis_user (user): Set to 'webdis' by default.
+# webdis_group (group): Set to 'webdis' by default.
+
+. /etc/rc.subr
+
+name=webdis
+rcvar=webdis_enable
+
+load_rc_config $name
+
+: ${webdis_enable:=NO}
+: ${webdis_config:=%%PREFIX%%/etc/webdis.conf}
+: ${webdis_user:=webdis}
+: ${webdis_group:=webdis}
+
+start_precmd=webdis_start_precmd
+pidfile="/var/run/${name}.pid"
+procname="%%PREFIX%%/bin/${name}"
+command=/usr/sbin/daemon
+command_args="-f -c -p ${pidfile} ${procname} ${webdis_config}"
+
+webdis_start_precmd()
+{
+ if [ ! -e ${pidfile} ]; then
+ install -o ${webdis_user} -g ${webdis_group} /dev/null ${pidfile}
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/webdis/pkg-descr b/databases/webdis/pkg-descr
new file mode 100644
index 000000000000..95630b6b8293
--- /dev/null
+++ b/databases/webdis/pkg-descr
@@ -0,0 +1,4 @@
+Webdis is a simple HTTP server which forwards commands to Redis and
+sends the reply back using a format of your choice.
+
+WWW: https://webd.is/