Make Sparkle updater an optional component of MacVim#982
Merged
ychin merged 1 commit intomacvim-dev:masterfrom Nov 3, 2019
Merged
Make Sparkle updater an optional component of MacVim#982ychin merged 1 commit intomacvim-dev:masterfrom
ychin merged 1 commit intomacvim-dev:masterfrom
Conversation
1eb969f to
3b9dc7f
Compare
3b9dc7f to
78ba321
Compare
MacVim by default uses Sparkle to update itself. It checks a URL that tells it whether there's a new binary release, and if one exists, it will download it and patches MacVim. However, there are certain situations where this is not wanted (e.g. when MacVim is bundled as part of a package management system), and previously there was no way to disable Sparkle. Make Sparkle optional by implementing a new configure argument: `./configure --disable-sparkle`, which will set a compile-time ifdef. Instead of instantiating the updater in MainMenu.nib as suggested by Sparkle's documentation, just instantiate it manually in code, and also disable the "Check for updates" menu item and updater-related preference pane items to make sure these settings don't confuse users when they are running a Sparkle-disabled build. Sparkle.framework is currently still bundled when it's disabled, because there doesn't seem to be an easy way to configure the copy build phase. It could be manually removed in a script after the build though, as it's now optionally linked to instead of mandatory. Fix macvim-dev#849.
78ba321 to
675cd65
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MacVim by default uses Sparkle to update itself. It checks a URL that tells it whether there's a new binary release, and if one exists, it will download it and patches MacVim. However, there are certain situations where this is not wanted (e.g. when MacVim is bundled as part of a package management system), and previously there was no way to disable Sparkle.
Make Sparkle optional by implementing a new configure argument:
./configure --disable-sparkle, which will set a compile-time ifdef. Instead of instantiating the updater inMainMenu.nibas suggested by Sparkle's documentation, just instantiate it manually in code, and also disable the "Check for updates" menu item and updater-related preference pane items to make sure these settings don't confuse users when they are running a Sparkle-disabled build.Sparkle.frameworkis currently still bundled when it's disabled, because there doesn't seem to be an easy way to configure the copy build phase. It could be manually removed in a script after the build though, as it's now optionally linked to instead of mandatory.Fix #849.