Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 May 2026 11:25:33 +0000
From:      Kai Knoblich <kai@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 74ee429290da - main - net-mgmt/seafile-server,www/seahub: Deprecate
Message-ID:  <6a15832d.3b7ee.488afbf@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=74ee429290dacff85cf426141f99e00918fc9cc1

commit 74ee429290dacff85cf426141f99e00918fc9cc1
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2026-05-26 11:24:35 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2026-05-26 11:24:35 +0000

    net-mgmt/seafile-server,www/seahub: Deprecate
    
    Updating www/seahub, and especially net-mgmt/seafile-server, is more
    difficult than originally anticipated. The current version of www/seahub
    also only runs with Django 4.2, which has been end-of-life since April.
    
    Before www/seahub and net-mgmt/seafile-server are marked as BROKEN after
    the migration of the affected ports to Django 5.2 [1], and then vanish
    from the ports tree at the end of 2026Q2 - which would also break POLA
    due the short time period - do the following to buy some time for a
    possible update:
    
    * Create required py-dj42-* ports and switch www/seahub to them. These
      py-dj42-* ports were copied from their original counterparts, are
      bound to Django 4.2, and have also been adapted for the PEP517 build
      framework to make them future-proof. Also adjust related entries in
      MOVED.
    
    * Add CONFLICTS_INSTALL entries to the original counterparts as well
      where necessary.
    
    * Bump PORTREVISION of www/seahub due changed dependencies.
    
    * Set a suitable EXPIRATION_DATE to have enough time to work on an
      update.  The EXPIRATION_DATE for www/py-django42 will adjusted
      accordingly afterwards.
    
    PR:             291707 [1]
    Reviewed by:    ultima (maintainer)
    Differential Revision:  https://reviews.freebsd.org/D57227
---
 MOVED                                        |  1 -
 net-mgmt/seafile-server/Makefile             |  3 +++
 www/Makefile                                 |  7 +++++++
 www/py-dj42-django-picklefield/Makefile      | 30 +++++++++++++++++++++++++++
 www/py-dj42-django-picklefield/distinfo      |  3 +++
 www/py-dj42-django-picklefield/pkg-descr     |  6 ++++++
 www/py-dj42-django-ranged-response/Makefile  | 27 ++++++++++++++++++++++++
 www/py-dj42-django-ranged-response/distinfo  |  3 +++
 www/py-dj42-django-ranged-response/pkg-descr |  3 +++
 www/py-dj42-django-simple-captcha/Makefile   | 31 ++++++++++++++++++++++++++++
 www/py-dj42-django-simple-captcha/distinfo   |  3 +++
 www/py-dj42-django-simple-captcha/pkg-descr  |  2 ++
 www/py-dj42-django-webpack-loader/Makefile   | 28 +++++++++++++++++++++++++
 www/py-dj42-django-webpack-loader/distinfo   |  3 +++
 www/py-dj42-django-webpack-loader/pkg-descr  |  6 ++++++
 www/py-dj42-django_statici18n/Makefile       | 29 ++++++++++++++++++++++++++
 www/py-dj42-django_statici18n/distinfo       |  3 +++
 www/py-dj42-django_statici18n/pkg-descr      |  9 ++++++++
 www/py-dj42-djangorestframework/Makefile     | 28 +++++++++++++++++++++++++
 www/py-dj42-djangorestframework/distinfo     |  3 +++
 www/py-dj42-djangorestframework/pkg-descr    | 15 ++++++++++++++
 www/py-dj42-djangosaml2/Makefile             | 29 ++++++++++++++++++++++++++
 www/py-dj42-djangosaml2/distinfo             |  3 +++
 www/py-dj42-djangosaml2/pkg-descr            |  4 ++++
 www/py-django-picklefield/Makefile           |  2 ++
 www/py-django-ranged-response/Makefile       |  3 +++
 www/py-django-simple-captcha/Makefile        |  2 ++
 www/py-django-webpack-loader/Makefile        |  3 +++
 www/py-django_statici18n/Makefile            |  2 ++
 www/py-djangosaml2/Makefile                  |  2 ++
 www/seahub/Makefile                          | 17 ++++++++-------
 31 files changed, 302 insertions(+), 8 deletions(-)

