summaryrefslogtreecommitdiff
path: root/dev-python/pycurl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pycurl')
-rw-r--r--dev-python/pycurl/Manifest4
-rw-r--r--dev-python/pycurl/metadata.xml18
-rw-r--r--dev-python/pycurl/pycurl-7.45.7.ebuild87
-rw-r--r--dev-python/pycurl/pycurl-7.46.0.ebuild88
4 files changed, 197 insertions, 0 deletions
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
new file mode 100644
index 000000000000..46a14cf77873
--- /dev/null
+++ b/dev-python/pycurl/Manifest
@@ -0,0 +1,4 @@
+DIST pycurl-7.45.7.tar.gz 241098 BLAKE2B 8150d9f783818ff8c307038e70b030904d90d9dd0ddb2bbdda1551ad725362eebe343bd2f376544da49b01b45a03c0826720565385a48ecba7830209dc191ed5 SHA512 dc8dc4ec1cc4fa8b34aa2ca6e1cd8c3dde4f73500f364bfb67a7c38bf04b18eaabcbd9b55cd7da9b4fe5080ab3845a4e4a2bed3a87d4c0d693ec24142319af27
+DIST pycurl-7.45.7.tar.gz.provenance 9536 BLAKE2B c79ae5c53dfe14786e11edad42d7ea612ee7a09f6252b7876a8635a0b7c20e1d331a90c6cc2cde0889b7ca10e2d9787aab861968f526c68e4b9ce1686bdd462c SHA512 1d9762bc7e2b5d1c999679a15ee540dfc835b0b301f9f813b408774b41ae151a434b44d3aed802657e66a85e52d385bb8cb4478f0f8c93cb5b7504d17ff34592
+DIST pycurl-7.46.0.tar.gz 284697 BLAKE2B 0839edc2b93ddf3a164452b5c1b312f06960d7bf54d0ed8db1e9021e3abf0bf307c8d512cf5b5ac521b50921794142c00d90d2bdcabf982496ba8bc5e58bdaa8 SHA512 b30f41513b30b0ec54c8f3994245c5e31af194176086081040862772f059907375a7711c7a941c08c5c3daddfd9aae2ded3f0ed7fd6baa480ac1610de6959f8c
+DIST pycurl-7.46.0.tar.gz.provenance 9569 BLAKE2B 70d9db2f5f58586fd9cb7557f60ccb5eb5469bc17d8f42a616c754072bdf96c347e7ae09c7d706bc75835bab35e0a5fa07d74cdfe1e2bb8c1cbf90bf9f291263 SHA512 e66b4bc6c176264639485a7aa8f521783f7d95e6e05f3b7e78f5ba3a8e1845200e1aa67691d6ccf606d00791fe13e493b98d1e2e348afd4d599d2fc155ede8d6
diff --git a/dev-python/pycurl/metadata.xml b/dev-python/pycurl/metadata.xml
new file mode 100644
index 000000000000..ca5f6919cf92
--- /dev/null
+++ b/dev-python/pycurl/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+PycURL is a Python interface to libcurl. PycURL can be used to fetch
+objects identified by a URL from a Python program, similar to the urllib
+Python module. All the functionality provided by libcurl can used through
+the pycurl interface.
+ </longdescription>
+ <longdescription lang="ja">
+PycURLはLibcurlへのパイソン・インターフェイスです。PycURLはPython言語モジュールの様に、Python言語プログラムからURLで指定されたオブジェクトをダウンロードするにも使えます。Libcurlで利用できる機能全てはPycURLインターフェイスを通して利用できます。
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/pycurl/pycurl-7.45.7.ebuild b/dev-python/pycurl/pycurl-7.45.7.ebuild
new file mode 100644
index 000000000000..9c71e0cddd5d
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.45.7.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pycurl/pycurl
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Python bindings for curl/libcurl"
+HOMEPAGE="
+ http://pycurl.io/
+ https://github.com/pycurl/pycurl/
+ https://pypi.org/project/pycurl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
+IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+DEPEND="
+ >=net-misc/curl-7.25.0-r1:=[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= )
+ curl_ssl_openssl? ( dev-libs/openssl:= )
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
+ )
+"
+
+EPYTEST_PLUGINS=( flaky )
+: ${EPYTEST_TIMEOUT:=120}
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # Override faulty detection in setup.py, bug #510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+src_test() {
+ emake -C tests/fake-curl/libcurl CC="$(tc-getCC)"
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # refcounting tests are unreliable
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting
+ )
+
+ epytest tests
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycurl/pycurl-7.46.0.ebuild b/dev-python/pycurl/pycurl-7.46.0.ebuild
new file mode 100644
index 000000000000..4f336852b569
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.46.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/pycurl/pycurl
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Python bindings for curl/libcurl"
+HOMEPAGE="
+ http://pycurl.io/
+ https://github.com/pycurl/pycurl/
+ https://pypi.org/project/pycurl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+DEPEND="
+ >=net-misc/curl-7.25.0-r1:=[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= )
+ curl_ssl_openssl? ( dev-libs/openssl:= )
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_RERUNS=5
+: ${EPYTEST_TIMEOUT:=120}
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # Override faulty detection in setup.py, bug #510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+src_test() {
+ emake -C tests/fake-curl/libcurl CC="$(tc-getCC)"
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # refcounting tests are unreliable
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting
+ )
+
+ epytest tests
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}