cryptography: upgraded package to upstream

Upgraded dev-python/cryptography to version 2.8-r1 on amd64

BUG=chromium:1069880
TEST=Full unittest suite. Python change so should not have
any board-specific dependencies.

Change-Id: I8959953a2eca10f5282c1bbc44654fb20cb63219
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2149274
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Bob Brandt <brndt@google.com>
Auto-Submit: Bob Brandt <brndt@google.com>
Commit-Queue: Bob Brandt <brndt@google.com>
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index 8198d09..f791a7d 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -1 +1,2 @@
-DIST cryptography-2.2.2.tar.gz 443822 BLAKE2B d0fbaad78d172f1ba1bfa6edd64d2d5a0eac0853a564fdbb9830dfedc5c53fe1b28d8c1878be85ce38b8cd90a0c2e40e6a209158693a88a7053a80f0481e6302 SHA512 6c1b19cdb870d65abad42523697e9a0bebc7a0025b34f10c4bdd30c313333efd7c41bcb4237a29b3a1b270e3fbade75ccb35df172b055b7c075d619f4d9424c9
+DIST cryptography-2.8.tar.gz 504516 BLAKE2B 3a853bf59a752acee9e9607f3f35f3815701c6068a1ffa5b6604ec648a31a5d4e31f13a1b19f3156c703313800242d8b06dd71a54a4eb0cc68481dea894002f3 SHA512 bf3ca44123c693b0602be19445925f9efebd46c469909e47b7907d57141fb6bd99268c33e1fe3f42a08ab8b4edd4f98f21b6a682f530352313334dfd31ba91e7
+DIST cryptography_vectors-2.8.tar.gz 35102030 BLAKE2B 8e98e12bab31a2097a72c849f52ee93b9b684a8923c140722419154471bd695c6287ff4498c9fe326662c7d9a9f5d9ebaa55dc4d5a0d8180a6827ae244464006 SHA512 d328082d3a65b8036d396172d7e42c753c842e9310850a77c6ccd99c9905d48bbc3e3319d216013c1370b8439f0f8056749ae94b1abf9a5b7088435acdeed7fb
diff --git a/dev-python/cryptography/cryptography-2.2.2-r1.ebuild b/dev-python/cryptography/cryptography-2.8-r1.ebuild
similarity index 60%
rename from dev-python/cryptography/cryptography-2.2.2-r1.ebuild
rename to dev-python/cryptography/cryptography-2.8-r1.ebuild
index 3664504..d33f838 100644
--- a/dev-python/cryptography/cryptography-2.2.2-r1.ebuild
+++ b/dev-python/cryptography/cryptography-2.8-r1.ebuild
@@ -1,21 +1,24 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy{,3} )
+PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 )
 PYTHON_REQ_USE="threads(+)"
 
 inherit distutils-r1 flag-o-matic
 
+VEC_P=cryptography_vectors-${PV}
 DESCRIPTION="Library providing cryptographic recipes and primitives"
 HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+	test? ( mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz )"
 
 LICENSE="|| ( Apache-2.0 BSD )"
 SLOT="0"
 KEYWORDS="*"
-IUSE="libressl test"
+IUSE="libressl idna test"
+RESTRICT="!test? ( test )"
 
 # the openssl 1.0.2l-r1 needs to be updated again :(
 # It'd theb be able to go into the || section again
@@ -32,38 +35,37 @@
 		)
 	)
 	libressl? ( dev-libs/libressl:0= )
-	$(python_gen_cond_dep '>=dev-python/cffi-1.7:=[${PYTHON_USEDEP}]' 'python*')
-	>=dev-python/idna-2.1[${PYTHON_USEDEP}]
-	>=dev-python/asn1crypto-0.21.0[${PYTHON_USEDEP}]
+	idna? ( >=dev-python/idna-2.1[${PYTHON_USEDEP}] )
 	dev-python/setuptools[${PYTHON_USEDEP}]
 	>=dev-python/six-1.4.1[${PYTHON_USEDEP}]
