MACOSX: Add Sparkle support
This commit is contained in:
parent
da60ff3ded
commit
828f1884b4
15 changed files with 446 additions and 6 deletions
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include "backends/graphics/graphics.h"
|
||||
#include "backends/mutex/mutex.h"
|
||||
#include "common/updates.h"
|
||||
|
||||
#include "audio/mixer.h"
|
||||
#include "graphics/pixelformat.h"
|
||||
|
@ -34,7 +35,8 @@ ModularBackend::ModularBackend()
|
|||
:
|
||||
_mutexManager(0),
|
||||
_graphicsManager(0),
|
||||
_mixer(0) {
|
||||
_mixer(0),
|
||||
_updateManager(0) {
|
||||
|
||||
}
|
||||
|
||||
|
@ -43,6 +45,8 @@ ModularBackend::~ModularBackend() {
|
|||
_graphicsManager = 0;
|
||||
delete _mixer;
|
||||
_mixer = 0;
|
||||
delete _updateManager;
|
||||
_updateManager = 0;
|
||||
delete _mutexManager;
|
||||
_mutexManager = 0;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#define BACKENDS_MODULAR_BACKEND_H
|
||||
|
||||
#include "backends/base-backend.h"
|
||||
#include "common/updates.h"
|
||||
|
||||
class GraphicsManager;
|
||||
class MutexManager;
|
||||
|
@ -144,6 +145,7 @@ protected:
|
|||
MutexManager *_mutexManager;
|
||||
GraphicsManager *_graphicsManager;
|
||||
Audio::Mixer *_mixer;
|
||||
Common::UpdateManager *_updateManager;
|
||||
|
||||
//@}
|
||||
};
|
||||
|
|
|
@ -15,7 +15,8 @@ MODULE_OBJS := \
|
|||
midi/timidity.o \
|
||||
saves/savefile.o \
|
||||
saves/default/default-saves.o \
|
||||
timer/default/default-timer.o
|
||||
timer/default/default-timer.o \
|
||||
updates/sparkle-updates.o
|
||||
|
||||
|
||||
ifdef USE_ELF_LOADER
|
||||
|
@ -87,7 +88,8 @@ endif
|
|||
ifdef MACOSX
|
||||
MODULE_OBJS += \
|
||||
midi/coreaudio.o \
|
||||
midi/coremidi.o
|
||||
midi/coremidi.o \
|
||||
updates/macosx/macosx-updates.o
|
||||
endif
|
||||
|
||||
ifdef WIN32
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "backends/platform/sdl/macosx/macosx.h"
|
||||
#include "backends/mixer/doublebuffersdl/doublebuffersdl-mixer.h"
|
||||
#include "backends/platform/sdl/macosx/appmenu_osx.h"
|
||||
#include "backends/updates/macosx/macosx-updates.h"
|
||||
|
||||
#include "common/archive.h"
|
||||
#include "common/config-manager.h"
|
||||
|
@ -63,6 +64,11 @@ void OSystem_MacOSX::initBackend() {
|
|||
// Replace the SDL generated menu items with our own translated ones on Mac OS X
|
||||
replaceApplicationMenuItems();
|
||||
|
||||
#if defined(USE_SPARKLE)
|
||||
// Initialize updates manager
|
||||
_updateManager = new MacOSXUpdateManager();
|
||||
#endif
|
||||
|
||||
// Invoke parent implementation of this method
|
||||
OSystem_POSIX::initBackend();
|
||||
}
|
||||
|
|
46
backends/updates/macosx/macosx-updates.h
Normal file
46
backends/updates/macosx/macosx-updates.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BACKENDS_UPDATES_MACOSX_H
|
||||
#define BACKENDS_UPDATES_MACOSX_H
|
||||
|
||||
#include "backends/updates/sparkle-updates.h"
|
||||
|
||||
#if defined(MACOSX) && defined(USE_SPARKLE)
|
||||
|
||||
class MacOSXUpdateManager : public SparkleUpdateManager {
|
||||
public:
|
||||
MacOSXUpdateManager();
|
||||
virtual ~MacOSXUpdateManager();
|
||||
|
||||
virtual void checkForUpdates();
|
||||
|
||||
virtual void setAutomaticallyChecksForUpdates(UpdateState state);
|
||||
virtual UpdateState getAutomaticallyChecksForUpdates();
|
||||
|
||||
virtual void setUpdateCheckInterval(UpdateInterval interval);
|
||||
virtual UpdateInterval getUpdateCheckInterval();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // BACKENDS_UPDATES_MACOSX_H
|
115
backends/updates/macosx/macosx-updates.mm
Normal file
115
backends/updates/macosx/macosx-updates.mm
Normal file
|
@ -0,0 +1,115 @@
|
|||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "backends/updates/sparkle-updates.h"
|
||||
|
||||
#if defined(MACOSX) && defined(USE_SPARKLE)
|
||||
|
||||
#include "backends/updates/macosx/macosx-updates.h"
|
||||
#include "common/translation.h"
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
#include <Sparkle/Sparkle.h>
|
||||
|
||||
SUUpdater *sparkleUpdater;
|
||||
|
||||
MacOSXUpdateManager::MacOSXUpdateManager() {
|
||||
NSMenuItem *menuItem = [[NSApp mainMenu] itemAtIndex:0];
|
||||
NSMenu *applicationMenu = [menuItem submenu];
|
||||
|
||||
// Init Sparkle
|
||||
sparkleUpdater = [SUUpdater sharedUpdater];
|
||||
|
||||
// Set appcast URL
|
||||
[sparkleUpdater setFeedURL:[NSURL URLWithString:[NSString stringWithCString:getAppcastUrl().c_str()]]];
|
||||
|
||||
// Get current encoding
|
||||
NSStringEncoding *stringEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)[NSString stringWithCString:(TransMan.getCurrentCharset()).c_str() encoding:NSASCIIStringEncoding]));
|
||||
|
||||
// Add "Check for Updates..." menu item
|
||||
NSMenuItem *updateMenuItem = [applicationMenu insertItemWithTitle:[NSString stringWithCString:_("Check for Updates...") encoding:stringEncoding] action:@selector(checkForUpdates:) keyEquivalent:@"" atIndex:1];
|
||||
|
||||
// Set the target of the new menu item
|
||||
[updateMenuItem setTarget:sparkleUpdater];
|
||||
|
||||
// Finally give up our references to the objects
|
||||
[menuItem release];
|
||||
|
||||
// Enable automatic update checking once a day (alternatively use
|
||||
// checkForUpdates() here to check for updates on every startup)
|
||||
// TODO: Should be removed when an update settings gui is implemented
|
||||
setAutomaticallyChecksForUpdates(kUpdateStateEnabled);
|
||||
setUpdateCheckInterval(kUpdateIntervalOneDay);
|
||||
}
|
||||
|
||||
MacOSXUpdateManager::~MacOSXUpdateManager() {
|
||||
[sparkleUpdater release];
|
||||
}
|
||||
|
||||
void MacOSXUpdateManager::checkForUpdates() {
|
||||
[sparkleUpdater checkForUpdatesInBackground];
|
||||
}
|
||||
|
||||
void MacOSXUpdateManager::setAutomaticallyChecksForUpdates(UpdateManager::UpdateState state) {
|
||||
if (state == kUpdateStateNotSupported)
|
||||
return;
|
||||
|
||||
[sparkleUpdater setAutomaticallyChecksForUpdates:(state == kUpdateStateEnabled ? YES : NO)];
|
||||
}
|
||||
|
||||
Common::UpdateManager::UpdateState MacOSXUpdateManager::getAutomaticallyChecksForUpdates() {
|
||||
if ([sparkleUpdater automaticallyChecksForUpdates])
|
||||
return kUpdateStateEnabled;
|
||||
else
|
||||
return kUpdateStateDisabled;
|
||||
}
|
||||
|
||||
void MacOSXUpdateManager::setUpdateCheckInterval(UpdateInterval interval) {
|
||||
if (interval == kUpdateIntervalNotSupported)
|
||||
return;
|
||||
|
||||
[sparkleUpdater setUpdateCheckInterval:(NSTimeInterval)interval];
|
||||
}
|
||||
|
||||
Common::UpdateManager::UpdateInterval MacOSXUpdateManager::getUpdateCheckInterval() {
|
||||
// This is kind of a hack but necessary, as the value stored by Sparkle
|
||||
// might have been changed outside of ScummVM (in which case we return the
|
||||
// default interval of one day)
|
||||
switch ((UpdateInterval)[sparkleUpdater updateCheckInterval]) {
|
||||
default:
|
||||
break;
|
||||
|
||||
case kUpdateIntervalOneDay:
|
||||
return kUpdateIntervalOneDay;
|
||||
|
||||
case kUpdateIntervalOneWeek:
|
||||
return kUpdateIntervalOneWeek;
|
||||
|
||||
case kUpdateIntervalOneMonth:
|
||||
return kUpdateIntervalOneMonth;
|
||||
}
|
||||
|
||||
// Return the default value (one day)
|
||||
return kUpdateIntervalOneDay;
|
||||
}
|
||||
|
||||
#endif
|
45
backends/updates/sparkle-updates.cpp
Normal file
45
backends/updates/sparkle-updates.cpp
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "backends/updates/sparkle-updates.h"
|
||||
|
||||
#if defined(USE_SPARKLE)
|
||||
|
||||
// TODO replace by proper URL
|
||||
#if defined(MACOSX)
|
||||
#define APPCAST_BASE_URL "http://www.scummvm.org/appcasts/macosx/"
|
||||
#elif defined(WIN32)
|
||||
#define APPCAST_BASE_URL "http://www.scummvm.org/appcasts/win32/"
|
||||
#else
|
||||
#error "Please define APPCAST_BASE_URL for your platform!"
|
||||
#endif
|
||||
|
||||
|
||||
Common::String SparkleUpdateManager::getAppcastUrl() {
|
||||
#ifdef RELEASE_BUILD
|
||||
return APPCAST_BASE_URL "release.xml";
|
||||
#else
|
||||
return APPCAST_BASE_URL "beta.xml";
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
48
backends/updates/sparkle-updates.h
Normal file
48
backends/updates/sparkle-updates.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BACKENDS_UPDATES_SPARKLE_UPDATE_H
|
||||
#define BACKENDS_UPDATES_SPARKLE_UPDATE_H
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
#include "common/updates.h"
|
||||
|
||||
#if defined(USE_SPARKLE)
|
||||
|
||||
class SparkleUpdateManager : public Common::UpdateManager {
|
||||
public:
|
||||
/**
|
||||
* Gets the appcast url.
|
||||
*
|
||||
* Beta/RC versions and releases might have a different appcast url.
|
||||
* This function takes care of checking which version of ScummVM is running
|
||||
* and return the url to the proper appcast.
|
||||
*
|
||||
* @return the appcast url.
|
||||
*/
|
||||
Common::String getAppcastUrl();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // BACKENDS_UPDATES_SPARKLE_UPDATE_H
|
98
common/updates.h
Normal file
98
common/updates.h
Normal file
|
@ -0,0 +1,98 @@
|
|||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BACKENDS_UPDATES_ABSTRACT_H
|
||||
#define BACKENDS_UPDATES_ABSTRACT_H
|
||||
|
||||
namespace Common {
|
||||
|
||||
/**
|
||||
* The UpdateManager allows configuring of the automatic update checking
|
||||
* for systems that support it:
|
||||
* - using Sparkle on MacOSX
|
||||
* - using WinSparkle on Windows
|
||||
*
|
||||
* Most of the update checking is completely automated and this class only
|
||||
* gives access to basic settings. It is mostly used by the GUI to set
|
||||
* widgets state on the update page and for manually checking for updates
|
||||
*
|
||||
*/
|
||||
class UpdateManager {
|
||||
public:
|
||||
enum UpdateState {
|
||||
kUpdateStateDisabled = 0,
|
||||
kUpdateStateEnabled = 1,
|
||||
kUpdateStateNotSupported = 2
|
||||
};
|
||||
|
||||
enum UpdateInterval {
|
||||
kUpdateIntervalNotSupported = 0,
|
||||
kUpdateIntervalOneDay = 86400,
|
||||
kUpdateIntervalOneWeek = 604800,
|
||||
kUpdateIntervalOneMonth = 2628000 // average seconds per month (60*60*24*365)/12
|
||||
};
|
||||
|
||||
UpdateManager() {}
|
||||
virtual ~UpdateManager() {}
|
||||
|
||||
/**
|
||||
* Checks manually if an update is available, showing progress UI to the user.
|
||||
*
|
||||
* By default, update checks are done silently on start.
|
||||
* This allows to manually start an update check.
|
||||
*/
|
||||
virtual void checkForUpdates() {}
|
||||
|
||||
/**
|
||||
* Sets the automatic update checking state
|
||||
*
|
||||
* @param state The state.
|
||||
*/
|
||||
virtual void setAutomaticallyChecksForUpdates(UpdateState state) {}
|
||||
|
||||
/**
|
||||
* Gets the automatic update checking state
|
||||
*
|
||||
* @return kUpdateStateDisabled if automatic update checking is disabled,
|
||||
* kUpdateStateEnabled if automatic update checking is enabled,
|
||||
* kUpdateStateNotSupported if automatic update checking is not available
|
||||
*/
|
||||
virtual UpdateState getAutomaticallyChecksForUpdates() { return kUpdateStateNotSupported; }
|
||||
|
||||
/**
|
||||
* Sets the update checking interval.
|
||||
*
|
||||
* @param interval The interval.
|
||||
*/
|
||||
virtual void setUpdateCheckInterval(UpdateInterval interval) {}
|
||||
|
||||
/**
|
||||
* Gets the update check interval.
|
||||
*
|
||||
* @return the update check interval.
|
||||
*/
|
||||
virtual UpdateInterval getUpdateCheckInterval() { return kUpdateIntervalNotSupported; }
|
||||
};
|
||||
|
||||
} // End of namespace Common
|
||||
|
||||
#endif // BACKENDS_UPDATES_ABSTRACT_H
|
31
configure
vendored
31
configure
vendored
|
@ -134,6 +134,7 @@ _alsa=auto
|
|||
_seq_midi=auto
|
||||
_timidity=auto
|
||||
_zlib=auto
|
||||
_sparkle=auto
|
||||
_png=auto
|
||||
_theoradec=auto
|
||||
_faad=auto
|
||||
|
@ -813,6 +814,9 @@ Optional Libraries:
|
|||
installed (optional)
|
||||
--disable-fluidsynth disable fluidsynth MIDI driver [autodetect]
|
||||
|
||||
--with-sparkle-prefix=DIR Prefix where sparkle is installed (MacOSX only - optional)
|
||||
--disable-sparkle disable sparkle automatic update support [MacOSX only - autodetect]
|
||||
|
||||
--with-sdl-prefix=DIR Prefix where the sdl-config script is
|
||||
installed (optional)
|
||||
|
||||
|
@ -861,6 +865,8 @@ for ac_option in $@; do
|
|||
--disable-mad) _mad=no ;;
|
||||
--enable-zlib) _zlib=yes ;;
|
||||
--disable-zlib) _zlib=no ;;
|
||||
--enable-sparkle) _sparkle=yes ;;
|
||||
--disable-sparkle) _sparkle=no ;;
|
||||
--enable-nasm) _nasm=yes ;;
|
||||
--disable-nasm) _nasm=no ;;
|
||||
--disable-png) _png=no ;;
|
||||
|
@ -948,6 +954,11 @@ for ac_option in $@; do
|
|||
ZLIB_CFLAGS="-I$arg/include"
|
||||
ZLIB_LIBS="-L$arg/lib"
|
||||
;;
|
||||
--with-sparkle-prefix=*)
|
||||
arg=`echo $ac_option | cut -d '=' -f 2`
|
||||
SPARKLE_CFLAGS="-F$arg"
|
||||
SPARKLE_LIBS="-F$arg"
|
||||
;;
|
||||
--with-readline-prefix=*)
|
||||
arg=`echo $ac_option | cut -d '=' -f 2`
|
||||
READLINE_CFLAGS="-I$arg/include"
|
||||
|
@ -2970,6 +2981,26 @@ if test `get_engine_build sword25` = yes && test ! "$_zlib" = yes ; then
|
|||
engine_disable sword25
|
||||
fi
|
||||
|
||||
#
|
||||
# Check for Sparkle
|
||||
#
|
||||
echocheck "Sparkle"
|
||||
if test "$_sparkle" = auto ; then
|
||||
_sparkle=no
|
||||
cat > $TMPC << EOF
|
||||
#include <Cocoa/Cocoa.h>
|
||||
#include <Sparkle/Sparkle.h>
|
||||
int main(void) { SUUpdater *updater = [SUUpdater sharedUpdater]; return 0; }
|
||||
EOF
|
||||
cc_check $SPARKLE_CFLAGS $SPARKLE_LIBS -framework Sparkle -ObjC++ -lobjc && _sparkle=yes
|
||||
fi
|
||||
if test "$_sparkle" = yes ; then
|
||||
LIBS="$LIBS $SPARKLE_LIBS -framework Sparkle"
|
||||
INCLUDES="$INCLUDES $SPARKLE_CFLAGS"
|
||||
fi
|
||||
define_in_config_if_yes "$_sparkle" 'USE_SPARKLE'
|
||||
echo "$_sparkle"
|
||||
|
||||
#
|
||||
# Check for libfluidsynth
|
||||
#
|
||||
|
|
|
@ -28,5 +28,9 @@
|
|||
<string>NSApplication</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 2001-2011 The ScummVM team</string>
|
||||
<key>SUFeedURL</key>
|
||||
<string>http://www.scummvm.org/appcasts/macosx/release.xml</string>
|
||||
<key>SUPublicDSAKeyFile</key>
|
||||
<string>dsa_pub.pem</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -28,5 +28,9 @@
|
|||
<string>NSApplication</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 2001-2011 The ScummVM team</string>
|
||||
<key>SUFeedURL</key>
|
||||
<string>http://www.scummvm.org/appcasts/macosx/release.xml</string>
|
||||
<key>SUPublicDSAKeyFile</key>
|
||||
<string>dsa_pub.pem</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
25
dists/macosx/scummvm_osx_appcast.xml
Executable file
25
dists/macosx/scummvm_osx_appcast.xml
Executable file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<channel>
|
||||
<title>ScummVM Changelog</title>
|
||||
<link>http://scummvm.org/scummvm_appcast.xml</link>
|
||||
<description>Most recent changes with links to updates.</description>
|
||||
<language>en</language>
|
||||
<item>
|
||||
<title>Version 1.2.1 (3 bugs fixed; 2 new features)</title>
|
||||
<sparkle:releaseNotesLink>
|
||||
http://sourceforge.net/projects/scummvm/files/scummvm/1.2.1/ReleaseNotes/view
|
||||
</sparkle:releaseNotesLink>
|
||||
<pubDate>Sun, 19 Dec 2010 12:20:11 +0000</pubDate>
|
||||
<enclosure url="http://scummvm.org/ScummVM 1.2.1-Test.zip" sparkle:version="1.2.1" length="1472893" type="application/octet-stream" sparkle:dsaSignature="234818feCa1JyW30nbkBwainOzrN6EQuAh" />
|
||||
</item>
|
||||
<item>
|
||||
<title>Version 1.2.0</title>
|
||||
<sparkle:releaseNotesLink>
|
||||
http://sourceforge.net/projects/scummvm/files/scummvm/1.2.0/ReleaseNotes/view
|
||||
</sparkle:releaseNotesLink>
|
||||
<pubDate>Fri, 15 Oct 2010 12:20:11 +0000</pubDate>
|
||||
<enclosure url="http://scummvm.org/ScummVM 1.2.0-Test.zip" sparkle:version="1.2.0" length="1472893" type="application/octet-stream" sparkle:dsaSignature="234818feCa1JyW30nbkBwainOzrN6EQuAh" />
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
|
@ -78,3 +78,4 @@ backends/platform/wince/wince-sdl.cpp
|
|||
backends/events/default/default-events.cpp
|
||||
backends/events/gph/gph-events.cpp
|
||||
backends/events/openpandora/op-events.cpp
|
||||
backends/updates/macosx/macosx-updates.mm
|
||||
|
|
9
ports.mk
9
ports.mk
|
@ -39,6 +39,11 @@ bundle: scummvm-static
|
|||
mkdir -p $(bundle_name)/Contents/Resources
|
||||
echo "APPL????" > $(bundle_name)/Contents/PkgInfo
|
||||
cp $(srcdir)/dists/macosx/Info.plist $(bundle_name)/Contents/
|
||||
ifdef USE_SPARKLE
|
||||
mkdir -p $(bundle_name)/Contents/Frameworks
|
||||
cp $(srcdir)/dists/macosx/dsa_pub.pem $(bundle_name)/Contents/Resources/
|
||||
cp -R $(STATICLIBPATH)/Sparkle.framework $(bundle_name)/Contents/Frameworks/
|
||||
endif
|
||||
cp $(srcdir)/icons/scummvm.icns $(bundle_name)/Contents/Resources/
|
||||
cp $(DIST_FILES_DOCS) $(bundle_name)/
|
||||
cp $(DIST_FILES_THEMES) $(bundle_name)/Contents/Resources/
|
||||
|
@ -108,6 +113,10 @@ ifdef USE_ZLIB
|
|||
OSX_ZLIB ?= -lz
|
||||
endif
|
||||
|
||||
ifdef USE_SPARKLE
|
||||
OSX_STATIC_LIBS += -framework Sparkle -F$(STATICLIBPATH)
|
||||
endif
|
||||
|
||||
ifdef USE_TERMCONV
|
||||
OSX_ICONV ?= -liconv
|
||||
endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue