1. Project Overview & Quickstart (hbons/SparkleShare)
File: README.md
[SparkleShare](https://www.sparkleshare.org/)
[!NOTE]
Please read ๐ฑ issue #2006 for the future of this project.
[!IMPORTANT]
Hello! Hylke here. I was recently laid off. I'd love to work full-time creating apps for Linux and contributing design for FOSS projects. I hope to gather enough monthly sponsors for a minimum wage. Every little helps. Thank you.
SparkleShare is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows.
You can support this project through ๐ GitHub Sponsors.
How does it work?
SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or "projects") to this folder. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file.
Install on Ubuntu or Fedora
You can install the package from your distribution (likely old and not updated often), but we recommend to get our Flatpak with automatic updates to always enjoy the latest and greatest:
flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.sparkleshare.SparkleShareNow you can run SparkleShare from the apps menu.
Note: by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the AppIndicator extension. If you don't use GNOME, you can start SparkleShare with --status-icon=gtk.
Install on macOS
Download the app from the releases page.
Set up a host
Under the hood SparkleShare uses the version control system Git and the large files extension Git LFS, so setting up a host yourself is relatively easy. Using your own host gives you more privacy and control, as well as lots of cheap storage space and higher transfer speeds. We've made a simple script that does the hard work for you. If you need to manage a lot of projects and/or users we recommend hosting a GitLab Community Edition instance.
Build from source
SparkleShare is Free and Open Source software and licensed under the GNU GPLv3 or later. You are welcome to change and redistribute it under certain conditions. Its library Sparkles is licensed under the GNU LGPLv3 or later.
Here are instructions to build SparkleShare on Linux distributions, macOS, and Windows.
Useful links
Have fun, make awesome. :)
File: SparkleShare/Mac/README.md
Building on macOS
You can build SparkleShare from source or download the SparkleShare bundle.
Installing build requirements
Install Xcode from the macOS App Store, or download it manually.
Install Visual Studio.
For building the distribution release, where Mono libraries are merged into SparkleShare, we need
the autoconf and pkg-config. You can install these in several ways, here's how it's done using Homebrew:
brew install autoconf automake libtool pkg-configBuilding
There are three build configurations available:
DebugMac
with debug symbols and having the Symbol DEBUG defined. Requires an installed Mono framework.
Release
without debug symbols. Requires an installed Mono framework.
ReleaseMac
without debug symbols, the Mono framework is linked statically into the binary, so it does not require an installed Mono framework.
To build any of these configurations,
- open
./SparkleShare.slnin Visual Studio - select the SparkleShare.Mac project in the Solution view
- select the required configuration
- select
Build, then"Build SparkleShare.Mac"from the menu
To build SparkleShare from a command line (e.g. for using a CI system), use this command:
/Applications/Visual\ Studio.app/Contents/MacOS/vstool build "--configuration:ReleaseMac" "SparkleShare.sln"Resetting SparkleShare settings
rm -Rf ~/SparkleShare
rm -Rf ~/.config/org.sparkleshare.SparkleShareUninstalling
Simply remove the SparkleShare bundle.
File: SparkleShare/Linux/README.md
SparkleShare for Linux
Building with Flatpak
If you want to test SparkleShare from Git, it's easiest to build a flatpak locally using this spec and run it.
Building on Linux
Common build requirements
You will need the packages listed below for the most used Linux distributions:
# On Ubuntu 16.04:
# Run requirements
sudo apt-get install \
curl \
git \
git-lfs \
gvfs
# Build requirements
sudo apt-get install \
desktop-file-utils \
gtk-sharp3-gapi \
libappindicator3-0.1-cil-dev \
libdbus-glib2.0-cil-dev \
libgtk3.0-cil-dev \
libnotify3.0-cil-dev \
libsoup2.4-dev \
libtool-bin \
libwebkit2gtk-4.0 \
meson \
mono-devel \
mono-mcs \
xsltproc
# On Fedora 27:
# Run requirements
sudo dnf install \
curl \
git \
git-lfs \
gvfs
# Build requirements
sudo dnf install \
gtk-sharp3-devel \
gtk-sharp3-gapi \
libtool \
meson \
notify-sharp3-devel \
webkitgtk4-devel \
webkit2-sharpAdditional source build requirements
Install these soup-sharp and webkit2gtk-sharp bindings:
git clone https://github.com/hbons/soup-sharp
cd soup-sharp/
./autogen.sh
make
sudo make installgit clone https://github.com/hbons/webkit2-sharp
cd webkit2-sharp/
./autogen.sh
make
sudo make installOn Ubuntu, also install these appindicator-sharp bindings:
sudo apt-get install libappindicator3-dev
git clone https://github.com/hbons/appindicator-sharp
cd appindicator-sharp/
./autogen.sh
make
sudo make installStart the build
You can build and install SparkleShare with meson like this:
meson build/
ninja -C build/
sudo ninja install -C build/If your distribution has an out of date meson package, you can install the latest version using the Python package manager:
# Install pip using your system's package manager
sudo apt-get install python3-pip # Ubuntu
sudo dnf install python3-pip # Fedora
pip3 install mesonUninstall
sudo ninja uninstallReset SparkleShare settings
rm -Rf ~/SparkleShare
rm -Rf ~/.config/org.sparkleshare.SparkleShareFile: SparkleShare/Windows/README.md
Windows
You can choose to build SparkleShare from source or to run the Windows installer.
Installing build requirements
Install version 4.0 of the .NET Framework if you haven't already.
Install msysGit and copy the contents of the install folder
(C:\Program Files (x86)\Git by default) to C:\path\to\SparkleShare-sources\bin\msysgit\ (create the "bin"-folder in the SparkleShare source directory).
Open a command prompt and execute the following:
cd C:\path\to\SparkleShare-sources
cd SparkleShare\Windows
buildC:\path\to\SparkleShare-sources\bin should now contain SparkleShare.exe, which you can run.
Creating a Windows installer
To create an installer package, install WiX 3.7, restart Windows and run:
cd C:\path\to\SparkleShare-sources\SparkleShare\Windows\
build installerThis will create SparkleShare.msi in the same directory.
Resetting SparkleShare settings
Remove My Documents\SparkleShare and AppData\Roaming\org.sparkleshare.SparkleShare (AppData is hidden by default).
Uninstalling
You can uninstall SparkleShare through the Windows Control Panel.
2. Official Technical Reference & Guides (hbons/org.sparkleshare.SparkleShare)
SparkleShare [Flatpak](http://flatpak.org/) spec
This spec is used to make SparkleShare available on Flathub. If you just want to use the latest stable release, it's easiest to install SparkleShare from there.
If you're interested in installing the latest nightly SparkleShare version, do read on.
Install dependencies and build the flatpak
First, run git submodule update --init.
# Install the GNOME runtime and SDK
flatpak --user remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak --user install gnome org.gnome.Platform 3.28
flatpak --user install gnome org.gnome.Sdk 3.28
# Build or update the latest nightly SparkleShare from master
flatpak-builder --repo=./repo ./app org.sparkleshare.SparkleShare.Nightly.ymlIt may take a while to build the flatpak (around 30 minutes on my computer), this is normal.
Install the built flatpak from the repo
flatpak --user remote-add --no-gpg-verify sparkleshare ./repo
flatpak --user install sparkleshare org.sparkleshare.SparkleShareYou can now start SparkleShare from the apps menu or by running flatpak run org.sparkleshare.SparkleShare.
I've added two scripts to automate the build and installation steps after you've installed the GNOME runtime and SDK. ./build-stable.sh builds the last released version, and ./build-nightly.sh builds the last commit on master. Simply run the script again to build any new commits.