<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/0e3cdd414bd67273d9bddc59e7bb7d1475289c84">https://github.com/macports/macports-ports/commit/0e3cdd414bd67273d9bddc59e7bb7d1475289c84</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 0e3cdd414bd vlang: new port
</span>0e3cdd414bd is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0e3cdd414bd67273d9bddc59e7bb7d1475289c84
</span>Author: harens <12570877+harens@users.noreply.github.com>
AuthorDate: Wed Mar 30 11:49:10 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    vlang: new port
</span>---
 lang/vlang/Portfile    | 103 +++++++++++++++++++++++++++++++++++++++++++++++++
 lang/vlang/files/vup.v |   4 ++
 2 files changed, 107 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/vlang/Portfile b/lang/vlang/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5b45bdb62aa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/vlang/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,103 @@
</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;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        vlang v 0.2.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                vlang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Simple, fast, safe, compiled language for developing maintainable software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}. Compiles itself in <1s with zero library dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          lang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {harens @harens} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set main_distfile   ${distfiles}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install the compiler for vlang as a separate distfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Based on https://github.com/macports/macports-ports/blob/master/games/minetest/Portfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set vc_commit       fd5f57740ff6d7a8566b774318df54c2fa460f92
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set vc_distfile     ${vc_commit}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set vc_mastersite   https://github.com/vlang/vc/archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles           ${main_distfile}:main \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${vc_distfile}:vc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ${github.master_sites}:main \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${vc_mastersite}:vc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${main_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  36c9549425ebec8cd11fc22617e1453fd618053c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  8cdbc32fb928051ce7959dd943af3efee26bddc4ed3700a1cb365be73a306bf9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    3502493 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${vc_distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  abb6cba7c973bae25328b3faefa77075967aec00 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  f6896513cec7e065ae438fd098b8b13c08ee73eb3915578f703116ce98f72b3a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1284143
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.c_standard 2011
</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;'>+build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Disable vlang self update feature.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy -force ${filespath}/vup.v ${worksrcpath}/cmd/tools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "${configure.cc} ${configure.cflags} -v -o v ../vc-${vc_commit}/v.c -lm ${configure.ldflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "./v -cflags ${configure.cflags} -cc ${configure.cc} -prod self"
</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;'>+    set library_path ${destroot}${prefix}/lib/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set examples_path ${destroot}${prefix}/share/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${examples_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    move ${worksrcpath}/examples ${examples_path}/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${library_path}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f {cmd thirdparty v v.mod vlib} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${worksrcpath}/${f} ${library_path}/${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;'>+    ln -s ${prefix}/lib/${name}/v ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Vlang compiles the subcommands in the tools dir on first runtime usage (e.g. v doctor).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Allow running Vlang to those in the _developer group, rather than running sudo each time.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See https://github.com/vlang/v/issues/10324
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        chgrp -R _developer ${library_path}/cmd/tools;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        chmod -R g+w ${library_path}/cmd/tools;
</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;'>+# If /tmp/v exists, build fails if it isn't writable. Also fails at runtime if it isn't writable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Assume MacPorts creates /tmp/v, and so make it writable to the _developer group
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See https://github.com/vlang/v/issues/7713 and https://github.com/vlang/v/discussions/11796
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists /tmp/v]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir /tmp/v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        chgrp -R _developer /tmp/v;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        chmod -R g+w /tmp/v;
</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;'>+# Based on various Android ports - don't make files world-writable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# e.g. https://github.com/macports/macports-ports/blob/master/java/android/Portfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The Vlang tools and cache directory are group _developer writable. You need to be a member of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+_developer group to use Vlang. If you are not, run:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sudo dscl . append /Groups/_developer GroupMembership <username>
</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;'>+# GitHub releases and tags are filled up with weekly releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Stable release is many pages later, so MacPorts can't find it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fetch directly from version file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url       https://raw.githubusercontent.com/vlang/v/master/v.mod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Ignore dots just by themselves - and remove apostraphes from version number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex {([0-9]+.[0-9.]+)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/vlang/files/vup.v b/lang/vlang/files/vup.v
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e9600021849
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/vlang/files/vup.v
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fn main(){
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   println('This v installation is provided by MacPorts. To update, please run:')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   println('sudo port selfupdate && sudo port upgrade vlang')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>