about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/backup/lvmsync/default.nix
blob: bbea71b7f370d64ec4ee0be6619ba51a25608460 (plain) (blame)
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
{ lib, stdenv, bundlerEnv, ruby, bundlerUpdateScript, makeWrapper }:

stdenv.mkDerivation rec {
  pname = "lvmsync";
  version = (import ./gemset.nix).${pname}.version;

  nativeBuildInputs = [ makeWrapper ];

  dontUnpack = true;

  installPhase = let
    env = bundlerEnv {
      name = "${pname}-${version}-gems";
      ruby = ruby;
      gemfile  = ./Gemfile;
      lockfile = ./Gemfile.lock;
      gemset   = ./gemset.nix;
    };
  in ''
    mkdir -p $out/bin
    makeWrapper ${env}/bin/lvmsync $out/bin/lvmsync
  '';

  passthru.updateScript = bundlerUpdateScript "lvmsync";

  meta = with lib; {
    description = "Optimised synchronisation of LVM snapshots over a network";
    mainProgram = "lvmsync";
    homepage = "https://theshed.hezmatt.org/lvmsync/";
    license = licenses.gpl3;
    platforms = platforms.all;
    maintainers = with maintainers; [ jluttine nicknovitski ];
  };

}