1{ stdenv, lib, fetchFromGitHub, vdo, kernel }:
2
3stdenv.mkDerivation rec {
4 inherit (vdo);
5 pname = "kvdo";
6 version = "8.2.1.6"; # bump this version with vdo
7
8 src = fetchFromGitHub {
9 owner = "dm-vdo";
10 repo = "kvdo";
11 rev = version;
12 hash = "sha256-S5r2Rgx5pWk4IsdIwmfZkuGL/oEQ3prquyVqxjR3cO0=";
13 };
14
15 nativeBuildInputs = kernel.moduleBuildDependencies;
16
17 dontConfigure = true;
18 enableParallelBuilding = true;
19
20 KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
21 INSTALL_MOD_PATH = placeholder "out";
22
23 preBuild = ''
24 makeFlags="$makeFlags -C ${KSRC} M=$(pwd)"
25 '';
26 installTargets = [ "modules_install" ];
27
28 meta = with lib; {
29 inherit (vdo.meta) license maintainers;
30 homepage = "https://github.com/dm-vdo/kvdo";
31 description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage";
32 platforms = platforms.linux;
33 broken = kernel.kernelOlder "5.15";
34 };
35}