From fedae9b8bcd02eea9d2133558db9c46032ce1f83 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Tue, 27 May 2025 18:06:00 -0400 Subject: [PATCH] init commit (25.05 warbler/6.14.8) --- .gitignore | 1 + default.nix | 10 ++++++++++ result | 1 + xdma.nix | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 .gitignore create mode 100644 default.nix create mode 120000 result create mode 100644 xdma.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1cd791b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result/ diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..2498ed5 --- /dev/null +++ b/default.nix @@ -0,0 +1,10 @@ +let + nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/25.05"; + pkgs = import nixpkgs { config = {}; overlays = []; }; +in + +{ + + xdma = pkgs.callPackage ./xdma.nix { }; + +} diff --git a/result b/result new file mode 120000 index 0000000..19adaf0 --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/kvf183s5ps664qkdqp515nh4avny0750-xdma-module-6.14.8 \ No newline at end of file diff --git a/xdma.nix b/xdma.nix new file mode 100644 index 0000000..fe65c9b --- /dev/null +++ b/xdma.nix @@ -0,0 +1,50 @@ +{ 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" ]; +}