Download raw body.
UPDATE: sysutils/exfetch -> 1.5.2.1 (hotfix applied)
På torsdag 19. februar 2026 kl. 01:27, skrev izzy Meyer
<izder456@disroot.org>:
> On Wed, 18 Feb 2026 16:53:39 -0600
> izzy Meyer <izder456@disroot.org> wrote:
>
> > Hello ports@
> >
> > I've been feeling really motivated lately with exfetch and added some
> > new features to it (see changelog below). I want to get this out into
> > the wild as soon as possible, so people can play around and test it on
> > their machines.
> >
> > Here's a simple update to sysutils/exfetch to a tag with these new
> > features.
> >
> > Tested on amd64, works good.
> >
> > I'd like someone to test these new changes before they commit if
> > that's ok.
> >
> > /usr/ports/sysutils/exfetch git:(master+) $ make test
> > ===> Regression tests for exfetch-1.5.2
> > crystal spec --no-color -v -s -t -p --release
> > Parse: 00:00:00.000283360 ( 0.90MB)
> > Semantic (top level): 00:00:01.564889146 ( 124.76MB)
> > Semantic (new): 00:00:00.004672048 ( 124.76MB)
> > Semantic (type declarations): 00:00:00.084020180 ( 124.76MB)
> > Semantic (abstract def check): 00:00:00.045015596 ( 124.76MB)
> > Semantic (restrictions augmenter): 00:00:00.016167933 ( 124.76MB)
> > Semantic (ivars initializers): 00:00:00.933157956 ( 196.82MB)
> > Semantic (cvars initializers): 00:00:00.023979597 ( 196.82MB)
> > Semantic (main): 00:00:00.734872077 ( 228.95MB)
> > Semantic (cleanup): 00:00:00.001088280 ( 228.95MB)
> > Semantic (recursive struct check): 00:00:00.002413409 ( 228.95MB)
> > Codegen (crystal): 00:00:00.943954401 ( 260.95MB)
> > Codegen (bc+obj): 00:00:24.314646013 ( 260.95MB)
> > Codegen (linking): 00:00:00.853759568 ( 260.95MB)
> >
> > Macro runs:
> > -
> > /usr/ports/pobj/exfetch-1.5.2/exfetch/lib/baked_file_system/src/loader.cr:
> > reused previous compilation (00:00:00.023271315)
> >
> > Codegen (bc+obj):
> > - no previous .o files were reused
> > Exfetch::CLI
> > .colorize
> > wraps text in ansi codes
> > handles bright colors
> > .render
> > renders output string
> > Exfetch::Manip
> > .bytes_to_mebibytes
> > converts bytes to mebibytes string
> > .sanitize
> > removes newlines and strips whitespace
> > .has_command?
> > returns true for existing commands
> > returns false for non-existing commands
> > .run_command
> > runs a command and returns output
> > returns empty string on failure
> > .dir_size
> > returns 0 for non-existent dir
> > Exfetch::Options
> > .parse
> > parses default options
> > parses flags
> > parses color argument
> > parses padding
> > Exfetch::Resource
> > .get_short_info
> > returns basic info
> > .get_uptime
> > parses uptime correctly when mocked
> > .get_shell
> > returns shell basename
> > .get_cpu
> > returns cpu info
> >
> > Finished in 13.04 milliseconds
> > 18 examples, 0 failures, 0 errors, 0 pending
> > Execute: 00:00:00.059692262
> >
> > Changelog:
> > * Since(1.5.1)
> >
> > Misc Changes:
> >
> > Optimizations:
> >
> > Bugfixes:
> >
> > New features:
> > - Added -T and --text-only options to disable ansi escape seqences
> > - Added -f LINES and --ascii-offset=LINES options to offset ASCII by
> > LINES
> >
>
> Whoops, caused a bug in the offset code where ascii art would cut off
> if there wasn't a corresponding label on that line. here's a new diff.
> git tag bumped to 1.5.2.1, future versions will return to the X.Y.Z
> format.
>
> --
> iz (she/her)
>
Built/tested on current/amd64.
Privsep:
cd /usr/ports/ && patch -l -p0 -E -C < /tmp/exfetch-1.5.2.1.diff
cd /usr/ports/ && patch -l -p0 -E < /tmp/exfetch-1.5.2.1.diff
cd /usr/ports/sysutils/exfetch/ && make test port-lib-depends-check package clean && make distclean
Root:
pkg_add -Dsnap -Dunsigned -Dinstalled -r /usr/ports/packages/amd64/all/exfetch-1.5.2.1.tgz
Similar test results:
===> Regression tests for exfetch-1.5.2.1
crystal spec --no-color -v -s -t -p --release
Parse: 00:00:00.000249696 ( 0.90MB)
Semantic (top level): 00:00:03.181287012 ( 124.76MB)
Semantic (new): 00:00:00.010537187 ( 124.76MB)
Semantic (type declarations): 00:00:00.184048720 ( 124.76MB)
Semantic (abstract def check): 00:00:00.099397882 ( 124.76MB)
Semantic (restrictions augmenter): 00:00:00.030835207 ( 124.76MB)
Semantic (ivars initializers): 00:00:02.233727501 ( 196.82MB)
Semantic (cvars initializers): 00:00:00.051189535 ( 196.82MB)
Semantic (main): 00:00:01.597324633 ( 228.95MB)
Semantic (cleanup): 00:00:00.001923711 ( 228.95MB)
Semantic (recursive struct check): 00:00:00.003730279 ( 228.95MB)
Codegen (crystal): 00:00:02.462580456 ( 260.95MB)
Codegen (bc+obj): 00:01:02.184063410 ( 260.95MB)
Codegen (linking): 00:00:03.399505073 ( 260.95MB)
Macro runs:
- /usr/ports/pobj/exfetch-1.5.2.1/exfetch/lib/baked_file_system/src/loader.cr: reused previous compilation (00:00:00.045573037)
Codegen (bc+obj):
- no previous .o files were reused
Exfetch::CLI
.colorize
wraps text in ansi codes
handles bright colors
.render
renders output string
Exfetch::Manip
.bytes_to_mebibytes
converts bytes to mebibytes string
.sanitize
removes newlines and strips whitespace
.has_command?
returns true for existing commands
returns false for non-existing commands
.run_command
runs a command and returns output
returns empty string on failure
.dir_size
returns 0 for non-existent dir
Exfetch::Options
.parse
parses default options
parses flags
parses color argument
parses padding
Exfetch::Resource
.get_short_info
returns basic info
.get_uptime
parses uptime correctly when mocked
.get_shell
returns shell basename
.get_cpu
returns cpu info
Finished in 33.99 milliseconds
18 examples, 0 failures, 0 errors, 0 pending
Execute: 00:00:00.088122991
--
Built fine, no complaints from port-lib-depends-check.
Ran well in foot on sway.
Hope this helps and that you have a good day.
--
yaydn
> > i like to say mundane things,
> > there are too many uninteresting things
> > that go unnoticed.
>
> izder456 (dot) neocities (dot) org
>
UPDATE: sysutils/exfetch -> 1.5.2.1 (hotfix applied)