summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 6372c0bd91515d9f4eee9c3805cc94202e3ff405 (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
# Maintainer: XavierCLL <xavier.corredor.llano (a) gmail.com>
# Contributor: Utsav <aur (a) utsav2 [.] dev>
# Contributor: Tavian Barnes <tavianator@tavianator.com>
# Contributor: RafaƂ Wyszomirski <m6vuthzbw at mozmail dot com>

## links
# https://vpn.mozilla.org
# https://github.com/mozilla-mobile/mozilla-vpn-client
# https://launchpad.net/~mozillacorp/+archive/ubuntu/mozillavpn/+packages

pkgname=mozillavpn
pkgver=2.24.3
pkgrel=1
pkgdesc="Fast, secure, and easy to use VPN from the makers of Firefox"
arch=('x86_64')
url="https://vpn.mozilla.org"
license=('MPL-2.0')
depends=(
  'dbus'
  'freetype2'
  'hicolor-icon-theme'
  'libtiff'
  'libxcb'
  'libxdmcp'
  'libxmu'
  'libxrender'
  'polkit'
  'qt6-5compat'
  'qt6-charts'
  'qt6-declarative'
  'qt6-imageformats'
  'qt6-networkauth'
  'qt6-shadertools'
  'qt6-svg'
  'qt6-websockets'
  'wireguard-tools'
)
makedepends=(
  'clang'
  'cmake'
  'flex'
  'go'
  'python-lxml'
  'python-yaml'
  'qt6-tools'
  'rustup'
)
optdepends=(
    'qt6-wayland: for Wayland support'
)

install=mozillavpn.install

_debian_series="oracular1"
_dl_url="https://launchpad.net/~mozillacorp/+archive/ubuntu/mozillavpn/+sourcefiles/mozillavpn"
_pkgsrc="$pkgname-$pkgver"
source=("$_dl_url/${pkgver}-${_debian_series}/mozillavpn_${pkgver}.orig.tar.gz"
        "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9961.patch"
        "qt68fixes.patch")
sha256sums=('f0f69f6aff6d7184d5fb8234599f3133bbade462e83ab922d48a752db5d9cec9'
            '02285c79a50e67c28ad279be916419f0164a8efe1b2385befd18b90af92478e9'
            '64bdd0a78dc284e12777c97eb0cbc86085ea22b5c0359aea03702956d3efbcd9')

_cargo_env() {
  : ${CARGO_HOME:=$SRCDEST/cargo-home}
  export CARGO_HOME
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target

  CFLAGS+=" -ffat-lto-objects"
}

prepare() {
  patch -d $_pkgsrc -p1 < 9961.patch # https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9961
  patch -d $_pkgsrc -p1 < qt68fixes.patch # https://github.com/mozilla-mobile/mozilla-vpn-client/commit/485a2ad8feab6b1dee7c672ce03736d819fd9d37

  _cargo_env

  cd "$_pkgsrc"
  cargo update

  cd "extension/bridge"
  cargo update
}

build() {
  _cargo_env

  local _cmake_options=(
      -B build
      -S "$_pkgsrc"
      -DCMAKE_BUILD_TYPE=Release
      -DCMAKE_INSTALL_PREFIX='/usr'
      -Wno-dev
  )

  cmake "${_cmake_options[@]}"
  cmake --build build
}

package() {
  DESTDIR="$pkgdir" cmake --install build
}