summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5424b8eda3f395b8a973819706e705055385ede8 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Maintainer:  dreieck
# Contributor: Plague-doctor <plague at privacyrequired dot com >

_pkgbase="mullvad-tray"
_pkgname="${_pkgbase}"
pkgname="${_pkgname}-git"
pkgver=2.0.4+7.r49.20260211.1f2739c
pkgrel=1
pkgdesc="Mullvad VPN connection status in system tray. Latest git checkout."
arch=(
  'i586'
  'i686'
  'x86_64'
  'armv6h'
  'armv7h'
  'aarch64'
)
depends=(
  'gcc-libs'
  'glibc'
  'libadwaita-1.so'      # libadwaita
  'libcrypto.so'         # openssl
  'libgdk_pixbuf-2.0.so' # gdk-pixbuf2
  'libgio-2.0.so'        # glib2
  'libglib-2.0.so'       # glib2
  'libgobject-2.0.so'    # glib2
  'libgtk-4.so'          # gtk4
  'libssl.so'            # openssl
)
makedepends=(
  "git"
  "cargo"
  "parallel"  # For parallel execution of 'zopflipng'.
  "zopfli"    # For 'zopflipng'.

  "gdk-pixbuf2"
  "glib2>=0.20"
  "gtk4>=0.9"
  "libadwaita>=0.7"
  "openssl"
)
checkdepends=(
  "cargo"
)
url="https://gitlab.com/Plague_Doctor/mullvad-tray"
license=('GPL-3.0-or-later')
source=("${_pkgbase}::git+${url}.git")
sha256sums=('SKIP')

prepare() {
  cd "${srcdir}/${_pkgbase}"

  git log > git.log

  CARGO_HOME="${srcdir}/cargo"
  export CARGO_HOME

  printf '%s\n' "Fetching rust dependencies ..."
  cargo fetch
}

pkgver () {
  cd "${srcdir}/${_pkgbase}"
  _ver="$(git describe  --tags | sed 's|^v||' | sed 's|-[^-]*$||' | tr '-' '+')"
  _rev="$(git rev-list --count HEAD)"
  _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
  _hash="$(git rev-parse --short HEAD)"

  if [ -z "${_ver}" ]; then
    error "Version could not be determined."
    return 1
  else
    printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
  fi
}

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

  CARGO_HOME="${srcdir}/cargo"
  export CARGO_HOME

  printf '%s\n' "Size-optimising PNG files ..."
  printf '%s\n' aur/*.png resources/icons/*.png | parallel -j`nproc` zopflipng -m -y {} {}

  printf '%s\n' "Compiling ..."
  cargo build --offline --release

}

check() {
  cd "${srcdir}/${_pkgbase}"

  CARGO_HOME="${srcdir}/cargo"
  export CARGO_HOME

  #cargo fmt
  printf '%s\n' "Performing check ..."
  cargo check --offline --all-targets
}

package() {
  cd "${srcdir}/${_pkgbase}"

  CARGO_HOME="${srcdir}/cargo"
  export CARGO_HOME

  printf '%s\n' "Installing binary ..."
  install -Dvm755 -t "${pkgdir}/usr/bin"  "target/release/mullvad-tray"

  printf '%s\n' "Inatalling logo and desktop file ..."
  install -Dvm644  aur/mullvad-logo.png      "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
  install -Dvm644  aur/mullvad-tray.desktop  "${pkgdir}/usr/share/applications/${_pkgname}.desktop"

  printf '%s\n' "Inatalling documentation ..."
  install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgbase}"       git.log README.md CHANGELOG.md CLAUDE.md
  install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgbase}/docs"  docs/*

  printf '%s\n' "Inatalling license file ..."
  install -Dvm644 -t "${pkgdir}/usr/share/licenses/${pkgname}"   LICENSE
}