{ stdenv , nukeReferences , linuxPackages_latest , kernel ? linuxPackages_latest.kernel , fetchFromGitHub , bash }: stdenv.mkDerivation { version = "1.0"; name = "xdma-module-${kernel.modDirVersion}"; buildInputs = [ bash nukeReferences ]; nativeBuildInputs = kernel.moduleBuildDependencies; src = fetchFromGitHub { owner = "Xilinx"; repo = "dma_ip_drivers"; rev = "e8ec40374c4c7831195c23109f586ecd03f6b11f"; sha256 = "sha256-k8O0yU9i0IlNvJU2tMFFVx1LLcLzaar2wfPiDChRdzw="; }; cmakeFlags = [ "-D__LIBXDMA_DEBUG__" ]; postUnpack = '' cd source find . -type f -exec sed -i 's|/bin/bash|${bash}/bin/bash|g' {} + find . -type f -exec sed -i 's|/lib/modules|${kernel.dev}/lib/modules|g' {} + find . -type f -exec sed -i 's|$(shell uname -r)|${kernel.modDirVersion}|g' {} + cd XDMA/linux-kernel/xdma sourceRoot="$(pwd -P)" ''; buildPhase = '' make all DEBUG=1 ''; installPhase = '' mkdir -p $out/lib/modules/$kernelVersion/misc for x in $(find . -name '*.ko'); do nuke-refs $x cp $x $out/lib/modules/$kernelVersion/misc/ done ''; meta.platforms = [ "x86_64-linux" ]; }