brew cask * should return something like "Casks are not (yet) supported for linuxbrew", and searches should only return results relevant to Linuxbrew, and not those relevant to Homebrew.
Alternative: implement casks, create and support parallel binary packages for ...some or many (would this be a hairy part)... linux distributions.
What would be required for that (implementing cask)?
Should it be part of an effort to depend on Homebrew/brew in a more modular, isolated, or configuration-based way?
Binary installs for slow or difficult to compile projects is useful for any user who like the convenience of brew but comes across projects which are distributed in binary format (or, possibly, projects with very tight versioning...like Mac Brew recommendations to use cask for GUI applications). Interest is proven by the existence of the feature in Mac Brew, and the existence of this port.
I think some devs are already working on this upstream: https://github.com/Homebrew/brew/pull/3325
❯❯❯ brew cask install foo
Error: Homebrew Cask is only supported on macOS
Are you seeing something different?
The equivalent project on Linux is Snappy.
https://snapcraft.io
https://www.ubuntu.com/desktop/snappy
Consider installing Linuxbrew in /home/linuxbrew/.linuxbrew/ if possible so that you can use precompiled binary packages (known as bottles) for non-relocatable formula like util-linux.
Another possible workaround for you is brew install --force-bottle util-linux, but no promises.
There are not only snaps, but also flatpak: https://flatpak.org/
And both of those already have package managers, but there is a third format that does not currently have a package manager: AppImage - https://appimage.org/
__AppImages are the closest equivalent to .app and .dmg on Linux, so they would be the perfect match for Linuxbrew!__
AppImages work on all Linux distributions and do not require root permission to be installed on a per-user basis. In fact, they are fully portable and do not require any kind of installation at all, hence the lack of a package manager. A package manager would still be useful though, simply to automate the process of navigating to the application's upstream website, downloading it, checking the hash, making it executable, and adding a shim in the user's $PATH - in short all the functionallity that Homebrew Cask provides.
(cc. @probonopd, @TheAssassin)
Sounds like a good fit. You can create a custom to tap to house your favourite AppImage apps.
See https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap
and https://docs.brew.sh/Taps
Let me know if you have any questions!
In case it is helpful to someone, AppImageHub has a feed of projects that have AppImages, but we do not keep track of versions.
https://appimage.github.io/feed.json
Let me know if something else is needed.
@sjackman, thanks! Questions:
Ideally the AppImage tap would be integrated into Homebrew Cask, just as Linuxbrew itself is becoming part of Homebrew. I don't have time to do this, nor do I have time to maintain a separate tap for Linux apps. However, I would be happy to create an example tap containing one AppImage app that would work as a demonstration for somebody else to do the above integrations.
homebrew-somethingI don't have time to do this, nor do I have time to maintain a separate tap for Linux apps. However, I would be happy to create an example tap containing one AppImage app that would work as a demonstration for somebody else to do the above integrations.
A proof-of-concept demonstration would be interesting. A bigger-scale project to create a tap for many formulae would require someone interested in championing the effort.
I think that if such a project would exist for a year at least, with a stable user base, and at least two maintainers, we would consider making it part of the project. But unless a team steps up and does the thing, there will not be much support from us, as we are busy enough running linuxbrew.