about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/security/fwbuilder/default.nix
blob: 6787e2f923b9f3935f328ccfda45dc11345b2241 (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
52
53
54
55
{ lib
, stdenv
, fetchFromGitHub
, cmake
, ninja
, wrapQtAppsHook
, wayland
, wayland-protocols
, qtwayland
}:

stdenv.mkDerivation rec {
  pname = "fwbuilder";
  version = "6.0.0-rc1";

  src = fetchFromGitHub {
    owner = "fwbuilder";
    repo = "fwbuilder";
    rev = "v${version}";
    hash = "sha256-j5HjGcIqq93Ca9OBqEgSotoSXyw+q6Fqxa3hKk1ctwQ=";
  };

  postPatch = ''
    # Avoid blanket -Werror as it triggers on any minor compiler
    # warnings like deprecated functions or invalid indentat8ion.
    # Leave fixing these problems to upstream.
    substituteInPlace CMakeLists.txt --replace ';-Werror;' ';'
  '';

  nativeBuildInputs = [
    cmake
    ninja
    wrapQtAppsHook
  ];

  buildInputs = [
    wayland
    wayland-protocols
    qtwayland
  ];

  meta = with lib; {
    description = "GUI Firewall Management Application";
    longDescription = ''
      Firewall Builder is a GUI firewall management application for iptables,
      PF, Cisco ASA/PIX/FWSM, Cisco router ACL and more. Firewall configuration
      data is stored in a central file that can scale to hundreds of firewalls
      managed from a single UI.
    '';
    homepage = "https://github.com/fwbuilder/fwbuilder";
    license = licenses.gpl2Only;
    platforms = platforms.linux;
    maintainers = [ maintainers.elatov ];
  };
}