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

53 lines
1.6 KiB
Nix
Raw Normal View History

{ stdenv, lib, fetchFromGitHub, go, pkgs }:
stdenv.mkDerivation rec {
2016-10-06 06:27:47 +01:00
version = "0.14.8";
name = "syncthing-${version}";
src = fetchFromGitHub {
2016-09-26 09:07:14 +01:00
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
2016-10-06 06:27:47 +01:00
sha256 = "0zhxgl6pgf60x99cappdfzk7h23g37hlanh72bwypx7pwbvhc91l";
};
buildInputs = [ go ];
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
go run build.go -no-upgrade -version v${version} install all
'';
installPhase = ''
mkdir -p $out/bin $out/etc/systemd/{system,user}
cp bin/* $out/bin
'' + lib.optionalString (stdenv.isLinux) ''
substitute etc/linux-systemd/system/syncthing-resume.service \
$out/etc/systemd/system/syncthing-resume.service \
--replace /usr/bin/pkill ${pkgs.procps}/bin/pkill
substitute etc/linux-systemd/system/syncthing@.service \
$out/etc/systemd/system/syncthing@.service \
--replace /usr/bin/syncthing $out/bin/syncthing
substitute etc/linux-systemd/user/syncthing.service \
$out/etc/systemd/user/syncthing.service \
--replace /usr/bin/syncthing $out/bin/syncthing
'';
meta = with stdenv.lib; {
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";
license = stdenv.lib.licenses.mpl20;
2016-07-30 04:32:43 +01:00
maintainers = with stdenv.lib.maintainers; [ pshendry joko peterhoeg ];
2016-09-26 23:46:48 +01:00
platforms = stdenv.lib.platforms.unix;
};
}