Files
MINGW-packages/mingw-w64-python-gssapi/PKGBUILD
Christoph Reiter 8519df2bf9 Move all reverse dependencies to cython0
Which is what they used up to now, so rebuilds don't break.
We can rebuild them against cython v3 later.
2023-10-22 19:52:17 +02:00

76 lines
2.9 KiB
Bash

# Maintainer: Antoine Martin <antoine@devloop.org.uk>
_realname=python-gssapi
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
pkgver=1.8.3
pkgrel=1
pkgdesc="A python interface to RFC 2743/2744 (plus common extensions) (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url='https://github.com/pythongssapi/${_realname}'
license=('Apache')
depends=("${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-python-decorator"
"${MINGW_PACKAGE_PREFIX}-python-six"
"${MINGW_PACKAGE_PREFIX}-gss"
"${MINGW_PACKAGE_PREFIX}-cython0")
makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools"
"${MINGW_PACKAGE_PREFIX}-cc")
options=('staticlibs' 'strip' '!debug')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/pythongssapi/python-gssapi/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz"
001-use-distutils-from-stdlib.patch)
sha256sums=('3f250cbc636c7d934e7ae5127af4681fbe4b5daba05568ff109c38c443a76476'
'f042e9e98a8be163e15b815d058d82e787afc1f382296693f560a4b0fce4b882')
export MSYS=winsymlinks:lnk
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i "${srcdir}"/001-use-distutils-from-stdlib.patch
sed -i -e 's+elif winkrb_path:+elif False:+g' setup.py
sed -i -e 's+gssapi/gssapi.h+gss.h+g' gssapi/raw/python_gssapi.h
sed -i -e 's+gssapi/gssapi.h+gss.h+g' gssapi/raw/python_gssapi_ext.h
sed -i -e 's+gssapi/gssapi_krb5.h+gss.h+g' gssapi/raw/python_gssapi_krb5.h
cat > gssapi/raw/mech_krb5.pyx <<EOF
from libc.stdint cimport uint32_t
cdef extern from "python_gssapi.h":
ctypedef uint32_t OM_uint32
ctypedef struct gss_OID_desc:
OM_uint32 length
void *elements
ctypedef gss_OID_desc* gss_OID
def make_OID(s):
import struct
v = struct.pack("@Is", len(s), s)
return v
pkrb5 = make_OID(b"\x2A\x86\x48\x86\xF7\x12\x01\x02\x02")
cdef char *gss_mech_krb5_str = pkrb5
pprincipal = make_OID(b"\x2A\x86\x48\x86\xF7\x12\x01\x02\x02");
cdef char *GSS_KRB5_NT_PRINCIPAL_NAME_str = pprincipal
cdef gss_OID gss_mech_krb5 = <gss_OID> gss_mech_krb5_str
cdef gss_OID GSS_KRB5_NT_PRINCIPAL_NAME = <gss_OID> GSS_KRB5_NT_PRINCIPAL_NAME_str
EOF
}
build() {
cd "${srcdir}/${_realname}-${pkgver}"
GSSAPI_MAIN_LIB=${MINGW_PREFIX}/bin/libgss-3.dll \
GSSAPI_LINKER_ARGS="-lgss" \
GSSAPI_COMPILER_ARGS="-fPIC" \
${MINGW_PREFIX}/bin/python setup.py build
}
package() {
cd "${srcdir}/${_realname}-${pkgver}"
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \
--root="${pkgdir}" --skip-build
install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}