diff options
-rw-r--r-- | dev-python/django/Manifest | 2 | ||||
-rw-r--r-- | dev-python/django/django-3.2.6.ebuild | 103 | ||||
-rw-r--r-- | dev-python/django/files/django-3.2.6-argparse-py310.patch | 52 |
3 files changed, 157 insertions, 0 deletions
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest index d1ab52f5e4b1..fe0e31a141ce 100644 --- a/dev-python/django/Manifest +++ b/dev-python/django/Manifest @@ -4,3 +4,5 @@ DIST Django-3.1.13.checksum.txt 2552 BLAKE2B e82052d952f7dfd15e11b413fe2f106af3d DIST Django-3.1.13.tar.gz 9656683 BLAKE2B bb2dd72ba2dfc13c8f487d6b59cd9302160800dca4f63b92e640eddf4aba2e5b1bd67580e56477bced44a5393b5f65a463a9c0c539ba998a20606bffdfafcf74 SHA512 55b1ceb24b6e0ba542a96319f63b138439532cf4b00971a8432baaab4a8ee219cc9fbb31d457ba7da9e932c919df83da9630866d909df4a5d432866b158098d7 DIST Django-3.2.5.checksum.txt 2543 BLAKE2B 4a07a518bdde4670dc3bf079d8d3cfa32b6580cc06f18306a2127463f3a6a2d8f2a50c4562092439c7c99ccf80dde160b061180826c94d4e1064d5064ff500fe SHA512 b073ff758843f72b6467dae7580941774de9702db02a6fab303cb696cb22c84ca961885792e8ec85545294610f34a4eb52ac3f6521c190d2c339c1957ab4156a DIST Django-3.2.5.tar.gz 9806547 BLAKE2B d804d758f95f18aac5c44cba9bd9248efa56cba91bea5db2ac89e8c2202ac1fd088b61d6cc98eb7d6d33a95f85983b801c6cc26a3231986a8cf224a0bbeb8a7c SHA512 03d4eee650a857bed298658c68b916beb74690d16b4b28d649c52a7c2d8a61e92f53136d2de3a77fabe1dd01c0e6b3033befc6842f39c222793fb590b1020c13 +DIST Django-3.2.6.checksum.txt 2551 BLAKE2B 2fae4e3daca01f285f651b76df7402a0c08cdea9a98bdc3be3f9b337732c26b2a3dcb239fc06274b6a30227394047476d454bf34fd7e8b765df047510b08620c SHA512 66b9dff471928be514198e50e62f46d14fbea9c1cfb55e9d82562271795fc3e719e0bb8c43a1f6ff6c903700b648a6a0e19e335ddc50df2a7fa539911b6d44b6 +DIST Django-3.2.6.tar.gz 9821499 BLAKE2B 9f18d308bf15ef16a9fe9d84219bd7ad37833b718ff975344aae5950ef01a7a0e8ef8669936c8908e38e07fb078ce2e2d6392968177400c2357b1d3787e0ce39 SHA512 adf2d2ab3006cc5b389bed8d8e16ee8c98393b20d719c3521068e5cc5d1e679b9f660be90f827ea1cc6a41f975641c32bdb0779ee145e5e31a501ca9e06898a4 diff --git a/dev-python/django/django-3.2.6.ebuild b/dev-python/django/django-3.2.6.ebuild new file mode 100644 index 000000000000..49eee54f6d66 --- /dev/null +++ b/dev-python/django/django-3.2.6.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE='sqlite?,threads(+)' + +inherit bash-completion-r1 distutils-r1 optfeature verify-sig + +MY_P=${P^} +DESCRIPTION="High-level Python web framework" +HOMEPAGE="https://www.djangoproject.com/ https://pypi.org/project/Django/" +SRC_URI=" + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz + verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )" +S="${WORKDIR}/${MY_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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" +IUSE="doc sqlite test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + >=dev-python/sqlparse-0.2.2[${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 + !!<dev-python/ipython-7.21.0-r1 + !!=dev-python/ipython-7.22.0-r0 + ) + verify-sig? ( >=app-crypt/openpgp-keys-django-20201201 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1-bashcomp.patch + # https://github.com/django/django/pull/14732 + "${FILESDIR}"/${P}-argparse-py310.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 \ + "${MY_P}.checksum.txt" sha256 "${MY_P}.tar.gz" + cd "${WORKDIR}" || die + fi + + default +} + +python_prepare_all() { + # Fails because of warnings + sed -i 's/test_dumpdata_proxy_with_concrete/_&/' tests/fixtures/tests.py + + distutils-r1_python_prepare_all +} + +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 + optfeature "High-level abstractions for Django forms" dev-python/django-formtools +} diff --git a/dev-python/django/files/django-3.2.6-argparse-py310.patch b/dev-python/django/files/django-3.2.6-argparse-py310.patch new file mode 100644 index 000000000000..3702a4c58c72 --- /dev/null +++ b/dev-python/django/files/django-3.2.6-argparse-py310.patch @@ -0,0 +1,52 @@ +From dc7d30c03ff72917584952e70b3b25c9a0c59033 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Tue, 3 Aug 2021 10:04:22 +0200 +Subject: [PATCH] Refs #32074 -- Update expected argparse error in invalid + choice test + +Python 3.10.0rc1 changed the error messages issued by argparse on +invalid choice to include the argument name. Update the expected test +output to account for that. +--- + django/utils/version.py | 1 + + tests/user_commands/tests.py | 5 +++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/django/utils/version.py b/django/utils/version.py +index 4b26586b36..54b10e89d7 100644 +--- a/django/utils/version.py ++++ b/django/utils/version.py +@@ -13,6 +13,7 @@ PY36 = sys.version_info >= (3, 6) + PY37 = sys.version_info >= (3, 7) + PY38 = sys.version_info >= (3, 8) + PY39 = sys.version_info >= (3, 9) ++PY310 = sys.version_info >= (3, 10) + + + def get_version(version=None): +diff --git a/tests/user_commands/tests.py b/tests/user_commands/tests.py +index 9262e2717a..9da0977c38 100644 +--- a/tests/user_commands/tests.py ++++ b/tests/user_commands/tests.py +@@ -17,7 +17,7 @@ from django.test import SimpleTestCase, override_settings + from django.test.utils import captured_stderr, extend_sys_path, ignore_warnings + from django.utils import translation + from django.utils.deprecation import RemovedInDjango41Warning +-from django.utils.version import PY37 ++from django.utils.version import PY37, PY310 + + from .management.commands import dance + +@@ -334,7 +334,8 @@ class CommandTests(SimpleTestCase): + self.assertIn('bar', out.getvalue()) + + def test_subparser_invalid_option(self): +- msg = "Error: invalid choice: 'test' (choose from 'foo')" ++ msg = "Error: %sinvalid choice: 'test' (choose from 'foo')" % ( ++ 'argument {foo}: ' if PY310 else '') + with self.assertRaisesMessage(CommandError, msg): + management.call_command('subparser', 'test', 12) + if PY37: +-- +2.32.0 + |