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 |
+ |