SparkleShare/SparkleShare/Linux
2018-07-14 19:30:19 +01:00
..
Images linux: Add symbolic status icons 2018-07-14 19:30:19 +01:00
About.cs Remove trailing whitespace 2018-04-08 20:41:59 -07:00
Bubbles.cs Change my email address 2017-07-23 13:47:54 +01:00
Controller.cs command: Only log working dir when it's explicitly set 2018-03-14 21:13:47 +00:00
EventLog.cs linux statusicon: Rearrange menu 2018-07-14 19:30:19 +01:00
meson.build Fix appindicator 2018-07-14 19:30:19 +01:00
Note.cs Remove trailing whitespace 2018-04-08 20:41:59 -07:00
org.sparkleshare.SparkleShare.appdata.xml linux: New gnome-software screenshots 2018-07-14 19:30:19 +01:00
org.sparkleshare.SparkleShare.desktop linux autostart: xdg-app -> flatpak 2016-09-03 19:41:23 +01:00
org.sparkleshare.SparkleShare.Invites.desktop linux: Add scripts and data files to the project 2018-04-14 12:24:39 +01:00
README.md linux readme: Separate build/run requirements 2018-07-14 19:27:26 +01:00
Setup.cs Change my email address 2017-07-23 13:47:54 +01:00
SetupWindow.cs Remove trailing whitespace 2018-04-08 20:41:59 -07:00
SparkleShare.Autostart.desktop linux autostart: xdg-app -> flatpak 2016-09-03 19:41:23 +01:00
sparkleshare.in linux: Move help options to startup script 2018-07-14 19:30:19 +01:00
SparkleShare.Linux.csproj linux: Add options to toggle statusicon type 2018-07-14 19:30:19 +01:00
StatusIcon.cs linux statusicon: Use symbolic icons when using appindicator 2018-07-14 19:30:19 +01:00
UserInterface.cs linux: Log status icon type 2018-07-14 19:30:19 +01:00
UserInterfaceHelpers.cs mac: Use descriptive arguments for some methods 2018-04-14 12:21:56 +01:00

SparkleShare for Linux

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-sharp

Additional source build requirements

Install mono-complete, see instructions

Install these soup-sharp and webkit2gtk-sharp bindings:

git clone https://github.com/hbons/soup-sharp
cd soup-sharp/
./autogen.sh
make
sudo make install
git clone https://github.com/hbons/webkit2-sharp
cd webkit2-sharp/
./autogen.sh
make
sudo make install

On 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 install

Start 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 meson

Uninstall

sudo ninja uninstall

Reset SparkleShare settings

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