diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/jool/default.nix')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/jool/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/jool/default.nix b/nixpkgs/pkgs/os-specific/linux/jool/default.nix new file mode 100644 index 000000000000..d65be175fc1d --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/jool/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, kernel }: + +assert stdenv.lib.versionOlder kernel.version "4.18"; + +let + sourceAttrs = (import ./source.nix) { inherit fetchFromGitHub; }; +in + +stdenv.mkDerivation { + name = "jool-${sourceAttrs.version}-${kernel.version}"; + + src = sourceAttrs.src; + + nativeBuildInputs = kernel.moduleBuildDependencies; + hardeningDisable = [ "pic" ]; + + prePatch = '' + sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i mod/*/Makefile + ''; + + buildPhase = '' + make -C mod + ''; + + installPhase = '' + make -C mod modules_install INSTALL_MOD_PATH=$out + ''; + + meta = with stdenv.lib; { + homepage = https://www.jool.mx/; + description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules"; + platforms = platforms.linux; + maintainers = with maintainers; [ fpletz ]; + }; +} |