1{ lib, stdenv, fetchFromGitHub, nixosTests
2, autoreconfHook, pkg-config, libnl, iptables
3}:
4
5let
6 sourceAttrs = (import ./source.nix) { inherit fetchFromGitHub; };
7in
8
9stdenv.mkDerivation {
10 pname = "jool-cli";
11 version = sourceAttrs.version;
12
13 src = sourceAttrs.src;
14
15 patches = [
16 ./validate-config.patch
17 ];
18
19 outputs = [
20 "out"
21 "man"
22 ];
23
24 nativeBuildInputs = [ autoreconfHook pkg-config ];
25 buildInputs = [ libnl iptables ];
26
27 makeFlags = [ "-C" "src/usr" ];
28
29 prePatch = ''
30 sed -e 's%^XTABLES_SO_DIR = .*%XTABLES_SO_DIR = '"$out"'/lib/xtables%g' -i src/usr/iptables/Makefile
31 '';
32
33 passthru.tests = { inherit (nixosTests) jool; };
34
35 meta = with lib; {
36 homepage = "https://www.jool.mx/";
37 description = "Fairly compliant SIIT and Stateful NAT64 for Linux - CLI tools";
38 platforms = platforms.linux;
39 license = licenses.gpl2;
40 maintainers = with maintainers; [ fpletz ];
41 };
42}