public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/pycares/files/, dev-python/pycares/
@ 2022-06-22  5:48 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2022-06-22  5:48 UTC (permalink / raw
  To: gentoo-commits

commit:     d1b89e421a9672754cd0e702442b4be419715e2b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 04:56:40 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 05:48:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1b89e42

dev-python/pycares: Bump to 4.2.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pycares/Manifest                        |  1 +
 .../pycares/files/pycares-4.2.0-c-ares-1.18.patch  | 37 +++++++++++++++
 dev-python/pycares/pycares-4.2.0.ebuild            | 54 ++++++++++++++++++++++
 3 files changed, 92 insertions(+)

diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index d672ee1b4d11..0f234db35a7c 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1 +1,2 @@
 DIST pycares-4.1.2.tar.gz 43668 BLAKE2B 4b26f8643ff5ce297981b0b60b3afb34b249138e8f702dd4aa0a38935e9e5338d048f3be1b4fb64d6d8b2259a279a8881dbd44b412c10427dbd7eee664e70495 SHA512 6fb2d24fb5f2638c55424608b02ebe9f630866d644decfb663ab9d8e2bb7a42629748fa220054747f9c36ce3dcb42f3b8e457c5c39009f94b564ff07efde0c84
+DIST pycares-4.2.0.gh.tar.gz 43939 BLAKE2B 6cac12ff2b3c44cf7d04b4ce3067d5435d416788e89251d87825e5ea265ecb178948e0187c47e8dfe40ec0480a66b8b2f6cc2c45e74473e9d66f5cc74269f50f SHA512 14c813242ff6cdc5249ae52c2b9ff1870d7b74c7c6083868b2b4bbe0ce2af3f15e9b2775f67940ffbfc4ce84a6a9232ba4fab5a17ef389f7a197a15318280e43

diff --git a/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch b/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch
new file mode 100644
index 000000000000..2e094a2b2f1c
--- /dev/null
+++ b/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch
@@ -0,0 +1,37 @@
+From 72202e0bc135e360102371708e83334856d485cc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 22 Jun 2022 07:38:33 +0200
+Subject: [PATCH] core: add flexible member to ares_addrinfo to fix c-ares 1.18
+
+Add a flexible member to account for c-ares 1.18 adding an additional
+`name` member to `struct ares_addrinfo`.  This fixes the following
+exception from cffi, and the resulting test_getaddrinfo* failures:
+
+```
+Exception ignored from cffi callback <function _addrinfo_cb at 0x7f5fa890d040>:
+Traceback (most recent call last):
+  File "/tmp/pycares/.tox/py39/lib/python3.9/site-packages/pycares/__init__.py", line 162, in _addrinfo_cb
+    result = ares_addrinfo_result(res)
+  File "/tmp/pycares/.tox/py39/lib/python3.9/site-packages/pycares/__init__.py", line 841, in __init__
+    cname_ptr = ares_addrinfo.cnames
+ffi.error: struct ares_addrinfo: wrong total size (cdef says 16, but C compiler says 24). fix it or use "...;" as the last field in the cdef for struct ares_addrinfo to make it flexible
+```
+---
+ src/_cffi_src/build_cares.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/_cffi_src/build_cares.py b/src/_cffi_src/build_cares.py
+index 77f03aa..dec42c9 100644
+--- a/src/_cffi_src/build_cares.py
++++ b/src/_cffi_src/build_cares.py
+@@ -337,6 +337,7 @@ struct ares_addrinfo_cname {
+ struct ares_addrinfo {
+   struct ares_addrinfo_cname *cnames;
+   struct ares_addrinfo_node  *nodes;
++  ...;
+ };
+ 
+ struct ares_addrinfo_hints {
+-- 
+2.35.1
+

diff --git a/dev-python/pycares/pycares-4.2.0.ebuild b/dev-python/pycares/pycares-4.2.0.ebuild
new file mode 100644
index 000000000000..e3380b899f52
--- /dev/null
+++ b/dev-python/pycares/pycares-4.2.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface for c-ares"
+HOMEPAGE="
+	https://github.com/saghul/pycares/
+	https://pypi.org/project/pycares/
+"
+SRC_URI="
+	https://github.com/saghul/pycares/archive/${P}.tar.gz
+		-> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="test"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+DEPEND="
+	net-dns/c-ares:=
+"
+BDEPEND="
+	virtual/python-cffi[${PYTHON_USEDEP}]
+"
+RDEPEND="
+	dev-python/idna[${PYTHON_USEDEP}]
+	${DEPEND}
+	${BDEPEND}
+"
+BDEPEND+="
+	test? (
+		dev-python/idna[${PYTHON_USEDEP}]
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-c-ares-1.18.patch
+)
+
+export PYCARES_USE_SYSTEM_LIB=1
+
+python_test() {
+	"${EPYTHON}" tests/tests.py -v || die
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-22  5:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-22  5:48 [gentoo-commits] repo/gentoo:master commit in: dev-python/pycares/files/, dev-python/pycares/ Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox