2017-07-02 02:50:59 +02:00
|
|
|
{ stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
|
2017-01-25 14:57:51 +01:00
|
|
|
|
2017-03-09 13:02:46 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2017-09-20 02:50:00 +02:00
|
|
|
version = "0.14.38";
|
2016-05-30 10:15:58 +02:00
|
|
|
name = "syncthing-${version}";
|
|
|
|
|
2016-07-27 18:49:43 +02:00
|
|
|
src = fetchFromGitHub {
|
2016-09-26 10:07:14 +02:00
|
|
|
owner = "syncthing";
|
|
|
|
repo = "syncthing";
|
|
|
|
rev = "v${version}";
|
2017-09-20 02:50:00 +02:00
|
|
|
sha256 = "0afid083azvrihv1v2cas09dprr2fflmj9gi7iy18gvwy2pg0jj8";
|
2016-05-30 10:15:58 +02:00
|
|
|
};
|
|
|
|
|
2017-03-09 13:02:46 +01:00
|
|
|
buildInputs = [ go removeReferencesTo ];
|
2016-05-30 10:15:58 +02:00
|
|
|
|
|
|
|
buildPhase = ''
|
|
|
|
mkdir -p src/github.com/syncthing
|
|
|
|
ln -s $(pwd) src/github.com/syncthing/syncthing
|
|
|
|
export GOPATH=$(pwd)
|
|
|
|
|
|
|
|
# Syncthing's build.go script expects this working directory
|
|
|
|
cd src/github.com/syncthing/syncthing
|
|
|
|
|
2017-08-14 14:28:11 +02:00
|
|
|
go run build.go -no-upgrade -version v${version} build
|
2016-05-30 10:15:58 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
2017-08-14 14:28:11 +02:00
|
|
|
mkdir -p $out/lib/systemd/{system,user}
|
|
|
|
|
|
|
|
install -Dm755 syncthing $out/bin/syncthing
|
2016-09-26 09:40:21 +02:00
|
|
|
|
|
|
|
'' + lib.optionalString (stdenv.isLinux) ''
|
|
|
|
substitute etc/linux-systemd/system/syncthing-resume.service \
|
2017-05-09 14:58:17 +02:00
|
|
|
$out/lib/systemd/system/syncthing-resume.service \
|
2017-07-02 02:50:59 +02:00
|
|
|
--replace /usr/bin/pkill ${procps}/bin/pkill
|
2016-09-26 09:40:21 +02:00
|
|
|
|
|
|
|
substitute etc/linux-systemd/system/syncthing@.service \
|
2017-05-09 14:58:17 +02:00
|
|
|
$out/lib/systemd/system/syncthing@.service \
|
2016-09-26 09:40:21 +02:00
|
|
|
--replace /usr/bin/syncthing $out/bin/syncthing
|
|
|
|
|
|
|
|
substitute etc/linux-systemd/user/syncthing.service \
|
2017-05-09 14:58:17 +02:00
|
|
|
$out/lib/systemd/user/syncthing.service \
|
2016-09-26 09:40:21 +02:00
|
|
|
--replace /usr/bin/syncthing $out/bin/syncthing
|
2016-05-30 10:15:58 +02:00
|
|
|
'';
|
|
|
|
|
2017-01-13 10:51:04 +01:00
|
|
|
preFixup = ''
|
2017-03-09 13:02:46 +01:00
|
|
|
find $out/bin -type f -exec remove-references-to -t ${go} '{}' '+'
|
2017-01-13 10:51:04 +01:00
|
|
|
'';
|
|
|
|
|
2016-09-26 09:40:21 +02:00
|
|
|
meta = with stdenv.lib; {
|
2016-05-30 10:15:58 +02:00
|
|
|
homepage = https://www.syncthing.net/;
|
|
|
|
description = "Open Source Continuous File Synchronization";
|
2017-01-03 06:15:29 +01:00
|
|
|
license = licenses.mpl20;
|
|
|
|
maintainers = with maintainers; [ pshendry joko peterhoeg ];
|
|
|
|
platforms = platforms.unix;
|
2016-05-30 10:15:58 +02:00
|
|
|
};
|
|
|
|
}
|