nixpkgs/pkgs/applications/networking/syncthing/default.nix

58 lines
1.7 KiB
Nix
Raw Normal View History

{ stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
2017-01-25 13:57:51 +00:00
2017-03-09 12:02:46 +00:00
stdenv.mkDerivation rec {
2017-11-08 02:33:13 +00:00
version = "0.14.40";
name = "syncthing-${version}";
src = fetchFromGitHub {
2016-09-26 08:07:14 +00:00
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
2017-11-08 02:33:13 +00:00
sha256 = "0fd4k09sb91d1bjqj2v1fh7raq98fdw45aaa58kramwhidsf9sy5";
};
2017-03-09 12:02:46 +00:00
buildInputs = [ go removeReferencesTo ];
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 12:28:11 +00:00
go run build.go -no-upgrade -version v${version} build
'';
installPhase = ''
2017-08-14 12:28:11 +00:00
mkdir -p $out/lib/systemd/{system,user}
install -Dm755 syncthing $out/bin/syncthing
'' + lib.optionalString (stdenv.isLinux) ''
substitute etc/linux-systemd/system/syncthing-resume.service \
$out/lib/systemd/system/syncthing-resume.service \
--replace /usr/bin/pkill ${procps}/bin/pkill
substitute etc/linux-systemd/system/syncthing@.service \
$out/lib/systemd/system/syncthing@.service \
--replace /usr/bin/syncthing $out/bin/syncthing
substitute etc/linux-systemd/user/syncthing.service \
$out/lib/systemd/user/syncthing.service \
--replace /usr/bin/syncthing $out/bin/syncthing
'';
preFixup = ''
2017-03-09 12:02:46 +00:00
find $out/bin -type f -exec remove-references-to -t ${go} '{}' '+'
'';
meta = with stdenv.lib; {
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";
2017-01-03 05:15:29 +00:00
license = licenses.mpl20;
maintainers = with maintainers; [ pshendry joko peterhoeg ];
platforms = platforms.unix;
};
}