git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #148612 from onny/opensnitchui
commit0cb120ad803b75c47944f0240950d2527ade77a6 authorSandro <sandro.jaeckel@gmail.com> dateSat 1 Jan 2022, 14:22 (5 years ago) parent5a651b008ff635
3 files changed+52−8
pkgs/tools/networking/opensnitch/daemon.nix+13−5 pkgs/tools/networking/opensnitch/go-mod.patch+24 pkgs/tools/networking/opensnitch/ui.nix+15−3
pkgs/tools/networking/opensnitch/daemon.nix+13−5
@@ -1,6 +1,8 @@
11{ buildGoModule
22, fetchFromGitHub
33, fetchpatch
4+, protobuf
5+, go-protobuf
46, pkg-config
57, libnetfilter_queue
68, libnfnetlink
@@ -12,13 +14,13 @@
1214
1315buildGoModule rec {
1416 pname = "opensnitch";
15− version = "1.3.6";
17+ version = "1.4.3";
1618
1719 src = fetchFromGitHub {
1820 owner = "evilsocket";
1921 repo = "opensnitch";
2022 rev = "v${version}";
21− sha256 = "sha256-Cgo+bVQQeUZuYYhA1WSqlLyQQGAeXbbNno9LS7oNvhI=";
23+ sha256 = "1c2v2x8hfqk524sa42vry74lda4lg6ii40ljk2qx9j2f69446sva";
2224 };
2325
2426 patches = [
@@ -29,15 +31,21 @@ buildGoModule rec {
2931 url = "https://github.com/evilsocket/opensnitch/commit/8a3f63f36aa92658217bbbf46d39e6d20b2c0791.patch";
3032 sha256 = "sha256-WkwjKTQZppR0nqvRO4xiQoKZ307NvuUwoRx+boIpuTg=";
3133 })
34+ # Upstream has inconsistent vendoring
35+ ./go-mod.patch
3236 ];
3337
3438 modRoot = "daemon";
3539
36− vendorSha256 = "sha256-LMwQBFkHg1sWIUITLOX2FZi5QUfOivvrkcl9ELO3Trk=";
40+ buildInputs = [ libnetfilter_queue libnfnetlink ];
3741
38− nativeBuildInputs = [ pkg-config makeWrapper ];
42+ nativeBuildInputs = [ pkg-config protobuf go-protobuf makeWrapper ];
3943
40− buildInputs = [ libnetfilter_queue libnfnetlink ];
44+ vendorSha256 = "sha256-sTfRfsvyiFk1bcga009W6jD6RllrySRAU6B/8mF6+ow=";
45+
46+ preBuild = ''
47+ make -C ../proto ../daemon/ui/protocol/ui.pb.go
48+ '';
4149
4250 postBuild = ''
4351 mv $GOPATH/bin/daemon $GOPATH/bin/opensnitchd
pkgs/tools/networking/opensnitch/go-mod.patchnew file+24
@@ -0,0 +1,24 @@
1+diff --git a/daemon/go.mod b/daemon/go.mod
2+index ec21c04..a859bfb 100644
3+--- a/daemon/go.mod
4++++ b/daemon/go.mod
5+@@ -5,17 +5,12 @@ go 1.14
6+ require (
7+ github.com/evilsocket/ftrace v1.2.0
8+ github.com/fsnotify/fsnotify v1.4.7
9+- github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
10+- github.com/golang/protobuf v1.5.0
11+ github.com/google/gopacket v1.1.14
12+ github.com/google/nftables v0.0.0-20210514154851-a285acebcad3
13+ github.com/iovisor/gobpf v0.2.0
14+ github.com/vishvananda/netlink v1.1.0
15+- github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df // indirect
16+- golang.org/x/net v0.0.0-20190311183353-d8887717615a
17+- golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 // indirect
18+- golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444 // indirect
19+- golang.org/x/text v0.3.0 // indirect
20++ golang.org/x/net v0.0.0-20191028085509-fe3aa8a45271
21++ golang.org/x/sys v0.0.0-20191029155521-f43be2a4598c
22+ google.golang.org/grpc v1.27.0
23+ google.golang.org/protobuf v1.26.0
24+ )
pkgs/tools/networking/opensnitch/ui.nix+15−3
@@ -6,16 +6,19 @@
66
77python3Packages.buildPythonApplication rec {
88 pname = "opensnitch-ui";
9− version = "1.3.6";
9+ version = "1.4.3";
1010
1111 src = fetchFromGitHub {
1212 owner = "evilsocket";
1313 repo = "opensnitch";
1414 rev = "v${version}";
15− sha256 = "sha256-Cgo+bVQQeUZuYYhA1WSqlLyQQGAeXbbNno9LS7oNvhI=";
15+ sha256 = "sha256-amtDSDJOyNSxmJICEqN5lKhGyfF5C6I0EWViB1EXW7A=";
1616 };
1717
18− nativeBuildInputs = [ wrapQtAppsHook ];
18+ nativeBuildInputs = [
19+ python3Packages.pyqt5
20+ wrapQtAppsHook
21+ ];
1922
2023 propagatedBuildInputs = with python3Packages; [
2124 grpcio-tools
@@ -25,6 +28,11 @@ python3Packages.buildPythonApplication rec {
2528 pyinotify
2629 ];
2730
31+ preBuild = ''
32+ make -C ../proto ../ui/opensnitch/ui_pb2.py
33+ pyrcc5 -o opensnitch/resources_rc.py opensnitch/res/resources.qrc
34+ '';
35+
2836 preConfigure = ''
2937 cd ui
3038 '';
@@ -33,6 +41,10 @@ python3Packages.buildPythonApplication rec {
3341 export PYTHONPATH=opensnitch:$PYTHONPATH
3442 '';
3543
44+ postInstall = ''
45+ mv $out/lib/python3.9/site-packages/usr/* $out/
46+ '';
47+
3648 dontWrapQtApps = true;
3749 makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
3850