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