Releases: 4thel00z/metalbrew
v0.2.1 β cask exec-bit fix
Fix
.zip casks were installed without the executable bit, because std.zip does not preserve Unix file modes. This broke:
binarycasks (e.g.ngrok) βpermission deniedwhen run..appcasks distributed as.zipβ the bundle's Mach-O executable was non-runnable, so the app wouldn't launch.
metalbrew now restores the executable bit at install time: binary artifacts are placed executable, and an app bundle's Contents/MacOS/* is made executable after the bundle is copied. .dmg and .tar.gz casks were unaffected (their modes were already preserved) and behave the same.
The end-to-end CI now installs real casks across every no-sudo path (.zip+app, .dmg+app, .zip+binary) and asserts an executable survives in each β plus runs the installed ngrok binary.
Upgrade from v0.2.0 recommended for anyone using metalbrew cask.
v0.2.0 β Homebrew cask support
Casks
metalbrew can now install macOS apps and vendor binaries from Homebrew's cask index β no Ruby, no sudo by default, self-contained under the metalbrew prefix.
metalbrew cask install rectangle # .dmg app -> ~/Applications
metalbrew cask install iterm2 # .zip app -> ~/Applications
metalbrew cask install ngrok # binary -> <prefix>/bin
metalbrew cask uninstall <token> # reverses placement + runs zap/uninstall directives
metalbrew cask info / list / upgradeSupported artifacts
.zipand raw.appbundles β~/Applicationsbinaryβ copied into the Caskroom and symlinked into<prefix>/bin.tar.gz.dmgβ mounted viahdiutil, app copied out, detached.pkgβ only with--allow-sudo/METALBREW_ALLOW_SUDO(runs Apple'sinstaller)
Details
- Downloads stage under
<prefix>/Caskroom/<token>/<version>/; apps land in~/Applications. - Uninstall honors cask
uninstall/zapdirectives (delete,trash,quit,pkgutil,launchctl). com.apple.quarantineis intentionally kept β Gatekeeper still vets apps on first launch.sha256 :no_checkcasks download with a printed warning; checksummed casks are verified as before.- New end-to-end CI matrix installs real casks across every no-sudo path and verifies uninstall.
Built on a clean hexagonal seam (new Runner subprocess port); the formula install path is unchanged.
v0.1.0
metalbrew v0.1.0