anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / sync / backintime / common.nix
blob087b415c241fe03e5062f6e0af68c4d7323e41af
1 {stdenv, lib, fetchFromGitHub, makeWrapper, gettext,
2 python3, rsync, cron, openssh, sshfs-fuse, encfs }:
4 let
5   python' = python3.withPackages (ps: with ps; [ dbus-python keyring packaging ]);
7   apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
8 in stdenv.mkDerivation rec {
9   pname = "backintime-common";
10   version = "1.5.2";
12   src = fetchFromGitHub {
13     owner = "bit-team";
14     repo = "backintime";
15     rev = "v${version}";
16     sha256 = "sha256-yfCSTzCmhXDBC1vYqwgVjsYUtc5VO1VW74BmIB0hHfE=";
17   };
19   nativeBuildInputs = [ makeWrapper gettext ];
20   buildInputs = [ python' ];
22   installFlags = [ "DEST=$(out)" ];
24   configureFlags = [ "--python=${lib.getExe python'}" ];
26   preConfigure = ''
27     patchShebangs --build updateversion.sh
28     cd common
29     substituteInPlace configure \
30       --replace-fail "/.." "" \
31       --replace-fail "share/backintime" "${python'.sitePackages}/backintime"
32     substituteInPlace "backintime" "backintime-askpass" \
33       --replace-fail "share" "${python'.sitePackages}"
34   '';
36   dontAddPrefix = true;
38   preFixup = ''
39     wrapProgram "$out/bin/backintime" \
40       --prefix PATH : ${apps}
41     '';
43   meta = {
44     homepage = "https://github.com/bit-team/backintime";
45     description = "Simple backup tool for Linux";
46     license = lib.licenses.gpl2;
47     maintainers = with lib.maintainers; [ stephen-huan ];
48     platforms = lib.platforms.linux;
49     mainProgram = "backintime";
50     longDescription = ''
51       Back In Time is a simple backup tool (on top of rsync) for Linux
52       inspired from "flyback project" and "TimeVault". The backup is
53       done by taking snapshots of a specified set of directories.
54     '';
55   };