SparkleShare/SparkleShare/Mac
2013-08-26 23:13:57 +02:00
..
Resources touch up the 3rd tutorial slide a bit 2012-12-10 21:01:07 +01:00
SparkleShareInviteOpener.app/Contents invites mac: Start SparkleShare after opening invites 2013-06-13 18:36:31 +01:00
AppDelegate.cs setup: add images to tutorial pages 2011-09-14 02:09:03 +02:00
config Include Mac .app config file and update the README 2012-01-22 13:07:03 +00:00
Info.plist Bump version and update news 2013-06-13 23:32:29 +01:00
MainMenu.xib setup: add images to tutorial pages 2011-09-14 02:09:03 +02:00
MainMenu.xib.designer.cs Merge branch 'tutorial' of ssh://github.com/hbons/SparkleShare 2011-09-22 13:05:14 +01:00
README.md Update README.md 2013-03-09 16:11:56 +00:00
SparkleAbout.cs [mac] use NSImage.ImageNamed for retina support 2012-12-10 11:46:00 -05:00
SparkleBubbles.cs controller: Move avatar logic to its own class 2013-06-30 16:54:04 +01:00
SparkleController.cs mac statusicon: implement Copy Link Code menu item. #1129 2013-03-04 16:10:22 +00:00
SparkleEventLog.cs mac eventlog: Hack for making the web view always disappear 2013-07-02 17:40:24 +01:00
SparkleMacWatcher.cs mac: fix crash in watcher. closes #1190 2013-02-28 19:36:59 +00:00
SparkleSetup.cs setup: More verbose download status messages 2013-08-26 23:13:57 +02:00
SparkleSetupWindow.cs [mac] use NSImage.ImageNamed for retina support 2012-12-10 11:46:00 -05:00
SparkleShare.csproj Fix build 2013-06-30 22:19:23 +01:00
SparkleShare.sln eventlog: fix first commit on encrypted repos 2012-09-30 13:07:36 +02:00
SparkleStatusIcon.cs windows statusicon: implement link code item. closes #1129 2013-03-09 14:03:01 +00:00
SparkleUI.cs mac: clean up 2012-11-30 00:36:06 +00:00

Building on Mac

You can choose to build SparkleShare from source or to download the SparkleShare bundle.

Installing build requirements

Install Xcode, the Mono Framework and MonoDevelop.

Start MonoDevelop and install the MonoMac add-in (it's in the menus: MonoDevelop > Add-in Manager).

You may need to adjust some environment variables to let the build environment tools find mono:

$ export PATH=/Library/Frameworks/Mono.framework/Versions/Current/bin:$PATH
$ export PKG_CONFIG=/Library/Frameworks/Mono.framework/Versions/Current/bin/pkg-config
$ export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig

Install git, automake, libtool, pkgconfig and intltool using MacPorts:

$ sudo port install git-core automake intltool pkgconfig libtool

Get a Git install, and place both the bin and libexec directories in SparkleShare/Mac/git. The exact commands depend on where you installed/have Git. Assuming it's in /usr/local:

$ mkdir SparkleShare/Mac/git
$ cp -R /usr/local/git/bin SparkleShare/Mac/git
$ cp -R /usr/local/git/libexec SparkleShare/Mac/git

Start the first part of the build:

$ ./autogen.sh

Now that you have compiled the libraries, open SparkleShare/Mac/SparkleShare.sln in MonoDevelop and start the build (Build > Build All).

If you get Are you missing a using directive or an assembly reference? errors related to MacOS objects, then run:

git clone https://github.com/mono/monomac
git clone https://github.com/mono/maccore
cd monomac
make

It should generate MonoMac.dll. Copy it over any MonoMac.dll you might have on your system, then restart Monodevelop, and the project should now build fine.

Creating a Mac bundle

To create the SparkleShare.app select Build from the menu bar and click "Build SparkleShare".

You'll find a SparkleShare.app in SparkleShare/Mac/bin. Now we need to copy some files over:

cp SparkleShare/Mac/config SparkleShare.app/Contents/MonoBundle/config
cp /Library/Frameworks/Mono.framework/Versions/Current/lib/libintl.dylib SparkleShare.app/Contents/Resources

To play nice with GateKeeper, open SparkleShare.app/Contents/Info.plist and remove the CFBundleResourceSpecification property.

Note: Adjust SparkleShare.app/Contents/... to where you saved the bundle.

Now you have a working bundle that you can run by double-clicking.

Resetting SparkleShare settings

rm -Rf ~/SparkleShare
rm -Rf ~/.config/sparkleshare

Uninstalling

Simply remove the SparkleShare bundle.