<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c7355925995be2f4a327de199f240d6de7c1326f">https://github.com/macports/macports-ports/commit/c7355925995be2f4a327de199f240d6de7c1326f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c7355925995be2f4a327de199f240d6de7c1326f
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Fri Aug 18 00:18:17 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    common_lisp PG: add support ABCL and CCL
</span>---
 _resources/port1.0/group/common_lisp-1.0.tcl | 63 ++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/common_lisp-1.0.tcl b/_resources/port1.0/group/common_lisp-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 34fc8b054de..e30a0679921 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/common_lisp-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/common_lisp-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,6 +22,9 @@ default common_lisp.build       {${workpath}/build}
</span> options common_lisp.threads
 default common_lisp.threads     no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.ffi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.ffi         no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> options common_lisp.sbcl
 default common_lisp.sbcl        yes
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,6 +35,14 @@ default common_lisp.ecl         [expr { ${os.platform} eq "darwin" && ${os.major
</span> options common_lisp.clisp
 default common_lisp.clisp       yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.ccl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CLL doesn't support arm64 yet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.ccl         [expr { ${os.arch} ne "arm" }]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.abcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ABCL requires java and support OpenJDK 11 before 10.14 fragile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.abcl        [expr { ${os.platform} eq "darwin" && ${os.major} >= 18 }]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> options common_lisp.build_run
 default common_lisp.build_run   yes
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,6 +66,8 @@ proc common_lisp::add_dependencies {} {
</span>     global common_lisp.sbcl
     global common_lisp.ecl
     global common_lisp.clisp
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    global common_lisp.abcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global common_lisp.ccl
</span> 
     if {[option common_lisp.sbcl]} {
         depends_build-delete    port:sbcl
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,6 +83,16 @@ proc common_lisp::add_dependencies {} {
</span>         depends_build-delete    port:clisp
         depends_build-append    port:clisp
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option common_lisp.abcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-delete    port:abcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append    port:abcl
</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 {[option common_lisp.ccl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-delete    port:ccl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append    port:ccl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 port::register_callback common_lisp::add_dependencies
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,6 +125,16 @@ proc common_lisp::respect_threads_support {} {
</span>             ui_debug "Exclude CLISP because it doesn't support threads"
         }
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option common_lisp.ffi] && [option common_lisp.abcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        common_lisp.abcl   no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        catch {common_lisp.abcl [active_variants abcl ffi]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![option common_lisp.abcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Exclude ABCL because it doesn't support FFI"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 pre-build {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -153,6 +186,8 @@ proc common_lisp::asdf_operate {op name build_system_path} {
</span>     global common_lisp.sbcl
     global common_lisp.ecl
     global common_lisp.clisp
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    global common_lisp.abcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global common_lisp.ccl
</span> 
     if {[option common_lisp.sbcl]} {
         common_lisp::sbcl_asdf_operate ${op} ${name} ${build_system_path}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -165,6 +200,14 @@ proc common_lisp::asdf_operate {op name build_system_path} {
</span>     if {[option common_lisp.clisp]} {
         common_lisp::clisp_asdf_operate ${op} ${name} ${build_system_path}
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option common_lisp.abcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        common_lisp::abcl_asdf_operate ${op} ${name} ${build_system_path}
</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 {[option common_lisp.ccl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        common_lisp::ccl_asdf_operate ${op} ${name} ${build_system_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 proc common_lisp::sbcl_asdf_operate {op name build_system_path} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -188,6 +231,26 @@ proc common_lisp::clisp_asdf_operate {op name build_system_path} {
</span>     common_lisp::run "${prefix}/bin/clisp --quiet --quiet" "-x" ${op} ${name} ${build_system_path}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc common_lisp::abcl_asdf_operate {op name build_system_path} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_info "Execute asdf:${op} at ${name} by ABCL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # cleaner approach is somehow enforce different value to NSHomeDirectory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    common_lisp::run "env XDG_CACHE_HOME=\$HOME/.cache ${prefix}/bin/abcl --noinit --batch" "--eval" ${op} ${name} ${build_system_path}
</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;'>+proc common_lisp::ccl_asdf_operate {op name build_system_path} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix configure.build_arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_info "Execute asdf:${op} at ${name} by CCL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ccl ccl64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${configure.build_arch} in [list i386 ppc] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set ccl ccl
</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;'>+    # cleaner approach is somehow enforce different value to NSHomeDirectory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    common_lisp::run "${prefix}/bin/${ccl} --no-init --batch" "--eval" ${op} ${name} ${build_system_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> proc common_lisp::run {lisp eval_arg op name build_system_path} {
     global workpath common_lisp.build common_lisp.prefix
 
</pre><pre style='margin:0'>

</pre>