<pre style='margin:0'>
tobypeterson pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fe27598c9482b4879d26ff8b29cb3e8e62f9bcb5">https://github.com/macports/macports-ports/commit/fe27598c9482b4879d26ff8b29cb3e8e62f9bcb5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fe27598c9482b4879d26ff8b29cb3e8e62f9bcb5
</span>Author: A. Karl Kornel <akkornel@stanford.edu>
AuthorDate: Thu Feb 20 19:12:42 2025 -0800
<span style='display:block; white-space:pre;color:#404040;'> py-gssapi: Add kerberos5 variant
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Today, the python-gssapi software builds against macOS' built-in
</span><span style='display:block; white-space:pre;color:#404040;'> GSSAPI/Kerberos Frameworks. This adds a variant to build against
</span><span style='display:block; white-space:pre;color:#404040;'> MacPorts' MIT Kerberos package, `kerberos5`.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> kerberos5 is added as a variant because, if someone already has the
</span><span style='display:block; white-space:pre;color:#404040;'> package installed, we don't want to suddenly switch them to MIT Kerberos
</span><span style='display:block; white-space:pre;color:#404040;'> during an upgrade.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Instead of patching `setup.py`, we build python-gssapi by setting
</span><span style='display:block; white-space:pre;color:#404040;'> environment variables, as instructed in pythongssapi/python-gssapi#347.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The long description is also updated to reflect which GSSAPI/Kerberos
</span><span style='display:block; white-space:pre;color:#404040;'> installation is being used.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Finally, a change is made to the options available on Mac OS X below
</span><span style='display:block; white-space:pre;color:#404040;'> 10.9: The kerberos5 variant is made the default; if the user attempts to
</span><span style='display:block; white-space:pre;color:#404040;'> remove this variant, their install errors out.
</span>---
python/py-gssapi/Portfile | 33 ++++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-gssapi/Portfile b/python/py-gssapi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c4a7d44cd14..da48b34287b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-gssapi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gssapi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,6 +24,29 @@ python.versions 39 310 311 312 313
</span>
patchfiles patch-setup.py.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# python-gssapi knows when it's running on macOS, and automatically configures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# itself to use macOS' GSSAPI Framework, which uses macOS' build of Heimdal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Kerberos.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant kerberos5 description {Use MIT Kerberos} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append Uses GSSAPI/Kerberos from MacPorts' kerberos5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ package.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:kerberos5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Support for MIT Kerberos has been brought up upstream before, in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/pythongssapi/python-gssapi/issues/347
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # In that GitHub issue, this is how the devs say to use MIT Kerberos.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gssapi_cflags [exec ${prefix}/bin/krb5-config --cflags gssapi]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set gssapi_libs [exec ${prefix}/bin/krb5-config --libs gssapi]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.env-append GSSAPI_MAIN_LIB=${prefix}/lib/libgssapi_krb5.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GSSAPI_COMPILER_ARGS=${gssapi_cflags} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GSSAPI_LINKER_ARGS=${gssapi_libs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset kerberos5]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description-append Uses macOS's built-in GSSAPI/Kerberos.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${name} ne ${subport}} {
depends_build-append port:py${python.version}-setuptools \
port:py${python.version}-cython
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,11 +57,11 @@ if {${name} ne ${subport}} {
</span>
# Uses GSS.framework on macOS >= 10.9
if {${os.platform} eq "darwin" && ${os.major} < 13} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:kerberos5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append Uses GSSAPI/Kerberos from MacPorts' \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- kerberos5 package.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- long_description-append Uses macOS' built-in GSSAPI/Kerberos.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants +kerberos5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![variant_isset kerberos5]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "Built-in GSSAPI/Kerberos is not usable on Mac OS X below 10.9."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
livecheck.type none
</pre><pre style='margin:0'>
</pre>