[vlc-devel] [PATCH] macosx: add own configure switch to disable the sparkle update framework
david.fuhrmann at gmail.com
david.fuhrmann at gmail.com
Thu Jun 4 13:09:54 CEST 2015
From: David Fuhrmann <dfuhrmann at videolan.org>
--enable-update-check enables update support in core, which is not needed
for the mac platform. To avoid linking libgcrypt into the core, instead a
new configure switch is introduced to disable sparkle support directly.
Now, for disabling sparkle support, one needs to pass --disable-sparkle.
It completely removed sparkle from the GUI, and does not copy the
framework to the final bundle as well.
---
configure.ac | 25 ++++++++++++++++------
extras/package/macosx/configure.sh | 1 -
extras/package/macosx/package.mak | 3 +++
.../package/macosx/vlc.xcodeproj/project.pbxproj | 2 --
modules/gui/macosx/MainMenu.m | 4 ++--
modules/gui/macosx/intf.m | 6 +++---
modules/gui/macosx/simple_prefs.m | 6 +++---
7 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/configure.ac b/configure.ac
index 6d5d0e2..ebeb071 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3747,13 +3747,6 @@ then
VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration -Wl,-framework,ScriptingBridge])
- if test ! -d ${CONTRIB_DIR}/Sparkle.framework
- then
- AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
- fi
- VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
- VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
-
if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
then
AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
@@ -3764,6 +3757,24 @@ fi
AM_CONDITIONAL(ENABLE_MACOSX_UI, [test "$enable_macosx" != "no"])
dnl
+dnl MacOS X sparkle update support
+dnl
+AC_ARG_ENABLE(sparkle,
+ [ --enable-sparkle Sparkle update support for OS X (default enabled on Mac OS X)])
+if test "x${enable_sparkle}" != "xno" -a "${SYS}" = "darwin"
+then
+ if test ! -d ${CONTRIB_DIR}/Sparkle.framework
+ then
+ AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
+ fi
+ VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
+ VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
+ AC_DEFINE([HAVE_SPARKLE], [1], [Define to 1 if sparkle is enabled.])
+fi
+AM_CONDITIONAL(HAVE_SPARKLE, [test "$enable_sparkle" != "no"])
+
+
+dnl
dnl Minimal Mac OS X module
dnl
AC_ARG_ENABLE(minimal-macosx,
diff --git a/extras/package/macosx/configure.sh b/extras/package/macosx/configure.sh
index 03b0a0d..d4af059 100755
--- a/extras/package/macosx/configure.sh
+++ b/extras/package/macosx/configure.sh
@@ -16,7 +16,6 @@ esac
OPTIONS="
--prefix=`pwd`/vlc_install_dir
- --enable-update-check
--enable-macosx
--enable-merge-ffmpeg
--enable-growl
diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak
index 40e4fe5..630eb9b 100644
--- a/extras/package/macosx/package.mak
+++ b/extras/package/macosx/package.mak
@@ -48,6 +48,9 @@ VLC-tmp: vlc
xcodebuild -target vlc SYMROOT=../../../build DSTROOT=../../../build $(silentstd)
cp -R $(top_builddir)/tmp/build/Default/VLC.bundle $@
mkdir -p $@/Contents/Frameworks && cp -R $(CONTRIB_DIR)/Growl.framework $@/Contents/Frameworks/
+if HAVE_SPARKLE
+ cp -R $(CONTRIB_DIR)/Sparkle.framework $@/Contents/Frameworks/
+endif
mkdir -p $@/Contents/MacOS/share/locale/
cp -r "$(prefix)/lib/vlc/lua" "$(prefix)/share/vlc/lua" $@/Contents/MacOS/share/
mkdir -p $@/Contents/MacOS/include/
diff --git a/extras/package/macosx/vlc.xcodeproj/project.pbxproj b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
index 7743652..87cf1c1 100644
--- a/extras/package/macosx/vlc.xcodeproj/project.pbxproj
+++ b/extras/package/macosx/vlc.xcodeproj/project.pbxproj
@@ -682,7 +682,6 @@
CC402F430E00ABBB006A4BA4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC1941240B9C1F8400635F6B /* QTKit.framework */; };
CC402F440E00ABBB006A4BA4 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC962E2C0CC7992800A56695 /* WebKit.framework */; };
CC426FD11020D44F00A32659 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC426FD01020D44F00A32659 /* Sparkle.framework */; };
- CC426FD71020D47100A32659 /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = CC426FD01020D44F00A32659 /* Sparkle.framework */; };
CC461F75160084A10022423C /* SharedDialogs.xib in Resources */ = {isa = PBXBuildFile; fileRef = CC461F73160084A10022423C /* SharedDialogs.xib */; };
CC4EFC2D13E96BD00091D19A /* dropzone.png in Resources */ = {isa = PBXBuildFile; fileRef = CC4EFC2C13E96BD00091D19A /* dropzone.png */; };
CC68B0331544C1AE00FD9C7F /* vlc-xmas.png in Resources */ = {isa = PBXBuildFile; fileRef = CC68B0321544C1AE00FD9C7F /* vlc-xmas.png */; };
@@ -859,7 +858,6 @@
dstSubfolderSpec = 10;
files = (
CC84FB481300843200816D38 /* BGHUDAppKit.framework in Copy Frameworks */,
- CC426FD71020D47100A32659 /* Sparkle.framework in Copy Frameworks */,
);
name = "Copy Frameworks";
runOnlyForDeploymentPostprocessing = 0;
diff --git a/modules/gui/macosx/MainMenu.m b/modules/gui/macosx/MainMenu.m
index b11aa2d..f57806b 100644
--- a/modules/gui/macosx/MainMenu.m
+++ b/modules/gui/macosx/MainMenu.m
@@ -49,7 +49,7 @@
#import "DebugMessageVisualizer.h"
#import "AddonsWindowController.h"
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
#import <Sparkle/Sparkle.h>
#endif
@@ -148,7 +148,7 @@ static VLCMainMenu *_o_sharedInstance = nil;
p_intf = VLCIntf;
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
[o_mi_checkForUpdate setAction:@selector(checkForUpdates:)];
[o_mi_checkForUpdate setTarget:[SUUpdater sharedUpdater]];
#else
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 7e3b047..70fa9cd 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -67,7 +67,7 @@
#import "VideoEffects.h"
#import "AudioEffects.h"
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
#import <Sparkle/Sparkle.h> /* we're the update delegate */
#endif
@@ -791,7 +791,7 @@ static VLCMain *_o_sharedMainInstance = nil;
// So lets enqueue it into the loop for later execution.
[o_mainwindow performSelector:@selector(makeKeyAndOrderFront:) withObject:nil afterDelay:0];
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
[[SUUpdater sharedUpdater] setDelegate:self];
#endif
}
@@ -980,7 +980,7 @@ static bool f_appExit = false;
#pragma mark -
#pragma mark Sparkle delegate
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
/* received directly before the update gets installed, so let's shut down a bit */
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update
{
diff --git a/modules/gui/macosx/simple_prefs.m b/modules/gui/macosx/simple_prefs.m
index 4c1aa94..cd05a65 100644
--- a/modules/gui/macosx/simple_prefs.m
+++ b/modules/gui/macosx/simple_prefs.m
@@ -38,7 +38,7 @@
#import "AppleRemote.h"
#import "CoreInteraction.h"
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
#import <Sparkle/Sparkle.h> //for o_intf_last_update_lbl
#endif
@@ -220,7 +220,7 @@ static VLCSimplePrefs *_o_sharedInstance = nil;
{
[self initStrings];
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
[o_intf_update_ckb bind:@"value"
toObject:[SUUpdater sharedUpdater]
withKeyPath:@"automaticallyChecksForUpdates"
@@ -591,7 +591,7 @@ static inline char * __config_GetLabel(vlc_object_t *p_this, const char *psz_nam
[self setupButton: o_intf_mediakeys_ckb forBoolValue: "macosx-mediakeys"];
-#ifdef UPDATE_CHECK
+#ifdef HAVE_SPARKLE
if ([[SUUpdater sharedUpdater] lastUpdateCheckDate] != NULL)
[o_intf_last_update_lbl setStringValue: [NSString stringWithFormat: _NS("Last check on: %@"), [[[SUUpdater sharedUpdater] lastUpdateCheckDate] descriptionWithLocale: [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]]]];
else
--
2.3.2 (Apple Git-55)
More information about the vlc-devel
mailing list