blob: bcad57a27250c4dba45d4539c1249e23ac485a44 (
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
(define-module (battering packages opensnitch)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system gnu)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages qt)
#:use-module (gnu packages rpc)
#:use-module (gnu packages tls)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (battering packages golang-xyz)
#:use-module (battering packages python-xyz)
#:use-module ((guix licenses)
#:prefix license:))
(define-public opensnitch
(package
(name "opensnitch")
(version "1.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/evilsocket/opensnitch/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0990hdc3vn50axyz21v11gwkc2svlwf9wlnf03lwxgnm2q4ha76q"))))
(build-system python-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'make-proto-definitions
(lambda _
(with-directory-excursion "proto/"
(invoke "make" "../ui/opensnitch/ui_pb2.py"))))
(add-after 'make-proto-definitions 'chdir
(lambda _
(chdir "ui")))
(add-after 'chdir 'patch-setup.py
(lambda _
(substitute* "setup.py"
(("/usr/") ""))))
(add-after 'chdir 'generate-resources
(lambda _
;; Patch resource script
(substitute* "i18n/generate_i18n.sh"
(("/bin/sh")
(which "sh")))
;; Remove calls to pip in Makefile
(substitute* "Makefile"
(("@pip3.*$") ""))
(invoke "make" "opensnitch/resources_rc.py"))))))
(inputs (list python-grpcio-tools
python-pyinotify
python-slugify
python-pyqt
python-protobuf
python-notify2
python-qt-material))
(native-inputs (list python-setuptools qttools-5))
(home-page "https://github.com/evilsocket/opensnitch/")
(synopsis "GNU/Linux application firewall.")
(description "OpenSnitch is an interactive GNU/Linux application firewall inspired by Little Snitch.")
(license license:gpl3+)))
(define linux-libre-headers-opensnitch
(package
(inherit linux-libre-headers)
(name "linux-libre-headers-opensnitch")
(native-inputs (modify-inputs (package-native-inputs linux-libre-headers)
(append openssl bc elfutils)))
(arguments
(substitute-keyword-arguments (package-arguments linux-libre-headers-latest)
((#:phases p)
#~(modify-phases #$p
(replace 'build
(lambda _
(invoke "make" "defconfig")
(invoke "make" "prepare")))
(replace 'install
(lambda _
(begin
(copy-recursively "." #$output))))))
((#:allowed-references _) #f)))))
|