<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slosh.git/contrib/homebrew/README.md, branch master</title>
<subtitle>an opinionated terminal multiplexer in C with programmable pane chrome</subtitle>
<id>https://git.sl0p.foo/slosh.git/atom/contrib/homebrew/README.md?h=master</id>
<link rel='self' href='https://git.sl0p.foo/slosh.git/atom/contrib/homebrew/README.md?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/'/>
<updated>2026-09-02T12:07:37Z</updated>
<entry>
<title>public links: point at github.com/sl0p-foo/slosh instead of cgit</title>
<updated>2026-09-02T12:07:37Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T12:07:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=597135f7851e83e31d99fc9c97fbb087c3df4fce'/>
<id>urn:sha1:597135f7851e83e31d99fc9c97fbb087c3df4fce</id>
<content type='text'>
GitHub is the public interaction point now. The formula and PKGBUILD
fetch GitHub's /archive/ tarballs (same git-archive bytes, per-ref
stable); the PKGBUILD is bumped to 0.1.2 while at it, and its cd's
drop the v -- GitHub tag archives extract to slosh-X.Y.Z/. The cgit
remote stays for pushing; only published URLs change.
</content>
</entry>
<entry>
<title>point homebrew tap at github.com/sl0p-foo/homebrew-slosh</title>
<updated>2026-09-02T10:59:01Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-09-02T10:59:01Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=0a8583f586dc03cdba8c7fe4c3e4130314a1ddc9'/>
<id>urn:sha1:0a8583f586dc03cdba8c7fe4c3e4130314a1ddc9</id>
<content type='text'>
brew auto-resolves GitHub taps, so the explicit URL is no longer
needed: 'brew tap sl0p-foo/slosh' is all users type.
</content>
</entry>
<entry>
<title>brew-release: cut a release from the Linux box it is cut from</title>
<updated>2026-08-26T21:37:41Z</updated>
<author>
<name>Peter Geissler</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-26T21:37:41Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=626af41b693aa98cd7d86cabd7c6f1a94d01ec41'/>
<id>urn:sha1:626af41b693aa98cd7d86cabd7c6f1a94d01ec41</id>
<content type='text'>
Nothing about updating the formula needs a mac or needs brew -- it
resolves a ref, fetches a tarball, hashes it, rewrites three stanzas.
But it hashed with `shasum`, which is perl's and only usually present
on Linux, where `sha256sum` is coreutils and always is. Take whichever
exists, as macos-remote-build already did.

The version count no longer falls back to 0 when the commit is not in
this clone. `0.1.0-0-&lt;short&gt;` is older than every version published, so
a release cut from a clone that had not fetched yet would have looked
like a downgrade and never installed; say so and stop instead.

Also written down: why the formula builds from source rather than
shipping the notarized zip the mac builder makes -- brew's curl sets no
quarantine attribute, so notarization gains a formula nothing, and the
build is a minute with zig as its only dependency. If that ever changes
the answer is bottles, which are additive and cost a per-macOS-version
matrix, not a cask.
</content>
</entry>
<entry>
<title>homebrew: a formula, and a script that keeps it honest</title>
<updated>2026-08-26T21:30:58Z</updated>
<author>
<name>Peter Geissler</name>
<email>peter@haxx.in</email>
</author>
<published>2026-08-26T21:29:54Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/slosh.git/commit/?id=91526fe1f3482f610b38caa214a91f78564f7d50'/>
<id>urn:sha1:91526fe1f3482f610b38caa214a91f78564f7d50</id>
<content type='text'>
`brew install slosh` is the shortest install there is, and the formula is
small because `make install` already does the work: zig as the only build
dependency, both zig caches redirected into the build directory so the
sandbox does not deny them and the user's real cache is not polluted, and
the commit id handed to the Makefile because a snapshot tarball has no
.git for `git describe` to read.

The url/version/sha256 triple is the part that rots. contrib/brew-release
resolves a ref to a full commit id, fetches the cgit snapshot, hashes what
it actually got, and rewrites those three stanzas -- it does not commit or
push, so the diff is read by a human first. Untagged pins carry the commit
count so `brew upgrade` can tell newer from older; alphabetical comparison
of two short ids cannot.

The formula lives here as the source of truth and is copied into the tap;
contrib/homebrew/README.md says why it is a formula and not a cask, and
what still stands between this and homebrew-core.
</content>
</entry>
</feed>
