summaryrefslogtreecommitdiff
path: root/dev-python/fastbencode
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/fastbencode')
-rw-r--r--dev-python/fastbencode/Manifest20
-rw-r--r--dev-python/fastbencode/fastbencode-0.3.1.ebuild31
-rw-r--r--dev-python/fastbencode/fastbencode-0.3.4.ebuild89
-rw-r--r--dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch49
4 files changed, 108 insertions, 81 deletions
diff --git a/dev-python/fastbencode/Manifest b/dev-python/fastbencode/Manifest
index d2c3b2ced39d..820a312c3a91 100644
--- a/dev-python/fastbencode/Manifest
+++ b/dev-python/fastbencode/Manifest
@@ -1,2 +1,20 @@
-DIST fastbencode-0.3.1.tar.gz 20881 BLAKE2B e962e07ebc75402d63c9b4bbae303bafc1cf4a66f76884b756c9604b5fad5dc0165c1500fad4226785e030571bff1a2f26b5e5185880b076ebdb54cac4474da1 SHA512 153501ecbfcff76a55faec4c65924a4e4b171a91e05092ecaba61a8561f84d2abce0ac7b7d51aee44b39e6b706c38b5ea7a23f92a4650545b4526a0ae1ac086d
+DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
DIST fastbencode-0.3.2.tar.gz 24878 BLAKE2B a516be3b5d0eb6fc09afc3d4f3c40454893f1cc252592f032fbb8d2d906bc59b8be6b50a13d4ef4e0ab608b68dcc56a24e0b96fae2b12f1f8666f43ff76435c5 SHA512 0750aec47720dbf1e85b7acbf4f9df85e672d0cf53dee522a035340d7eb1e90eca5eeeafe8e0c7fa3b769216bda84d348f7d78133a1540142143db54799ff97f
+DIST fastbencode-0.3.4.gh.tar.gz 21576 BLAKE2B 8647f98f672cc24a5eea517afdc1232543374a5ed283bff6f51e4f53ce576fd7355963406ecfa5aaf9a075f71b6608586e26f879c1da00cc406d2fa9b4916dc5 SHA512 456311c40ec6ab6750e74244ad4bdf731c39c7fd294ebabba867a05221d0af054838ef0e75620982ad274061732e55716053505dfcafbc2d1b6e12c324406369
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.6.crate 17164 BLAKE2B 1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1 SHA512 e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
+DIST libc-0.2.174.crate 779933 BLAKE2B 20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628 SHA512 243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
+DIST portable-atomic-1.11.1.crate 185506 BLAKE2B 953bb1f2059dc1d891305eb89945f1f6a172fa50972725aee499de72b5dd9b4ad8ccefe4e891183ff8e6b64f4d1bb45ec33b06e0f5af34c940f817b290f746d9 SHA512 4c037ae0b4aef43077bdbf803389bc078d963f20d023e2e1d339a54f67fa9b27c174e7c1b6eca8881ecf301e30c431632d2c0dcedfb5b19552892fac0f81e2e1
+DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
+DIST pyo3-0.25.1.crate 1121993 BLAKE2B 79a982131fc4c4f9292e97bc8d938d236ee9cefb99bb90646a84703660ad506aee8ae1f1e626d985aa62c695722510f2697544581fa5c3a01f193be2bc2779fe SHA512 9c842c89d274dba0c8a3085a8524736245d65f07e5c05bc13fc89167cfdeb1a4ff2b4a9da9467eee918e45d01777473f39bda11efe0052859969d4fdeac1adc6
+DIST pyo3-build-config-0.25.1.crate 34126 BLAKE2B ca905f1f74e26f38ab63a4f5754055c9dff01f9396f81ece09b7ce067181b657e6746db3b373f7177805f6564d0df0db064b5fcab8160d5edc357e64dd32d0fc SHA512 d6fe4a46111188203a839c8c73b9835f98cd6bc5982868cbcc9f502c5a09b35c3e61117b50ef8372470051b5bc4959731907748ffca89f42f300a3081b7b0467
+DIST pyo3-ffi-0.25.1.crate 78058 BLAKE2B 351fe00c99008a34a003e50cd4f6d25e6dae5a446928358cd5146ac9924254614724a015ae77d8aade7bcb497cf5e5b5018021ff5d89a8efa6412f5ccb48744e SHA512 35ab63888f49df13fab8b96b87f6c705186173923fd5898abe8730675156426f020ee517019926ba5e06cdb4fc5f91a75f648ce9eba892e9eaf3ee17864a8ec7
+DIST pyo3-macros-0.25.1.crate 8886 BLAKE2B aad9c975c90ff93429be24287d76edd945578b546a927f54d82b6d4bf184f1f8d426ac112307205346e85999a1e89b097f68310de647f27474790bff01c3517a SHA512 08387f3d1ddb0cc253eed376e6e8ebe5722b31664ec742f16c0454b52f1fbcadbe7720ae9e2d3870fe0ca2690916cf6e3e032f5a3e65d767322c068432f6d470
+DIST pyo3-macros-backend-0.25.1.crate 76006 BLAKE2B 02225f8591585a6cbea7d6e53503bfbac395253cb0f45c588a2eb38908bf241034412832f2fcf4e9301318b5b9b82a888755d970f544f402a4f0cf9e4a6eefe9 SHA512 4c9006424630ab9bcd5dcdd45fe927a95a40a61757f0950396eb9f0c3f1794772092a19773c102220489cc621ad65d81dbbe459a1be472f6cd3211c50ef33cc2
+DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
+DIST syn-2.0.104.crate 299699 BLAKE2B f64d2267abe9140456dd31d52ada0c75bfa3e4e0112ca77491245e9e84a0530f6c7cdc7428b73cf567a65ef6e7727f814fb9cb34db0ecc9cc3afd05b69fd36f7 SHA512 da532fa362266161b5604c821c913f8f990eb32c18e18c0a360b7147b9f71ae008e208f377cb203e85818bd5db926951122a971fa97563a10678f0ba4671e64f
+DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
+DIST unicode-ident-1.0.18.crate 47743 BLAKE2B 517ab42a847020515b2b871844d0571ea672340f89a762631a791eac18935ac122122fa5566e58b99ab47de179eadb5298e8ff1d05b123c4e93b7fa989c8e31f SHA512 d11f89fb696f9e2953c96a40b5478832651b268c83b9c7a700b07e768e795d6e8dc346597d1226df21219d36866768d1f640bd8edb68db8bd3d5d437b2bfd324
+DIST unindent-0.2.4.crate 7422 BLAKE2B 2e7870cd4f78240dbb1e5fb9c0f9b55c57bb40242fe668f105a0e862f1d6300e31efbffe0cdff676a5f96a8d19dfb148f88bfef1cd8a710556d777fd0f4ee37f SHA512 58bd4fd20a0b0a7200e0ea3ea70553cea135a5a8f7a2fb178520c41228f435becce4b9981019b7c73a17df87a2ee9b2a47c4cec29a3011bfe848d48b2473761b
diff --git a/dev-python/fastbencode/fastbencode-0.3.1.ebuild b/dev-python/fastbencode/fastbencode-0.3.1.ebuild
deleted file mode 100644
index a644bd6d077e..000000000000
--- a/dev-python/fastbencode/fastbencode-0.3.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Implementation of bencode with optional fast C extensions"
-HOMEPAGE="
- https://github.com/breezy-team/fastbencode/
- https://pypi.org/project/fastbencode/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- # https://github.com/breezy-team/fastbencode/pull/97
- "${FILESDIR}/${P}-cython-3.1.patch"
-)
diff --git a/dev-python/fastbencode/fastbencode-0.3.4.ebuild b/dev-python/fastbencode/fastbencode-0.3.4.ebuild
new file mode 100644
index 000000000000..405f8168afc8
--- /dev/null
+++ b/dev-python/fastbencode/fastbencode-0.3.4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ autocfg@1.5.0
+ heck@0.5.0
+ indoc@2.0.6
+ libc@0.2.174
+ memoffset@0.9.1
+ once_cell@1.21.3
+ portable-atomic@1.11.1
+ proc-macro2@1.0.95
+ pyo3-build-config@0.25.1
+ pyo3-ffi@0.25.1
+ pyo3-macros-backend@0.25.1
+ pyo3-macros@0.25.1
+ pyo3@0.25.1
+ quote@1.0.40
+ syn@2.0.104
+ target-lexicon@0.13.2
+ unicode-ident@1.0.18
+ unindent@0.2.4
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of bencode with Rust implementation"
+HOMEPAGE="
+ https://github.com/breezy-team/fastbencode/
+ https://pypi.org/project/fastbencode/
+"
+SRC_URI="
+ https://github.com/breezy-team/fastbencode/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/fastbencode/_bencode_rs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use native-extensions; then
+ # setup.py is only used for setuptools-rust
+ rm setup.py || die
+ fi
+}
+
+src_test() {
+ mv fastbencode/tests tests || die
+ rm -r fastbencode || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch b/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch
deleted file mode 100644
index 7c65e47dfee8..000000000000
--- a/dev-python/fastbencode/files/fastbencode-0.3.1-cython-3.1.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 287a8ae762fd3e6d532cda7b899d08ec9859f84a Mon Sep 17 00:00:00 2001
-From: Jelmer Vernooij <jelmer@jelmer.uk>
-Date: Mon, 21 Apr 2025 12:33:50 +0000
-Subject: [PATCH] Fix compatibility with Cython 3.1. Fixes #96
-
----
- fastbencode/_bencode_pyx.pyx | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/fastbencode/_bencode_pyx.pyx b/fastbencode/_bencode_pyx.pyx
-index 651f09f..c526b19 100644
---- a/fastbencode/_bencode_pyx.pyx
-+++ b/fastbencode/_bencode_pyx.pyx
-@@ -31,16 +31,13 @@ from cpython.bytes cimport (
- from cpython.dict cimport (
- PyDict_CheckExact,
- )
--from cpython.int cimport (
-- PyInt_CheckExact,
-- PyInt_FromString,
-- )
- from cpython.list cimport (
- PyList_CheckExact,
- PyList_Append,
- )
- from cpython.long cimport (
- PyLong_CheckExact,
-+ PyLong_FromString,
- )
- from cpython.mem cimport (
- PyMem_Free,
-@@ -165,7 +162,7 @@ cdef class Decoder:
- i = self._read_digits(c'e')
- self.tail[i] = 0
- try:
-- ret = PyInt_FromString(self.tail, NULL, 10)
-+ ret = PyLong_FromString(self.tail, NULL, 10)
- finally:
- self.tail[i] = c'e'
- D_UPDATE_TAIL(self, i+1)
-@@ -414,7 +411,7 @@ cdef class Encoder:
- try:
- if PyBytes_CheckExact(x):
- self._encode_bytes(x)
-- elif PyInt_CheckExact(x) and x.bit_length() < 32:
-+ elif PyLong_CheckExact(x) and x.bit_length() < 32:
- self._encode_int(x)
- elif PyLong_CheckExact(x):
- self._encode_long(x)