diff --git a/MOVED b/MOVED
index 80914837aafb..ff986ba7a596 100644
--- a/MOVED
+++ b/MOVED
@@ -3327,7 +3327,6 @@ www/py-dj42-django-allauth|www/py-django-allauth|2024-06-15|Has expired: Obsolet
 www/py-dj42-django-crispy-forms|www/py-django-crispy-forms|2024-06-15|Has expired: Obsolete, please use www/py-django-crispy-forms instead
 www/py-dj42-django-modelcluster|www/py-django-modelcluster|2024-06-15|Has expired: Obsolete, please use www/py-django-modelcluster instead
 www/py-dj42-django-extensions|www/py-django-extensions|2024-06-15|Has expired: Obsolete, please use www/py-django-extensions instead
-www/py-dj42-djangorestframework|www/py-djangorestframework|2024-06-15|Has expired: Obsolete, please use www/py-djangorestframework instead
 www/py-dj42-django-debug-toolbar|www/py-django-debug-toolbar|2024-06-15|Has expired: Obsolete, please use www/py-django-debug-toolbar instead
 devel/rubygem-ddtrace|devel/rubygem-datadog|2024-06-18|Move devel/rubygem-ddtrace to devel/rubygem-datadog
 databases/py-sqlalchemy13||2024-06-24|Has expired: Upstream makred EOL in Release Status
diff --git a/net-mgmt/seafile-server/Makefile b/net-mgmt/seafile-server/Makefile
index 9fe94fe8a37c..b3c9471a168f 100644
--- a/net-mgmt/seafile-server/Makefile
+++ b/net-mgmt/seafile-server/Makefile
@@ -12,6 +12,9 @@ WWW=		https://github.com/haiwen/seafile-server
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
+DEPRECATED=	The update to a newer version is more difficult than expected, and the current version of the web backend, www/seahub, only runs on Django 4.2
+EXPIRATION_DATE=2026-08-31
+
 LIB_DEPENDS=	libsearpc.so:devel/libsearpc \
 		libevhtp.so:www/libevhtp \
 		libzdb.so:databases/libzdb \
diff --git a/www/Makefile b/www/Makefile
index 39c79bf6cbce..78d795b9a948 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1553,6 +1553,13 @@
     SUBDIR += py-dash-bootstrap-components
     SUBDIR += py-ddgs
     SUBDIR += py-dj-database-url
+    SUBDIR += py-dj42-django-picklefield
+    SUBDIR += py-dj42-django-ranged-response
+    SUBDIR += py-dj42-django-simple-captcha
+    SUBDIR += py-dj42-django-webpack-loader
+    SUBDIR += py-dj42-django_statici18n
+    SUBDIR += py-dj42-djangorestframework
+    SUBDIR += py-dj42-djangosaml2
     SUBDIR += py-dj52-channels
     SUBDIR += py-dj52-channels-redis
     SUBDIR += py-dj52-django-allauth
