Brew: `brew cask` not supported: should be reflected in search & command-outputs, or implement

Created on 23 Oct 2017  ·  9Comments  ·  Source: Linuxbrew/brew

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.

question

All 9 comments

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:

  1. Should the tap respository be named "homebrew-something" or "linuxbrew-something"?
  2. Is Homebrew Cask just an ordinary tap that happens to be official, or is there anything "special" about it?

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.

  1. homebrew-something
  2. Homebrew Cask is special, but this AppImage tap need not be special. It can be a normal tap. It's particularly straight forward because it doesn't need bottling.

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.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jwhite007 picture jwhite007  ·  5Comments

zkanda picture zkanda  ·  5Comments

nnmrts picture nnmrts  ·  5Comments

randy3k picture randy3k  ·  6Comments

iMichka picture iMichka  ·  6Comments