1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "vmm_clock";
11 version = "0.2.1";
12
13 src = fetchFromGitHub {
14 owner = "voutilad";
15 repo = "vmm_clock";
16 rev = version;
17 hash = "sha256-XYRxrVixvImxr2j3qxBcv1df1LvPRKqKKgegW3HqUcQ=";
18 };
19
20 hardeningDisable = [
21 "pic"
22 "format"
23 ];
24 nativeBuildInputs = kernel.moduleBuildDependencies;
25
26 extraConfig = ''
27 CONFIG_RTC_HCTOSYS yes
28 '';
29
30 makeFlags = kernelModuleMakeFlags ++ [
31 "DEPMOD=echo"
32 "INSTALL_MOD_PATH=$(out)"
33 "KERNELRELEASE=${kernel.modDirVersion}"
34 "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
35 ];
36
37 meta = with lib; {
38 description = "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor";
39 homepage = "https://github.com/voutilad/vmm_clock";
40 license = licenses.gpl2Plus;
41 maintainers = with maintainers; [ qbit ];
42 platforms = [
43 "i686-linux"
44 "x86_64-linux"
45 ];
46 };
47
48 enableParallelBuilding = true;
49}