summary refs log tree commit diff
path: root/pkgs/tools/misc/fffuu/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/fffuu/default.nix')
-rw-r--r--pkgs/tools/misc/fffuu/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/tools/misc/fffuu/default.nix b/pkgs/tools/misc/fffuu/default.nix
new file mode 100644
index 00000000000..7b275220c19
--- /dev/null
+++ b/pkgs/tools/misc/fffuu/default.nix
@@ -0,0 +1,51 @@
+{ mkDerivation, haskellPackages, fetchFromGitHub, lib }:
+
+mkDerivation rec {
+  pname = "fffuu";
+  version = "unstable-2018-05-26";
+
+  src = fetchFromGitHub {
+    owner = "diekmann";
+    repo = "Iptables_Semantics";
+    rev = "e0a2516bd885708fce875023b474ae341cbdee29";
+    sha256 = "1qc7p44dqja6qrjbjdc2xn7n9v41j5v59sgjnxjj5k0mxp58y1ch";
+  };
+
+  postPatch = ''
+    substituteInPlace haskell_tool/fffuu.cabal \
+      --replace "containers >=0.5 && <0.6" "containers >= 0.6" \
+      --replace "optparse-generic >= 1.2.3 && < 1.3" "optparse-generic >= 1.2.3"
+  '';
+
+  preCompileBuildDriver = ''
+    cd haskell_tool
+  '';
+
+  isLibrary = false;
+
+  isExecutable = true;
+
+  # fails with sandbox
+  doCheck = false;
+
+  libraryHaskellDepends = with haskellPackages; [
+    base
+    containers
+    split
+    parsec
+    optparse-generic
+  ];
+
+  executableHaskellDepends = with haskellPackages; [ base ];
+
+  testHaskellDepends = with haskellPackages; [
+    tasty
+    tasty-hunit
+    tasty-golden
+  ];
+
+  description = "Fancy Formal Firewall Universal Understander";
+  homepage = https://github.com/diekmann/Iptables_Semantics/tree/master/haskell_tool;
+  license = lib.licenses.bsd2;
+  maintainers = [ lib.maintainers.marsam ];
+}