aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix
new file mode 100644
index 000000000000..b672dd170122
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/ena/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation rec {
+ version = "2.2.11";
+ name = "ena-${version}-${kernel.version}";
+
+ src = fetchFromGitHub {
+ owner = "amzn";
+ repo = "amzn-drivers";
+ rev = "ena_linux_${version}";
+ sha256 = "06ajhs6byw3pj0skix6ppmdjsg1a3zan8yamnjqdgkxwliiszhrc";
+ };
+
+ hardeningDisable = [ "pic" ];
+
+ nativeBuildInputs = kernel.moduleBuildDependencies;
+
+ # linux 3.12
+ NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+
+ configurePhase = ''
+ cd kernel/linux/ena
+ substituteInPlace Makefile --replace '/lib/modules/$(BUILD_KERNEL)' ${kernel.dev}/lib/modules/${kernel.modDirVersion}
+ '';
+
+ installPhase = ''
+ strip -S ena.ko
+ dest=$out/lib/modules/${kernel.modDirVersion}/misc
+ mkdir -p $dest
+ cp ena.ko $dest/
+ xz $dest/ena.ko
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Amazon Elastic Network Adapter (ENA) driver for Linux";
+ homepage = "https://github.com/amzn/amzn-drivers";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.eelco ];
+ platforms = platforms.linux;
+ };
+}