Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / op / opensnitch-ui / package.nix
blobd697826f03d6b840e5896838578aa44abd124a58
1 { python311Packages
2 , fetchFromGitHub
3 , nix-update-script
4 , qt5
5 , lib
6 }:
8 python311Packages.buildPythonApplication rec {
9   pname = "opensnitch-ui";
10   version = "1.6.6";
12   src = fetchFromGitHub {
13     owner = "evilsocket";
14     repo = "opensnitch";
15     rev = "refs/tags/v${version}";
16     hash = "sha256-pJPpkXRp7cby6Mvc7IzxH9u6MY4PcrRPkimTw3je6iI=";
17   };
19   postPatch = ''
20     substituteInPlace ui/opensnitch/utils/__init__.py \
21       --replace /usr/lib/python3/dist-packages/data ${python311Packages.pyasn}/${python311Packages.python.sitePackages}/pyasn/data
22   '';
24   nativeBuildInputs = [
25     python311Packages.pyqt5
26     qt5.wrapQtAppsHook
27   ];
29   buildInputs = [
30     qt5.qtwayland
31   ];
33   propagatedBuildInputs = with python311Packages; [
34     grpcio-tools
35     notify2
36     pyasn
37     pyinotify
38     pyqt5
39     qt-material
40     unicode-slugify
41     unidecode
42   ];
44   preBuild = ''
45     make -C ../proto ../ui/opensnitch/ui_pb2.py
46     # sourced from ui/Makefile
47     pyrcc5 -o opensnitch/resources_rc.py opensnitch/res/resources.qrc
48     sed -i 's/^import ui_pb2/from . import ui_pb2/' opensnitch/ui_pb2*
49   '';
51   preConfigure = ''
52     cd ui
53   '';
55   preCheck = ''
56     export PYTHONPATH=opensnitch:$PYTHONPATH
57   '';
59   postInstall = ''
60     mv $out/${python311Packages.python.sitePackages}/usr/* $out/
61   '';
63   dontWrapQtApps = true;
64   makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
66   # All tests are sandbox-incompatible and disabled for now
67   doCheck = false;
69   passthru.updateScript = nix-update-script { };
71   meta = with lib; {
72     description = "Application firewall";
73     mainProgram = "opensnitch-ui";
74     homepage = "https://github.com/evilsocket/opensnitch/wiki";
75     license = licenses.gpl3Only;
76     maintainers = with maintainers; [ onny ];
77     platforms = platforms.linux;
78   };