1{ lib, stdenv, fetchFromGitHub, kernel, nixosTests }:
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 passthru.tests = { inherit (nixosTests) jool; };
27
28 meta = with lib; {
29 homepage = "https://www.jool.mx/";
30 description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules";
31 platforms = platforms.linux;
32 license = licenses.gpl2Only;
33 maintainers = with maintainers; [ fpletz ];
34 };
35}