<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/abd21193b73388c7a4066a317be7d00355497938">https://github.com/macports/macports-ports/commit/abd21193b73388c7a4066a317be7d00355497938</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 abd21193b73 nerdlog: new port
</span>abd21193b73 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit abd21193b73388c7a4066a317be7d00355497938
</span>Author: Herby Gillot <herby.gillot@gmail.com>
AuthorDate: Tue Apr 22 18:43:44 2025 -0400
<span style='display:block; white-space:pre;color:#404040;'> nerdlog: new port
</span>---
sysutils/nerdlog/Portfile | 183 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 183 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/nerdlog/Portfile b/sysutils/nerdlog/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7f986bbaafe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/nerdlog/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,183 @@
</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 golang 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go.setup github.com/dimonomid/nerdlog 1.0.0 v
</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 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fast, remote-first, multi-host TUI log viewer with timeline histogram and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no central server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Nerdlog is a fast, remote-first, multi-host TUI log viewer with timeline \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ histogram and no central server. Loosely inspired by Graylog\/Kibana, but \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ without the bloat. Pretty much no setup needed, either. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It\'s laser-focused on being efficient while querying logs from multiple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ remote machines simultaneously, filtering them by time range and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patterns, while also drawing a timeline histogram for quick visual \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ insight. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Primary use case: reading system logs \(\/var\/log\/messages or \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \/var\/log\/syslog\) from one or more remote hosts. Very efficient even on \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ large log files \(like 1GB or more\). \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It does support some other log formats and can use any log files, but \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ that was the primary use case which was driving the implementation\: \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ we were having our web service backend running as systemd services on a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bunch of Linux instances, printing a lot of logs, and wanted to be able \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to read these logs efficiently and having the timeline histogram, much \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ like tools like Graylog have.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories sysutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+installs_libs no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {gmail.com:herby.gillot @herbygillot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append port:gawk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append -o ./bin/${name} ./cmd/${name}-tui
</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 ${worksrcpath}/bin/${name} ${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;'>+checksums ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 f01c69311854f55ff89973f6fdf53908f7a1cb1a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 ab47024ebf29b54953d2a4dc36b3e023859b966e715bc9b3a4b7a74d5fde7577 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1904250
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go.vendors gopkg.in/yaml.v3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 9f266ea9e77c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 06dca2ede07b2f31c515b4711fbebc1d5359b5e4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e70dd42fb30b7b2d0129c5cdf0e079caaf5602cab24081fdac830ec01204fa59 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 86890 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gopkg.in/yaml.v2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v2.4.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 66e9feb7944b3804efa63155ed9b618717b8955c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 72812077e7f20278003de6ab0d85053d89131d64c443f39115a022114fd032b6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 73231 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gopkg.in/check.v1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 10cb98267c6c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 465dcadb97762c84da6fb5f6d8352abe10445817 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 98ec7bd0dc7d4bcee7dcafe02efab29f14dc392f43b227e517beef064e9b6369 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 32368 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/text \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.3.6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e3da48fcc60d98e202458228188bf6dac408e309 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6b2d69df22b5ba1634bc6730c3f03404db499536a96c48b8016da80ced804450 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8356058 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/term \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 6a3ed077a48d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 70cf9c03ab862602ae15f36ee345a3c2e4bb5e79 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 ad1877cf717f2e4eea36e467b68f20b8e0a483b012f2279455c1b0975096671c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 15340 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/sys \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 665e8c7367d1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e589d28cc611e16701a8f1f789f067ff5a9cdf50 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9d525e47bd3f6990ab81dcba618521d2191a3dc12267457aa099c6cbb8de71a1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1200464 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/mobile \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 34ab1303b554 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fbc58b4d12bdfa0cd874223faca91f5505be5262 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7cc3448318880e3d6620d3fe4688d9a0a54d4f0aa9f2177c430210f057c0c7f5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1207339 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/image \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 6944b10bf410 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 257df0ca12da55292d215d039f07863b89969996 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 608a3bb3dd8913261c05c67159b8e490708c3c047f4c2c8ee2bb76251aac245f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 4903220 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/exp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock ec7cb31e5a56 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 32884e696aa5fe73badc19778663f40c6a97a792 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a17ab5af0b893319ab4e8e0ed8b2ba95224037595aa78767d2b43fecff0d485f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1487109 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/crypto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 2c7772ba3064 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 9671bc622ca14c12a0eb984d969060af300c5492 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 62c5620e79d9d3d060d841e9d2d4af17d50037f75f3bec0d8b56427fdae4e077 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1630592 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.design/x/clipboard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo github.com/golang-design/clipboard \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.6.2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 dc08b16dd77c6cf621eebac77371931dcb1e611a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 54c3e462310b43741aad403f5204af5ef36db1b99eb95e0fcfd1ab084e335da7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 748246 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/stretchr/testify \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.7.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 9e07f7d6890b8598706260ece5db26a7b12b5b2a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 27cabaf81344157a188083266cf8ccc19d04c43d9a34b6276b760514b9c880a3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 94020 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/spf13/pflag \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.0.5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2ce81608a38c6f383a35bccd24d64361df5828c9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7f41acdcba65b1fab5b9b633947a139f9915b60f94bdab486cdbe9d90c54f61e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 50815 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/rivo/uniseg \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 33577def583aa2db50b69ca601e5d29ab201ebc4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2832965221246272462a03ffc8e159c94d8f534827f660f1ac4fc77e5ccd644c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 44037 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/rivo/tview \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 9994674d60a8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2ceea4d451fc41b820128c0e878723ff24d79c3f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a04935c60c78b2ddd1901e8fd0d08988693124531447767e227eb6f5230f04ec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2933351 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/pmezard/go-difflib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.0.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fc879bfbdef9e3ff50844def58404e2b5a613ab8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7cd492737641847266115f3060489a67f63581e521a8ec51efbc280c33fc991f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 11409 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/mattn/go-runewidth \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.0.13 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e177edb4dc4702ae2b23704934ff31cc6561bbd0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 dcd3ccbd956a6f53bc106b79489d0303a237c21d858d23250e3e1d7284b72b86 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 17363 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/lucasb-eyer/go-colorful \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 a4183d0625e6c94474942cdc544c1061d35c4e34 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 fbad1aade4444bf51409f5b6a008cc14c7a7cdd1af856841fc1170605fae3914 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 970841 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/kr/text \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 48558c7e8ff67d510f83c66883907e95f4783163 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2f2e21ac8a9d523e88cbba4039441defc4a66bfaa78811c900a88fcf28729c4c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8702 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/kr/pretty \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.2.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 eaf5b58a46b962079cbafddbc3ef83bdbf02b31e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 253c4a190c9337800e08aba66b77ea3db0835e3ae61289d80093995a649eb7ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8769 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/kevinburke/ssh_config \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e78b94adc76e62669ba18a035e00a82522589503 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 310397a3642b93ef18f6e081e3cdb8c4e9843562fc0bea94e434b618b811fb9a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 20596 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/juju/errors \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock d8c5072c94ab \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 236fb995fa58a550bb34182f34cefac69427a40d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 64cd7eb4d1065e48840bd348ba0e42c690871a6c56fc721edc752febe6f6f24a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 19394 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/gobwas/glob \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.2.3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 1f472cf991498a8091446eb788fe85e0c5403185 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2de3694ee0ff41a96b66f9aa3eec51048e620cdd09acc8685f18c3abcd6e14ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 25971 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/gdamore/tcell \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock f057f0a857a1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 6707c535ddefee936c98d3c549e37fe99d66ac3f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c74b2663ae99b84fafa560e8264d2daf6d29c2b559645b91920521d1ff37ad13 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 156005 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/gdamore/encoding \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.0.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 3ed8916f763a5b51db1bcc8bd3ad06cf3d12ec07 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 4f470c7308790bea8a526ea26cecbaa22345aad8dc566821cda6175b3d241ee1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 10900 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/davecgh/go-spew \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 0303eae19a01f38fe314921fd965e4d09b9ef3ad \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 810a597004388d68bb92d8aa612375419ba1080dd5fc2c66dd41b58f0ba4442c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 42348
</span></pre><pre style='margin:0'>
</pre>