aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Bogorodskiy <novel@FreeBSD.org>2016-12-19 16:39:06 +0000
committerRoman Bogorodskiy <novel@FreeBSD.org>2016-12-19 16:39:06 +0000
commit89a50dd083cb8e58dff02b62b4fcff71931a7e57 (patch)
tree7bdec1dd6679d1fc01af9b7a0c10941a2327f7de
parent61e18c6823d2a828b914c8a756e1985d788646ec (diff)
downloadports-89a50dd083cb8e58dff02b62b4fcff71931a7e57.tar.gz
ports-89a50dd083cb8e58dff02b62b4fcff71931a7e57.zip
Add www/py-horizon, OpenStack Dashboard
Horizon is a Django-based project aimed at providing a complete OpenStack Dashboard along with an extensible framework for building new dashboards from reusable components. PR: 215155 Submitted by: Alexander Nusov (alexander.nusov@nfvexpress.com)
Notes
Notes: svn path=/head/; revision=428952
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--www/Makefile1
-rw-r--r--www/py-horizon/Makefile86
-rw-r--r--www/py-horizon/distinfo3
-rw-r--r--www/py-horizon/files/01-django.patch13
-rw-r--r--www/py-horizon/files/pkg-message.in29
-rw-r--r--www/py-horizon/pkg-descr7
8 files changed, 141 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index a20a6596ba84..6343fa3840da 100644
--- a/GIDs
+++ b/GIDs
@@ -139,7 +139,7 @@ saned:*:194:
radns:*:195:
nova:*:196:
dq:*:197:
-# free: 198
+horizon:*:198:
mcserver:*:199:
sympa:*:200:
privoxy:*:201:
diff --git a/UIDs b/UIDs
index 19cebe991764..0cd43e04958a 100644
--- a/UIDs
+++ b/UIDs
@@ -144,7 +144,7 @@ saned:*:194:194::0:0:SANE Scanner Daemon:/nonexistent:/bin/sh
radns:*:195:195::0:0:radns user:/nonexistent:/usr/sbin/nologin
nova:*:196:196::0:0:Nova daemon pseudo-user:/var/lib/nova:/usr/sbin/nologin
dq:*:197:197::0:0:dqcache user:/nonexistent:/usr/sbin/nologin
-# free: 198
+horizon:*:198:198::0:0:Horizon pseudo-user:/var/lib/horizon:/usr/sbin/nologin
mcserver:*:199:199::0:0:Minecraft Server:/nonexistent:/bin/sh
sympa:*:200:200::0:0:Sympa Owner:/nonexistent:/usr/sbin/nologin
privoxy:*:201:201::0:0:Privoxy proxy user:/nonexistent:/usr/sbin/nologin
diff --git a/www/Makefile b/www/Makefile
index 5392787892ee..afd1f97a4658 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1653,6 +1653,7 @@
SUBDIR += py-graphite-web
SUBDIR += py-grequests
SUBDIR += py-gunicorn
+ SUBDIR += py-horizon
SUBDIR += py-html
SUBDIR += py-html5lib
SUBDIR += py-http-parser
diff --git a/www/py-horizon/Makefile b/www/py-horizon/Makefile
new file mode 100644
index 000000000000..1142c9a2606e
--- /dev/null
+++ b/www/py-horizon/Makefile
@@ -0,0 +1,86 @@
+# Created by: Alexander Nusov <alexander.nusov@nfvexpress.com>
+# $FreeBSD$
+
+PORTNAME= horizon
+PORTVERSION= 10.0.1
+CATEGORIES= www python
+MASTER_SITES= https://fossies.org/linux/misc/openstack/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= alexander.nusov@nfvexpress.com
+COMMENT= OpenStack Dashboard (Horizon)
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel \
+ ${PYTHON_PKGNAMEPREFIX}django18>=0:www/py-django18 \
+ ${PYTHON_PKGNAMEPREFIX}Pint>=0.5:devel/py-Pint \
+ ${PYTHON_PKGNAMEPREFIX}django-babel>=0.5.1:www/py-django-babel \
+ ${PYTHON_PKGNAMEPREFIX}django_compressor>=2.0:www/py-django_compressor \
+ ${PYTHON_PKGNAMEPREFIX}django_openstack_auth>=2.4.0:www/py-django_openstack_auth \
+ ${PYTHON_PKGNAMEPREFIX}django-pyscss>=2.0.2:www/py-django-pyscss \
+ ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601 \
+ ${PYTHON_PKGNAMEPREFIX}netaddr>=0:net/py-netaddr \
+ ${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.8.0:devel/py-oslo.concurrency \
+ ${PYTHON_PKGNAMEPREFIX}oslo.config>=3.14.0:devel/py-oslo.config \
+ ${PYTHON_PKGNAMEPREFIX}oslo.i18n>=2.1.0:devel/py-oslo.i18n \
+ ${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.9.0:devel/py-oslo.policy \
+ ${PYTHON_PKGNAMEPREFIX}oslo.serialization>=1.10.0:devel/py-oslo.serialization \
+ ${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils \
+ ${PYTHON_PKGNAMEPREFIX}pyscss>=1.3.4:textproc/py-pyscss \
+ ${PYTHON_PKGNAMEPREFIX}python-ceilometerclient>=2.5.0:net/py-python-ceilometerclient \
+ ${PYTHON_PKGNAMEPREFIX}python-cinderclient>=0:net/py-python-cinderclient \
+ ${PYTHON_PKGNAMEPREFIX}python-glanceclient>=0:net/py-python-glanceclient \
+ ${PYTHON_PKGNAMEPREFIX}python-heatclient>=1.4.0:net/py-python-heatclient \
+ ${PYTHON_PKGNAMEPREFIX}python-keystoneclient>=0:net/py-python-keystoneclient \
+ ${PYTHON_PKGNAMEPREFIX}python-neutronclient>=5.1.0:net/py-python-neutronclient \
+ ${PYTHON_PKGNAMEPREFIX}python-novaclient>=0:net/py-python-novaclient \
+ ${PYTHON_PKGNAMEPREFIX}python-swiftclient>=2.2.0:databases/py-python-swiftclient \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=2013.6:devel/py-pytz \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=3.1.0:devel/py-yaml \
+ ${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six \
+ ${PYTHON_PKGNAMEPREFIX}XStatic>=1.0.0:devel/py-XStatic \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular>=1.3.7:devel/py-XStatic-Angular \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Bootstrap>=0.11.0.2:devel/py-XStatic-Angular-Bootstrap \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular-FileUpload>=12.0.4.0:devel/py-XStatic-Angular-FileUpload \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Gettext>=2.1.0.2:devel/py-XStatic-Angular-Gettext \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular-lrdragndrop>=1.0.2.2:devel/py-XStatic-Angular-lrdragndrop \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Angular-Schema-Form>=0.8.13.0:devel/py-XStatic-Angular-Schema-Form \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-Datepicker>=1.3.1.0:devel/py-XStatic-Bootstrap-Datepicker \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Bootstrap-SCSS>=3:devel/py-XStatic-Bootstrap-SCSS \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-bootswatch>=3.3.5.3:devel/py-XStatic-bootswatch \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-D3>=3.1.6.2:devel/py-XStatic-D3 \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Hogan>=2.0.0.2:devel/py-XStatic-Hogan \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Font-Awesome>=4.3.0:devel/py-XStatic-Font-Awesome \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Jasmine>=2.1.2.0:devel/py-XStatic-Jasmine \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-jQuery>=1.7.2:devel/py-XStatic-jQuery \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-JQuery-Migrate>=1.2.1.1:devel/py-XStatic-JQuery-Migrate \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.quicksearch>=2.0.3.1:devel/py-XStatic-JQuery.quicksearch \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-JQuery.TableSorter>=2.14.5.1:devel/py-XStatic-JQuery.TableSorter \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-jquery-ui>=1.10.1:devel/py-XStatic-jquery-ui \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-JSEncrypt>=2.0.0.2:devel/py-XStatic-JSEncrypt \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-mdi>=1.4.57.0:devel/py-XStatic-mdi \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-objectpath>=1.2.1.0:devel/py-XStatic-objectpath \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Rickshaw>=1.5.0:devel/py-XStatic-Rickshaw \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-roboto-fontface>=0.4.3.2:devel/py-XStatic-roboto-fontface \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-smart-table>=0:devel/py-XStatic-smart-table \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-Spin>=1.2.5.2:devel/py-XStatic-Spin \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-term.js>=0.0.4:devel/py-XStatic-term.js \
+ ${PYTHON_PKGNAMEPREFIX}XStatic-tv4>=1.2.7.0:devel/py-XStatic-tv4
+
+EXTRA_PATCHES= ${FILESDIR}/01-django.patch:-p1
+
+NO_ARCH= yes
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+USERS= horizon
+GROUPS= horizon
+
+SUB_FILES= pkg-message
+SUB_LIST= PYTHON_SITELIBDIR=${PYTHON_SITELIBDIR}
+
+.include <bsd.port.mk>
diff --git a/www/py-horizon/distinfo b/www/py-horizon/distinfo
new file mode 100644
index 000000000000..915361d443bf
--- /dev/null
+++ b/www/py-horizon/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1481116590
+SHA256 (horizon-10.0.1.tar.gz) = 919e1e466007684ee80a0dec46f18c7f8147bd826ac1085a262fbb15b6c789be
+SIZE (horizon-10.0.1.tar.gz) = 4093291
diff --git a/www/py-horizon/files/01-django.patch b/www/py-horizon/files/01-django.patch
new file mode 100644
index 000000000000..e989394a3c71
--- /dev/null
+++ b/www/py-horizon/files/01-django.patch
@@ -0,0 +1,13 @@
+diff --git a/openstack_dashboard/wsgi/django.wsgi b/openstack_dashboard/wsgi/django.wsgi
+index 1be0e06..b7fbe81 100644
+--- a/openstack_dashboard/wsgi/django.wsgi
++++ b/openstack_dashboard/wsgi/django.wsgi
+@@ -5,7 +5,7 @@ from django.core.wsgi import get_wsgi_application
+ from django.conf import settings
+
+ # Add this file path to sys.path in order to import settings
+-sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..'))
++sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../..')))
+ os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
+ sys.stdout = sys.stderr
+
diff --git a/www/py-horizon/files/pkg-message.in b/www/py-horizon/files/pkg-message.in
new file mode 100644
index 000000000000..72e0c6c83d2b
--- /dev/null
+++ b/www/py-horizon/files/pkg-message.in
@@ -0,0 +1,29 @@
+Please note that this is a development version of Horizon.
+
+You may serve horizon (OpenStack Dashboard) with apache web server.
+Use this snippet as reference:
+
+WSGIScriptAlias / %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi/django.wsgi process-group=horizon
+WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
+WSGIProcessGroup horizon
+Alias /static/dashboard %%PYTHON_SITELIBDIR%%/openstack_dashboard/static/dashboard
+<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/static>
+ Require all granted
+</Directory>
+<Directory %%PYTHON_SITELIBDIR%%/openstack_dashboard/wsgi>
+ Require all granted
+</Directory>
+
+Also if you plan to use apache make sure that wsgi4 module is enabled and
+you set correct ownership for static and local libraries for openstack_dashboard:
+
+# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/static
+# chown -R horizon %%PYTHON_SITELIBDIR%%/openstack_dashboard/local
+
+Create local_settings.py with your settings at
+%%PYTHON_SITELIBDIR%%/openstack_dashboard/local
+
+To enable django-compressor add this option to local_settings.py file:
+
+STATIC_ROOT = '%%PYTHON_SITELIBDIR%%/openstack_dashboard/static'
+
diff --git a/www/py-horizon/pkg-descr b/www/py-horizon/pkg-descr
new file mode 100644
index 000000000000..70d936b0a539
--- /dev/null
+++ b/www/py-horizon/pkg-descr
@@ -0,0 +1,7 @@
+Horizon is a Django-based project aimed at providing a complete OpenStack
+Dashboard along with an extensible framework for building new dashboards from
+reusable components. The openstack_dashboard module is a reference
+implementation of a Django site that uses the horizon app to provide web-based
+interactions with the various OpenStack projects.
+
+WWW: http://openstack.org/horizon