summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/Makefile1
-rw-r--r--www/py-cactus/Makefile39
-rw-r--r--www/py-cactus/distinfo2
-rw-r--r--www/py-cactus/files/patch-cactus_site.py28
-rw-r--r--www/py-cactus/files/patch-setup.py22
-rw-r--r--www/py-cactus/pkg-descr10
6 files changed, 102 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile
index cc364435dd36..b869bb9cb4dd 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1500,6 +1500,7 @@
SUBDIR += py-blogofile
SUBDIR += py-bottle
SUBDIR += py-bottle-cork
+ SUBDIR += py-cactus
SUBDIR += py-cherrypy
SUBDIR += py-cherrypy-old
SUBDIR += py-clientform
diff --git a/www/py-cactus/Makefile b/www/py-cactus/Makefile
new file mode 100644
index 000000000000..77a13db3fca2
--- /dev/null
+++ b/www/py-cactus/Makefile
@@ -0,0 +1,39 @@
+# Created by: Kubilay Kocak <koobs@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= cactus
+PORTVERSION= 3.0.2
+CATEGORIES= www python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= Cactus-${PORTVERSION}
+
+MAINTAINER= koobs@FreeBSD.org
+COMMENT= Static site generator for designers
+
+LICENSE= BSD3CLAUSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django16>0:${PORTSDIR}/www/py-django16 \
+ ${PYTHON_PKGNAMEPREFIX}markdown2>0:${PORTSDIR}/textproc/py-markdown2 \
+ ${PYTHON_PKGNAMEPREFIX}argparse>0:${PORTSDIR}/devel/py-argparse \
+ ${PYTHON_PKGNAMEPREFIX}boto>=2.4.1:${PORTSDIR}/devel/py-boto \
+ ${PYTHON_PKGNAMEPREFIX}tornado>=3.2:${PORTSDIR}/www/py-tornado \
+ ${PYTHON_PKGNAMEPREFIX}django-markwhat>0:${PORTSDIR}/www/py-django-markwhat
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0:${PORTSDIR}/devel/py-nose \
+ ${PYTHON_PKGNAMEPREFIX}mock>0:${PORTSDIR}/devel/py-mock \
+ ${PYTHON_PKGNAMEPREFIX}unittest2>0:${PORTSDIR}/devel/py-unittest2
+
+USES= python:-2.7
+USE_PYTHON= autoplist concurrent distutils
+
+OPTIONS_DEFINE= TESTS
+
+TESTS_DESC= Install test suite requirements
+
+TESTS_BUILD_DEPENDS= ${RUN_DEPENDS} \
+ ${TEST_DEPENDS}
+
+regression-test: build
+ @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
+
+.include <bsd.port.mk>
diff --git a/www/py-cactus/distinfo b/www/py-cactus/distinfo
new file mode 100644
index 000000000000..50f1f1d910be
--- /dev/null
+++ b/www/py-cactus/distinfo
@@ -0,0 +1,2 @@
+SHA256 (Cactus-3.0.2.tar.gz) = d65bb84d7a60bc7a17a0f240920b6358e39231001f46562cbc956d158e5dfe3f
+SIZE (Cactus-3.0.2.tar.gz) = 266607
diff --git a/www/py-cactus/files/patch-cactus_site.py b/www/py-cactus/files/patch-cactus_site.py
new file mode 100644
index 000000000000..a5e4462da96c
--- /dev/null
+++ b/www/py-cactus/files/patch-cactus_site.py
@@ -0,0 +1,28 @@
+--- cactus/site.py.orig 2015-03-22 19:28:26 UTC
++++ cactus/site.py
+@@ -7,8 +7,11 @@ import traceback
+ import socket
+
+ import django.conf
+-from django.template.loader import add_to_builtins
+-
++# BACKPORT https://github.com/koenbok/Cactus/pull/106
++try:
++ from django.template.loader import add_to_builtins
++except ImportError: # Django < 1.8
++ from django.template import add_to_builtins
+ from cactus import ui as ui_module
+ from cactus.config.router import ConfigRouter
+ from cactus.deployment import get_deployment_engine_class
+@@ -138,9 +141,10 @@ class Site(SiteCompatibilityLayer):
+ to look for included templates.
+ """
+
++# BACKPORT https://github.com/jezdez/django-hosts/issues/31
+ settings = {
+ "TEMPLATE_DIRS": [self.template_path, self.page_path],
+- "INSTALLED_APPS": ['django.contrib.markup'],
++ "INSTALLED_APPS": ['django_markwhat'],
+ }
+
+ if self.locale is not None:
diff --git a/www/py-cactus/files/patch-setup.py b/www/py-cactus/files/patch-setup.py
new file mode 100644
index 000000000000..e2770f72a8fb
--- /dev/null
+++ b/www/py-cactus/files/patch-setup.py
@@ -0,0 +1,22 @@
+--- setup.py.orig 2015-04-05 13:19:03 UTC
++++ setup.py
+@@ -118,7 +118,7 @@ setup(
+ ],
+ },
+ install_requires=[
+- 'Django==1.5.5',
++ 'Django>=1.5.5,<1.7',
+ 'markdown2',
+ 'argparse',
+ 'keyring',
+@@ -132,8 +132,8 @@ setup(
+ 'Mac Native FSEvents': ['macfsevents'],
+ },
+ zip_safe=False,
+- setup_requires=['nose'],
+- tests_require=['nose', 'mock', 'tox', 'unittest2'],
++ tests_require=['nose', 'mock', 'unittest2'],
++ test_suite="nose.collector",
+ classifiers=[
+ "Development Status :: 4 - Beta",
+ "Environment :: Console",
diff --git a/www/py-cactus/pkg-descr b/www/py-cactus/pkg-descr
new file mode 100644
index 000000000000..6386fa7fd14c
--- /dev/null
+++ b/www/py-cactus/pkg-descr
@@ -0,0 +1,10 @@
+Cactus is a simple but powerful static website generator using Python
+and the Django template system. Cactus also makes it easy to develop
+locally and deploy your site to S3 directly. It works great for
+company, portfolio, personal, support websites and blogs.
+
+To get a quick overview watch this short video tutorial:
+
+ https://vimeo.com/46999791
+
+WWW: http://github.com/koenbok/Cactus