at 23.05-pre 47 lines 1.6 kB view raw
1{ lib, stdenv, fetchFromGitHub, kernel, kmod, gnugrep, vmware-workstation }: 2 3stdenv.mkDerivation rec { 4 pname = "vmware-modules"; 5 version = "${vmware-workstation.version}-${kernel.version}"; 6 7 src = fetchFromGitHub { 8 owner = "mkubecek"; 9 repo = "vmware-host-modules"; 10 rev = "w${vmware-workstation.version}-k5.18"; 11 sha256 = "sha256-sAeCjaSrBXGP5szfCY5CpMrGwzCw4aM67EN+YfA3AWA="; 12 }; 13 14 hardeningDisable = [ "pic" ]; 15 16 nativeBuildInputs = kernel.moduleBuildDependencies; 17 18 enableParallelBuilding = true; 19 20 postPatch = '' 21 substituteInPlace Makefile \ 22 --replace '/lib/modules/$(VM_UNAME)/misc' "$out/lib/modules/${kernel.modDirVersion}/misc" \ 23 --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ 24 --replace /sbin/modinfo "${kmod}/bin/modinfo" \ 25 --replace 'test -z "$(DESTDIR)"' "0" 26 27 for module in "vmmon-only" "vmnet-only"; do 28 substituteInPlace "./$module/Makefile" \ 29 --replace '/lib/modules/' "${kernel.dev}/lib/modules/" \ 30 --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ 31 --replace /bin/grep "${gnugrep}/bin/grep" 32 done 33 ''; 34 35 preInstall = '' 36 mkdir -p "$out/lib/modules/${kernel.modDirVersion}/misc" 37 ''; 38 39 meta = with lib; { 40 description = "Kernel modules needed for VMware hypervisor"; 41 homepage = "https://github.com/mkubecek/vmware-host-modules"; 42 license = licenses.gpl2Only; 43 platforms = [ "x86_64-linux" ]; 44 broken = (kernel.kernelOlder "5.5" && kernel.isHardened) || kernel.kernelAtLeast "5.19"; 45 maintainers = with maintainers; [ deinferno ]; 46 }; 47}