summaryrefslogtreecommitdiff
path: root/dev-python/kerberos
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-12 06:07:09 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-12 06:07:09 +0100
commit6766ae9a4205bc53227127a1dd518ea601246afe (patch)
tree0717a1249b6c0340842b8f5cf78a3774ef985043 /dev-python/kerberos
parent4658e9ebb16790a76f119b3c702097e068bd60f3 (diff)
gentoo auto-resync : 12:08:2023 - 06:07:08
Diffstat (limited to 'dev-python/kerberos')
-rw-r--r--dev-python/kerberos/Manifest4
-rw-r--r--dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch33
-rw-r--r--dev-python/kerberos/kerberos-1.3.1-r2.ebuild58
-rw-r--r--dev-python/kerberos/metadata.xml12
4 files changed, 107 insertions, 0 deletions
diff --git a/dev-python/kerberos/Manifest b/dev-python/kerberos/Manifest
new file mode 100644
index 000000000000..99db81dc6baf
--- /dev/null
+++ b/dev-python/kerberos/Manifest
@@ -0,0 +1,4 @@
+AUX kerberos-1.3.1-python3.10.patch 1099 BLAKE2B afe1d4639bd3773f075453a4549c270450a5c89671b650e9ee76219abec84b6c1dd2fcc1b2b77db6937d5303f89e562deda1405a3963221259bec3ce506def5f SHA512 dae8c3f6419ecc22ec9f3385053275bd13f9468721c1a419c9166153e49251d5499582f184f2dbaa7a194a591436229d9bcbe558cedf46237dc5cc15929faa05
+DIST ccs-pykerberos-PyKerberos-1.3.1.gh.tar.gz 41954 BLAKE2B b95a3473c5803ebcb461db7f2589caa03e92f4cb3ba3a4890a31db99b687aa4c77ae4e58f09ae2339a1fd8acf6fe9ab5797e3b7178dfeb2ee7a95bb851fff402 SHA512 dcadc5c3b095d8bba947a745ac84cc558d7eebad139a0e86260891966786506a7a62600fde93fa14683971e436da8cc5cd3795817b20ba45ce7e39f8c05deb53
+EBUILD kerberos-1.3.1-r2.ebuild 1429 BLAKE2B 4255ed98fe0d7a9213a9f239aa56833642cf9cbe665454218686dc77118facc577982cedcfaeeeb25d86ef06542d251a1a9a271a7a580db5cef032426e150d1f SHA512 94717b3c34484a79d26f82544160a194de205d804fceae97b01a4c29b047434b9fd9fbb9d8dcc1ea950fc4ea7fffebdaf86da646d27ba21cf864564809b1dea8
+MISC metadata.xml 372 BLAKE2B c666d6e6558e8c2ef8ec75b2125883e113dda896f01a9129c4e1fc0508946ad5a9e94f06cfd9deed11636779f1476c2e652dc445b6d8c3309056f6867d044eff SHA512 3db0bcddfd8d31b06fec3d1e3384b991a1018a5e491a61491aec3c3d3017d56c761f6078d12a533f8ad7c4094896be60e942f8e90409526eab40c1596f0a1aa1
diff --git a/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch b/dev-python/kerberos/files/kerberos-1.3.1-python3.10.patch
new file mode 100644
index 000000000000..7e760187de56
--- /dev/null
+++ b/dev-python/kerberos/files/kerberos-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/kerberos/kerberos-1.3.1-r2.ebuild b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
new file mode 100644
index 000000000000..052f9184ca4a
--- /dev/null
+++ b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 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_{10..11} )
+
+inherit distutils-r1
+
+MY_P=ccs-pykerberos-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/PyKerberos-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${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"
+
+DEPEND="
+ app-crypt/mit-krb5
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+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}"
+}
diff --git a/dev-python/kerberos/metadata.xml b/dev-python/kerberos/metadata.xml
new file mode 100644
index 000000000000..2224354698e0
--- /dev/null
+++ b/dev-python/kerberos/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">kerberos</remote-id>
+ <remote-id type="github">apple/ccs-pykerberos</remote-id>
+ </upstream>
+</pkgmetadata>