Skip to content
This repository has been archived by the owner on Jun 17, 2021. It is now read-only.

add to homebrew? #259

Open
stevemao opened this issue Sep 21, 2018 · 19 comments
Open

add to homebrew? #259

stevemao opened this issue Sep 21, 2018 · 19 comments
Labels
Discussion Something to discuss long-term vision This will not be worked on for a while

Comments

@stevemao
Copy link

It would be great if we could just do

brew cask install guppy

to install guppy

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

@joshwcomeau
Copy link
Owner

joshwcomeau commented Sep 22, 2018

Hi @stevemao!

I like this idea, but I think it has limited potential, at least for now. Guppy's primary audience is folks who haven't yet learned how to use the terminal, so it's unlikely they're familiar with Homebrew. Plus, I'm guessing Windows is our most popular platform at the moment (although we don't actually know).

I think it's still a nice-to-have, especially once we're really taking advantage of the GUI and not just replicating what already exists in a CLI. In a year or two I think Guppy will be a great tool for experienced devs as well. But in the meantime, I'm not sure that it's worth the trouble (especially if there's an ongoing maintenance cost, to add new versions to brew. I'm unfamiliar with how it works).

@joshwcomeau joshwcomeau added Discussion Something to discuss long-term vision This will not be worked on for a while labels Sep 22, 2018
@stevemao
Copy link
Author

Thanks. That makes sense. Personally I don't usually download binary manually and an app manager like homebrew is nice. It just centralises the management of all my apps. Feel free to close this 😄

@joshwcomeau
Copy link
Owner

For sure, totally understandable!

Gonna close it just to keep things tidy, but I do expect us to revisit this in the future.

@muescha
Copy link

muescha commented Apr 4, 2019

also a +1 from me for brew cask install guppy

i see anywhere the recommendation to install apps and also node via homebrew

this is a better experience for newbees then the manual install of guppy

@muescha
Copy link

muescha commented Apr 4, 2019

for a GUI for brew casks the user can use cakebrew ;)

@muescha
Copy link

muescha commented Apr 4, 2019

best if that url not changes:
https://github.com/joshwcomeau/guppy/releases/download/v{version}/Guppy-{version}.dmg

example of an cask file:

https://github.com/Homebrew/homebrew-cask/blob/4184d50d2d7fa4afb62e6c7eb6761ae5ac417c88/Casks/brackets.rb#L1-L17

cask 'brackets' do
  version '1.13'
  sha256 '34d8960d78e7301febcc6b68b85970d119b7a904cdb9a0ecfc445348de1e4bd4'

  # github.com/adobe/brackets was verified as official when first introduced to the cask
  url "https://github.com/adobe/brackets/releases/download/release-#{version}/Brackets.Release.#{version}.dmg"
  appcast 'https://github.com/adobe/brackets/releases.atom'
  name 'Brackets'
  homepage 'http://brackets.io/'

  app 'Brackets.app'

  zap trash: [
               '~/Library/Application Support/Brackets',
               '~/Library/Preferences/io.brackets.appshell.plist',
             ]
end

@muescha
Copy link

muescha commented Apr 4, 2019

so it is easy - i only don't know what to delete for uninstalling guppy

@muescha
Copy link

muescha commented Apr 4, 2019

done: Homebrew/homebrew-cask#61387

brew cask install guppy
==> Satisfying dependencies                                                                                                                                             
==> Downloading https://github.com/joshwcomeau/guppy/releases/download/v0.3.0/Guppy-0.3.0.dmg                                                                           
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/134185621/e66e4d00-dda9-11e8-8f49-a827c8f529d2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-A
######################################################################## 100.0%                                                                                         
==> Verifying SHA-256 checksum for Cask 'guppy'.                                                                                                                        
==> Installing Cask guppy                                                                                                                                               
==> Moving App 'Guppy.app' to '/Applications/Guppy.app'.                                                                                                                
🍺  guppy was successfully installed! 

@muescha
Copy link

muescha commented Apr 4, 2019

if its get merged then we can update the readme

@melanieseltzer melanieseltzer reopened this Apr 5, 2019
@melanieseltzer
Copy link
Collaborator

Thanks @muescha, this is great! For uninstalling, I think there's just ~/Library/Application Support/Guppy. Not sure if I'm missing anything else.

When we cut a new release, is that updated automatically or do we need to manually submit a PR to modify Casks/guppy.rb?

(ping @superhawk610, not sure if you've done some stuff with brew before)

@superhawk610
Copy link
Collaborator

I've used my fair share of homebrew apps but never published one. Looks like @muescha has done all the heavy lifting for us, so we'll just need to figure out a routine way to make sure the cash stays up to date with feature releases. According to the contribution guide there's a simple cask-repair script we can use to bump the registry version and hash. I don't believe we have an official flow for publishing new releases, but we should be able to rather trivially incorporate that script once we do.

Let's add a note to the README that installation is available via homebrew. I'll open an issue tomorrow for setting up a publication pipeline and including cask-repair there.

@muescha
Copy link

muescha commented Apr 5, 2019

@melanieseltzer thx for the path

PS: is there a way where i can see which new files and directories a app creates while installing and runnig? i did not find a solution for this :(

@superhawk610
Copy link
Collaborator

@muescha there's no simple way to do this since applications can potentially have access to a large portion of the filesystem. You could potentially use something like watchman and watch directories that are commonly used by applications (for Mac, the Applications directory, Application Support directory, home directory, etc). You won't be able to watch the whole filesystem since there are far too many temp files constantly being changed. It's easiest to browse the source code of the application and make a list of all directories touched in the codebase, but even this isn't 100% since some dependencies may have the filesystem paths they touch hidden within their own source. Your best bet is doing what you did and asking one of the creators/collaborators (thanks @melanieseltzer 😊).

@muescha
Copy link

muescha commented Apr 6, 2019

The cask is still not merged. We should wait with the readme update.

@superhawk610
Copy link
Collaborator

Sure, agreed. If you'd like to write it feel free to open a PR and just make a note that we shouldn't merge until the linked PR on brew's repo is merged. If not, one of our collaborators can take care of it.

@muescha
Copy link

muescha commented Apr 6, 2019

Sorry. I am not so good in writing docs, because I am not a native english speaker.

@superhawk610
Copy link
Collaborator

No prob, we'll still credit you in the PR.

@muescha
Copy link

muescha commented Apr 7, 2019

🥂 Cask merged

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Discussion Something to discuss long-term vision This will not be worked on for a while
Projects
None yet
Development

No branches or pull requests

5 participants