diff --git a/www/py-dj42-django-picklefield/Makefile b/www/py-dj42-django-picklefield/Makefile
new file mode 100644
index 000000000000..3e02ea31504c
--- /dev/null
+++ b/www/py-dj42-django-picklefield/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	django-picklefield
+PORTVERSION=	3.4.0
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME=	django_picklefield-${PORTVERSION}
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Pickled object field for Django
+WWW=		https://github.com/gintas/django-picklefield
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-picklefield/distinfo b/www/py-dj42-django-picklefield/distinfo
new file mode 100644
index 000000000000..d1520a52a9fd
--- /dev/null
+++ b/www/py-dj42-django-picklefield/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1768625787
+SHA256 (django_picklefield-3.4.0.tar.gz) = 3a1f740536c0e60d0dba43aa89ccdbe86760d4c3f8ec47799eae122baa741d0a
+SIZE (django_picklefield-3.4.0.tar.gz) = 12555
diff --git a/www/py-dj42-django-picklefield/pkg-descr b/www/py-dj42-django-picklefield/pkg-descr
new file mode 100644
index 000000000000..9757b0ec6cd4
--- /dev/null
+++ b/www/py-dj42-django-picklefield/pkg-descr
@@ -0,0 +1,6 @@
+picklefield provides an implementation of a pickled object field. Such fields
+can contain any picklable objects.
+
+It is incredibly useful for storing just about anything in the database
+(provided it is Pickle-able, of course) when there isn't a 'proper' field for
+the job.
diff --git a/www/py-dj42-django-ranged-response/Makefile b/www/py-dj42-django-ranged-response/Makefile
new file mode 100644
index 000000000000..7b5f0284ea99
--- /dev/null
+++ b/www/py-dj42-django-ranged-response/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	django-ranged-response
+DISTVERSION=	0.2.0
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Modified Django FileResponse that adds Content-Range headers
+WWW=		https://github.com/i3thuan5/django-ranged-response
+
+LICENSE=	MIT
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-ranged-response/distinfo b/www/py-dj42-django-ranged-response/distinfo
new file mode 100644
index 000000000000..1a072fad2ade
--- /dev/null
+++ b/www/py-dj42-django-ranged-response/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1525989759
+SHA256 (django-ranged-response-0.2.0.tar.gz) = f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985
+SIZE (django-ranged-response-0.2.0.tar.gz) = 3021
diff --git a/www/py-dj42-django-ranged-response/pkg-descr b/www/py-dj42-django-ranged-response/pkg-descr
new file mode 100644
index 000000000000..223ed4558d71
--- /dev/null
+++ b/www/py-dj42-django-ranged-response/pkg-descr
@@ -0,0 +1,3 @@
+This is a modified FileResponse that returns 'Content-Range' headers with the
+HTTP response, so browsers (e.g. Safari 9+) that request the file, can stream
+the response properly.
diff --git a/www/py-dj42-django-simple-captcha/Makefile b/www/py-dj42-django-simple-captcha/Makefile
new file mode 100644
index 000000000000..a097c7f1e324
--- /dev/null
+++ b/www/py-dj42-django-simple-captcha/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	django-simple-captcha
+PORTVERSION=	0.6.3
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+DISTNAME=	django_simple_captcha-${PORTVERSION}
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Simple, yet powerful, Django captcha application
+WWW=		https://pypi.org/project/django-simple-captcha/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-django-ranged-response>=0.2.0<0.2.0_99:www/py-dj42-django-ranged-response@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pillow>=6.2.0:graphics/py-pillow@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-simple-captcha/distinfo b/www/py-dj42-django-simple-captcha/distinfo
new file mode 100644
index 000000000000..1d8d18525268
--- /dev/null
+++ b/www/py-dj42-django-simple-captcha/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1766075362
+SHA256 (django_simple_captcha-0.6.3.tar.gz) = 6d295dac7213946631b88783b420e58d5d67bf2ff1c9704ac57986323e23bbef
+SIZE (django_simple_captcha-0.6.3.tar.gz) = 125646
diff --git a/www/py-dj42-django-simple-captcha/pkg-descr b/www/py-dj42-django-simple-captcha/pkg-descr
new file mode 100644
index 000000000000..0add596472e2
--- /dev/null
+++ b/www/py-dj42-django-simple-captcha/pkg-descr
@@ -0,0 +1,2 @@
+Django Simple Captcha is an extremely simple, yet highly customizable Django
+application to add captcha images to any Django form.
diff --git a/www/py-dj42-django-webpack-loader/Makefile b/www/py-dj42-django-webpack-loader/Makefile
new file mode 100644
index 000000000000..fe2d9b2f6015
--- /dev/null
+++ b/www/py-dj42-django-webpack-loader/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	django-webpack-loader
+PORTVERSION=	3.1.1
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Transparently use webpack with Django
+WWW=		https://pypi.org/project/django-webpack-loader
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=2.0:www/py-django42@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django-webpack-loader/distinfo b/www/py-dj42-django-webpack-loader/distinfo
new file mode 100644
index 000000000000..554d7a288d34
--- /dev/null
+++ b/www/py-dj42-django-webpack-loader/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734389409
+SHA256 (django-webpack-loader-3.1.1.tar.gz) = f11b79700d1bfc1299131bdf4ba479c1ec200f83a1400e1a2feb5c2ba7b6f8c4
+SIZE (django-webpack-loader-3.1.1.tar.gz) = 18371
diff --git a/www/py-dj42-django-webpack-loader/pkg-descr b/www/py-dj42-django-webpack-loader/pkg-descr
new file mode 100644
index 000000000000..c9da59f5b202
--- /dev/null
+++ b/www/py-dj42-django-webpack-loader/pkg-descr
@@ -0,0 +1,6 @@
+Use webpack to generate your static bundles without
+Django's staticfiles or opaque wrappers.
+
+Django webpack loader consumes the output generated
+by webpack-bundle-tracker and lets you use the
+generated bundles in Django.
diff --git a/www/py-dj42-django_statici18n/Makefile b/www/py-dj42-django_statici18n/Makefile
new file mode 100644
index 000000000000..0ad9e6cd674d
--- /dev/null
+++ b/www/py-dj42-django_statici18n/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	django_statici18n
+PORTVERSION=	2.6.0
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Helper for generating Javascript catalog to static files
+WWW=		https://github.com/zyegfryed/django-statici18n
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}django-appconf>=1.0:www/py-django-appconf@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-django_statici18n/distinfo b/www/py-dj42-django_statici18n/distinfo
new file mode 100644
index 000000000000..116e243c264f
--- /dev/null
+++ b/www/py-dj42-django_statici18n/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1771211042
+SHA256 (django_statici18n-2.6.0.tar.gz) = 87ed5adb15d6b32d20f438df76f39f16cc5804f452a8785bebc64729ff08cfb4
+SIZE (django_statici18n-2.6.0.tar.gz) = 7907
diff --git a/www/py-dj42-django_statici18n/pkg-descr b/www/py-dj42-django_statici18n/pkg-descr
new file mode 100644
index 000000000000..de1615b18262
--- /dev/null
+++ b/www/py-dj42-django_statici18n/pkg-descr
@@ -0,0 +1,9 @@
+When dealing with internationalization in JavaScript code, Django provides
+the javascript_catalog view which sends out a JavaScript code library with
+functions that mimic the gettext interface, plus an array of translation
+strings.
+
+At first glance, it works well and everything is fine. But, because
+javascript_catalog view is generating JavaScript catalog dynamically
+on each request, it's adding an overhead that can be an issue with site
+growth.
diff --git a/www/py-dj42-djangorestframework/Makefile b/www/py-dj42-djangorestframework/Makefile
new file mode 100644
index 000000000000..d013e10d5dcb
--- /dev/null
+++ b/www/py-dj42-djangorestframework/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	djangorestframework
+DISTVERSION=	3.16.1
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Django REST framework
+WWW=		https://www.django-rest-framework.org/
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=		yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-djangorestframework/distinfo b/www/py-dj42-djangorestframework/distinfo
new file mode 100644
index 000000000000..d9123228b38d
--- /dev/null
+++ b/www/py-dj42-djangorestframework/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1755333901
+SHA256 (djangorestframework-3.16.1.tar.gz) = 166809528b1aced0a17dc66c24492af18049f2c9420dbd0be29422029cfc3ff7
+SIZE (djangorestframework-3.16.1.tar.gz) = 1089735
diff --git a/www/py-dj42-djangorestframework/pkg-descr b/www/py-dj42-djangorestframework/pkg-descr
new file mode 100644
index 000000000000..c8a8f49f4488
--- /dev/null
+++ b/www/py-dj42-djangorestframework/pkg-descr
@@ -0,0 +1,15 @@
+Django REST framework is a powerful and flexible toolkit that makes it easy to
+build Web APIs.
+
+Some reasons you might want to use REST framework:
+
+* The Web browsable API is a huge usability win for your developers.
+
+* Authentication policies including optional packages for OAuth1a and OAuth2.
+
+* Serialization that supports both ORM and non-ORM data sources.
+
+* Customizable all the way down - just use regular function-based views if you
+  don't need the more powerful features.
+
+* Extensive documentation, and great community support.
diff --git a/www/py-dj42-djangosaml2/Makefile b/www/py-dj42-djangosaml2/Makefile
new file mode 100644
index 000000000000..28382a3cde03
--- /dev/null
+++ b/www/py-dj42-djangosaml2/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	djangosaml2
+PORTVERSION=	1.11.1
+CATEGORIES=	www python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}dj42-
+
+MAINTAINER=	ultima@FreeBSD.org
+COMMENT=	Pysaml2 integration for Django
+WWW=		https://github.com/IdentityPython/djangosaml2
+
+LICENSE=	APACHE20
+
+DEPRECATED=	Serves as a transition only for www/seahub and requires Django 4.2, which has been end-of-life since April
+EXPIRATION_DATE=2026-08-31
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pysaml2>=6.5.1:security/py-pysaml2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}defusedxml>=0.4.1:devel/py-defusedxml@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist pep517
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/www/py-dj42-djangosaml2/distinfo b/www/py-dj42-djangosaml2/distinfo
new file mode 100644
index 000000000000..d2519341bf9d
--- /dev/null
+++ b/www/py-dj42-djangosaml2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1771220936
+SHA256 (djangosaml2-1.11.1.tar.gz) = f4fcbba980e6f3ad5b47f1f2d0f7296bcee4e37e2ee8237e44b28efe77f2d383
+SIZE (djangosaml2-1.11.1.tar.gz) = 57721
diff --git a/www/py-dj42-djangosaml2/pkg-descr b/www/py-dj42-djangosaml2/pkg-descr
new file mode 100644
index 000000000000..343274aa3bc1
--- /dev/null
+++ b/www/py-dj42-djangosaml2/pkg-descr
@@ -0,0 +1,4 @@
+A Django application that builds a Fully Compliant
+SAML2 Service Provider on top of PySAML2 library.
+Djangosaml2 protects your project with a SAML2 SSO
+Authentication.
diff --git a/www/py-django-picklefield/Makefile b/www/py-django-picklefield/Makefile
index ef39a46b2d62..6385bf0dfb70 100644
--- a/www/py-django-picklefield/Makefile
+++ b/www/py-django-picklefield/Makefile
@@ -22,4 +22,6 @@ USE_PYTHON=	autoplist concurrent pep517
 
 NO_ARCH=	yes
 
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*django-picklefield
+
 .include <bsd.port.mk>
