summaryrefslogtreecommitdiff
path: root/branding/templates/snap/snapcraft-template.yaml
blob: b66aece10cba6516bab7fc833af47371291149f9 (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
84
85
86
87
88
89
90
91
92
93
name: ${binaryName}
version: ${version}
summary: ${applicationName}, secure VPN. Powered by Bitmask.
description: |
        ${applicationName} is an easy, fast, and secure VPN service from ${providerURL}.
        ${applicationName} does not require a user account, keep logs, or track you in
        any way. The service is paid for entirely by donations from users like you.
grade: stable
confinement: classic
icon: snap/gui/icon.svg 
base: core20

parts:
        bitmask-root:
                plugin: dump
                source: helpers/
                source-type: local
                override-prime: |
                        mkdir -p bin
                        cp $SNAPCRAFT_PART_SRC/bitmask-root bin/
                        chmod +x bin/bitmask-root

        openvpn:
                plugin: nil
                stage-packages:
                    - openvpn
                    - libdouble-conversion1
                    - libfreetype6
                    - libgl1
                    - libglvnd0
                    - libglx0
                    - libgraphite2-3
                    - libharfbuzz0b
                    - libicu60
                    - libpng16-16
                    - libqt5core5a
                    - libqt5gui5
                    - libqt5network5
                    - libqt5qml5
                    - libqt5widgets5
                    - libx11-6
                    - libxau6
                    - libxcb1
                    - libxdmcp6
                    - qml-module-qt-labs-platform
                    - qml-module-qtquick-controls2
                    - qml-module-qtquick-dialogs
                    - qml-module-qtquick-extras
                prime:
                    - -usr/share/doc
                    - -usr/share/man

        bitmask-vpn:
                plugin: nil
                source: .
                source-type: local
                stage:
                    - bin/${binaryName}
                override-build: |
                      mkdir -p $SNAPCRAFT_PRIME/snap/
                      echo 0.20.4-40-gcf5ed56 > $SNAPCRAFT_PRIME/snap/version.txt
                      mkdir -p $SNAPCRAFT_PRIME/usr/share/applications
                      cp $SNAPCRAFT_PROJECT_DIR/snap/local/${binaryName}.desktop $SNAPCRAFT_PRIME/usr/share/applications/${binaryName}.desktop
                      QT_SELECT=5 XBUILD=no ./build.sh
                      mkdir -p $SNAPCRAFT_PART_INSTALL/bin
                      mv qtbuild/release/${binaryName} $SNAPCRAFT_PART_INSTALL/bin/
                override-prime: |
                      rm -rf $SNAPCRAFT_PROJECT_DIR/snap/hooks/.mypy_cache
                      snapcraftctl prime
                build-packages:
                    - pkg-config
                    - patchelf
                    - g++
                    - golang
                    - git
                    - make
                    - qtbase5-dev
                    - qttools5-dev-tools
                    - qt5-qmake
                    - qtdeclarative5-dev

apps:
        launcher:
                command: bin/${binaryName}
                desktop: usr/share/applications/${binaryName}.desktop
                environment:
                        LD_LIBRARY_PATH: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/lib/$SNAPCRAFT_ARCH_TRIPLET:$LD_LIBRARY_PATH"
        openvpn:
                command: usr/sbin/openvpn
                environment:
                        LD_LIBRARY_PATH: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/lib/$SNAPCRAFT_ARCH_TRIPLET:$LD_LIBRARY_PATH"
        bitmask-root:
                command: bin/bitmask-root