diff options
author | Conrad Kostecki <conrad@kostecki.com> | 2018-08-03 23:33:19 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-08-11 22:44:26 +0200 |
commit | ac293f205ae49d36e942eb5b3d5d9ee470cb85e6 (patch) | |
tree | 53bd25ae9c2c8f01f82530500febd357201d426c /dev-python | |
parent | profiles: Drop obsolete media-libs/libsdl2[fusionsound] p.use.mask (diff) | |
download | gentoo-ac293f205ae49d36e942eb5b3d5d9ee470cb85e6.tar.gz gentoo-ac293f205ae49d36e942eb5b3d5d9ee470cb85e6.tar.bz2 gentoo-ac293f205ae49d36e942eb5b3d5d9ee470cb85e6.zip |
dev-python/python-gnupg: bump to version 0.4.3
Bumped to EAPI="7".
Added pypy3 and python 3.7 support.
Closes: https://bugs.gentoo.org/662750
Closes: https://github.com/gentoo/gentoo/pull/9434
Package-Manager: Portage-2.3.43, Repoman-2.3.10
Diffstat (limited to 'dev-python')
5 files changed, 150 insertions, 9 deletions
diff --git a/dev-python/python-gnupg/Manifest b/dev-python/python-gnupg/Manifest index 0e43d665518d..e53311398bf7 100644 --- a/dev-python/python-gnupg/Manifest +++ b/dev-python/python-gnupg/Manifest @@ -1,2 +1,3 @@ DIST python-gnupg-0.4.0.tar.gz 43987 BLAKE2B 59e72f894c5d554ba2a7c348ad3625500798ad6ac18332a3bb668b42559f52b58e3cd0f8b79ef1a99f37e796b48169d0bf36414e938e9039784cede4303cbb03 SHA512 f486ec97aee01cf46d055421211ff5704093a382155043b7ced6f809dc15d7669d5869038a1b26c5f1831076d85c929d781bc22e35ab293a14bc6e2f5f27fa32 DIST python-gnupg-0.4.1.tar.gz 44534 BLAKE2B 0b58312b9f094b29f7009bb7a44ea3607be826ae2fda958dae0ba9dd5a2d7f81843fe23a6fe336b9df85c059e5b114787dab372df42b14b83cb73fb02abee919 SHA512 0920a1de4d98a745f7747280672975db04c40b59ea4436745cdbefa86a0c88bfdc086d6dd312c82a0a9e9f8cafb5651f8e17d86e0ee37282b5fc36e7ac8d1a1e +DIST python-gnupg-0.4.3.tar.gz 46958 BLAKE2B c83b13f8b36c136ac75e8a69dccb07025be3397284e27d9624677cd76ac8527bed67644be7a00958fdb248772a0c37de09257fb711eb16a2c982dbca0368dbd6 SHA512 9381acb1246b6ceec4de21091f2ce57dba9c6600dfb52ddee181effbd2e749d18935e6b6bb2183816064e9129cd1bb3ebfdd28a5dcddc9be1c56261a501067d8 diff --git a/dev-python/python-gnupg/files/python-gnupg-0.4.3-skip_network_needing_test.patch b/dev-python/python-gnupg/files/python-gnupg-0.4.3-skip_network_needing_test.patch new file mode 100644 index 000000000000..2e5b4145182f --- /dev/null +++ b/dev-python/python-gnupg/files/python-gnupg-0.4.3-skip_network_needing_test.patch @@ -0,0 +1,49 @@ +From: Elena Grandi <elena.valhalla@gmail.com> +Date: Thu, 8 Oct 2015 12:11:21 -0700 +Subject: Skip tests that require internet access + +Forwarded: not-needed +Patch-Name: skip_network_needing_test.patch +--- + gnupg.py | 8 ++++---- + test_gnupg.py | 1 + + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gnupg.py b/gnupg.py +index cd662d4..bf6dc64 100644 +--- a/gnupg.py ++++ b/gnupg.py +@@ -1117,8 +1117,8 @@ class GPG(object): + >>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg') + >>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome="keys") + >>> os.chmod('keys', 0x1C0) +- >>> result = gpg.recv_keys('pgp.mit.edu', '92905378') +- >>> assert result ++ >>> result = gpg.recv_keys('pgp.mit.edu', '92905378') # doctest: +SKIP ++ >>> assert result # doctest: +SKIP + + """ + result = self.result_map['import'](self) +@@ -1320,8 +1320,8 @@ class GPG(object): + >>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg') + >>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome='keys') + >>> os.chmod('keys', 0x1C0) +- >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>') +- >>> assert result, 'Failed using default keyserver' ++ >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>') # doctest: +SKIP ++ >>> assert result, 'Failed using default keyserver' # doctest: +SKIP + >>> #keyserver = 'keyserver.ubuntu.com' + >>> #result = gpg.search_keys('<vinay_sajip@hotmail.com>', keyserver) + >>> #assert result, 'Failed using keyserver.ubuntu.com' +diff --git a/test_gnupg.py b/test_gnupg.py +index 7a5b705..25817da 100644 +--- a/test_gnupg.py ++++ b/test_gnupg.py +@@ -834,6 +834,7 @@ class GPGTestCase(unittest.TestCase): + logger.debug("test_filename_with_spaces ends") + + #@skipIf(os.name == 'nt', 'Test not suitable for Windows') ++ @unittest.skip('requires network') + def test_search_keys(self): + "Test that searching for keys works" + r = self.gpg.search_keys('<vinay_sajip@hotmail.com>') diff --git a/dev-python/python-gnupg/files/python-gnupg-0.4.3-use_seperate_keys_directory.patch b/dev-python/python-gnupg/files/python-gnupg-0.4.3-use_seperate_keys_directory.patch new file mode 100644 index 000000000000..b5318ede0d87 --- /dev/null +++ b/dev-python/python-gnupg/files/python-gnupg-0.4.3-use_seperate_keys_directory.patch @@ -0,0 +1,58 @@ +# HG changeset patch +# User Michał Górny <mgorny@gentoo.org> +# Date 1533916222 -7200 +# Node ID 2c8991b1c9080adc61e63d00fe9415b88f3e6208 +# Parent 9cb2a856677237b528ead6fff68de7d488dbfeec +Use private temporary GPG-homes for tests to fix race conditions. + +Create unique temporary directories to use as GPG home in each test +instead of reusing a single hardcoded 'keys' directory. This is +necessary to fix race conditions between directory operations +and gpg-agent in GnuPG 2.0+. + +GnuPG 2.0 started using gpg-agent for all operations. It is +automatically spawned when GPG is called to do something, and it stops +automatically when its homedir is removed (e.g. as part of rmtree() +call). However, with the homedir being instantly recreated and next +test being run, it seems that gpg-agent sometimes failed to stop fully +before being started again and causes one of the tests to fail with +gpg-agent connection errors. + +With this change, I am finally able to successfully run all tests +in a single batch. + +diff --git a/test_gnupg.py b/test_gnupg.py +--- a/test_gnupg.py ++++ b/test_gnupg.py +@@ -173,11 +173,7 @@ + + class GPGTestCase(unittest.TestCase): + def setUp(self): +- hd = os.path.join(os.getcwd(), 'keys') +- if os.path.exists(hd): +- self.assertTrue(os.path.isdir(hd), +- "Not a directory: %s" % hd) +- shutil.rmtree(hd, ignore_errors=True) ++ hd = tempfile.mkdtemp() + prepare_homedir(hd) + self.homedir = hd + self.gpg = gpg = gnupg.GPG(gnupghome=hd, gpgbinary=GPGBINARY) +@@ -193,6 +189,9 @@ + data_file.write(os.urandom(5120 * 1024)) + data_file.close() + ++ def tearDown(self): ++ shutil.rmtree(self.homedir, ignore_errors=True) ++ + def test_environment(self): + "Test the environment by ensuring that setup worked" + hd = self.homedir +@@ -373,7 +372,7 @@ + # and the keyring file name has changed. + pkn = 'pubring.kbx' + skn = None +- hd = os.path.join(os.getcwd(), 'keys') ++ hd = self.homedir + if os.name == 'posix': + pkn = os.path.join(hd, pkn) + if skn: diff --git a/dev-python/python-gnupg/metadata.xml b/dev-python/python-gnupg/metadata.xml index 454368d9c474..64e837ef0067 100644 --- a/dev-python/python-gnupg/metadata.xml +++ b/dev-python/python-gnupg/metadata.xml @@ -1,13 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>python@gentoo.org</email> - <name>Python</name> - </maintainer> - <upstream> - <remote-id type="google-code">python-gnupg</remote-id> - <remote-id type="github">vsajip/python-gnupg</remote-id> - <remote-id type="pypi">python-gnupg</remote-id> - </upstream> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <longdescription> + This project implements a Python library, which takes care of the internal details + and allows its users to generate and manage keys, + encrypt and decrypt data, and sign and verify messages. + </longdescription> + <upstream> + <bugs-to>https://bitbucket.org/vinay.sajip/python-gnupg/issues/new</bugs-to> + <remote-id type="bitbucket">vinay.sajip/python-gnupg</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-python/python-gnupg/python-gnupg-0.4.3.ebuild b/dev-python/python-gnupg/python-gnupg-0.4.3.ebuild new file mode 100644 index 000000000000..f5deea7ec6ed --- /dev/null +++ b/dev-python/python-gnupg/python-gnupg-0.4.3.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( pypy{,3} python2_7 python3_{4,5,6,7} ) + +inherit distutils-r1 + +DESCRIPTION="A Python wrapper for GnuPG" +HOMEPAGE="https://bitbucket.org/vinay.sajip/python-gnupg + https://pypi.org/project/python-gnupg/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +LICENSE="BSD" +SLOT="0" + +RDEPEND="app-crypt/gnupg" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-skip_network_needing_test.patch + "${FILESDIR}"/${P}-use_seperate_keys_directory.patch +) + +python_test() { + "${PYTHON}" test_gnupg.py || die "Tests failed with ${EPYTHON}" +} |