Index: databases/py-alembic/Makefile =================================================================== --- databases/py-alembic/Makefile +++ databases/py-alembic/Makefile @@ -2,6 +2,7 @@ PORTNAME= alembic PORTVERSION= 0.9.8 +PORTREVISION= 1 CATEGORIES= databases python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,7 +15,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dateutil>=0:devel/py-dateutil@${FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mako>=0:textproc/py-mako@${FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}python-editor>=0:devel/py-python-editor@${FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>=0:databases/py-sqlalchemy10@${FLAVOR} + ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>=0:databases/py-sqlalchemy12@${FLAVOR} USES= python USE_PYTHON= distutils autoplist Index: databases/py-flask-sqlalchemy/Makefile =================================================================== --- databases/py-flask-sqlalchemy/Makefile +++ databases/py-flask-sqlalchemy/Makefile @@ -3,6 +3,7 @@ PORTNAME= Flask-SQLAlchemy PORTVERSION= 2.3.2 +PORTREVISION= 1 CATEGORIES= databases python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask>=0.10:www/py-flask@${FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>=0.8:databases/py-sqlalchemy10@${FLAVOR} + ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>=1.2:databases/py-sqlalchemy12@${FLAVOR} NO_ARCH= yes USES= python Index: devel/py-jmespath/Makefile =================================================================== --- devel/py-jmespath/Makefile +++ devel/py-jmespath/Makefile @@ -2,8 +2,8 @@ # $FreeBSD$ PORTNAME= jmespath -PORTVERSION= 0.9.0 -PORTREVISION= 1 +PORTVERSION= 0.9.3 +PORTREVISION= 0 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} Index: devel/py-jmespath/distinfo =================================================================== --- devel/py-jmespath/distinfo +++ devel/py-jmespath/distinfo @@ -1,2 +1,3 @@ -SHA256 (jmespath-0.9.0.tar.gz) = 08dfaa06d4397f283a01e57089f3360e3b52b5b9da91a70e1fd91e9f0cdd3d3d -SIZE (jmespath-0.9.0.tar.gz) = 20855 +TIMESTAMP = 1520367936 +SHA256 (jmespath-0.9.3.tar.gz) = 6a81d4c9aa62caf061cb517b4d9ad1dd300374cd4706997aff9cd6aedd61fc64 +SIZE (jmespath-0.9.3.tar.gz) = 22967 Index: www/elasticsearch-hq/Makefile =================================================================== --- /dev/null +++ www/elasticsearch-hq/Makefile @@ -0,0 +1,56 @@ +# Created by: Mark Felder +# $FreeBSD$ + +PORTNAME= elasticsearch-hq +PORTVERSION= 3.0.3 +DISTVERSIONPREFIX=v +CATEGORIES= www + +MAINTAINER= elastic@FreeBSD.org +COMMENT= ElasticSearch management web utility + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}jmespath>=0.9.3:devel/py-jmespath@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask>=0.12.2:www/py-flask@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask-RESTful>=0.3.6:www/py-flask-restful@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask-Script>=2.0.6:www/py-flask-script@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marshmallow>=3.0.0.b5:devel/py-marshmallow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}marshmallow-sqlalchemy>=0.13.2:databases/py-marshmallow-sqlalchemy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flask-marshmallow>=0.8.0:www/py-flask-marshmallow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}urllib3>=1.21.1:net/py-urllib3@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.0.0:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}six>=1.8.0:devel/py-six@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlalchemy12>=1.2.0:databases/py-sqlalchemy12@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask-SQLAlchemy>=2.3.2:databases/py-flask-sqlalchemy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask-Migrate>0:www/py-flask-migrate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}apscheduler>=3.5.0:devel/py-apscheduler@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Flask-APScheduler>=1.7.1:www/py-flask-apscheduler@${PY_FLAVOR} + +USES= python:3.4+ shebangfix +SHEBANG_FILES= ${WRKSRC}/manage.py + +USE_GITHUB= yes +GH_ACCOUNT= ElasticHQ +GH_PROJECT= elasticsearch-HQ + +SUB_LIST+= USERS=${USERS} GROUPS=${GROUPS} PYTHON_CMD=${PYTHON_CMD} +SUB_FILES= pkg-message + +USE_RC_SUBR= elastichq + +USERS= www +GROUPS= www + +NO_ARCH=yes +NO_BUILD=yes + +do-install: + ${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}/var/db/elastichq + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}) + +post-install: + ${FIND} ${STAGEDIR}${WWWDIR} -type f -name '*.orig' -delete + ${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \ + ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} + ${ECHO} "@dir(www,www,755) /var/db/elastichq" >> ${TMPPLIST} + +.include Index: www/elasticsearch-hq/distinfo =================================================================== --- /dev/null +++ www/elasticsearch-hq/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1520365386 +SHA256 (ElasticHQ-elasticsearch-HQ-v3.0.3_GH0.tar.gz) = efa619f282ee4aaaa4005c50e783f8366e41587a80b54dba617b8c7e64c8beab +SIZE (ElasticHQ-elasticsearch-HQ-v3.0.3_GH0.tar.gz) = 6929575 Index: www/elasticsearch-hq/files/elastichq.in =================================================================== --- /dev/null +++ www/elasticsearch-hq/files/elastichq.in @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Created by: Mark Felder +# $FreeBSD$ +# + +# PROVIDE: elastichq +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable `elastichq': +# +# elastichq_enable="YES" + +. /etc/rc.subr +name=elastichq + +rcvar=elastichq_enable +load_rc_config ${name} + +: ${elastichq_enable:=NO} +: ${elastichq_user:=%%USERS%%} +: ${elastichq_group:=%%GROUPS%%} +: ${elastichq_chdir=%%WWWDIR%%} +: ${elastichq_host:=127.0.0.1} +: ${elastichq_port:=5000} + +required_files=/etc/localtime + +pidfile="/var/run/elastichq/${name}.pid" +procname=%%PYTHON_CMD%% +command="/usr/sbin/daemon" +command_args="-f -p ${pidfile} %%PYTHON_CMD%% manage.py runserver -h ${elastichq_host} -p ${elastichq_port} ${elastichq_extraargs}" +start_precmd=start_precmd + +start_precmd() +{ + install -d -o %%USERS%% -g %%GROUPS%% /var/run/elastichq + install -d -o %%USERS%% -g %%GROUPS%% /var/log/elastichq +} + +run_rc_command "$1" Index: www/elasticsearch-hq/files/patch-elastichq_config_logger.json =================================================================== --- /dev/null +++ www/elasticsearch-hq/files/patch-elastichq_config_logger.json @@ -0,0 +1,18 @@ +--- elastichq/config/logger.json.orig 2018-03-07 19:18:50 UTC ++++ elastichq/config/logger.json +@@ -17,7 +17,7 @@ + "class": "logging.handlers.RotatingFileHandler", + "level": "DEBUG", + "formatter": "simple", +- "filename": "application.log", ++ "filename": "/var/log/elastichq/application.log", + "maxBytes": 104857600, + "backupCount": 2, + "encoding": "utf8" +@@ -78,4 +78,4 @@ + "console" + ] + } +-} +\ No newline at end of file ++} Index: www/elasticsearch-hq/files/patch-elastichq_config_settings.py =================================================================== --- /dev/null +++ www/elasticsearch-hq/files/patch-elastichq_config_settings.py @@ -0,0 +1,34 @@ +--- elastichq/config/settings.py.orig 2018-03-07 18:52:00 UTC ++++ elastichq/config/settings.py +@@ -11,6 +11,7 @@ _search_paths = [ + './elastichq/elastichq.json', + './elastichq/config/elastichq.json', + '~/elastichq.json' ++ '/usr/local/etc/elastichq.json' + ] + + +@@ -47,9 +48,10 @@ class BaseSettings: + class TestSettings(BaseSettings): + # top level + BASEPATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ++ DBPATH = '/var/db/elastichq/' + + # user configurable +- _sqlalchemy_database_uri = 'sqlite:///' + os.path.join(BASEPATH, 'test_elastichq.db') ++ _sqlalchemy_database_uri = 'sqlite:///' + os.path.join(DBPATH, 'test_elastichq.db') + _scheduler_api_enabled = False + _sqlalchemy_track_modifications = False + +@@ -107,9 +109,10 @@ class TestSettings(BaseSettings): + class ProdSettings(BaseSettings): + # top level + BASEPATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) ++ DBPATH = '/var/db/elastichq/' + + # user configurable +- _sqlalchemy_database_uri = 'sqlite:///' + os.path.join(BASEPATH, 'elastichq.db') ++ _sqlalchemy_database_uri = 'sqlite:///' + os.path.join(DBPATH, 'elastichq.db') + _scheduler_api_enabled = True + _sqlalchemy_track_modifications = False + Index: www/elasticsearch-hq/files/pkg-message.in =================================================================== --- /dev/null +++ www/elasticsearch-hq/files/pkg-message.in @@ -0,0 +1,14 @@ +Elasticsearch-HQ can be enabled via: + +sysrc elastichq_enable=YES + +By default it listens on 127.0.0.1:5000, but you can override this with + +sysrc elastichq_host="1.2.3.4" +sysrc elastichq_port="8000" + +The logs are in /var/log/elastichq by default and the SQLite database +can be found at /var/db/elastichq + +The software also will obey settings placed in +%%PREFIX%%/etc/elastichq.json Index: www/elasticsearch-hq/pkg-descr =================================================================== --- /dev/null +++ www/elasticsearch-hq/pkg-descr @@ -0,0 +1,6 @@ +The open source Calendar and Contacts Server project is a standards-compliant +server implementing the CalDAV and CardDAV protocols (RFC 4791, RFC 6352). +It provides a shared location on the network allowing multiple users to store +and edit calendaring and contact information. + +WWW: http://www.calendarserver.org