<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>