aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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%%