commit: 7b96644c1436f391a309d3fd7393e720573356a0
Author: Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 7 13:05:20 2021 +0000
Commit: Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Sat Aug 7 13:25:02 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b96644c
dev-python/mechanize: enable py3.10, fix deps
Remove unused doc USE-flag since the tarball doesn't contain
documentation.
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>
.../mechanize/files/mechanize-0.4.5-py310.patch | 28 +++++++++++++++++
dev-python/mechanize/mechanize-0.4.5-r1.ebuild | 35 ++++++++++++++++++++++
2 files changed, 63 insertions(+)
diff --git a/dev-python/mechanize/files/mechanize-0.4.5-py310.patch
b/dev-python/mechanize/files/mechanize-0.4.5-py310.patch
new file mode 100644
index 00000000000..98656b65425
--- /dev/null
+++ b/dev-python/mechanize/files/mechanize-0.4.5-py310.patch
@@ -0,0 +1,28 @@
+diff --git a/mechanize/_clientcookie.py b/mechanize/_clientcookie.py
+index ebd2773..6c89cbf 100644
+--- a/mechanize/_clientcookie.py
++++ b/mechanize/_clientcookie.py
+@@ -188,13 +188,22 @@ class CookieJar(CJ):
+ raise IndexError()
+
+
++try:
++ from http.cookiejar import NETSCAPE_MAGIC_RGX, NETSCAPE_HEADER_TEXT
++except ImportError: # python < 3.10
++ NETSCAPE_MAGIC_RGX = MCJ.magic_re
++ NETSCAPE_HEADER_TEXT = MCJ.header
++else:
++ MCJ.header = NETSCAPE_HEADER_TEXT # needed for tests
++
++
+ class MozillaCookieJar(MCJ):
+
+ def _really_load(self, f, filename, ignore_discard, ignore_expires):
+ now = time.time()
+
+ magic = f.readline()
+- if not re.search(self.magic_re, magic):
++ if not re.search(NETSCAPE_MAGIC_RGX, magic):
+ f.close()
+ raise LoadError(
+ "%r does not look like a Netscape format cookies file" %
diff --git a/dev-python/mechanize/mechanize-0.4.5-r1.ebuild
b/dev-python/mechanize/mechanize-0.4.5-r1.ebuild
new file mode 100644
index 00000000000..01bc41260c6
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.4.5-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Stateful programmatic web browsing in Python"
+HOMEPAGE="https://github.com/python-mechanize/mechanize"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( BSD ZPL )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86 ~amd64-linux
~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-python/html5lib-0.999999999[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+PATCHES=(
+ #
https://github.com/python-mechanize/mechanize/commit/2a563ec4fbc394ec5976dda0f528db43d28a2706
+ #
https://github.com/python-mechanize/mechanize/commit/bc6a2ca7b17e11f2533ada67f0bf92124d4a3cac
+ "${FILESDIR}/${P}-py310.patch"
+)
+
+python_test() {
+ "${EPYTHON}" run_tests.py || die
+}