<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/c9d43d56b90a7a10090ca07d92052b7196e986c8">https://github.com/macports/macports-ports/commit/c9d43d56b90a7a10090ca07d92052b7196e986c8</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 c9d43d56b90 vlang: switch to weekly build
</span>c9d43d56b90 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c9d43d56b90a7a10090ca07d92052b7196e986c8
</span>Author: harens <12570877+harens@users.noreply.github.com>
AuthorDate: Wed Mar 30 15:45:34 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    vlang: switch to weekly build
</span>---
 lang/vlang/Portfile                      | 85 ++++++++++++++++++--------------
 lang/vlang/files/patch-tmp-location.diff | 20 ++++++++
 2 files changed, 67 insertions(+), 38 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/vlang/Portfile b/lang/vlang/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5b45bdb62aa..fbb58581240 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/vlang/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/vlang/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,24 +2,34 @@
</span> 
 PortSystem          1.0
 PortGroup           github 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           legacysupport 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        vlang v 0.2.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name                vlang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clock_gettime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        vlang v weekly.2022.13
</span> github.tarball_from archive
 revision            0
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+name                vlang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Remove weekly from version number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             [string range ${version} 7 end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description         Simple, fast, safe, compiled language for developing maintainable software
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    {*}${description}. Compiles itself in <1s with zero library dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}. Compiles itself in <1s with zero library dependencies. This port \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    provides weekly builds of Vlang.
</span> 
 license             MIT
 categories          lang
 maintainers         {harens @harens} openmaintainer
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set main_distfile   ${distfiles}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fix location of temporary directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-tmp-location.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Install the compiler for vlang as a separate distfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install the V compiler as a separate distfile.
</span> # Based on https://github.com/macports/macports-ports/blob/master/games/minetest/Portfile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set vc_commit       fd5f57740ff6d7a8566b774318df54c2fa460f92
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set vc_commit       de63146da0a0f93628f8a65e70267e2c8d4c7ce1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set main_distfile   ${distfiles}
</span> set vc_distfile     ${vc_commit}${extract.suffix}
 set vc_mastersite   https://github.com/vlang/vc/archive
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,23 +40,34 @@ master_sites        ${github.master_sites}:main \
</span>                     ${vc_mastersite}:vc
 
 checksums           ${main_distfile} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  36c9549425ebec8cd11fc22617e1453fd618053c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  8cdbc32fb928051ce7959dd943af3efee26bddc4ed3700a1cb365be73a306bf9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    3502493 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  22933b810c1445643d18430c99803a0210be2e19 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  5df66008b01de13d02da9f8f0ed47438e1ce01e82543738a33a7dcc65240aa37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    4078460 \
</span>                     ${vc_distfile} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  abb6cba7c973bae25328b3faefa77075967aec00 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  f6896513cec7e065ae438fd098b8b13c08ee73eb3915578f703116ce98f72b3a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1284143
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  2dc5fc11de6b9b265095d26e6cc08f4a5b5c5c73 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  db89d158a721ef1f37be2865f273e9a017e5f1c69be0ed60830a4c625e73b0b2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1353099
</span> 
 compiler.c_standard 2011
 use_configure       no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span>     # Disable vlang self update feature.
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    set updating_path ${worksrcpath}/cmd/tools
</span>     copy -force ${filespath}/vup.v ${worksrcpath}/cmd/tools
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    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:#ffe0e0;'>-    system -W ${worksrcpath} "./v -cflags ${configure.cflags} -cc ${configure.cc} -prod self"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch tmp directory, which is required during buildtime and runtime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@WORKPATH@@|${workpath}|g" ${worksrcpath}/vlib/v/util/util.v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/vlib/v/util/util.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;'>+# Build process based on https://github.com/vlang/v/blob/master/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set VFLAGS "-cc ${configure.cc} -cflags ${configure.cflags}"
</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} -I ./thirdparty/stdatomic/nix -o v1 ../vc-${vc_commit}/v.c -lm -lpthread ${configure.ldflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "./v1 -no-parallel -o v2 ${VFLAGS} cmd/v"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath} "./v2 -o v ${VFLAGS} cmd/v"
</span> }
 
 destroot {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,37 +88,25 @@ destroot {
</span>     # Allow running Vlang to those in the _developer group, rather than running sudo each time.
     # See https://github.com/vlang/v/issues/10324
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        chgrp -R _developer ${library_path}/cmd/tools;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        chmod -R g+w ${library_path}/cmd/tools;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Majority of subcommands only require ${library_path}/cmd/tools to be writable but v self requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # all of ${library_path}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# 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:#ffe0e0;'>-# Assume MacPorts creates /tmp/v, and so make it writable to the _developer group
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# 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:#ffe0e0;'>-post-activate {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists /tmp/v]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir /tmp/v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse item ${library_path} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file attributes ${item} -group _developer -permissions g+w
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        chgrp -R _developer /tmp/v;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        chmod -R g+w /tmp/v;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Manually create a tmp directory, and set writable permissions
</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;'>+    set tmp_dir ${prefix}/var/run/vlang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file mkdir ${tmp_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file attributes ${tmp_dir} -group _developer -permissions g+w
</span> }
 
 # Based on various Android ports - don't make files world-writable.
 # e.g. https://github.com/macports/macports-ports/blob/master/java/android/Portfile
 notes "
<span style='display:block; white-space:pre;background:#ffe0e0;'>-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;'>+The Vlang library and cache directories are group _developer writable. You need to be a member of the
</span> _developer group to use Vlang. If you are not, run:
 
 sudo dscl . append /Groups/_developer GroupMembership <username>
 "
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# GitHub releases and tags are filled up with weekly releases
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Stable release is many pages later, so MacPorts can't find it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fetch directly from version file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       https://raw.githubusercontent.com/vlang/v/master/v.mod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Ignore dots just by themselves - and remove apostraphes from version number
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex {([0-9]+.[0-9.]+)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/vlang/files/patch-tmp-location.diff b/lang/vlang/files/patch-tmp-location.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b7ab250b3b2
</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/patch-tmp-location.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- vlib/v/util/util.v.original    2022-03-30 13:33:55.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ vlib/v/util/util.v     2022-03-30 13:33:33.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -467,14 +467,9 @@
</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;'>+ pub fn get_vtmp_folder() string {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  mut vtmp := os.getenv('VTMP')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if vtmp.len > 0 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          return vtmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  uid := os.getuid()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  vtmp = os.join_path_single(os.temp_dir(), 'v_$uid')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if !os.exists(vtmp) || !os.is_dir(vtmp) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          os.mkdir_all(vtmp) or { panic(err) }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  mut vtmp := '@@WORKPATH@@'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if !os.exists(vtmp) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          vtmp = '@@PREFIX@@/var/run/vlang'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   os.setenv('VTMP', vtmp, true)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return vtmp
</span></pre><pre style='margin:0'>

</pre>