<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/716e22839ba46f3bcaf594403fa7fbf0bfe03839">https://github.com/macports/macports-ports/commit/716e22839ba46f3bcaf594403fa7fbf0bfe03839</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 716e228  jtc: new port
</span>716e228 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 716e22839ba46f3bcaf594403fa7fbf0bfe03839
</span>Author: Herby Gillot <herby.gillot@gmail.com>
AuthorDate: Wed Oct 9 09:45:47 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    jtc: new port
</span>---
 textproc/jtc/Portfile                       | 47 +++++++++++++++++++++++++++++
 textproc/jtc/files/patch-json-hpp.diff      | 20 ++++++++++++
 textproc/jtc/files/patch-jtc-cpp.diff       | 11 +++++++
 textproc/jtc/files/patch-streamstr-hpp.diff | 11 +++++++
 4 files changed, 89 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/jtc/Portfile b/textproc/jtc/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7e7c29a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/jtc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</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        ldn-softdev jtc 1.74
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          textproc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {gmail.com:herby.gillot @herbygillot} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         cli tool to extract, manipulate and transform source JSON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    jtc stand for: JSON test console, but it's a legacy name, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    don't get misled. jtc offers a powerful way to select one \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    or multiple elements from a source JSON and apply various \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    actions on the selected elements at once (wrap selected \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    elements into a new JSON, filter in/out, update elements, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    insert new elements, remove, copy, move, compare, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    transform and swap around).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  84ec627b6b0b34ab68bbac9cbf126949e18c7538 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  25a6da6d6d647f900a77d8271444015a62bee7ddef3140612e511312944d454c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    171694
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+installs_libs       no
</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;'>+patchfiles          patch-jtc-cpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-json-hpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-streamstr-hpp.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd           ${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          -o jtc -Wall -std=c++14 -Ofast
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target        jtc.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set jtc_doc_dir     ${prefix}/share/doc/${name}
</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 755 ${worksrcpath}/jtc ${destroot}${prefix}/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${jtc_doc_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 644 "${worksrcpath}/User Guide.md" ${destroot}${jtc_doc_dir}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 644 "${worksrcpath}/Walk-path tutorial.md" ${destroot}${jtc_doc_dir}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/jtc/files/patch-json-hpp.diff b/textproc/jtc/files/patch-json-hpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c1e794e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/jtc/files/patch-json-hpp.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;'>+--- lib/Json.hpp.orig      2019-10-10 13:05:56.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/Json.hpp   2019-10-10 13:05:51.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3723,7 +3723,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool Json::iterator::is_original_(const Jnode & jn, const WalkStep &ws) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  // match first-seen jsons: keep track of matched jsons in the namespaces
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- static const Jnode not_original;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static const Jnode not_original{};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  std::string prefix = ws.stripped.front() + "\n";               // prevent clashing with user's NS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if(json().ojn_ptr_ == nullptr) {                               // first time, prepare
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3748,7 +3748,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool Json::iterator::is_duplicate_(const Jnode & jn, const WalkStep &ws) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  // match duplicate jsons: keep track of matched jsons in the namespaces
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- static const Jnode original;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static const Jnode original{};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  std::string prefix = ws.stripped.front() + "\n";               // prevent clashing with user's NS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  if(json().djn_ptr_ == nullptr) {                               // first time, prepare
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/jtc/files/patch-jtc-cpp.diff b/textproc/jtc/files/patch-jtc-cpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4c2bc0c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/jtc/files/patch-jtc-cpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- jtc.cpp.orig   2019-10-09 15:05:46.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ jtc.cpp        2019-10-10 09:22:38.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -239,7 +239,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                             opt_[CHR(OPT_TMP)].hits() == opt_[CHR(OPT_WLK)].hits();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          // ready jinp_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          jinp_.tab(opt_[CHR(OPT_IND)].hits() > 0 or not opt_[CHR(OPT_RAW)]?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                    abs(opt_[CHR(OPT_IND)]): 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    abs(static_cast<int>(opt_[CHR(OPT_IND)].hits())): 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               .raw(opt_[CHR(OPT_RAW)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               .quote_solidus(opt_[CHR(OPT_QUT)].hits() % 2 == 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/jtc/files/patch-streamstr-hpp.diff b/textproc/jtc/files/patch-streamstr-hpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..776dc96
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/jtc/files/patch-streamstr-hpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./lib/Streamstr.hpp.orig       2019-10-09 15:09:01.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./lib/Streamstr.hpp    2019-10-09 15:08:53.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,7 +42,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              size_t offset = len <= cur_? hb_.size(): cur_ + hb_.size() - len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              std::string s(&hb_[offset], hb_.size() - offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              offset = len <= cur_? cur_ - len: 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                             s += {&hb_[offset], cur_ - offset};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                             s += std::string{&hb_[offset], cur_ - offset};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                              return s;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                             }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         const char &        chr(size_t offset = 0) const {
</span></pre><pre style='margin:0'>

</pre>