Package Details: thelounge 4.5.0-0

Git Clone URL: https://aur.archlinux.org/thelounge.git (read-only, click to copy)
Package Base: thelounge
Description: Modern self-hosted web IRC client
Upstream URL: https://thelounge.chat/
Licenses: MIT
Submitter: Max-P
Maintainer: Max-P (S13ntist)
Last Packager: S13ntist
Votes: 22
Popularity: 0.80
First Submitted: 2016-02-12 23:03 (UTC)
Last Updated: 2026-05-23 05:21 (UTC)

Latest Comments

1 2 3 Next › Last »

ChrisTX commented on 2026-05-23 13:46 (UTC) (edited on 2026-05-23 13:48 (UTC) by ChrisTX)

No, it doesn't and you can't necessarily pick a provider: Chroot-builds do not support that, and this package won't built under chroot:

package breaking in detail
$ git clone https://aur.archlinux.org/thelounge.git
$ extra-x86_64-build
[...]
==> Installing missing dependencies...
:: There are 3 providers available for nodejs<25:
:: Repository extra
   1) nodejs-lts-iron  2) nodejs-lts-jod  3) nodejs-lts-krypton

Enter a number (default=1):
resolving dependencies...
[...]
(1/1) Arming ConditionNeedsUpdate...
==> Missing dependencies:
  -> nodejs>=22
  -> nodejs<25
==> ERROR: Could not resolve all dependencies.
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/cpfeiffer/build

This is because pacman does not support putting multiple constraints on a package. As you can see from my output it says "There are 3 providers available for nodejs<25". It will ask the user to install any NodeJS < 25 and ignore the NodeJS >= 22 constraint for that list of targets. However, the default (when not entering anything, which is what happens under chroot builds) is to pick the first lexicographical option. And since NodeJS names their LTS releases after elements starting with consecutive first letters, that target is nodejs-lts-iron aka NodeJS 20, which then conflicts later on.

You cannot fix this, as pacman doesn't support this by design - conflicts() and friends cannot fix this either. And fixing the NodeJS version to Jod or Krypton will be an issue for people that need a specific version for other packages on their system.

What you want to do here is what I've been saying for a while, namely to insert a yarn upgrade. That way you can drop the NodeJS < 25 requirement, and just leave it to NodeJS >= 22, which would resolve correctly by default.

P.S.: The pkgrel is 0 atm, should be 1 at least.

S13ntist commented on 2026-05-23 12:39 (UTC)

This works just fine, pick the provider that satisfies the constraints.

aminvakil commented on 2026-05-23 09:41 (UTC)

depends=('nodejs>=22' 'nodejs<25')

AFAIK this does not work in a clean environment, I tried this for thelounge-beta package and it failed, because of nodejs < 25, it tries installing nodejs 20.

https://github.com/aminvakil/aur/actions/runs/26218302680/job/77146358170

==> Making package: thelounge-beta 4.5.0-2 (Thu May 21 09:43:17 2026)
==> Checking runtime dependencies...
==> Installing missing dependencies...
:: There are 3 providers available for nodejs<25:
:: Repository extra
   1) nodejs-lts-iron  2) nodejs-lts-jod  3) nodejs-lts-krypton

Enter a number (default=1): 
resolving dependencies...
warning: removing 'nodejs-26.1.0-2' from target list because it conflicts with 'nodejs-lts-iron-20.20.2-1'
looking for conflicting packages...

Package (5)            New Version  Net Change  Download Size

extra/ada              3.4.4-1        1.08 MiB       0.28 MiB
extra/c-ares           1.34.6-1       0.51 MiB       0.22 MiB
extra/libuv            1.52.1-1       0.64 MiB       0.26 MiB
extra/simdjson         1:4.6.4-1      7.58 MiB       0.29 MiB
extra/nodejs-lts-iron  20.20.2-1     43.62 MiB      11.44 MiB

Total Download Size:   12.49 MiB
Total Installed Size:  53.42 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 nodejs-lts-iron-20.20.2-1-x86_64 downloading...
 simdjson-1:4.6.4-1-x86_64 downloading...
 ada-3.4.4-1-x86_64 downloading...
 libuv-1.52.1-1-x86_64 downloading...
 c-ares-1.34.6-1-x86_64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing ada...
installing c-ares...
installing libuv...
installing simdjson...
installing nodejs-lts-iron...
Optional dependencies for nodejs-lts-iron
    npm: nodejs package manager
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Missing dependencies:
  -> nodejs>=22
  -> nodejs<25
==> ERROR: Could not resolve all dependencies.
Error: Process completed with exit code 8.

Angular9878 commented on 2025-12-13 04:18 (UTC)

Thanks @ChrisTX, this solution worked for me.

Just to outline the process for others a little more explicitly:

yay --edit-menu -S thelounge
> Packages to cleanBuild?: thelounge
> PKGBUILDs to edit?: thelounge
> after line 33 "prepare() {" and before line 34 "yarn install --prod ..." insert the line: "yarn upgrade"
> save and proceed

ChrisTX commented on 2025-10-24 13:26 (UTC)

With NodeJS 25, which is now in extra, the package stops working as the jwa dependency is too old in the yarn.lock. The unfixed version uses buffer-equal-constant-time, which doesn't work on NodeJS 25 anymore due to the removal of the SlowBuffer API. I've opened a bug report upstream for this. I've modified the package locally to yarn upgrade to newer dependencies, which works fine on NodeJS 25. Otherwise, you'd need to use the LTS version (22 works fine).

S13ntist commented on 2024-11-07 18:06 (UTC)

you are using the wrong yarn. Use yarn 1

phillip_s commented on 2024-11-06 21:35 (UTC) (edited on 2024-11-06 21:38 (UTC) by phillip_s)

Having an issue building

```! The local project doesn't define a 'packageManager' field. Corepack will now add one referencing yarn@4.2.2+sha512.c44e283c54e02de9d1da8687025b030078c1b9648d2895a65aab8e64225bfb7becba87e1809fc0b4b6778bbd47a1e2ab6ac647de4c5e383a53a7c17db6c3ff4b. ! For more details about this field, consult the documentation at https://nodejs.org/api/packages.html#packagemanager

Unknown Syntax Error: Unsupported option name ("--prod").

$ yarn install [--json] [--immutable] [--immutable-cache] [--refresh-lockfile] [--check-cache] [--check-resolutions] [--inline-builds] [--mode #0] ==> ERROR: A failure occurred in prepare(). Aborting... error: failed to build 'thelounge-4.4.3-3': error: packages failed to build: thelounge-4.4.3-3```

kode54 commented on 2024-10-28 10:09 (UTC)

New one for you: Suggestion to:

[Unit]
...
Wants=network-online.target
After=network-online.target

So that it will only try to start and connect to online networks when the host's network is actually online.

kode54 commented on 2024-05-18 01:31 (UTC) (edited on 2024-10-28 10:08 (UTC) by kode54)

Kernel 6.9.1 is out, and it's still broken building it. Feel free to tell me what bug I am supposed to report to the kernel devs, since this must not be a user space issue.

Edit: Disregard this comment now, it was a passing bug, long since squashed.

kode54 commented on 2024-05-12 11:47 (UTC)

Turns out it's kernel 6.9. I'll stick with 6.8.