-	virtual/python-enum34[${PYTHON_USEDEP}]
-	virtual/python-ipaddress[${PYTHON_USEDEP}]
+	$(python_gen_cond_dep '
+		dev-python/enum34[${PYTHON_USEDEP}]
+		dev-python/ipaddress[${PYTHON_USEDEP}]
+	' -2)
+	$(python_gen_cond_dep '
+		>=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
+		!~dev-python/cffi-1.11.3[${PYTHON_USEDEP}]
+	' 'python*')
 	"
 DEPEND="${RDEPEND}
 	>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]
 	test? (
-		~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
-		dev-python/hypothesis[${PYTHON_USEDEP}]
-		dev-python/iso8601[${PYTHON_USEDEP}]
 		dev-python/pretend[${PYTHON_USEDEP}]
-		dev-python/pyasn1-modules[${PYTHON_USEDEP}]
-		>=dev-python/pytest-2.9.0[${PYTHON_USEDEP}]
+		dev-python/iso8601[${PYTHON_USEDEP}]
 		dev-python/pytz[${PYTHON_USEDEP}]
+		>=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}]
+		!~dev-python/hypothesis-3.79.2[${PYTHON_USEDEP}]
+		dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+		dev-python/pytest[${PYTHON_USEDEP}]
 	)"
 
 DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
 
-PATCHES=(
-	"${FILESDIR}"/${PN}-2.1.4-libressl-2.7-x509.patch
-	"${FILESDIR}"/${PN}-2.1.4-libressl-2.7-x509_vfy.patch
-	"${FILESDIR}"/CVE-2018-10903.patch
-)
-
 python_configure_all() {
 	append-cflags $(test-flags-CC -pthread)
 }
 
 python_test() {
-	py.test -v -v -x || die "Tests fail with ${EPYTHON}"
+	local -x PYTHONPATH=${PYTHONPATH}:${WORKDIR}/${VEC_P}
+	pytest -vv || die "Tests fail with ${EPYTHON}"
 }
