Package Details: mullvad-vpn 2024.7-1

Git Clone URL: https://aur.archlinux.org/mullvad-vpn.git (read-only, click to copy)
Package Base: mullvad-vpn
Description: The Mullvad VPN client app for desktop
Upstream URL: https://www.mullvad.net
Licenses: GPL-3.0-or-later
Submitter: gin078
Maintainer: yochananmarqos
Last Packager: yochananmarqos
Votes: 137
Popularity: 2.73
First Submitted: 2018-10-24 17:33 (UTC)
Last Updated: 2024-10-30 16:32 (UTC)

Pinned Comments

yochananmarqos commented on 2022-11-11 19:31 (UTC) (edited on 2022-11-13 19:21 (UTC) by yochananmarqos)

PSA: Upstream does not support building natively for ARM64, only cross-compiling. You can use mullvad-vpn-bin instead.

yochananmarqos commented on 2019-12-07 17:44 (UTC) (edited on 2024-06-06 22:09 (UTC) by yochananmarqos)

--> ALWAYS DO A CLEAN BUILD <--

This package will verify the signature of the git tag / commit. Developer keys are available here and instructions are here. See the PKGBUILD to determine which developer key you need.

Please do not create upstream issues about the AUR package, they do not support it.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 45 Next › Last »

yataro commented on 2024-05-16 12:07 (UTC)

That's strange, build for me was successful. Are you sure that patch is applied successfully? Try it with makepkg if you are using any AUR helper

JackStorm commented on 2024-05-16 12:03 (UTC)

Still the same error after patch, will use bin version for the time

yataro commented on 2024-05-16 10:22 (UTC)

@Bitals Can you try this?

diff --git a/.SRCINFO b/.SRCINFO
index a9d6c56..fb30f05 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = mullvad-vpn
    pkgdesc = The Mullvad VPN client app for desktop
    pkgver = 2024.3
-   pkgrel = 1
+   pkgrel = 2
    url = https://www.mullvad.net
    install = mullvad-vpn.install
    arch = x86_64
@@ -21,6 +21,7 @@ pkgbase = mullvad-vpn
    source = git+https://github.com/mullvad/mullvadvpn-app.git#tag=2024.3
    source = git+https://github.com/mullvad/mullvadvpn-app-binaries.git#commit=7db2c76522e29b4acd8f461fc87f794954c6df95?signed
    source = no-rpm.diff
+   source = no-publish.diff
    source = mullvad-vpn.sh
    validpgpkeys = 225E40C8F1C8DEB7977ABF59F293063FECE2E8ED
    validpgpkeys = 8339C7D2942EB854E3F27CE5AEE9DECFD582E984
@@ -28,6 +29,7 @@ pkgbase = mullvad-vpn
    sha256sums = 8064e0181b1d30352f25eab563bade47b2fd157ca9646b97aff928241d9870ea
    sha256sums = 76015a774788a2274d29e3fa1e06cb752a8488f24a973b5143d8659d5b290e9c
    sha256sums = ea35edffea2cbbb05586abce19581fdd9f133801ed47e6af30fa64a29c5cf116
+   sha256sums = c67014063742378993bae24af3d80076f5f547a099f924b0d6341dbfbfe98f6f
    sha256sums = 2262346cb57deb187fe32a88ccd873dab669598889269088e749197c6e88954f

 pkgname = mullvad-vpn
diff --git a/.gitignore b/.gitignore
index c75f7f5..e6cdee2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
 !mullvad-vpn.install
 !mullvad-vpn.sh
 !no-rpm.diff
+!no-publish.diff
diff --git a/PKGBUILD b/PKGBUILD
index 098ca63..2e5ecd3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
 # Contributor: Jeff Henson <jeff at henson dot io>
 pkgname=mullvad-vpn
 pkgver=2024.3
-pkgrel=1
+pkgrel=2
 pkgdesc="The Mullvad VPN client app for desktop"
 arch=('x86_64')
 url="https://www.mullvad.net"
