diff options
Diffstat (limited to 'pkgs/applications/version-management/sparkleshare/default.nix')
-rw-r--r-- | pkgs/applications/version-management/sparkleshare/default.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/sparkleshare/default.nix b/pkgs/applications/version-management/sparkleshare/default.nix new file mode 100644 index 00000000000..d4ae8a95b3e --- /dev/null +++ b/pkgs/applications/version-management/sparkleshare/default.nix @@ -0,0 +1,87 @@ +{ + appindicator-sharp, + coreutils, + fetchFromGitHub, + git, + glib, + gtk-sharp-3_0, + lib, + makeWrapper, + meson, + mono, + ninja, + notify-sharp, + openssh, + openssl, + pkg-config, + stdenv, + symlinkJoin, + webkit2-sharp, + xdg_utils, +}: + +stdenv.mkDerivation rec { + pname = "sparkleshare"; + version = "3.28"; + + src = fetchFromGitHub { + owner = "hbons"; + repo = "SparkleShare"; + rev = version; + sha256 = "sha256:1x5nv2f3mrsr4a336bz5kc2lzkzilfh43bxy2yqhhjp2dgb20497"; + }; + + nativeBuildInputs = [ + makeWrapper + meson + mono + ninja + pkg-config + ]; + + buildInputs = [ + appindicator-sharp + gtk-sharp-3_0 + notify-sharp + webkit2-sharp + ]; + + patchPhase = '' + # Nix will manage the icon cache. + echo '#!/bin/sh' >scripts/post-install.sh + ''; + + postInstall = '' + wrapProgram $out/bin/sparkleshare \ + --set PATH ${symlinkJoin { + name = "mono-path"; + paths = [ + coreutils + git + glib + mono + openssh + openssl + xdg_utils + ]; + }}/bin \ + --set MONO_GAC_PREFIX ${lib.concatStringsSep ":" [ + appindicator-sharp + gtk-sharp-3_0 + webkit2-sharp + ]} \ + --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ + appindicator-sharp + gtk-sharp-3_0.gtk3 + webkit2-sharp + webkit2-sharp.webkitgtk + ]} + ''; + + meta = { + description = "Share and collaborate by syncing with any Git repository instantly. Linux, macOS, and Windows."; + homepage = "https://sparkleshare.org"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ kevincox ]; + }; +} |