summaryrefslogtreecommitdiff
path: root/dev-python/sabyenc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-09-25 20:21:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-09-25 20:21:45 +0100
commitc719fdcee603a5a706a45d10cb598762d56a727d (patch)
tree620cbf137661399a3fb1eff92914204f9a970713 /dev-python/sabyenc
parentcc4618c9ba3d974948ebf340b542d8cb01db2f55 (diff)
gentoo resync : 25.09.2021
Diffstat (limited to 'dev-python/sabyenc')
-rw-r--r--dev-python/sabyenc/Manifest3
-rw-r--r--dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch28
-rw-r--r--dev-python/sabyenc/sabyenc-4.0.2.ebuild17
3 files changed, 40 insertions, 8 deletions
diff --git a/dev-python/sabyenc/Manifest b/dev-python/sabyenc/Manifest
index a186da183902..7a2f148bd71b 100644
--- a/dev-python/sabyenc/Manifest
+++ b/dev-python/sabyenc/Manifest
@@ -1,3 +1,4 @@
+AUX sabyenc-4.0.2-fix-segfault.patch 1133 BLAKE2B af92dbd8413437562dbdc96bdceb2c2422002ec29dd67b206aa249d8c6135325779ee7de3a352caca57473f5224efe9b9847159bbc2def927e7769e4976f1dbb SHA512 97e5b4c99091fc8bc0dcb975afd72a70b5a26d46e4543f55caada492ee5da1909b8bcc344592d228c678b6f4ff4df36d4ddf8fe485d23e170be5ed358f943cc4
DIST sabyenc-4.0.2.tar.gz 19579235 BLAKE2B 26af61a979f94b954a6fb7fa425ca07a8d757fb16c9d434e9a1e0019d84d156b527e9309cc65113fef64dd3f2afb92b46619dc9506327273f2ba7822337e9ccf SHA512 88e8b47b1438ca55b51dbf8a407c33ec335f0604abf8a3dcbc45853b6dadadf9932d97cf3f0adabd71a9405e2deaeff2777483d9ea692c9d3cbab99dfbfbc901
-EBUILD sabyenc-4.0.2.ebuild 600 BLAKE2B 163df3975de786717c2ec506a0f69092d92eb911b1bc82315caa5e16b80c793d6788d553b1cae1e9e44f5edb6613eae779b072355fcb0fdd7bde8b02f57758f0 SHA512 ce8fa14276e2bf832f487ae6945457dae370e1092ed9d9c239e4c282c015753d026bc286cec810cb5ca8b859686b5333ffeaf1ba3b0ac6b1052a757c6bb15b80
+EBUILD sabyenc-4.0.2.ebuild 613 BLAKE2B 9c5a2baea3973fa4b1ae29868a74111f30fe0b658d119b14a0871f0e136f918a64ed843f3b40fe8e9f686a299e2bec1f9ff4486ae51585cec1ca5b9d8e3bd867 SHA512 7daaf7d398a057026a075f2b8ca5fed662541dc00d39094012d8a4719e63876f93e0ea66a4b640408fcab5f6fe85f4f0f60bae032f9db9254939d1a913712b16
MISC metadata.xml 322 BLAKE2B 2c3fb412a3bedb26045d4e4d30de2c8d642a9936762861bf52cdb039a7a4fc0891be287d3e30d8f6074dd12d25547005e01a3ae0a0a03e32cea8384dd9a582a0 SHA512 2afb177d9ee6b4f7c445fd0614f260b2422087ac3c800c75efd786c0213dc7f9ebf99c9d66dc9faf998b53af17cd79186b510b3e85b94c002776b4d075fe8f48
diff --git a/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch b/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch
new file mode 100644
index 000000000000..1a80d5f13da8
--- /dev/null
+++ b/dev-python/sabyenc/files/sabyenc-4.0.2-fix-segfault.patch
@@ -0,0 +1,28 @@
+From: Arthur Zamarin <arthurzam@gmail.com>
+Date: Sat, 18 Sep 2021 21:07:45 +0300
+Subject: Fix Segfault during testing
+
+decode_usenet_chunks might receive it argument as bytesarray, or
+as bytes object, but the C code expects only bytesarray.
+Add code, to apply variant for each case, and fail using assert when
+both don't apply.
+
+Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
+
+--- a/src/sabyenc3.c
++++ b/src/sabyenc3.c
+@@ -593,7 +593,13 @@ PyObject* decode_usenet_chunks(PyObject* self, PyObject* args) {
+ num_bytes_reserved = 0;
+ lp_max = (int)PyList_Size(Py_input_list);
+ for(lp = 0; lp < lp_max; lp++) {
+- num_bytes_reserved += (int)PyByteArray_GET_SIZE(PyList_GetItem(Py_input_list, lp));
++ PyObject *temp = PyList_GetItem(Py_input_list, lp);
++ if (PyByteArray_Check(temp))
++ num_bytes_reserved += (int)PyByteArray_GET_SIZE(temp);
++ else if (PyBytes_Check(temp))
++ num_bytes_reserved += (int)PyBytes_GET_SIZE(temp);
++ else
++ assert(PyByteArray_Check(temp) || PyBytes_Check(temp));
+ }
+ }
+
diff --git a/dev-python/sabyenc/sabyenc-4.0.2.ebuild b/dev-python/sabyenc/sabyenc-4.0.2.ebuild
index f777975da68e..d9536017b50b 100644
--- a/dev-python/sabyenc/sabyenc-4.0.2.ebuild
+++ b/dev-python/sabyenc/sabyenc-4.0.2.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
-PYTHON_COMPAT=( python3_{7,8,9} )
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
@@ -13,13 +14,15 @@ SRC_URI="https://github.com/sabnzbd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DOCS=( CHANGES.md README.md doc/yenc-draft.1.3.txt )
-DEPEND="test? (
+BDEPEND="test? (
dev-python/chardet[${PYTHON_USEDEP}]
)"
+DOCS=( CHANGES.md README.md doc/yenc-draft.1.3.txt )
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-segfault.patch"
+)
+
distutils_enable_tests pytest