diff --git a/www/py-django-ranged-response/Makefile b/www/py-django-ranged-response/Makefile
index 4c7ed1851aa3..054407687e90 100644
--- a/www/py-django-ranged-response/Makefile
+++ b/www/py-django-ranged-response/Makefile
@@ -15,6 +15,9 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR}
 
 USES=		python
 USE_PYTHON=	distutils autoplist
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/www/py-django-simple-captcha/Makefile b/www/py-django-simple-captcha/Makefile
index fc0c88f8f05a..6a10ab081c6a 100644
--- a/www/py-django-simple-captcha/Makefile
+++ b/www/py-django-simple-captcha/Makefile
@@ -21,6 +21,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
 USES=		python
 USE_PYTHON=	autoplist concurrent pep517
 
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
 NO_ARCH=	yes
 
 PORTDOCS=	*
diff --git a/www/py-django-webpack-loader/Makefile b/www/py-django-webpack-loader/Makefile
index e1e7e2d8aa51..f6fd0defecd4 100644
--- a/www/py-django-webpack-loader/Makefile
+++ b/www/py-django-webpack-loader/Makefile
@@ -17,6 +17,9 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=2.0:www/py-django42@${PY_FLAVOR}
 
 USES=		python
 USE_PYTHON=	distutils autoplist concurrent
