at 23.11-beta 47 lines 1.5 kB view raw
1{ lib, stdenv, fetchFromGitHub, kernel, kmod, gnugrep }: 2 3stdenv.mkDerivation rec { 4 pname = "vmware-modules"; 5 version = "workstation-17.0.2-2023-09-29-${kernel.version}"; 6 7 src = fetchFromGitHub { 8 owner = "mkubecek"; 9 repo = "vmware-host-modules"; 10 # Developer no longer provides tags for kernel compatibility fixes 11 # Commit hash for branch workstation-17.0.2 as of 2023-09-29 12 rev = "29de7e2bd45d32e6983106d6f15810c70ba3e654"; 13 hash = "sha256-l0QJbjySINM/7EyNhZl6UnUonwPoGnCnsQeC8YtI15c="; 14 }; 15 16 hardeningDisable = [ "pic" ]; 17 18 nativeBuildInputs = kernel.moduleBuildDependencies; 19 20 enableParallelBuilding = true; 21 22 postPatch = '' 23 substituteInPlace Makefile \ 24 --replace '/lib/modules/$(VM_UNAME)/misc' "$out/lib/modules/${kernel.modDirVersion}/misc" \ 25 --replace /sbin/modinfo "${kmod}/bin/modinfo" \ 26 --replace 'test -z "$(DESTDIR)"' "0" 27 28 for module in "vmmon-only" "vmnet-only"; do 29 substituteInPlace "./$module/Makefile" \ 30 --replace '/lib/modules/' "${kernel.dev}/lib/modules/" \ 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); 45 maintainers = with maintainers; [ deinferno ]; 46 }; 47}