SparkleShare is a collaboration and sharing tool that is designed to keep things simple and to stay out of your way. It allows you to instantly sync with any Git repository you have access to.
Though SparkleShare is not made to be a graphical frontend for git or a backup tool, it may be useful for other kinds of purposes as well, like backing up small files or monitoring your favourite project. In contrast to the projects name, we will very likely refuse to implement your personal ponies.
SparkleShare currently works on Linux and Mac. A Windows port and mobile device support are planned for the future.
SparkleShare is free software and licensed under the GNU GPLv3 or later. You are welcome to change and redistribute it under certain conditions. For more information see the LICENSE file or visit http://www.gnu.org/licenses/gpl-3.0.html
Requirements:
- git >= 1.7.0
- gtk-sharp2
- gvfs
- intltool
- libnotify
- mono-core >= 2.8
- notify-sharp
- nautilus-python
- openssh
- pygtk
- webkitgtk
- webkit-sharp
Run the service, either click the SparkleShare launcher or:
sparkleshare start
You can stop the service via the graphical interface or by typing:
sparkleshare stop
For help:
sparkleshare --help
SparkleShare creates its own RSA keypair in ~/config/sparkleshare/ and uses that for authentication. Please mind this if you're planning to set up your own server by hand.
Installing the build dependencies on Debian or Ubuntu:
sudo apt-get install gtk-sharp2 mono-runtime mono-devel monodevelop \ libndesk-dbus1.0-cil-dev nant libnotify-cil-dev libgtk2.0-cil-dev \ libwebkit-cil-dev intltool libtool python-nautilus libndesk-dbus-glib1.0-cil-dev
For Ubuntu libappindicator support, run the following before building:
sudo apt-get install libappindicator0.1-cil-dev
On Fedora:
sudo yum install gtk-sharp2-devel mono-core mono-devel monodevelop \ ndesk-dbus-devel ndesk-dbus-glib-devel nautilus-python-devel nant \ notify-sharp-devel webkit-sharp-devel webkitgtk-devel libtool intltool \ gnome-doc-utils
You can build and install SparkleShare like this:
./configure --prefix=/usr (or ./autogen.sh if you build from the repository) make sudo make install
Use --prefix=/usr
if you want the Nautilus extension to work.
Just double-click the SparkleShare.app.
Install the Mono Framework, MonoDevelop and the MonoMac plugin (you find it in 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
Then you need either MacPorts or Homebrew. Go on and choose one of the next two sections.
Install git, automake, and intltool:
sudo port install git-core automake intltool
Start the first part of the build:
./autogen.sh --enable-gtkui=no make
The last step will give you some errors in SparkleShare.exe, ignore these and go on to the MonoDevelop section.
Because there are old versions of autoconf and automake installed on OS X, they are not in the official master branch. It's easy to create the formulas:
brew create $url
Now install the formulas.
You can have a look at this branch for the created Formulas: https://github.com/toabi/homebrew/commits/sparkleshare
You also have to comment out the keg_only
in gettext and remove it if you already
installed it. If you created the formulas install them:
brew install git autoconf automake intltool gettext
Now start the first part of the build:
export ACLOCAL_FLAGS="-I /usr/local/share/aclocal" cd SmartIrc4net ./autogen.sh cd .. ./autogen.sh --enable-gtkui=no make
Ignore the error and continue to the MonoDevelop-part.
Now that you have compiled the libraries, open SparkleShare/Mac/SparkleShare.sln
in
MonoDevelop and start the build.
To create the SparkleShare.app, select Project from the menu bar and click "Create Mac Installer..." Save the SparkleShare.app somewhere.
Paste the contents of this file the following file in SparkleShare.app/Contents/MonoBundle/config
.
Copy /Library/Frameworks/Mono.framework/Versions/Current/lib/libintl.dylib
to SparkleShare.app/Contents/Resources
Now you should have a working .app that you can run.
IRC Channel: #sparkleshare on irc.gnome.org
Now have fun and create cool things together! :)