1{ lib, stdenv, fetchFromGitHub, kernel }:
2
3let
4 sourceAttrs = (import ./source.nix) { inherit fetchFromGitHub; };
5in
6
7stdenv.mkDerivation {
8 name = "jool-${sourceAttrs.version}-${kernel.version}";
9
10 src = sourceAttrs.src;
11
12 nativeBuildInputs = kernel.moduleBuildDependencies;
13 hardeningDisable = [ "pic" ];
14
15 prePatch = ''
16 sed -e 's@/lib/modules/\$(.*)@${kernel.dev}/lib/modules/${kernel.modDirVersion}@' -i src/mod/*/Makefile
17 '';
18
19 makeFlags = kernel.makeFlags ++ [
20 "-C src/mod"
21 "INSTALL_MOD_PATH=${placeholder "out"}"
22 ];
23
24 installTargets = "modules_install";
25
26 meta = with lib; {
27 homepage = "https://www.jool.mx/";
28 description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules";
29 platforms = platforms.linux;
30 license = licenses.gpl2Only;
31 maintainers = with maintainers; [ fpletz ];
32 };
33}