summary refs log tree commit diff
path: root/pkgs/tools/misc/fffuu/default.nix
blob: 2463ee5a6e99ea0fd24826943edf975f138917c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{ mkDerivation, haskellPackages, fetchFromGitHub, lib }:

mkDerivation {
  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 ];
}