Package Details: walc 0.3.2-4

Git Clone URL: https://aur.archlinux.org/walc.git (read-only, click to copy)
Package Base: walc
Description: An unofficial WhatsApp Desktop client for linux systems.
Upstream URL: https://github.com/WAClient/WALC
Keywords: internet messaging whatsapp whatsapp-web
Licenses: GPL3
Conflicts: walc
Provides: walc
Submitter: MisconceivedSec
Maintainer: MisconceivedSec
Last Packager: MisconceivedSec
Votes: 0
Popularity: 0.000000
First Submitted: 2022-05-28 15:52 (UTC)
Last Updated: 2023-09-05 09:57 (UTC)

Pinned Comments

MisconceivedSec commented on 2023-09-05 10:39 (UTC) (edited on 2023-09-05 10:43 (UTC) by MisconceivedSec)

Currently there's an error when starting WALC which breaks WhatsApp integration. A quick workaround is to navigate to /opt/WALC and run sudo mkdir -m 755 .wwebjs_cache && sudo chmod 755 -R ./.wwebjs_cache

The problem is that it needs to be run at every initiation of WALC. I'm not sure on how to approach the issue, and don't have the time to go through the debugging process at the moment. But I'm open to suggestions.

You can install the walc-appimage package (not maintained by me) instead, that's working as intended.

Latest Comments

1 2 Next › Last »

MisconceivedSec commented on 2023-09-05 10:39 (UTC) (edited on 2023-09-05 10:43 (UTC) by MisconceivedSec)

Currently there's an error when starting WALC which breaks WhatsApp integration. A quick workaround is to navigate to /opt/WALC and run sudo mkdir -m 755 .wwebjs_cache && sudo chmod 755 -R ./.wwebjs_cache

The problem is that it needs to be run at every initiation of WALC. I'm not sure on how to approach the issue, and don't have the time to go through the debugging process at the moment. But I'm open to suggestions.

You can install the walc-appimage package (not maintained by me) instead, that's working as intended.

MisconceivedSec commented on 2023-05-17 11:18 (UTC) (edited on 2023-05-17 11:35 (UTC) by MisconceivedSec)

So store the content I sent you in the previous commit

I think you meant comment

HaCk0 commented on 2023-05-17 10:59 (UTC)

Hey @YoungFellow I am not sure if I can create pull requests on AUR. I sent you a so-called patch file. This can be applied with git apply <patchfile>. https://git-scm.com/docs/git-apply

So store the content I sent you in the previous commit in a file like patch-build.patch and apply it in the git repo of your AUR package with git apply patch-build.patch

MisconceivedSec commented on 2023-05-17 10:33 (UTC)

Hello @HaCk0, thank you for sharing this with me. I thought I already tried this, but apparently not. I am testing it out now.

But excuse my ignorance, where can I find this patch of yours, and is it like a GitHub PR? I've never seen this before. I would rather merge it than just enter it manually myself. Thanks.

HaCk0 commented on 2023-05-17 08:23 (UTC)

Hey Here is a git patch to fix the issues with the current version:

From f992315646da8e886f7fd41b560802f0b83e2cfc Mon Sep 17 00:00:00 2001
From: Mathias Scherer <scherer.mat@gmail.com>
Date: Wed, 17 May 2023 10:22:41 +0200
Subject: [PATCH] feat: creates production build fix: adds dedicated install
 for whatsapp-web-electron.js

---
 PKGBUILD | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/PKGBUILD b/PKGBUILD
