aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-08 17:56:07 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-12-08 18:13:50 +0000
commit444f1e832350920374d0cdacbba4ec70eaa2520a (patch)
tree4afd772483597b9d421aca1fe2f4f1f6fa89aa81
parentb33fce14eacd78c4e6c4b222960b53a56e71711b (diff)
downloadports-444f1e832350920374d0cdacbba4ec70eaa2520a.tar.gz
ports-444f1e832350920374d0cdacbba4ec70eaa2520a.zip
www/py-django50: New port
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Developed and used over the past two years by a fast-moving online-news operation, Django was designed from scratch to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of experienced Web developers. It has convenient niceties for developing content-management systems, but it's an excellent tool for building any Web site. Currently this is marked to IGNORE with default python version 3.9. If someone needs to use this they have to build it with: DEFAULT_VERSIONS=python=3.10 This is mainly the work from wen@ but was reverted as it broke the bulk build.
-rw-r--r--www/Makefile1
-rw-r--r--www/py-django50/Makefile74
-rw-r--r--www/py-django50/distinfo3
-rw-r--r--www/py-django50/pkg-descr8
4 files changed, 86 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile
index bfe0a55fd042..95103c842a6c 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1626,6 +1626,7 @@
SUBDIR += py-django32
SUBDIR += py-django41
SUBDIR += py-django42
+ SUBDIR += py-django50
SUBDIR += py-django_compressor
SUBDIR += py-djangocms-admin-style
SUBDIR += py-djangoql
diff --git a/www/py-django50/Makefile b/www/py-django50/Makefile
new file mode 100644
index 000000000000..2b4443aafaf4
--- /dev/null
+++ b/www/py-django50/Makefile
@@ -0,0 +1,74 @@
+PORTNAME= django
+PORTVERSION= 5.0
+CATEGORIES= www python
+MASTER_SITES= PYPI \
+ https://media.djangoproject.com/releases/${PORTVERSION:R}/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= 50
+DISTNAME= Django-${PORTVERSION}
+DIST_SUBDIR= python
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= High-level Python Web Framework
+WWW= https://www.djangoproject.com/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.7.0:www/py-asgiref@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.3.1:databases/py-sqlparse@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tblib>0:devel/py-tblib@${PY_FLAVOR}
+
+USES= cpe python shebangfix
+USE_PYTHON= autoplist distutils
+
+NO_ARCH= yes
+
+DOCSDIR= ${PREFIX}/share/doc/py-django
+PLIST_FILES= man/man1/django-admin.1.gz
+PORTDOCS= *
+
+SHEBANG_FILES= django/conf/project_template/manage.py-tpl
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}django[0-9][0-9]
+
+CPE_VENDOR= djangoproject
+
+# Upstream archive contains files with UTF-8 names
+# EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
+
+OPTIONS_DEFINE= DOCS HTMLDOCS
+OPTIONS_GROUP= DATABASE
+OPTIONS_GROUP_DATABASE= PGSQL MYSQL SQLITE
+OPTIONS_DEFAULT=SQLITE
+HTMLDOCS_DESC= Install HTML documentation (requires Sphinx)
+
+HTMLDOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+HTMLDOCS_IMPLIES= DOCS
+PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>0:databases/py-psycopg2@${PY_FLAVOR}
+MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=1.3.13:databases/py-mysqlclient@${PY_FLAVOR}
+SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 31000
+IGNORE= Requires Python-3.10 or later
+.endif
+
+post-build-HTMLDOCS-on:
+ cd ${WRKSRC}/docs && ${MAKE} html SPHINXBUILD=sphinx-build-${PYTHON_VER}
+
+post-install:
+ ${INSTALL_MAN} ${WRKSRC}/docs/man/* ${STAGEDIR}/${MAN1PREFIX}/man/man1
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} " * See http://docs.djangoproject.com/ for complete documentation"
+ @${ECHO_MSG} ""
+
+post-install-HTMLDOCS-on:
+ ${MKDIR} ${STAGEDIR}/${DOCSDIR}
+ ${CP} -R ${WRKSRC}/docs/_build/html ${STAGEDIR}/${DOCSDIR}
+
+do-test:
+ @cd ${WRKSRC} && ${PYTHON_CMD} tests/runtests.py --settings=test_sqlite
+
+.include <bsd.port.post.mk>
diff --git a/www/py-django50/distinfo b/www/py-django50/distinfo
new file mode 100644
index 000000000000..9b31bdea5e2d
--- /dev/null
+++ b/www/py-django50/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1701788127
+SHA256 (python/Django-5.0.tar.gz) = 7d29e14dfbc19cb6a95a4bd669edbde11f5d4c6a71fdaa42c2d40b6846e807f7
+SIZE (python/Django-5.0.tar.gz) = 10585390
diff --git a/www/py-django50/pkg-descr b/www/py-django50/pkg-descr
new file mode 100644
index 000000000000..1f0e73eddef2
--- /dev/null
+++ b/www/py-django50/pkg-descr
@@ -0,0 +1,8 @@
+Django is a high-level Python Web framework that encourages rapid development
+and clean, pragmatic design.
+
+Developed and used over the past two years by a fast-moving online-news
+operation, Django was designed from scratch to handle two challenges: the
+intensive deadlines of a newsroom and the stringent requirements of experienced
+Web developers. It has convenient niceties for developing content-management
+systems, but it's an excellent tool for building any Web site.