diff options
author | amdmi3 <amdmi3@FreeBSD.org> | 2016-06-24 07:16:03 +0800 |
---|---|---|
committer | amdmi3 <amdmi3@FreeBSD.org> | 2016-06-24 07:16:03 +0800 |
commit | dc36d23fcbeeeba1b351b4702702f9c1be1cc96b (patch) | |
tree | c246263304178a650589b9afb514ebbdfc2ab852 | |
parent | 3e5d85bc12730eb5922d064a937487a9ecda74ab (diff) | |
download | freebsd-ports-gnome-dc36d23fcbeeeba1b351b4702702f9c1be1cc96b.tar.gz freebsd-ports-gnome-dc36d23fcbeeeba1b351b4702702f9c1be1cc96b.tar.zst freebsd-ports-gnome-dc36d23fcbeeeba1b351b4702702f9c1be1cc96b.zip |
- Add databases/tile38
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/
PR: 210147
Submitted by: olevole@olevole.ru
-rw-r--r-- | GIDs | 1 | ||||
-rw-r--r-- | UIDs | 1 | ||||
-rw-r--r-- | databases/Makefile | 3 | ||||
-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 |
8 files changed, 128 insertions, 1 deletions
@@ -98,6 +98,7 @@ barman:*:157: pootle:*:158: nocat:*:159: _ypldap:*:160: +tile38:*:170: sfs:*:171: agk:*:172: polipo:*:173: @@ -104,6 +104,7 @@ barman:*:157:157::0:0:Barman user:/var/barman:/bin/sh pootle:*:158:158::0:0:Pootle User:/var/db/pootle:/usr/sbin/nologin nocat:*:159:159::0:0:NoCat Daemon:/libexec/nocat:/sbin/nologin _ypldap:*:160:160::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin +tile38:*:170:170::0:0:Tile38 User:/var/db/tile38:/usr/sbin/nologin sfs:*:171:171::0:0:Self-Certifying File System:/nonexistent:/usr/sbin/nologin agk:*:172:172::0:0:AquaGateKeeper:/nonexistent:/nonexistent polipo:*:173:173::0:0:polipo web cache:/nonexistent:/usr/sbin/nologin diff --git a/databases/Makefile b/databases/Makefile index 9da6c9fc5f9c..1c2f4e5cf415 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -719,7 +719,6 @@ SUBDIR += pxlib SUBDIR += pxtools SUBDIR += py-Elixir - SUBDIR += py-mysqlclient SUBDIR += py-MySQLdb SUBDIR += py-MySQLdb55 SUBDIR += py-MySQLdb56 @@ -754,6 +753,7 @@ SUBDIR += py-mysql-connector-python SUBDIR += py-mysql-connector-python2 SUBDIR += py-mysql2pgsql + SUBDIR += py-mysqlclient SUBDIR += py-odbc SUBDIR += py-oops SUBDIR += py-oursql @@ -973,6 +973,7 @@ SUBDIR += tcl-sqlite3 SUBDIR += tdb SUBDIR += tdbc + SUBDIR += tile38 SUBDIR += tinycdb SUBDIR += tokyocabinet SUBDIR += tokyotyrant 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%% |