1{ stdenv, systemd, cryptsetup }:
2
3assert stdenv.isLinux;
4
5stdenv.lib.overrideDerivation systemd (p: {
6 version = p.version;
7 name = "systemd-cryptsetup-generator";
8
9 nativeBuildInputs = p.nativeBuildInputs ++ [ cryptsetup ];
10 outputs = [ "out" ];
11
12 buildPhase = ''
13 make $makeFlags built-sources
14 make $makeFlags systemd-cryptsetup
15 make $makeFlags systemd-cryptsetup-generator
16 '';
17
18 # For some reason systemd-cryptsetup-generator is a wrapper-script
19 # with the current release of systemd. We want the real one.
20
21 # TODO: Remove `.libs` prefix when the wrapper-script is gone
22 installPhase = ''
23 mkdir -p $out/lib/systemd/
24 cp .libs/systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup
25 cp .libs/*.so $out/lib/
26
27 mkdir -p $out/lib/systemd/system-generators/
28 cp .libs/systemd-cryptsetup-generator $out/lib/systemd/system-generators/systemd-cryptsetup-generator
29 '';
30})