Conversation
0be7587 to
40188ef
Compare
40188ef to
3ff2dbd
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
Can Venbind and Venmic be built separately instead of using the ones provided in the binary? |
It seems that GoofCord doesn’t have instructions on how to swap in externally built Venbind/Venmic at runtime. Therefore, if we want to use system-built Venbind/Venmic, we’ll need to patch the project in some way to make it load system paths. |
The native modules are imported from "/assets/native", so if you place them there with correct filenames it should just work according to Goofcord developers. |
|
Thanks, I will look into that today. |
750bfdf to
a64c08c
Compare
|
So far, this has somehow taken my entire day. But I got it working by building both Venbind and Venmic on Nix and ditching the prebuilt binary completely. That said, this approach comes with a significant downside due to the multilayered dependencies we have to vendor and manage, as you can see in the I’d like to know your opinion on this implementation so I can adjust as needed. |
|
Seems fine to me, will other packages be able to use venbind and venmic as well, just to be discord client agnostic. Also anything that the developer of Goofcord that can make your life easier with maintaining this? |
|
From what i can see, you could most likely use the venmic and venbind this has for other clients. other than the aforementioned |
The problem isn’t Goofcord itself. Instead, it’s Venmic, which seems to have most of the dependencies that we need to vendor and manage. It looks like Goofcord developers expected prebuilt Venmic and Venbind, so they didn’t pay much attention about us building those addons on our own, which is fair enough. |
|
This looks good, well at least until #376299 is finished and merged :), do you mind adding yourself as a maintainer as well? |
Thanks, I’ll add myself as a maintainer. |
|
Hi, GoofCord developer here. First off, thank you for spending your time on this. |
First of all, thanks for joining us here (that’s big! I didn’t expect to meet Goofcord’s dev here). I understand your focus on local builds and GHA-based build jobs, but here are some of my recommendations that will hopefully make packaging in Nix much easier:
Other than that, in my opinion, it’s mainly about building Feel free to let me know if I’m wrong or if you have better ideas! Btw what do you think @nyabinary. |
|
Added the environment variables in Milkshiift/GoofCord@92e7270 You can also pass the |
|
Thanks for the implementation. I will open a follow-up PR after Goofcord releases a new version (including these changes). As of today, the commit is not tagged in Git yet. TL;DR: This PR is ready to merge; a follow-up PR will be opened. |
Release: https://github.com/Milkshiift/GoofCord/releases/tag/v2.0.1
Diff: Milkshiift/GoofCord@v1.7.1...v2.0.1
Changes:
bun run buildand electron-builder fromnode_moduleswith-c.npmRebuild=false).node-modulesderivation and wired it into the package viacallPackage.configurePhaseto copy the prebuiltnode_modulesinto the build tree.node_modules/.binandnode_modules/@typescript/native-preview/bin) to avoid/usr/bin/envfailures.nodejs_24.electron.distto a writableelectron-distand pointing electron-builder at it on Linux.assets/gf_icon.png.libxkbcommon,libX11,libxcb,libXtst) and prefixedLD_LIBRARY_PATHin the wrapper.platformstolib.platforms.linux.I’ve also noticed that this package hasn’t been updated for quite some time, and I’d be happy to help maintain it in the future. If the situation allows, I will open a follow-up PR to update the maintainer metadata (I currently have a pending PR that modifies
maintainer-list.nix, which needs to be merged before my handle becomes available).Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.