Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 62 lines 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 gitUpdater, 6 kernel, 7 kernelModuleMakeFlags, 8}: 9let 10 rev-prefix = "ena_linux_"; 11 version = "2.15.0"; 12in 13stdenv.mkDerivation { 14 inherit version; 15 name = "ena-${version}-${kernel.version}"; 16 17 src = fetchFromGitHub { 18 owner = "amzn"; 19 repo = "amzn-drivers"; 20 rev = "${rev-prefix}${version}"; 21 hash = "sha256-AwA7YduFACxmDk4+K/ghp39tdkjewgk4NLktnrSpK5k="; 22 }; 23 24 hardeningDisable = [ "pic" ]; 25 26 nativeBuildInputs = kernel.moduleBuildDependencies; 27 makeFlags = kernelModuleMakeFlags; 28 29 env.KERNEL_BUILD_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; 30 31 configurePhase = '' 32 runHook preConfigure 33 cd kernel/linux/ena 34 export ENA_PHC_INCLUDE=1 35 runHook postConfigure 36 ''; 37 38 installPhase = '' 39 runHook preInstall 40 $STRIP -S ena.ko 41 dest=$out/lib/modules/${kernel.modDirVersion}/misc 42 mkdir -p $dest 43 cp ena.ko $dest/ 44 xz $dest/ena.ko 45 runHook postInstall 46 ''; 47 48 passthru.updateScript = gitUpdater { 49 inherit rev-prefix; 50 }; 51 52 meta = with lib; { 53 description = "Amazon Elastic Network Adapter (ENA) driver for Linux"; 54 homepage = "https://github.com/amzn/amzn-drivers"; 55 license = licenses.gpl2Only; 56 maintainers = with maintainers; [ 57 sielicki 58 arianvp 59 ]; 60 platforms = platforms.linux; 61 }; 62}