homebrew-cask/Casks/textmate.rb

24 lines
977 B
Ruby
Raw Normal View History

2015-12-18 09:15:28 +08:00
cask 'textmate' do
version '2.0-beta.11.9'
sha256 'e49f2e805780757f172a9d79be02bcbca85d83570b031cdf8e0d4f675563630b'
2016-06-20 02:18:38 +08:00
# textmate.org was verified as official when first introduced to the cask
2015-08-02 01:11:41 +08:00
url "https://api.textmate.org/downloads/TextMate_#{version}.tbz"
2015-05-04 04:44:21 +08:00
name 'TextMate'
homepage 'https://macromates.com/'
2015-04-19 20:05:53 +08:00
license :gpl
2014-09-16 00:06:28 +08:00
app 'TextMate.app'
[WIP] Change artifact behavior to moving instead of symlinking (#13966) * Change app artifact to move instead of link First step towards change in installation behavior mentioned in [13201] * Fix handling of binaries linked from inside of app bundles Also adds `appdir` method for interpolation in stanzas * Change appdir to root Applications directory * Update 2-app tests * Refactor: add options, ivars to `Installer`, `Download` In preparation for upcoming changes, this commit cleans up some code. The commit includes: - In order to reduce unnecessary object passing, make both the `force` and `skip_cask_deps` option into instance variables of the `Installer` class - Introduce options hashes to initializers of both the `Installer` and `Download` class - When the `install --force` command enters the fetch phase, make it explicit in the code that fetching is never enforced in that case. - Update tests * Force overwrite artifacts on `--force` reinstall This commit changes the behavior of a `Moved` artifact such that if the target already exists, `brew cask install --force` will remove the existing target before moving the staged artifact. In that case, the warning message will say *overwriting* instead of *not moving*. The behavior of plain `brew cask install` remains unchanged; the same goes for the warning message for that case. * Change remaining artifacts to move instead of symlink * Update casks to use appdir in binary paths * Forcibly overwrite artifacts, modifying flags and using `sudo` if needed - This commit implements [the proposed behavior for `install --force`](https://github.com/caskroom/homebrew-cask/pull/13966#issuecomment-220830387) when a target already exists and has either permission problems or is not owned by the user. - The changes apply only when the `force` option is given. - Reused the existing safeguard from the `.pkg` artifact to prevent deleting important directories by bug or mistake - The two existing blacklists `SYSTEM_DIRS` and `UNDELETABLE_DIRS` have been consolidated into the `Hbc::MacOS` module. - `UNDELETABLE_DIRS` now also contains all the entries from `SYSTEM_DIRS` which was a to-do anyway. - The two blacklists are now also frozen for good measure. - The utility method `permissions_rmtree` was moved to `Hbc::Utils`. - The `tried_permissions` part in `Utils` now falls back correctly when there are also ownership issues at the same time. - Introduced a separate `current_user` method for mocking. - Added an optional feature to `FakeSystemCommand` so it can now act as a proxy to `SystemCommand`. - Added tests for various `permissions_rmtree` cases.
2016-06-01 03:23:21 +08:00
binary "#{appdir}/TextMate.app/Contents/Resources/mate"
2014-11-22 22:24:21 +08:00
zap delete: [
'~/Library/Application Support/Avian',
'~/Library/Application Support/TextMate',
'~/Library/Preferences/com.macromates.TextMate.preview.LSSharedFileList.plist',
'~/Library/Preferences/com.macromates.TextMate.preview.plist',
'~/Library/Preferences/com.macromates.textmate.webpreview.plist',
'~/Library/Preferences/com.macromates.textmate.plist',
'~/Library/Preferences/com.macromates.textmate.latex_config.plist',
]
2012-10-27 23:15:38 +08:00
end