<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/aee266fbf090cce970d5d4e92ddc05cc8e98ef37">https://github.com/macports/macports-ports/commit/aee266fbf090cce970d5d4e92ddc05cc8e98ef37</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit aee266fbf090cce970d5d4e92ddc05cc8e98ef37
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sun Apr 25 14:34:19 2021 -0700

<span style='display:block; white-space:pre;color:#404040;'>    janet PG: add new PortGroup
</span>---
 _resources/port1.0/group/janet-1.0.tcl | 84 ++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/janet-1.0.tcl b/_resources/port1.0/group/janet-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c658300dd78
</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/janet-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,84 @@
</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;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup     janet 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup allows projects to be built with jpm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     (see https://janet-lang.org/docs/jpm.html).
</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;'>+# search in ${prefix}/lib/janet/bin and create link in ${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options janet.link_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default janet.link_bin          yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# program to create and maintain library archives
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options janet.compiler.ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default janet.compiler.ar       {[janetpg::get_default_ar]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+namespace eval janetpg {
</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 janetpg::get_default_ar {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # no doubt that at some point, for some systems, the ar from cctools will have to be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return /usr/bin/ar
</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;'>+# The build command jpm does not respect CFLAGS/CXXFLAGS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# You can set the compilers, but no spaces seem to be allowed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Hence, we cannot simply append the CFLAGS/CXXFLAGS to the compiler name.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# As a workaround, create custom compilers with CFLAGS/CXXFLAGS baked in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # create directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 0755 ${worksrcpath}/macports_bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # create empty files with the correct permissions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach bin {cc cxx ar} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        close [open ${worksrcpath}/macports_bin/${bin} w 0755]
</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;'>+default configure.pre_args      {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.cmd           {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /bin/echo \\\\#!/bin/bash >> ${worksrcpath}/macports_bin/cc  && echo exec \\\$CC  \\\$CFLAGS   \\\\\"\\\\$@\\\\\" >> ${worksrcpath}/macports_bin/cc  &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /bin/echo \\\\#!/bin/bash >> ${worksrcpath}/macports_bin/cxx && echo exec \\\$CXX \\\$CXXFLAGS \\\\\"\\\\$@\\\\\" >> ${worksrcpath}/macports_bin/cxx &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /bin/echo \\\\#!/bin/bash >> ${worksrcpath}/macports_bin/ar  && echo exec ${janet.compiler.ar} \\\\\"\\\\$@\\\\\" >> ${worksrcpath}/macports_bin/ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.post_args     {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build with jpm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.cmd               {${prefix}/bin/jpm}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.args              {--verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 --offline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 --compiler=${worksrcpath}/macports_bin/cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 --cpp-compiler=${worksrcpath}/macports_bin/cxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 --archiver=${worksrcpath}/macports_bin/ar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.target            {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install with jpm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default destroot.cmd            {${prefix}/bin/jpm}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default destroot.args           {--verbose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 --offline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default destroot.target         {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default destroot.destdir        {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 0755         ${destroot}${prefix}/lib/janet
</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;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${janet.link_bin}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach bin [glob -nocomplain -tails -directory ${destroot}${prefix}/lib/janet/bin *] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s ${prefix}/lib/janet/bin/${bin} ${destroot}${prefix}/bin
</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 janetpg::janet_setup {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.env-append         JANET_PATH=[option destroot][option prefix]/lib/janet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-delete          port:janet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append          port:janet
</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 janetpg::janet_setup
</span></pre><pre style='margin:0'>

</pre>