Package Details: mullvad-vpn 2024.8-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: 139
Popularity: 3.43
First Submitted: 2018-10-24 17:33 (UTC)
Last Updated: 2024-12-13 02:39 (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 »

Bitals commented on 2024-05-16 15:25 (UTC) (edited on 2024-05-16 15:25 (UTC) by Bitals)

@yataro sorry, I didn't get what you said.

I don't think Mullvad's own CI will use this repo. My environment is a self-hosted Jenkins that builds packages and publishes them to a self-hosted repo. It does not use any Mullvad or some other vendor packaging and/or publishing scripts, it uses makepkg, some pacman built-in scripts like repo-add and aurutils.

yataro commented on 2024-05-16 15:18 (UTC)

@Bitals This change only affects the mullvad publish itself, CIs that publish their mullvad build should use the original repository and not the AUR package :) As for AUR CIs, they publish the built package as an artifact, so also avoid the downside of this change

Bitals commented on 2024-05-16 15:00 (UTC)

@yataro it does work. @yochananmarqos please add this patch, as I see no downsides for regular local builds, but for CIs not having that will force users to maintain their own fork.

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.