aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2016-06-24 07:16:03 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2016-06-24 07:16:03 +0800
commitdc36d23fcbeeeba1b351b4702702f9c1be1cc96b (patch)
treec246263304178a650589b9afb514ebbdfc2ab852
parent3e5d85bc12730eb5922d064a937487a9ecda74ab (diff)
downloadfreebsd-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--GIDs1
-rw-r--r--UIDs1
-rw-r--r--databases/Makefile3
-rw-r--r--databases/tile38/Makefile54
-rw-r--r--databases/tile38/distinfo3
-rw-r--r--databases/tile38/files/tile38.in45
-rw-r--r--databases/tile38/pkg-descr18
-rw-r--r--databases/tile38/pkg-plist4
8 files changed, 128 insertions, 1 deletions
diff --git a/GIDs b/GIDs
index f7754e6901ce..4e1b7b3748f3 100644
--- a/GIDs
+++ b/GIDs
@@ -98,6 +98,7 @@ barman:*:157:
pootle:*:158:
nocat:*:159:
_ypldap:*:160:
+tile38:*:170:
sfs:*:171:
agk:*:172:
polipo:*:173:
diff --git a/UIDs b/UIDs
index f84a527d9893..28b5b6719cba 100644
--- a/UIDs
+++ b/UIDs
@@ -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%%