@@ -17,10 +17,12 @@ _commit=7db2c76522e29b4acd8f461fc87f794954c6df95
 source=("git+https://github.com/mullvad/mullvadvpn-app.git#tag=$pkgver"  # signed by Oskar Nyberg (raksooo), public key not uploaded yet
         "git+https://github.com/mullvad/mullvadvpn-app-binaries.git#commit=${_commit}?signed"
         'no-rpm.diff'
+        'no-publish.diff'
         "$pkgname.sh")
 sha256sums=('8064e0181b1d30352f25eab563bade47b2fd157ca9646b97aff928241d9870ea'
             '76015a774788a2274d29e3fa1e06cb752a8488f24a973b5143d8659d5b290e9c'
             'ea35edffea2cbbb05586abce19581fdd9f133801ed47e6af30fa64a29c5cf116'
+            'c67014063742378993bae24af3d80076f5f547a099f924b0d6341dbfbfe98f6f'
             '2262346cb57deb187fe32a88ccd873dab669598889269088e749197c6e88954f')
 validpgpkeys=('225E40C8F1C8DEB7977ABF59F293063FECE2E8ED' # Linus Färnstrand <linus@mullvad.net>
               '8339C7D2942EB854E3F27CE5AEE9DECFD582E984' # David Lönnhager (code signing) <david.l@mullvad.net>
@@ -46,6 +48,7 @@ prepare() {

   # Disable building rpm
   patch --strip=1 gui/tasks/distribution.js < ../no-rpm.diff
+  patch --strip=1 gui/tasks/distribution.js < ../no-publish.diff

   export CARGO_HOME="$srcdir/cargo-home"
   export RUSTUP_TOOLCHAIN=stable
@@ -61,7 +64,8 @@ prepare() {
   echo "Installing JavaScript dependencies..."
   export npm_config_cache="$srcdir/npm_cache"
   _ensure_local_nvm
-  nvm install "${_nodeversion}"
+  nvm install --lts
+  nvm use --lts
   npm ci
   popd
 }
diff --git a/no-publish.diff b/no-publish.diff
new file mode 100644
index 0000000..6a4c209
--- /dev/null
+++ b/no-publish.diff
@@ -0,0 +1,10 @@
+--- distribution.js.old    2024-05-16 10:13:58.328775776 +0000
++++ distribution.js.new    2024-05-16 10:13:32.759370789 +0000
+@@ -367,6 +367,7 @@
+         await fs.promises.rename(launcherScript, sourceExecutable);
+       },
+     },
++    publish: 'never',
+   });
+ }
+ 

Bitals commented on 2024-05-16 09:58 (UTC) (edited on 2024-05-16 09:59 (UTC) by Bitals)

It tries to publish my build on Github lol.

My guess would be it detects CI environment and does this. Usually this is configurable with an ENV var, but I gave up on navigating Mullvad Github Actions, so I have no idea what it is here, sorry.

09:43:40 [09:43:40] 'builder-linux' errored after 3.32 min
09:43:40 [09:43:40] Error: GitHub Personal Access Token is not set, neither programmatically, nor using env "GH_TOKEN"
09:43:40     at new GitHubPublisher (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/electron-publish/src/gitHubPublisher.ts:52:15)
09:43:40     at createPublisher (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/PublishManager.ts:303:14)
09:43:40     at PublishManager.getOrCreatePublisher (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/PublishManager.ts:222:19)
09:43:40     at PublishManager.scheduleUpload (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/PublishManager.ts:152:28)
09:43:40     at EventEmitter.<anonymous> (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/PublishManager.ts:132:14)
09:43:40     at EventEmitter.emit (node:events:532:35)
09:43:40     at EventEmitter.emit (node:domain:551:15)
09:43:40     at Packager.dispatchArtifactCreated (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/packager.ts:273:23)
09:43:40     at bluebird_lst_1.default.map.concurrency (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/updateInfoBuilder.ts:232:16)
09:43:40 From previous event:
09:43:40     at processImmediate (node:internal/timers:478:21)
09:43:40     at process.topLevelDomainCallback (node:domain:160:15)
09:43:40     at process.callbackTrampoline (node:internal/async_hooks:128:24)
09:43:40 From previous event:
09:43:40     at writeUpdateInfoFiles (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/updateInfoBuilder.ts:211:25)
09:43:40     at PublishManager.awaitTasks (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/app-builder-lib/src/publish/PublishManager.ts:243:31)
09:43:40     at executeFinally (/home/builder/.cache/aurutils/sync/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/builder-util/src/promise.ts:23:3)
09:43:40 [09:43:40] 'pack-linux' errored after 4.28 min
09:43:40 ==> ERROR: A failure occurred in build().
09:43:40     Aborting...

yataro commented on 2024-05-16 08:11 (UTC)

@patlefort There is no npm in makedepends because nvm provides both node and npm

yataro commented on 2024-05-16 08:07 (UTC)

https://github.com/gulpjs/vinyl-fs/issues/350 https://github.com/nodejs/node/issues/52707

@yochananmarqos Can you use the LTS node for the build?

nvm install "${_nodeversion}"

Installs the latest one, cuz _nodeversion is not defined anywhere. Also, you're not calling nvm use, not a big deal - nvm will use the latest installed version of node, but I'm sure it's better to do this explicitly.

