diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2016-06-23 23:16:03 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2016-06-23 23:16:03 +0000 |
commit | db38d296fdcb0d72ba9bcb689ece5f15df122415 (patch) | |
tree | c246263304178a650589b9afb514ebbdfc2ab852 /databases/tile38 | |
parent | daddf32364a19fc3ecdb0404776c2b5c025a9f4b (diff) |
Notes
Diffstat (limited to 'databases/tile38')
-rw-r--r-- | databases/tile38/Makefile | 54 | ||||
-rw-r--r-- | databases/tile38/distinfo | 3 | ||||
-rw-r--r-- | databases/tile38/files/tile38.in | 45 | ||||
-rw-r--r-- | databases/tile38/pkg-descr | 18 | ||||
-rw-r--r-- | databases/tile38/pkg-plist | 4 |
5 files changed, 124 insertions, 0 deletions
diff --git a/databases/tile38/Makefile b/databases/tile38/Makefile new file mode 100644 index 000000000000..eda1f98ccf29 --- /dev/null +++ b/databases/tile38/Makefile @@ -0,0 +1,54 @@ +# Created by: olevole@olevole.ru +# $FreeBSD$ + +PORTNAME= tile38 +PORTVERSION= 1.2.0 +CATEGORIES= databases + +MAINTAINER= olevole@olevole.ru +COMMENT= In-memory geolocation data store, spatial index, and realtime geofence + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= go>=1.4:lang/go \ + bash:shells/bash +RUN_DEPENDS= go>=1.4:lang/go \ + bash:shells/bash + +USE_GITHUB= yes +GH_ACCOUNT= tidwall + +USES= shebangfix +SHEBANG_FILES= build.sh + +USE_RC_SUBR= tile38 + +USERS= ${PORTNAME} +GROUPS= ${PORTNAME} + +TILE38_DBDIR?= /var/db/tile38 +TILE38_RUNDIR?= /var/run/tile38 + +SUB_LIST= PORTNAME=${PORTNAME} \ + TILE38_USER=${USERS} \ + TILE38_DBDIR=${TILE38_DBDIR} \ + TILE38_RUNDIR=${TILE38_RUNDIR} + +PLIST_SUB= TILE38_USER=${USERS} \ + TILE38_GROUP=${GROUPS} \ + TILE38_DBDIR=${TILE38_DBDIR} \ + TILE38_RUNDIR=${TILE38_RUNDIR} + +do-build: + @cd ${WRKSRC} && ./build.sh + +do-install: + @${MKDIR} ${STAGEDIR}${TILE38_DBDIR} ${STAGEDIR}${TILE38_RUNDIR} + ${INSTALL_PROGRAM} ${WRKSRC}/tile38-cli ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_PROGRAM} ${WRKSRC}/tile38-server ${STAGEDIR}${PREFIX}/bin/ + +do-test: + @cd ${WRKSRC} && ./build.sh test + +.include <bsd.port.mk> diff --git a/databases/tile38/distinfo b/databases/tile38/distinfo new file mode 100644 index 000000000000..f3ce9e38ae5c --- /dev/null +++ b/databases/tile38/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1465389710 +SHA256 (tidwall-tile38-1.2.0_GH0.tar.gz) = 8797cfe8ad0f787cc00c26a863329090a929257d9f5c5d8d20c17f05234cb2a5 +SIZE (tidwall-tile38-1.2.0_GH0.tar.gz) = 1701880 diff --git a/databases/tile38/files/tile38.in b/databases/tile38/files/tile38.in new file mode 100644 index 000000000000..9507886b0f18 --- /dev/null +++ b/databases/tile38/files/tile38.in @@ -0,0 +1,45 @@ +#!/bin/sh +# +# $FreeBSD: $ +# + +# PROVIDE: tile38 +# REQUIRE: LOGIN +# BEFORE: securelevel +# KEYWORD: shutdown + +# Add the following line to /etc/rc.conf to enable `tile38': +# +# tile38_enable="YES" +# +# optional: +# +# tile38_flags (flags): Set extra flags here. More options in tile38(1) +# Default is empty "". +# tile38_user (user): Set user to run tile38. +# Default is "%%TILE38_USER%%". +# tile38_data (data): Set data directory path +# Default is "%%TILE38_DBDIR%%". + +. /etc/rc.subr + +name="tile38" +rcvar="${name}_enable" + +start_cmd="tile38_start" + +command="%%PREFIX%%/bin/tile38-server" +pidfile="%%TILE38_RUNDIR%%/$name.pid" + +# read configuration and set defaults +load_rc_config "$name" +: ${tile38_enable="NO"} +: ${tile38_user="%%TILE38_USER%%"} +: ${tile38_data="%%TILE38_DBDIR%%"} + +tile38_start() +{ + /usr/sbin/daemon -f -p ${pidfile} -u ${tile38_user} ${command} -d ${tile38_data} ${tile38_flags} ${rc_arg} +} + +run_rc_command "$1" diff --git a/databases/tile38/pkg-descr b/databases/tile38/pkg-descr new file mode 100644 index 000000000000..d5f3ce8f523e --- /dev/null +++ b/databases/tile38/pkg-descr @@ -0,0 +1,18 @@ +Tile38 is an open source (MIT licensed), in-memory geolocation data store, +spatial index, and realtime geofence. It supports a variety of object types +including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON. + +Features: + + Spatial index with search methods such as NEARBY, WITHIN, and INTERSECTS. + Realtime geofencing through persistent sockets or webhooks. + Object types of lat/lon, bbox, Geohash, GeoJSON, QuadKey, and XYZ tile. + Support for lots of Clients Libraries written in many different langauges. + Variety of client protocols, including http (curl), websockets, telnet, + and the Redis RESP. + Server responses are RESP or JSON. + Full command line interface. + Leader / follower replication. + In-memory database that persists on disk. + +WWW: http://tile38.com/ diff --git a/databases/tile38/pkg-plist b/databases/tile38/pkg-plist new file mode 100644 index 000000000000..475a56950dd3 --- /dev/null +++ b/databases/tile38/pkg-plist @@ -0,0 +1,4 @@ +bin/tile38-server +bin/tile38-cli +@dir(%%TILE38_USER%%,%%TILE38_GROUP%%,) %%TILE38_DBDIR%% +@dir(%%TILE38_USER%%,%%TILE38_GROUP%%,) %%TILE38_RUNDIR%% |