summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conrad@kostecki.com>2018-08-03 23:33:19 +0200
committerMichał Górny <mgorny@gentoo.org>2018-08-11 22:44:26 +0200
commitac293f205ae49d36e942eb5b3d5d9ee470cb85e6 (patch)
tree53bd25ae9c2c8f01f82530500febd357201d426c /dev-python
parentprofiles: Drop obsolete media-libs/libsdl2[fusionsound] p.use.mask (diff)
downloadgentoo-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')
-rw-r--r--dev-python/python-gnupg/Manifest1
-rw-r--r--dev-python/python-gnupg/files/python-gnupg-0.4.3-skip_network_needing_test.patch49
-rw-r--r--dev-python/python-gnupg/files/python-gnupg-0.4.3-use_seperate_keys_directory.patch58
-rw-r--r--dev-python/python-gnupg/metadata.xml22
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.4.3.ebuild29
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}"
+}