1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
{
appindicator-sharp,
coreutils,
fetchFromGitHub,
git,
git-lfs,
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
git-lfs
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 ];
};
}
|