summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 69f3c4b1e68ae3ff7c8b01255e368e3e6de213d2 (plain)
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
# Maintainer: lsf
# Maintainer: Adam Hose <adis@blad.is>
pkgver=20180913.350_e9c10b9
pkgrel=1
pkgbase=opensnitch-git
_pkgbase=opensnitch
pkgname=("${_pkgbase}d-git" "${_pkgbase}-ui-git")
arch=('i686' 'x86_64')
license=('GPL')
makedepends=('git' 'go-pie' 'dep' 'libpcap' 'protobuf'
             'libnetfilter_queue' 'protobuf-go'
             'python-setuptools' 'python-pip'
             'python-grpcio' 'python-grpcio-tools'
             'python-pyinotify' 'python-pyqt5'
             'python-unicode-slugify')

source=("opensnitch::git://github.com/evilsocket/opensnitch#branch=${BRANCH:-master}"
        'nosudo.patch'
        'pwuid.patch')

md5sums=('SKIP'
         'eb5a6c83c3816220799e678e32572705'
         '03a48a1be821e80a64b7d392cc12db4b')

pkgver() {
        if [[ "$PKGVER" ]]; then
                echo "$PKGVER"
                return
        fi

        cd "$srcdir/$_pkgbase"
        local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
        local count=$(git rev-list --count HEAD)
        local commit=$(git rev-parse --short HEAD)
        echo "$date.${count}_$commit"
}

build() {
        cd "$srcdir/$_pkgbase"

        if [ -L "$srcdir/$_pkgbase" ]; then
                rm "$srcdir/$_pkgbase" -rf
                mv "$srcdir/.go/src/$_pkgbase/" "$srcdir/$_pkgbase"
        fi

        rm -rf "$srcdir/.go/src"
        mkdir -p "$srcdir/.go/src"
        export GOPATH="$srcdir/.go"
        mv "$srcdir/$_pkgbase" "$srcdir/.go/src/"

        cd "$srcdir/.go/src/$_pkgbase/"
        ln -sf "$srcdir/.go/src/$_pkgbase/" "$srcdir/$_pkgbase"

        cd "$GOPATH/src/opensnitch/daemon"
        dep ensure
        cd "$GOPATH/src/opensnitch"
        patch -Np1 -i "${srcdir}/nosudo.patch"
        patch -Np1 -i "${srcdir}/pwuid.patch"
        make
}

package_opensnitchd-git() {
        pkgdesc="A GNU/Linux port of the Little Snitch application firewall."
        optdepends=('opensnitch-ui')
        depends=('libnetfilter_queue')

        export GOPATH="$srcdir/.go"
        cd "$GOPATH/src/opensnitch"
        mkdir -p "${pkgdir}"/usr/lib/systemd/system
        mkdir -p "${pkgdir}"/usr/bin
        make DESTDIR="$pkgdir/" install
}

package_opensnitch-ui-git() {
        pkgdesc="UI for opensnitch."
        depends=('python-grpcio' 'python-grpcio-tools' 'python-pyinotify'
                 'python-pyqt5' 'python-unicode-slugify' 'opensnitchd'
                 'desktop-file-utils')

        export GOPATH="$srcdir/.go"
        cd "$GOPATH/src/opensnitch/ui"
        pip install --isolated --root="$pkgdir" --ignore-installed --no-deps .
}