about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
blob: 3d617ece1c0084513badc6487f95b7f6d9edb02f (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
{ stdenv, systemd, cryptsetup }:

assert stdenv.isLinux;

stdenv.lib.overrideDerivation systemd (p: {
  version = p.version;
  name = "systemd-cryptsetup-generator";

  nativeBuildInputs = p.nativeBuildInputs ++ [ cryptsetup ];
  outputs = [ "out" ];

  buildPhase = ''
    make $makeFlags built-sources
    make $makeFlags systemd-cryptsetup
    make $makeFlags systemd-cryptsetup-generator
  '';

  # For some reason systemd-cryptsetup-generator is a wrapper-script
  # with the current release of systemd. We want the real one.

  # TODO: Revert 3efadce when the wrapper-script is gone
  installPhase = ''
    mkdir -p $out/lib/systemd/
    cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup
    cp .libs/*.so $out/lib/

    mkdir -p $out/lib/systemd/system-generators/
    cp .libs/systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator
  '';
})