Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/django/, dev-python/django/files/
Date: Tue, 04 May 2021 12:41:37
Message-Id: 1620132068.3703aa37836173cc49f115e982bb26c118511ddd.mgorny@gentoo
1 commit: 3703aa37836173cc49f115e982bb26c118511ddd
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 4 10:14:53 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue May 4 12:41:08 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3703aa37
7
8 dev-python/django: Bump to 3.2.1
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/django/Manifest | 2 +
13 dev-python/django/django-3.2.1.ebuild | 95 ++++++++++++++++++++++
14 .../django/files/django-2.2.21-fix-bpo43882.patch | 25 ++++++
15 3 files changed, 122 insertions(+)
16
17 diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
18 index d05cbffc998..b96e7ba4262 100644
19 --- a/dev-python/django/Manifest
20 +++ b/dev-python/django/Manifest
21 @@ -4,5 +4,7 @@ DIST Django-3.0.14.checksum.txt 2553 BLAKE2B 142b407d6573cac8d07a140370123ce3996
22 DIST Django-3.0.14.tar.gz 9259569 BLAKE2B 454b91900a9d8cf81f6227adb465e4f9e0da16e4ddab40fa4a1c66ab131832088dd89be129ec97fd70dc8725e826e7da2c657c87c2339db64dd3eba410a91eb3 SHA512 d503f99417479e5c8be928981c14517c519adc88923efaec691cf090b4d9de77424d9ca5dae09a29dae4cb5e962cd86bbfb39cc86c3e910d45bc1757cf169d4a
23 DIST Django-3.1.8.checksum.txt 2544 BLAKE2B e62097ab681f16fb9732b656a05edc77673e3eefd81112bb7d362857c81f3d3f16baeb354e48f5989be8044df11440436ea39315d8c5f573968e93a54d310a3e SHA512 7c41575a3ee18f0db07b51a02ec780cf51a4cd375879c368f1b3dca405b13d1fec303bd2b85a38732c4a371c8aee7ec49fa5e12d3e1c88295a8c5e6e65f7b9c7
24 DIST Django-3.1.8.tar.gz 9651582 BLAKE2B 00d0b80f2508df0d68e4009297f1251138419da0ded8ba51e85596399ffb456ac7351ed212d0f88a317ebb6b706c5ef3ee39579d9029d567ecdcf3a3af992212 SHA512 2b4df8595778b1436fe0077514f3a51d3e298fcdfb7751c8ba8bb7125ece3199a8269b2da96cdcdb230a39707e122a6d8f48444598fb624d5f5c312b12c2d7cc
25 +DIST Django-3.2.1.checksum.txt 2548 BLAKE2B 2f5feeffd4cc664e5ef97de2ae1428a9f432f4480fee846bf8abefbecdd4e418736ca700481e3fc6f114d6c62ff083dae60cefee4e5d8481f97f013fba1e0242 SHA512 32cfa9d890059fda32bbd0062b0333bad4b1b616bd555a99870fad09e7d3c662117b4fd5fb98ac7e634daf199434c2f58fdaeb28d895cf714ae05fbf7eef1b91
26 +DIST Django-3.2.1.tar.gz 9820723 BLAKE2B 968104e3a42310effe8a81b46eb7e17b97aa8f92fddaeef6a1dbee49947d9711daf0c71628fb9c4384a4e7bcb63041a15151f71a368f20934db80513967f0ea2 SHA512 5f3f80047cdcb6c9a07ca0dc9d6d83d190c8c0215311f39e6e441384659c92e4fa42bf4677d297a4ba8520a0bfbd78c4b2ca13cf467c1e1220c0c6a3131ba444
27 DIST Django-3.2.checksum.txt 2532 BLAKE2B f36a277a983bed99905a61ab19bff11e50ac253838ec2d9d03fb9a88541d5da530dab60817e6286dcd022cf28ce136c410b06bdd96b96547199d039b3dad922f SHA512 fae42d25963618b68f39218c6c2ed70bf5b0785568e0a7e34a6613015dcf34f433fe571866478dafa601e83150dc10b766186c820e18fd57c213867208fb6800
28 DIST Django-3.2.tar.gz 9819119 BLAKE2B 5fdc0a3ee9be8b084427f4fcb226616360eaed110066aa721136045c7139683f94488434c6079e450eec65b06551e3c18d4963ae30eae06acf483a39762c6c82 SHA512 126b9e9e848ed049721163a770af062e829c11d38c8be64288287149e494ac20bb2ecec28055c36cb515fec8c4e574c4e9923b3d7bbccc548a843ce7ff7fd004
29
30 diff --git a/dev-python/django/django-3.2.1.ebuild b/dev-python/django/django-3.2.1.ebuild
31 new file mode 100644
32 index 00000000000..f17bdecc612
33 --- /dev/null
34 +++ b/dev-python/django/django-3.2.1.ebuild
35 @@ -0,0 +1,95 @@
36 +# Copyright 1999-2021 Gentoo Authors
37 +# Distributed under the terms of the GNU General Public License v2
38 +
39 +EAPI=7
40 +
41 +PYTHON_COMPAT=( python3_{7..9} )
42 +PYTHON_REQ_USE='sqlite?,threads(+)'
43 +
44 +inherit bash-completion-r1 distutils-r1 optfeature verify-sig
45 +
46 +MY_P=${P^}
47 +DESCRIPTION="High-level Python web framework"
48 +HOMEPAGE="https://www.djangoproject.com/ https://pypi.org/project/Django/"
49 +SRC_URI="
50 + https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
51 + verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )"
52 +S="${WORKDIR}/${MY_P}"
53 +
54 +LICENSE="BSD"
55 +# admin fonts: Roboto (media-fonts/roboto)
56 +LICENSE+=" Apache-2.0"
57 +# admin icons, jquery, xregexp.js
58 +LICENSE+=" MIT"
59 +SLOT="0"
60 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos"
61 +IUSE="doc sqlite test"
62 +RESTRICT="!test? ( test )"
63 +
64 +RDEPEND="
65 + >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}]
66 + dev-python/pytz[${PYTHON_USEDEP}]
67 + >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
68 +BDEPEND="
69 + test? (
70 + $(python_gen_impl_dep sqlite)
71 + ${RDEPEND}
72 + dev-python/docutils[${PYTHON_USEDEP}]
73 + dev-python/jinja[${PYTHON_USEDEP}]
74 + dev-python/numpy[${PYTHON_USEDEP}]
75 + dev-python/pillow[webp,${PYTHON_USEDEP}]
76 + dev-python/pyyaml[${PYTHON_USEDEP}]
77 + dev-python/selenium[${PYTHON_USEDEP}]
78 + dev-python/tblib[${PYTHON_USEDEP}]
79 + sys-devel/gettext
80 + !!<dev-python/ipython-7.21.0-r1
81 + !!=dev-python/ipython-7.22.0-r0
82 + )
83 + verify-sig? ( >=app-crypt/openpgp-keys-django-20201201 )
84 +"
85 +
86 +PATCHES=(
87 + "${FILESDIR}"/${PN}-3.1-bashcomp.patch
88 + "${FILESDIR}"/django-2.2.21-fix-bpo43882.patch
89 +)
90 +
91 +distutils_enable_sphinx docs --no-autodoc
92 +
93 +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/django.asc
94 +
95 +src_unpack() {
96 + if use verify-sig; then
97 + cd "${DISTDIR}" || die
98 + verify-sig_verify_signed_checksums \
99 + "${MY_P}.checksum.txt" sha256 "${MY_P}.tar.gz"
100 + cd "${WORKDIR}" || die
101 + fi
102 +
103 + default
104 +}
105 +
106 +python_test() {
107 + # Tests have non-standard assumptions about PYTHONPATH,
108 + # and don't work with ${BUILD_DIR}/lib.
109 + PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 ||
110 + die "Tests fail with ${EPYTHON}"
111 +}
112 +
113 +python_install_all() {
114 + newbashcomp extras/django_bash_completion ${PN}-admin
115 + bashcomp_alias ${PN}-admin django-admin.py
116 +
117 + distutils-r1_python_install_all
118 +}
119 +
120 +pkg_postinst() {
121 + optfeature_header "Additional Backend support can be enabled via:"
122 + optfeature "MySQL backend support" dev-python/mysqlclient
123 + optfeature "PostgreSQL backend support" dev-python/psycopg:2
124 + optfeature_header
125 + optfeature "GEO Django" "sci-libs/gdal[geos]"
126 + optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
127 + optfeature "ImageField Support" dev-python/pillow
128 + optfeature "Password encryption" dev-python/bcrypt
129 + optfeature "High-level abstractions for Django forms" dev-python/django-formtools
130 +}
131
132 diff --git a/dev-python/django/files/django-2.2.21-fix-bpo43882.patch b/dev-python/django/files/django-2.2.21-fix-bpo43882.patch
133 new file mode 100644
134 index 00000000000..dc5d333be94
135 --- /dev/null
136 +++ b/dev-python/django/files/django-2.2.21-fix-bpo43882.patch
137 @@ -0,0 +1,25 @@
138 +From bf04b74b155f91b47ca986543348bdf644f2ffb0 Mon Sep 17 00:00:00 2001
139 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
140 +Date: Tue, 4 May 2021 13:10:50 +0200
141 +Subject: [PATCH] Reject URLs containing LF, CR or HT to workaround bpo43882
142 +
143 +---
144 + django/core/validators.py | 2 ++
145 + 1 file changed, 2 insertions(+)
146 +
147 +diff --git a/django/core/validators.py b/django/core/validators.py
148 +index a385819510..bab034912a 100644
149 +--- a/django/core/validators.py
150 ++++ b/django/core/validators.py
151 +@@ -110,6 +110,8 @@ class URLValidator(RegexValidator):
152 + try:
153 + super().__call__(value)
154 + except ValidationError as e:
155 ++ if '\r' in value or '\n' in value or '\t' in value:
156 ++ raise e
157 + # Trivial case failed. Try for possible IDN domain
158 + if value:
159 + try:
160 +--
161 +2.31.1
162 +