<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/72703d635100f2f436e482f24d71c091bfafd8fe">https://github.com/macports/macports-ports/commit/72703d635100f2f436e482f24d71c091bfafd8fe</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 72703d635100f2f436e482f24d71c091bfafd8fe
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Thu May 25 23:05:43 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    common_lisp: new port group
</span>---
 _resources/port1.0/group/common_lisp-1.0.tcl | 101 +++++++++++++++++++++++++++
 1 file changed, 101 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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e7c9a5a9339
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</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;'>@@ -0,0 +1,101 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup provides support for building Common Lisp packages.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup           common_lisp 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup implements similar with Debian layout for Common Lisp with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dedicated system and sources folder inside ${prefix}/share/common-lisp.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Produced port is stricly noarch and shouldn't contain any binary image,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# to avoid mass revbump of ports for each update of any lisp.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.prefix      {${prefix}/share/common-lisp}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.build       {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options common_lisp.use_sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://trac.macports.org/ticket/66002
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default common_lisp.use_sbcl    [expr { ${os.platform} eq "darwin" && ${os.major} >= 18 }]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories                      lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure                   no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs                 noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms                       any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+universal_variant               no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default test.run                yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc common_lisp.add_dependencies {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option common_lisp.use_sbcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-delete    port:sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append    port:sbcl
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+port::register_callback common_lisp.add_dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete -force ${common_lisp.build}/source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file delete -force ${common_lisp.build}/system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0755 -d ${common_lisp.build}/source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0755 -d ${common_lisp.build}/system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${worksrcpath} ${common_lisp.build}/source/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f [glob -dir ${common_lisp.build}/source/${subport} -tails *.asd] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -sf ../source/${subport}/$f ${common_lisp.build}/system/$f
</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.use_sbcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach item [glob -dir ${common_lisp.build}/system -tails *.asd] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            common_lisp.sbcl_load "load-op" [string range ${item} 0 end-4]
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0755 -d ${destroot}${common_lisp.prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${common_lisp.build}/source ${destroot}${common_lisp.prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${common_lisp.build}/system ${destroot}${common_lisp.prefix}
</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;'>+test {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![option test.run]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_info "Tests are disabled"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return
</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.use_sbcl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach item [glob -dir ${common_lisp.build}/system -tails *.asd] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            common_lisp.sbcl_load "test-op" [string range ${item} 0 end-4]
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc common_lisp.sbcl_load {op name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global workpath prefix common_lisp.build common_lisp.prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_info "Execute ${op} at ${name} by SBCL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set lisp-system-path "#p\"${common_lisp.prefix}/system/\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set lisp-build-system-path "#p\"${common_lisp.build}/system/\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set loadcmd ${prefix}/bin/sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append loadcmd " --no-userinit "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append loadcmd " --non-interactive"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append loadcmd " --eval '(require \"asdf\")'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append loadcmd " --eval '(setf asdf:*central-registry* (list* (quote *default-pathname-defaults*) ${lisp-build-system-path} ${lisp-system-path} asdf:*central-registry*))'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append loadcmd " --eval '(asdf:operate (quote asdf:${op}) (quote ${name}))'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${workpath} "${loadcmd}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>