SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.96k stars 98 forks source link

Make a Homebrew Cask repo for macOS #231

Open kklem0 opened 2 years ago

kklem0 commented 2 years ago

I'm previously building and signing webcord for myself to use. Without a developer license you'll need to sign it by the users themselves to be able to use it, and the homebrew official repo doesn't accept packages that does it. That's why Homebrew Tap is probably the best way for users to install it.

I made a sample that you could just copy over. https://github.com/klem-everywhere/homebrew-tap/blob/main/Casks/webcord.rb

Now I'm telling my friends to install using brew install klem-everywhere/tap/webcord and it works fine.

In longer run maybe auto update the version and checksum in the release script?

SpacingBat3 commented 2 years ago

(...) and the homebrew official repo doesn't accept packages that does it.

I've looked at their docs and I couldn't find any notes about this (at least in case of casks). Maybe it is worth trying to at least create a PR and let them review it?

Make a Homebrew Cask repo for macOS

Personally, I'm against maintaining repositories at all. I prefer pushing stuff at upstream or publish as packages under repositories.

While in this case I could bump the version automatically, I don't want maintain something I barely understand – macOS releases are probably working even worse than unofficially-supported FreeBSD due to how different this OS is from others (at least from the developer's point of view) and I both don't understand all of the concepts in macOS and HomeBrew. I think this is why I shouldn't maintain any cask repo, at least until I will know more about the casks and formulae file format.

kklem0 commented 2 years ago

https://github.com/Homebrew/homebrew-cask/pull/124889

We don't want to add functions to systematically work around security features - however a caveat stanza may be considered.

Apologies, I was mistaken I am seeing the same error on my M1 machine. If you would still like to manage the installation with brew, what I would recommend you do is host the cask in a personal tap, which is very easy to do: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

As I have already explained, manually codesigning is absolutely a decision that should be made by the user and not something that brew should do automatically.

kklem0 commented 2 years ago

Brew PRs with codesign are rejected many times and is the reason why people use homebrew tap. https://github.com/indirect/homebrew-tap

SpacingBat3 commented 2 years ago

@klem-everywhere I've just found out Homebrew provides Electron as a cask, maybe there's a way to package WebCord using it instead like it is done in Arch Linux for instance (probably through a silly idea)? I'm not sure through if default Electron binary is capable of asking for the permissions, but since it can be used for loading the websites with their default app.asar provided and can give a pop-ups for the permissions, at least on Linux, maybe they include a plist for that and WebCord could just use it as well?

stpnwf commented 11 months ago

Really hoping this happens evetually!