Skip to content

Make Sparkle updater an optional component of MacVim#982

Merged
ychin merged 1 commit intomacvim-dev:masterfrom
ychin:option-disable-sparkle
Nov 3, 2019
Merged

Make Sparkle updater an optional component of MacVim#982
ychin merged 1 commit intomacvim-dev:masterfrom
ychin:option-disable-sparkle

Conversation

@ychin
Copy link
Copy Markdown
Member

@ychin ychin commented Nov 3, 2019

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 #849.

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.
@ychin ychin force-pushed the option-disable-sparkle branch from 78ba321 to 675cd65 Compare November 3, 2019 19:30
@ychin ychin merged commit 1fedb06 into macvim-dev:master Nov 3, 2019
@ychin ychin deleted the option-disable-sparkle branch November 3, 2019 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disable Sparkle auto-update in Homebrew builds

1 participant