50 lines
1.1 KiB
Nix
50 lines
1.1 KiB
Nix
{ 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" ];
|
|
}
|