+
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/www/py-django_statici18n/Makefile b/www/py-django_statici18n/Makefile
index 9a2980adc0a3..1b22ee8c8553 100644
--- a/www/py-django_statici18n/Makefile
+++ b/www/py-django_statici18n/Makefile
@@ -17,6 +17,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=3.2:www/py-django42@${PY_FLAVOR} \
 USES=		python
 USE_PYTHON=	autoplist distutils
 
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/www/py-djangosaml2/Makefile b/www/py-djangosaml2/Makefile
index 242d5ac897d6..0f7b4b448aef 100644
--- a/www/py-djangosaml2/Makefile
+++ b/www/py-djangosaml2/Makefile
@@ -17,6 +17,8 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR} \
 USES=		python
 USE_PYTHON=	autoplist distutils
 
+CONFLICTS_INSTALL=	${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
 NO_ARCH=	yes
 
 .include <bsd.port.mk>
diff --git a/www/seahub/Makefile b/www/seahub/Makefile
index 81eff50f42b8..ea3a9040b6ae 100644
--- a/www/seahub/Makefile
+++ b/www/seahub/Makefile
@@ -2,7 +2,7 @@ PORTNAME=	seahub
 DISTVERSIONPREFIX=	v
 DISTVERSION=	${SEAHUB_VER}
 DISTVERSIONSUFFIX=	-server
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	www
 
 MAINTAINER=	ultima@FreeBSD.org
@@ -12,17 +12,20 @@ WWW=		https://github.com/haiwen/seahub
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
+DEPRECATED=	The update of net-mgmt/seafile-server to a newer version is more difficult than expected, and the current version of www/seahub only runs on Django 4.2
+EXPIRATION_DATE=2026-08-31
+
 BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR}
 
 RUN_DEPENDS=	bash:shells/bash \
 		${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:net-mgmt/seafile-server \
 		${PYTHON_PKGNAMEPREFIX}django42>=0:www/py-django42@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django_statici18n>=2.3:www/py-django_statici18n@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-webpack-loader>=1.7:www/py-django-webpack-loader@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-picklefield>=3.1:www/py-django-picklefield@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-django_statici18n>=2.3:www/py-dj42-django_statici18n@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-django-webpack-loader>=1.7:www/py-dj42-django-webpack-loader@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-django-picklefield>=3.1:www/py-dj42-django-picklefield@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}django-formtools>=2.3:www/py-django-formtools@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}djangosaml2>=1.5:www/py-djangosaml2@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}djangorestframework>=3.14:www/py-djangorestframework@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-djangosaml2>=1.5:www/py-dj42-djangosaml2@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-djangorestframework>=3.14:www/py-dj42-djangorestframework@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.8:devel/py-python-dateutil@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pyjwt>=2.6:www/py-pyjwt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.20:security/py-pycryptodome@${PY_FLAVOR} \
@@ -37,7 +40,7 @@ RUN_DEPENDS=	bash:shells/bash \
 		${PYTHON_PKGNAMEPREFIX}pillow>=10.2:graphics/py-pillow@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}chardet>=5.1:textproc/py-chardet@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}cffi>=1.15:devel/py-cffi@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}django-simple-captcha>=0.5:www/py-django-simple-captcha@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj42-django-simple-captcha>=0.5:www/py-dj42-django-simple-captcha@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}openpyxl>=3.0:textproc/py-openpyxl@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}markdown>=3.3:textproc/py-markdown@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}bleach>=5.0:www/py-bleach@${PY_FLAVOR} \


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a15832d.3b7ee.488afbf>