summaryrefslogtreecommitdiff
path: root/dev-python/pykerberos
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-30 22:49:20 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-30 22:49:20 +0100
commit6cef603bfc4353c863a1a0b460a0aa882d2dc51c (patch)
tree1df444f2d99f097ae87a3481221283e70dec2163 /dev-python/pykerberos
parentb33c907ab2c29be7bd04369bc2e3f5dd0b109697 (diff)
gentoo auto-resync : 30:08:2022 - 22:49:20
Diffstat (limited to 'dev-python/pykerberos')
-rw-r--r--dev-python/pykerberos/Manifest2
-rw-r--r--dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch33
-rw-r--r--dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild48
3 files changed, 83 insertions, 0 deletions
diff --git a/dev-python/pykerberos/Manifest b/dev-python/pykerberos/Manifest
index 67b9ad90f625..4b3cc145a365 100644
--- a/dev-python/pykerberos/Manifest
+++ b/dev-python/pykerberos/Manifest
@@ -1,3 +1,5 @@
+AUX pykerberos-1.3.1-python3.10.patch 1099 BLAKE2B afe1d4639bd3773f075453a4549c270450a5c89671b650e9ee76219abec84b6c1dd2fcc1b2b77db6937d5303f89e562deda1405a3963221259bec3ce506def5f SHA512 dae8c3f6419ecc22ec9f3385053275bd13f9468721c1a419c9166153e49251d5499582f184f2dbaa7a194a591436229d9bcbe558cedf46237dc5cc15929faa05
DIST PyKerberos-1.3.1.tar.gz 41954 BLAKE2B b95a3473c5803ebcb461db7f2589caa03e92f4cb3ba3a4890a31db99b687aa4c77ae4e58f09ae2339a1fd8acf6fe9ab5797e3b7178dfeb2ee7a95bb851fff402 SHA512 dcadc5c3b095d8bba947a745ac84cc558d7eebad139a0e86260891966786506a7a62600fde93fa14683971e436da8cc5cd3795817b20ba45ce7e39f8c05deb53
+EBUILD pykerberos-1.3.1-r1.ebuild 1343 BLAKE2B 27d679f15b188de4f215fec035d05f541928a18305ff9494a256a22bf8d2f1970ef87df5fb7700a487ba08f069ef125893fb6fe3f55a37ba75ce6fdf505d5cbf SHA512 6a9a973a59c3ef9b04f29f1847b52a71a7ff9b15a726195a283377cd6007244a0e418fb9a404c1cd978e1ccaea2b608db034d97779919bd63096276713178a33
EBUILD pykerberos-1.3.1.ebuild 1283 BLAKE2B 19ecf428a0c437ddd2fb5786cc67913c884625be7c9eb220a6a40ec03a503f4cc2dd62e8940a644a99da808512bc1444da38b65bb109bdeeee48601ce689cb90 SHA512 9fa37d66f2c00937a1b23aa675d4faf15c65cb3dbb36e9821965140f65d257bc8d0ad866d1333050f6f9bba8712d301471046765da61dcadaa1e0bf43e696d8b
MISC metadata.xml 372 BLAKE2B c666d6e6558e8c2ef8ec75b2125883e113dda896f01a9129c4e1fc0508946ad5a9e94f06cfd9deed11636779f1476c2e652dc445b6d8c3309056f6867d044eff SHA512 3db0bcddfd8d31b06fec3d1e3384b991a1018a5e491a61491aec3c3d3017d56c761f6078d12a533f8ad7c4094896be60e942f8e90409526eab40c1596f0a1aa1
diff --git a/dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch b/dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch
new file mode 100644
index 000000000000..7e760187de56
--- /dev/null
+++ b/dev-python/pykerberos/files/pykerberos-1.3.1-python3.10.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/867421
+https://github.com/apple/ccs-pykerberos/pull/89
+
+From 1e1666af51bb11ea5c6dd442415ce765073737c3 Mon Sep 17 00:00:00 2001
+From: stevenpackardblp <77253966+stevenpackardblp@users.noreply.github.com>
+Date: Sun, 24 Oct 2021 23:03:41 -0400
+Subject: [PATCH] Use Py_ssize_t type
+
+Python 3.10 requires that the `Py_ssize_t` type is used for string lengths instead of `int`.
+--- a/src/kerberos.c
++++ b/src/kerberos.c
+@@ -14,6 +14,7 @@
+ * limitations under the License.
+ **/
+
++#define PY_SSIZE_T_CLEAN
+ #include <Python.h>
+
+ #include "kerberosbasic.h"
+@@ -244,9 +245,9 @@ static PyObject *channelBindings(PyObject *self, PyObject *args, PyObject* keywd
+ char *initiator_address = NULL;
+ char *acceptor_address = NULL;
+ char *application_data = NULL;
+- int initiator_length = 0;
+- int acceptor_length = 0;
+- int application_length = 0;
++ Py_ssize_t initiator_length = 0;
++ Py_ssize_t acceptor_length = 0;
++ Py_ssize_t application_length = 0;
+
+ PyObject *pychan_bindings = NULL;
+ struct gss_channel_bindings_struct *input_chan_bindings;
+
diff --git a/dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild b/dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..cc46bbefeab8
--- /dev/null
+++ b/dev-python/pykerberos/pykerberos-1.3.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+MY_P=PyKerberos-${PV}
+DESCRIPTION="A high-level Python wrapper for Kerberos/GSSAPI operations"
+HOMEPAGE="
+ https://www.calendarserver.org/PyKerberos.html
+ https://github.com/apple/ccs-pykerberos/
+ https://pypi.org/project/kerberos/"
+SRC_URI="
+ https://github.com/apple/ccs-pykerberos/archive/${MY_P}.tar.gz"
+S=${WORKDIR}/ccs-pykerberos-${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86"
+# test environment is non-trivial to set up, so just use docker
+# (see python_test below)
+# also for alpha/beta Python releases support:
+# https://github.com/apple/ccs-pykerberos/pull/83/commits/5f1130a1305b5f6e7d7d8b41067c4713f0c8950f
+RESTRICT="test"
+
+RDEPEND="app-crypt/mit-krb5"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.1-python3.10.patch
+)
+
+python_test() {
+ set -- docker run \
+ -v "${PWD}:/app" \
+ -w /app \
+ -e PYENV=$("${EPYTHON}" -c 'import sys; print(sys.version.split()[0])') \
+ -e KERBEROS_USERNAME=administrator \
+ -e KERBEROS_PASSWORD=Password01 \
+ -e KERBEROS_REALM=example.com \
+ -e KERBEROS_PORT=80 \
+ ubuntu:16.04 \
+ /bin/bash .travis.sh
+ echo "${@}" >&2
+ "${@}" || die "Tests failed with ${EPYTHON}"
+}