@patlefort @JackStorm Can you try with this patch?

diff --git a/PKGBUILD b/PKGBUILD
index 098ca63..1bd3979 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -61,7 +61,8 @@ prepare() {
   echo "Installing JavaScript dependencies..."
   export npm_config_cache="$srcdir/npm_cache"
   _ensure_local_nvm
-  nvm install "${_nodeversion}"
+  nvm install --lts
+  nvm use --lts
   npm ci
   popd
 }

patlefort commented on 2024-05-16 02:12 (UTC)

I see npm makedepends was removed, but it it still required. Also, I get the same error as JackStorm.

JackStorm commented on 2024-05-15 06:41 (UTC) (edited on 2024-05-15 06:53 (UTC) by JackStorm)

Can't get it to work after one of the recent updates:

   Compiling tower v0.4.13
   Compiling hyper v0.14.27
   Compiling hyper-timeout v0.4.1
   Compiling axum v0.6.20
   Compiling tonic v0.10.0
   Compiling mullvad-management-interface v0.0.0 (/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/mullvad-management-interface)
   Compiling mullvad-cli v0.0.0 (/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/mullvad-cli)
    Finished `release` profile [optimized] target(s) in 2m 33s
     Running `target/release/mullvad shell-completions bash build/shell-completions/`
Generating shell completions to build/shell-completions/
Generating shell completion script for zsh...
warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
    Finished `release` profile [optimized] target(s) in 0.26s
     Running `target/release/mullvad shell-completions zsh build/shell-completions/`
Generating shell completions to build/shell-completions/
Generating shell completion script for fish...
warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
    Finished `release` profile [optimized] target(s) in 0.29s
     Running `target/release/mullvad shell-completions fish build/shell-completions/`
Generating shell completions to build/shell-completions/
Updating relays.json...
warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
   Compiling mullvad-api v0.0.0 (/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/mullvad-api)
    Finished `release` profile [optimized] target(s) in 1m 01s
     Running `target/release/relay_list`
~/.cache/yay/mullvad-vpn/src/mullvadvpn-app/gui ~/.cache/yay/mullvad-vpn/src/mullvadvpn-app
Packing Mullvad VPN 2024.2 artifact(s)...

> mullvad-vpn@0.0.0 pack:linux
> gulp pack-linux

warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
warning: `/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
[00:59:42] Using gulpfile ~/.cache/yay/mullvad-vpn/src/mullvadvpn-app/gui/gulpfile.js
[00:59:42] Starting 'pack-linux'...
[00:59:42] Starting 'build'...
[00:59:42] Starting 'clean'...
[00:59:42] Finished 'clean' after 4.58 ms
[00:59:42] Starting 'build-proto'...
[00:59:42] Starting 'copy-static-assets'...
[00:59:42] Starting 'copy-config'...
[00:59:42] Starting 'copy-css'...
[00:59:42] Starting 'copy-html'...
[00:59:42] Starting 'copy-locales'...
[00:59:42] Starting 'copy-geo-data'...
[00:59:42] Finished 'copy-css' after 78 ms
[00:59:42] 'copy-static-assets' errored after 101 ms
[00:59:42] TypeError: Cannot assign to read only property 'atime' of object '#<Stats>'
    at onFutimes (/home/anonymous/.cache/yay/mullvad-vpn/src/mullvadvpn-app/gui/node_modules/vinyl-fs/lib/file-operations.js:258:27)
    at FSReqCallback.oncomplete (node:fs:188:23)
    at FSReqCallback.callbackTrampoline (node:internal/async_hooks:130:17)
[00:59:42] 'build' errored after 111 ms
[00:59:42] 'pack-linux' errored after 113 ms
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: mullvad-vpn-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
mullvad-vpn - exit status 4

sotix0 commented on 2024-05-08 14:46 (UTC) (edited on 2024-05-08 14:50 (UTC) by sotix0)

I believe there might be a memory leak while building from source. It consistently crashes around step 475/476 out of the 480 steps despite having 16GB of ram and using this machine full time for development. My pc completely locks up until my terminal crashes. I have tried fully uninstalling this package and reinstalling it (which separately solved the permission issues related to removing the Go cache).

maritz commented on 2024-05-03 12:01 (UTC) (edited on 2024-05-03 12:05 (UTC) by maritz)

Alright, doesn't build on Manjaro currently, because Manjaro repositories are still on rust 1.76 and the mullvad build process tries to build several things that require 1.77.

1.77 is included in Manjaro Testing Update from May 2nd, so it should be buildable soon.