diff --git a/dev-python/cryptography/files/CVE-2018-10903.patch b/dev-python/cryptography/files/CVE-2018-10903.patch
deleted file mode 100644
index 1133405..0000000
--- a/dev-python/cryptography/files/CVE-2018-10903.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 688e0f673bfbf43fa898994326c6877f00ab19ef Mon Sep 17 00:00:00 2001
-From: Paul Kehrer <paul.l.kehrer@gmail.com>
-Date: Tue, 17 Jul 2018 10:47:57 +0800
-Subject: [PATCH] disallow implicit tag truncation with finalize_with_tag
-
----
- docs/hazmat/primitives/symmetric-encryption.rst     |  1 +
- src/cryptography/hazmat/backends/openssl/ciphers.py |  5 +++++
- src/cryptography/hazmat/primitives/ciphers/modes.py |  1 +
- tests/hazmat/primitives/test_aes.py                 | 16 ++++++++++++++++
- 5 files changed, 28 insertions(+)
-
-diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst
-index 5ebcca754..5b6000902 100644
---- a/docs/hazmat/primitives/symmetric-encryption.rst
-+++ b/docs/hazmat/primitives/symmetric-encryption.rst
-@@ -670,6 +670,7 @@ Interfaces
-         :raises ValueError: This is raised when the data provided isn't
-             a multiple of the algorithm's block size, if ``min_tag_length`` is
-             less than 4, or if ``len(tag) < min_tag_length``.
-+            ``min_tag_length`` is an argument to the ``GCM`` constructor.
-         :raises NotImplementedError: This is raised if the version of the
-             OpenSSL backend used is 1.0.1 or earlier.
- 
-diff --git a/src/cryptography/hazmat/backends/openssl/ciphers.py b/src/cryptography/hazmat/backends/openssl/ciphers.py
-index 462ffea25..e0ee06ee2 100644
---- a/src/cryptography/hazmat/backends/openssl/ciphers.py
-+++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
-@@ -199,6 +199,11 @@ def finalize_with_tag(self, tag):
-                 "finalize_with_tag requires OpenSSL >= 1.0.2. To use this "
-                 "method please update OpenSSL"
-             )
-+        if len(tag) < self._mode._min_tag_length:
-+            raise ValueError(
-+                "Authentication tag must be {0} bytes or longer.".format(
-+                    self._mode._min_tag_length)
-+            )
-         res = self._backend._lib.EVP_CIPHER_CTX_ctrl(
-             self._ctx, self._backend._lib.EVP_CTRL_AEAD_SET_TAG,
-             len(tag), tag
-diff --git a/src/cryptography/hazmat/primitives/ciphers/modes.py b/src/cryptography/hazmat/primitives/ciphers/modes.py
-index 598dfaa4a..543015fef 100644
---- a/src/cryptography/hazmat/primitives/ciphers/modes.py
-+++ b/src/cryptography/hazmat/primitives/ciphers/modes.py
-@@ -220,6 +220,7 @@ def __init__(self, initialization_vector, tag=None, min_tag_length=16):
-                         min_tag_length)
-                 )
-         self._tag = tag
-+        self._min_tag_length = min_tag_length
- 
-     tag = utils.read_only_property("_tag")
-     initialization_vector = utils.read_only_property("_initialization_vector")
-diff --git a/tests/hazmat/primitives/test_aes.py b/tests/hazmat/primitives/test_aes.py
-index d6f83ebc2..4ceccf155 100644
---- a/tests/hazmat/primitives/test_aes.py
-+++ b/tests/hazmat/primitives/test_aes.py
-@@ -439,3 +439,19 @@ def test_gcm_tag_decrypt_finalize(self, backend):
-             decryptor.finalize()
-         else:
-             decryptor.finalize_with_tag(tag)
-+
-+    @pytest.mark.supported(
-+        only_if=lambda backend: (
-+            not backend._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 or
-+            backend._lib.CRYPTOGRAPHY_IS_LIBRESSL
-+        ),
-+        skip_message="Not supported on OpenSSL 1.0.1",
-+    )
-+    def test_gcm_tag_decrypt_finalize_tag_length(self, backend):
-+        decryptor = base.Cipher(
-+            algorithms.AES(b"0" * 16),
-+            modes.GCM(b"0" * 12),
-+            backend=backend
-+        ).decryptor()
-+        with pytest.raises(ValueError):
-+            decryptor.finalize_with_tag(b"tagtooshort")
diff --git a/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509.patch b/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509.patch
deleted file mode 100644
index 9a14d46..0000000
--- a/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ur a/src/_cffi_src/openssl/x509.py b/src/_cffi_src/openssl/x509.py
---- a/src/_cffi_src/openssl/x509.py	2017-07-27 05:11:29.000000000 +0200
-+++ b/src/_cffi_src/openssl/x509.py	2018-03-23 10:28:00.387774214 +0100
-@@ -254,8 +254,7 @@
- 
- const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *);
- 
--/* in 1.1.0 becomes const ASN1_BIT_STRING, const X509_ALGOR */
--void X509_get0_signature(ASN1_BIT_STRING **, X509_ALGOR **, X509 *);
-+void X509_get0_signature(const ASN1_BIT_STRING **, const X509_ALGOR **, const X509 *);
- 
- long X509_get_version(X509 *);
- 
-@@ -338,7 +337,8 @@
- CUSTOMIZATIONS = """
- /* Added in 1.0.2 beta but we need it in all versions now due to the great
-    opaquing. */
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && \
-+    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- /* from x509/x_x509.c version 1.0.2 */
- void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
-                          const X509 *x)
diff --git a/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509_vfy.patch b/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509_vfy.patch
deleted file mode 100644
index a1c93cf..0000000
--- a/dev-python/cryptography/files/cryptography-2.1.4-libressl-2.7-x509_vfy.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-$OpenBSD: patch-src__cffi_src_openssl_x509_vfy_py,v 1.7 2018/02/22 18:49:16 sthen Exp $
-
---- a/src/_cffi_src/openssl/x509_vfy.py
-+++ b/src/_cffi_src/openssl/x509_vfy.py
-@@ -204,7 +204,7 @@ int sk_X509_OBJECT_num(Cryptography_STACK_OF_X509_OBJE
- X509_OBJECT *sk_X509_OBJECT_value(Cryptography_STACK_OF_X509_OBJECT *, int);
- X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *);
- Cryptography_STACK_OF_X509_OBJECT *X509_STORE_get0_objects(X509_STORE *);
--X509 *X509_OBJECT_get0_X509(X509_OBJECT *);
-+X509 *X509_OBJECT_get0_X509(const X509_OBJECT *);
- int X509_OBJECT_get_type(const X509_OBJECT *);
- 
- /* added in 1.1.0 */
-@@ -220,14 +220,11 @@ static const long Cryptography_HAS_102_VERIFICATION_ER
- static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 1;
- #else
- static const long Cryptography_HAS_102_VERIFICATION_ERROR_CODES = 0;
-+#if LIBRESSL_VERSION_NUMBER >= 0x2070000fL
-+static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 1;
-+#else
- static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 0;
- 
--static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0;
--static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0;
--static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0;
--static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
--static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
--static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
- /* These 3 defines are unavailable in LibreSSL 2.5.x, but may be added
-    in the future... */
- #ifndef X509_V_ERR_HOSTNAME_MISMATCH
-@@ -240,12 +237,6 @@ static const long X509_V_ERR_EMAIL_MISMATCH = 0;
- static const long X509_V_ERR_IP_ADDRESS_MISMATCH = 0;
- #endif
- 
--/* X509_V_FLAG_TRUSTED_FIRST is also new in 1.0.2+, but it is added separately
--   below because it shows up in some earlier 3rd party OpenSSL packages. */
--static const long X509_V_FLAG_SUITEB_128_LOS_ONLY = 0;
--static const long X509_V_FLAG_SUITEB_192_LOS = 0;
--static const long X509_V_FLAG_SUITEB_128_LOS = 0;
--
- int (*X509_VERIFY_PARAM_set1_host)(X509_VERIFY_PARAM *, const char *,
-                                    size_t) = NULL;
- int (*X509_VERIFY_PARAM_set1_email)(X509_VERIFY_PARAM *, const char *,
-@@ -257,6 +248,19 @@ void (*X509_VERIFY_PARAM_set_hostflags)(X509_VERIFY_PA
-                                         unsigned int) = NULL;
- #endif
- 
-+static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0;
-+static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0;
-+static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0;
-+static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
-+static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
-+static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
-+/* X509_V_FLAG_TRUSTED_FIRST is also new in 1.0.2+, but it is added separately
-+   below because it shows up in some earlier 3rd party OpenSSL packages. */
-+static const long X509_V_FLAG_SUITEB_128_LOS_ONLY = 0;
-+static const long X509_V_FLAG_SUITEB_192_LOS = 0;
-+static const long X509_V_FLAG_SUITEB_128_LOS = 0;
-+#endif
-+
- /* OpenSSL 1.0.2+ or Solaris's backport */
- #ifdef X509_V_FLAG_PARTIAL_CHAIN
- static const long Cryptography_HAS_X509_V_FLAG_PARTIAL_CHAIN = 1;
-@@ -292,7 +296,7 @@ X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)
-     return ctx->cert;
- }
- 
--X509 *X509_OBJECT_get0_X509(X509_OBJECT *x) {
-+X509 *X509_OBJECT_get0_X509(const X509_OBJECT *x) {
-     return x->data.x509;
- }
- #endif
diff --git a/metadata/md5-cache/dev-python/cryptography-2.2.2-r1 b/metadata/md5-cache/dev-python/cryptography-2.2.2-r1
deleted file mode 100644
index e52e282..0000000
--- a/metadata/md5-cache/dev-python/cryptography-2.2.2-r1
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=!libressl? ( dev-libs/openssl:0= ( || ( dev-libs/openssl:0[-bindist(-)] >=dev-libs/openssl-1.0.2o-r6:0 ) ) ) libressl? ( dev-libs/libressl:0= ) python_targets_python2_7? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_6? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/idna-2.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/asn1crypto-0.21.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/six-1.4.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-ipaddress[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/setuptools-1.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] test? ( ~dev-python/cryptography-vectors-2.2.2[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/hypothesis[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/iso8601[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pretend[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pyasn1-modules[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/pytest-2.9.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/pytz[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] ) python_targets_pypy3? ( >=dev-python/pypy3-5:0=[threads(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-DESCRIPTION=Library providing cryptographic recipes and primitives
-EAPI=6
-HOMEPAGE=https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/
-IUSE=libressl test python_targets_pypy3 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7
-KEYWORDS=*
-LICENSE=|| ( Apache-2.0 BSD )
-RDEPEND=!libressl? ( dev-libs/openssl:0= ( || ( dev-libs/openssl:0[-bindist(-)] >=dev-libs/openssl-1.0.2o-r6:0 ) ) ) libressl? ( dev-libs/libressl:0= ) python_targets_python2_7? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_6? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) python_targets_python3_7? ( >=dev-python/cffi-1.7:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-)] ) >=dev-python/idna-2.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/asn1crypto-0.21.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] >=dev-python/six-1.4.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-enum34[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] virtual/python-ipaddress[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] python_targets_pypy3? ( >=dev-python/pypy3-5:0=[threads(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
-REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 )
-SLOT=0
-SRC_URI=mirror://pypi/c/cryptography/cryptography-2.2.2.tar.gz
-_eclasses_=distutils-r1	71a5ee567fb298e553ce8d1319279151	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multibuild	40fe59465edacd730c644ec2bc197809	multilib	b2f01ad412baf81650c23fcf0975fa33	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0	xdg-utils	ff2ff954e6b17929574eee4efc5152ba
-_md5_=8cfb2b3e4b5a50a10953ed5acbfcbb03
diff --git a/metadata/md5-cache/dev-python/cryptography-2.8-r1 b/metadata/md5-cache/dev-python/cryptography-2.8-r1
new file mode 100644
index 0000000..8c7c4d0
--- /dev/null
+++ b/metadata/md5-cache/dev-python/cryptography-2.8-r1
@@ -0,0 +1,16 @@
+BDEPEND=python_targets_pypy3? ( >=dev-python/pypy3-5:0=[threads(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=!libressl? ( dev-libs/openssl:0= ( || ( dev-libs/openssl:0[-bindist(-)] >=dev-libs/openssl-1.0.2o-r6:0 ) ) ) libressl? ( dev-libs/libressl:0= ) idna? ( >=dev-python/idna-2.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/six-1.4.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] python_targets_python2_7? ( dev-python/enum34[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/ipaddress[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] ) python_targets_python2_7? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_6? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_7? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_8? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) >=dev-python/setuptools-1.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] test? ( dev-python/pretend[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/iso8601[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pytz[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/hypothesis-1.11.4[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] !~dev-python/hypothesis-3.79.2[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pyasn1-modules[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] dev-python/pytest[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] )
+DESCRIPTION=Library providing cryptographic recipes and primitives
+EAPI=7
+HOMEPAGE=https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/
+IUSE=libressl idna test python_targets_pypy3 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8
+KEYWORDS=*
+LICENSE=|| ( Apache-2.0 BSD )
+RDEPEND=!libressl? ( dev-libs/openssl:0= ( || ( dev-libs/openssl:0[-bindist(-)] >=dev-libs/openssl-1.0.2o-r6:0 ) ) ) libressl? ( dev-libs/libressl:0= ) idna? ( >=dev-python/idna-2.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] ) dev-python/setuptools[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] >=dev-python/six-1.4.1[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] python_targets_python2_7? ( dev-python/enum34[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/ipaddress[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] ) python_targets_python2_7? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_6? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_7? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_python3_8? ( >=dev-python/cffi-1.8:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] !~dev-python/cffi-1.11.3[python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_6(-)?,-python_single_target_python3_6(-),python_targets_python3_7(-)?,-python_single_target_python3_7(-),python_targets_python3_8(-)?,-python_single_target_python3_8(-)] ) python_targets_pypy3? ( >=dev-python/pypy3-5:0=[threads(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[threads(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[threads(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[threads(+)] ) python_targets_python3_8? ( dev-lang/python:3.8[threads(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]
+REQUIRED_USE=|| ( python_targets_pypy3 python_targets_python2_7 python_targets_python3_6 python_targets_python3_7 python_targets_python3_8 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=mirror://pypi/c/cryptography/cryptography-2.8.tar.gz test? ( mirror://pypi/c/cryptography_vectors/cryptography_vectors-2.8.tar.gz )
+_eclasses_=distutils-r1	71a5ee567fb298e553ce8d1319279151	eutils	06133990e861be0fe60c2b428fd025d9	flag-o-matic	5d5921a298e95441da2f85be419894c0	multibuild	40fe59465edacd730c644ec2bc197809	multilib	b2f01ad412baf81650c23fcf0975fa33	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	ce1cd23cfdc1848e8e32743efe34f299	python-utils-r1	931c328767d245c08a16a3f87be9ce9c	toolchain-funcs	209edad4a5c4812e7b2f8021650974f0
+_md5_=f78540dc20417afbb1fba2211a1f2666