homebrew-cask
homebrew-cask copied to clipboard
Apps that need to be in `/Applications` to work
Not apps that ask to be moved, but the ones that are broken if not there (even if a symlink works, it should still be included). Maintainers should feel free to edit and add to the list.
- cdock (#11032)
- cmpl (see comment)
- crashplan (#16038)
- diffmerge (#13934)
- duet (#14952)
- fontforge (#12517)
-
gnubg (see
caveat
) - megasync (#8804)
- postgres (#12857)
- tunnelblick (#10519)
Removed caveats from casks in this list (when there was one). So I think this issue can also be closed đ
This canât be closed, as users can still pick a custom directory for installing. In #13201, these are the cases that will need a :required_location
(see the New stanzas/keys/flags to enhance these changes
section).
Sorry, forgot about that. đ
gnubg
can be added to the list.
Not to worry. Added gnubg
to the list, thank you.
Hi, while google-chrome
itself works, some extensions such as 1Password
break when chrome is not in the Applications folder.
@allanchau Thatâs a good point, but the list is focused on the application itself breaking.
Edited the list to remove casks we no longer have.
Hi, is this an issue I can work on? I'm very new to open source contribution, but I would love to help.
Hi, is this an issue I can work on?
Hi! Sure! No oneâs working on it and itâs low priority, so please go ahead. Though looking at it now, it might benefit from a simpler approach:
Add :required_location
. Example: app 'FontForge.app', required_location: '/Applications'
. It means the artifact needs to be in a certain location to function correctly and as such the installation will fail if the target directory is a different location.
Pseudo-code for :required_location
, considering an app
:
if (cask has :required_location) and (REQUIRED_LOCATION != APPDIR_DESTINATION) and (not using --force)
print_warning "This app needs to be in REQUIRED_LOCATION to work properly. Use `--force` to install to APPDIR_DESTINATION or `--appdir APPDIR_DESTINATION` to install to the proper location."
end
Thatâs way simpler and doesnât surprise the user by installing somewhere unexpected by default. Note that APPDIR_DESTINATION is either the default when itâs unset (/Applications
) or whatever the user decided with --appdir
. Realistically, I donât think :required_destination
will ever be anything other than /Applications
, but it doesnât hurt to have the flexibility.
Bonus points if the feature is versatile enough to be repurposed to binary
at a later time if needed (though donât worry about it yet if you donât want to or it makes it too complex).
Thank you for offering!
Hey @vitorgalvao is there any way to run tests on where the application downloads? I've been trying to get a lay of the land. I noticed some documentation that recommends:
$ brew /Users/anansi/Development/code/openSource/homebrew-cask/Casks/fontforge.rb google-chrome
but that gives me an error: " undefined method `cask' for main:Object " ( also, I've run brew upgrade and brew update to see if that would fix it, but to no avail )
Also, for clarity. All of the items listed on the original post are the ones that need the change? ( asking because I can't find, cdock, cmpl, and gnubg. I assume they no longer exist, because this post is incredibly old. )
is there any way to run tests on where the application downloads?
I donât understand the question. Are you looking for brew fetch
?
I noticed some documentation that recommends
That command doesnât make sense, because after brew
there should always be a verb, not a cask name or path. If you found that in official documentation, please let me know where so I can fix it.
All of the items listed on the original post are the ones that need the change?
The ones we know about, yes.
asking because I can't find, cdock, cmpl, and gnubg. I assume they no longer exist, because this post is incredibly old.
You are correct. Thatâs also why I said this is low priority. But it should also be simple enough to get a feel for the codebase if you plan on contributing larger changes later on. If youâd prefer something more challenging or that would make a larger impact, I can point you to something as well!
I donât understand the question. Are you looking for brew fetch?
I think so, I'll play around with it more. ( I'm still incredibly lost on how everything works, but I'll figure it out. )
That command doesnât make sense, because after brew there should always be a verb, not a cask name or path. If you found that in official documentation, please let me know where so I can fix it.
I might be in the wrong here, but the link is: https://github.com/Homebrew/homebrew-cask/blob/master/doc/development/hacking.md
If youâd prefer something more challenging or that would make a larger impact, I can point you to something as well!
I'd love to, but I'd like to get a handle of working within homebrew first, and being able to tackle problems without having anyone hold my hand throughout the process.
@vitorgalvao Hey, I can't figure out how to create a new stanza.
I might be in the wrong here, but the link is: https://github.com/Homebrew/homebrew-cask/blob/master/doc/development/hacking.md
Thank you. Notice that in that case itâs calling a subcommand through its path, and you were invoking a cask. Different thing. But ignore that file because itâs outdated. Any documentation you look at for changing the core should be in https://github.com/Homebrew/brew.
I can't figure out how to create a new stanza.
You donât want to create a new stanza, but rather a new parameter of an existing stanza. You want required_location
to be added to the app
stanza, which already supports the target
parameter, so that might help.
I apologize for asking so many questions, but I have more. If there's any resource I can go to ask simple questions like these please let me know so that I don't take up all of your time.
When it comes to adding required_location
as a parameter to a stanza I think I found the file where the changes would need to be made, but I'd like to be certain. In Homebrew the path to the file is Library/Homebrew/cask/artifact/relocated.rb
? In other words the file that I need to add in the method of required_location
should be in the relocated.rb
?
If that's the case, I have a follow up question because I know this will be a problem I'll stumble upon. How would I be able to invoke the method of 'required_location' to make sure that it's doing the right thing. I'm accustomed to using byebug, and then invoking the file. Thank you.
I apologize for asking so many questions, but I have more. If there's any resource I can go to ask simple questions like these please let me know so that I don't take up all of your time.
When it comes to adding
required_location
as a parameter to a stanza I think I found the file where the changes would need to be made, but I'd like to be certain. In Homebrew the path to the file isLibrary/Homebrew/cask/artifact/relocated.rb
? In other words the file that I need to add in the method ofrequired_location
should be in therelocated.rb
?If that's the case, I have a follow up question because I know this will be a problem I'll stumble upon. How would I be able to invoke the method of 'required_location' to make sure that it's doing the right thing. I'm accustomed to using byebug, and then invoking the file. Thank you.
@vitorgalvao If you have a chance.
If there's any resource I can go to ask simple questions like these
https://github.com/Homebrew/discussions might work.
I just opened this which is similar: https://github.com/Homebrew/brew/issues/14517.