index db5201b..2871856 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -21,7 +21,8 @@ prepare() {
 build() {
         cd "WALC-$pkgver"
         npm install
-        npm run dev
+        npm install whatsapp-web-electron.js # Reinstall to prevent build from failing
+        npm run dist # Create a production build
 }

 package() {
-- 
2.40.1

Would be nice if you could apply it to the package

MisconceivedSec commented on 2023-05-13 05:55 (UTC)

Yes @perro, the script is throwing an error at the moment. I'm trying to debug the errors. Please use the AppImage for now. Sorry for the inconvenience

perro commented on 2023-05-09 16:08 (UTC) (edited on 2023-05-09 16:12 (UTC) by perro)

I get an error when launching the application, because the file /opt/whatsapp-web-electron.js doesn't exist.

$ ls -la /opt/WALC/node_modules/whatsapp-web-electron.js
lrwxrwxrwx 1 root root 30 May  9 11:58 /opt/WALC/node_modules/whatsapp-web-electron.js -> ../../whatsapp-web-electron.js
$ ls -la /opt/WALC/node_modules/../../whatsapp-web-electron.js
ls: cannot access '/opt/WALC/node_modules/../../whatsapp-web-electron.js': No such file or directory
npm start --prefix /opt/WALC

> walc@0.3.0 start
> electron .

App threw an error during load
Error: Cannot find module 'whatsapp-web-electron.js'
Require stack:
- /opt/WALC/src/main.js
- /opt/WALC/node_modules/electron/dist/resources/default_app.asar/main.js
- 
    at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
    at n._resolveFilename (node:electron/js2c/browser_init:245:1105)
    at Module._load (node:internal/modules/cjs/loader:785:27)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/opt/WALC/src/main.js:16:20)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1175:10)
    at Module.load (node:internal/modules/cjs/loader:988:32)
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'whatsapp-web-electron.js'
Require stack:
- /opt/WALC/src/main.js
- /opt/WALC/node_modules/electron/dist/resources/default_app.asar/main.js
- 
    at Module._resolveFilename (node:internal/modules/cjs/loader:940:15)
    at n._resolveFilename (node:electron/js2c/browser_init:245:1105)
    at Module._load (node:internal/modules/cjs/loader:785:27)
    at c._load (node:electron/js2c/asar_bundle:5:13343)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/opt/WALC/src/main.js:16:20)
    at Module._compile (node:internal/modules/cjs/loader:1120:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1175:10)
    at Module.load (node:internal/modules/cjs/loader:988:32)

MisconceivedSec commented on 2022-06-25 06:13 (UTC) (edited on 2022-06-25 06:14 (UTC) by MisconceivedSec)

Thanks a lot for the support @opensorcerer!
Regarding namcap, this is what I get:

❯ namcap -i PKGBUILD           
PKGBUILD (walc) I: Missing Contributor tag


So I adjusted the PKGBUILD according to your suggestions:
1. arch=('x86_64') This is correct I presume...as arch officially supports only 64 bit?
2. license=('GPL3')
3. depends=('nodejs-lts-gallium' 'npm' 'gtk3' 'alsa-lib' 'nss')

Do you think I should push walc-0.2.2-3 though?
Or shall I wait until the next version is out?

Thanks again!

PS: I'll see what I can do regarding the npm logs, I might ask the project maintainer, but for the time being, I'm trying to get my pentesting certification over with, so I'll be a bit short on "research" time.

opensorcerer commented on 2022-06-24 21:08 (UTC)

Excellent work on your first PKGBUILD!

One more thing: When you create your package, make sure you test both the PKGBUILD and the resulting package with namcap. namcap notifies you of common mistakes in packaging. There are error, warning and info levels of mistakes of which the errors are most important to fix.

Current walc-0.2.2-2 has a number of these errors you should turn your attention to:

  1. You specify arch='any', but include executable files built for a specific arch. Note that this 'any' does not mean "it can be built on any arch" but "when built, it can run on any arch". Naturally, it's best suited for things you don't really build, like shell scripts. See wiki entry.
  2. There is no "GPL-3" license. The proper name is GPL3. See the contents of /usr/share/licenses/common for other acceptable contents.
  3. You use npm start to launch walc, which in turn launches electron, but electron is missing dependencies: gtk3, alsa-lib and nss. There is a chance walc won't even launch on a fresh Arch Linux install.

There is rather long output on the bundled node-modules and shared libraries. I wonder if it's possible to reduce their existence there so far as to try and use the system-provided ones. A long list of warnings suggest they're not used, anyway. But that's for another time and if you've got the time. :)

Thank you for the package, and packaging.

MisconceivedSec commented on 2022-06-24 05:27 (UTC) (edited on 2022-06-24 05:28 (UTC) by MisconceivedSec)

Hey @opensorcerer, thank you for pointing that out to me, as this is my first PKGBUILD I just wrote everything into the package() function as if it were a bash script.
As per your advice, I split the process into the correct functions, and used gendesk for creating the desktop entry.
Thanks a lot.