Summary: | net-misc/sunshine-0.23.1 - Error: Failed to install package @esbuild/linux-x64 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | James Le Cuirot <chewi> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ezzieyguywuf, i, juan, kroemmelbein, luke5083, suyh4822, todd, ykonotopov |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.clang.tar.xz etc.portage.tar.xz logs.tar.xz net-misc:sunshine-0.23.1:20240422-035513.log.xz qlist-info.txt.xz temp.tar.xz |
Description
Toralf Förster
2024-04-22 17:49:10 UTC
Created attachment 891342 [details]
emerge-info.txt
Created attachment 891343 [details]
emerge-history.txt
Created attachment 891344 [details]
environment
Created attachment 891345 [details]
etc.clang.tar.xz
Created attachment 891346 [details]
etc.portage.tar.xz
Created attachment 891347 [details]
logs.tar.xz
Created attachment 891348 [details]
net-misc:sunshine-0.23.1:20240422-035513.log.xz
Created attachment 891349 [details]
qlist-info.txt.xz
Created attachment 891350 [details]
temp.tar.xz
The old version 0.22.2 on my machine has this problem too. (now, used to be working) Arrgh. After struggling to find the right method to cache the NPM modules for offline use, it turns out this cache is sensitive to the NPM version being used. Fantastic. I'll see whether there's another way that doesn't involve pinning to specific NPM versions, but I'm not too optimistic. I've got a plan. Expect a fix soon. fwiw, I've filed https://github.com/npm/cli/issues/3764 in the past, maybe there is useful info in there. After downgrading nodejs to `=net-libs/nodejs-20.11.0`, I can merge sunshine without errors. Just a idea - besides npm there is at least yarn which may be more version-change tolerant in case offline installation. Yeah, I thought of yarn too as I remembered it helping me with other issues in the past. I initially dismissed it because I didn't want to force upstream to change, but it looks like the syntax is the same, so maybe we could just swap it in. My other plan was to pre-compile the assets and nobble the build by giving npm as /bin/true. Either of those mean adjusting it to use CMake's find_program. This should work out one way or the other, just been short of time this week. I tried hard to make yarn work, but it's a total pain in its handling of other platforms. Normally, it will insist on caching all 90MB to cover Windows, Android, all the BSDs, etc. You can manually strip out the other platforms from the lockfile and it won't complain, but only if you pass additional arguments, which can only be done via a wrapper in this case. It supports a .yarnrc file and a few environment variables, but these have nowhere near the amount of control required. All in all, it's just not worth the headache. I'll go back to the pre-compiled assets idea. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd44b9aa5c745304ea924fb12b8503bb8ecd9545 commit dd44b9aa5c745304ea924fb12b8503bb8ecd9545 Author: James Le Cuirot <chewi@gentoo.org> AuthorDate: 2024-05-11 17:44:51 +0000 Commit: James Le Cuirot <chewi@gentoo.org> CommitDate: 2024-05-11 17:44:51 +0000 net-misc/sunshine: Fix NPM issue by shipping pre-compiled assets It turns out the NPM cache is sensitive to the NPM version. Yarn is better in this regard, but it wanted to cache 90MB of files covering irrelevant operating systems and architectures. This is a lot more than 1.3MB of pre-compiled assets. Closes: https://bugs.gentoo.org/930441 Signed-off-by: James Le Cuirot <chewi@gentoo.org> net-misc/sunshine/Manifest | 2 +- net-misc/sunshine/files/sunshine-find-npm.patch | 100 ++++++++++++++++++++++++ net-misc/sunshine/sunshine-0.23.1.ebuild | 16 ++-- net-misc/sunshine/sunshine-9999.ebuild | 16 ++-- 4 files changed, 115 insertions(+), 19 deletions(-) this error still exists in sunshine-9999 and the patch cannot be used anymore (In reply to Yuhan Su from comment #19) > this error still exists in sunshine-9999 and the patch cannot be used anymore That's a different issue. 9999 fetches npm modules live, but we possibly need to change npm_config_optional to true. There's another unrelated issue that stops the build that I need to look into though. |