git: 444f1e832350 - main - www/py-django50: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 08 Dec 2023 18:14:04 UTC
The branch main has been updated by bofh:
URL: https://cgit.FreeBSD.org/ports/commit/?id=444f1e832350920374d0cdacbba4ec70eaa2520a
commit 444f1e832350920374d0cdacbba4ec70eaa2520a
Author: Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2023-12-08 17:56:07 +0000
Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-12-08 18:13:50 +0000
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.
---
www/Makefile | 1 +
www/py-django50/Makefile | 74 +++++++++++++++++++++++++++++++++++++++++++++++
www/py-django50/distinfo | 3 ++
www/py-django50/pkg-descr | 8 +++++
4 files changed, 86 insertions(+)
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.