nixpkgs/pkgs/tools/security/fwbuilder/default.nix
Sergei Trofimovich 4e6dd2e778 fwbuilder: disable blanket -Werror
`-Werror` flag usually causes build failures due to minor changes in
compiler versions. They might be useful for developers themselves but
are rarely useful for distributions.

last time `fwbuilder` failed the build against newer `libxml2`:

    libfwbuilder/src/fwbuilder/XMLTools.cpp: In static member function 'static void libfwbuilder::XMLTools::initXMLTools()':
    libfwbuilder/src/fwbuilder/XMLTools.cpp:222:18: error: 'int xmlInitMemory()' is deprecated [-Werror=deprecated-declarations]
      222 |     xmlInitMemory();
          |     ~~~~~~~~~~~~~^~
2022-11-08 10:35:09 +00:00

56 lines
1.3 KiB
Nix

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