public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/
Date: Sun, 23 Jul 2023 11:24:15 +0000 (UTC)	[thread overview]
Message-ID: <1690111451.8b662f6292291606e579c70c581c6c76adba9534.mgorny@gentoo> (raw)

commit:     8b662f6292291606e579c70c581c6c76adba9534
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 23 11:04:17 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 23 11:24:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b662f62

dev-python/django: Enable py3.12

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/django/django-4.2.3-r1.ebuild         | 98 ++++++++++++++++++++++++
 dev-python/django/files/django-4.2.3-py312.patch | 25 ++++++
 2 files changed, 123 insertions(+)

diff --git a/dev-python/django/django-4.2.3-r1.ebuild b/dev-python/django/django-4.2.3-r1.ebuild
new file mode 100644
index 000000000000..f51d9733c439
--- /dev/null
+++ b/dev-python/django/django-4.2.3-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+	https://www.djangoproject.com/
+	https://github.com/django/django/
+	https://pypi.org/project/Django/
+"
+SRC_URI="
+	https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+	verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	<dev-python/asgiref-4[${PYTHON_USEDEP}]
+	>=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+	>=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+	test? (
+		$(python_gen_impl_dep sqlite)
+		${RDEPEND}
+		dev-python/docutils[${PYTHON_USEDEP}]
+		dev-python/jinja[${PYTHON_USEDEP}]
+		dev-python/numpy[${PYTHON_USEDEP}]
+		dev-python/pillow[webp,${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/selenium[${PYTHON_USEDEP}]
+		dev-python/tblib[${PYTHON_USEDEP}]
+		sys-devel/gettext
+	)
+	verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/django-4.0-bashcomp.patch
+	"${FILESDIR}"/django-4.2.3-py312.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+	if use verify-sig; then
+		cd "${DISTDIR}" || die
+		verify-sig_verify_signed_checksums \
+			"${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+		cd "${WORKDIR}" || die
+	fi
+
+	default
+}
+
+python_test() {
+	# Tests have non-standard assumptions about PYTHONPATH,
+	# and don't work with ${BUILD_DIR}/lib.
+	PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 ||
+		die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/django_bash_completion ${PN}-admin
+	bashcomp_alias ${PN}-admin django-admin.py
+
+	distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+	optfeature_header "Additional Backend support can be enabled via:"
+	optfeature "MySQL backend support" dev-python/mysqlclient
+	optfeature "PostgreSQL backend support" dev-python/psycopg:2
+	optfeature_header
+	optfeature "GEO Django" "sci-libs/gdal[geos]"
+	optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+	optfeature "ImageField Support" dev-python/pillow
+	optfeature "Password encryption" dev-python/bcrypt
+}

diff --git a/dev-python/django/files/django-4.2.3-py312.patch b/dev-python/django/files/django-4.2.3-py312.patch
new file mode 100644
index 000000000000..7989f8e7cbcc
--- /dev/null
+++ b/dev-python/django/files/django-4.2.3-py312.patch
@@ -0,0 +1,25 @@
+This is a hack to get the tests to pass prior to:
+
+[e83a88566a71a2353cebc35992c110be0f8628af] Fixed #32172 -- Adapted signals to allow async handlers.
+
+diff --git a/django/test/signals.py b/django/test/signals.py
+index 94a5161e82..1358101b98 100644
+--- a/django/test/signals.py
++++ b/django/test/signals.py
+@@ -14,6 +14,7 @@ from django.utils import timezone
+ from django.utils.formats import FORMAT_SETTINGS, reset_format_cache
+ from django.utils.functional import empty
+ from django.utils.module_loading import import_string
++from django.utils.version import PY312
+ 
+ template_rendered = Signal()
+ 
+@@ -183,7 +184,7 @@ def complex_setting_changed(*, enter, setting, **kwargs):
+         # this stacklevel shows the line containing the override_settings call.
+         warnings.warn(
+             f"Overriding setting {setting} can lead to unexpected behavior.",
+-            stacklevel=6,
++            stacklevel=5 if PY312 else 6,
+         )
+ 
+ 


             reply	other threads:[~2023-07-23 11:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-23 11:24 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-17 18:25 [gentoo-commits] repo/gentoo:master commit in: dev-python/django/files/, dev-python/django/ Michał Górny
2025-09-03 18:15 Michał Górny
2025-05-08  5:32 Michał Górny
2024-07-10  6:38 Michał Górny
2024-06-19 17:21 Michał Górny
2023-05-04 15:30 Michał Górny
2023-05-04  8:06 Michał Górny
2023-03-30 15:41 Michał Górny
2022-06-13  7:18 Michał Górny
2021-12-07 23:27 Michał Górny
2021-10-17 21:15 Michał Górny
2021-08-03  8:52 Michał Górny
2021-06-01 20:35 Michał Górny
2021-05-09  8:23 Michał Górny
2021-02-13 20:15 Michał Górny
2020-10-29 20:25 Michał Górny
2020-05-06  6:04 Michał Górny
2020-03-05 19:07 Michał Górny
2018-09-03 13:33 Virgil Dupras
2018-07-21  1:06 Virgil Dupras
2018-07-21  0:20 Virgil Dupras
2015-12-02  7:53 Justin Lecher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1690111451.8b662f6292291606e579c70c581c6c76adba9534.mgorny@gentoo \
    --to=mgorny@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox