Change:
yabridge doesn't work with wine 9.5. I was wondering as this is a reoccurring thing with yabridge, shouldn't the wine version be pinned for the yabridge package? running vst plugins I tried overriding the wine version to 9.4 but I couldn't get it to build yabridge. So for now, I installed yabridge from the revision before wine 9.5. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Can yabridge use the stable Wine package? It’s updated annually except for occasional bug fix releases. It’s currently Wine 9.0.
Didn't work for me:
From what I know, yabridge requires wine-staging but it's usually a few months behind. The project readme always had a downgrade section telling you to downgrade to a specific version. There's an open issue for it on the yabridge repo: ()
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Just created that should workaround this issue based on I think it would be best to keep it following the default staging release. What you're doing right now to pin wine uses an import for derivation, which isn't allowed in nixpkgs: It would be possible to maintain a separate derivation of wine just for yabridge, but I think it would be too costly for what it'd add - especially since we can't guarantee a version of wine that'll work with all VSTs.
I tried this as well, but most of my plugins were broken with wine 9.5 which will probably get fixed by yabridge upstream soon but I thought I should mention it. Oh, I didn't know about the implications importing older packages. Good to know. Yeah that would be too much unnecessary work.
Still broken on 9.6
is not merged yet. Even if it gets merged, I noticed some of my vsts breaking. I think it's better to pin version 9.4 for now.
Reopening since doesn't completely workaround regressions introduced with wine 9.5+
Fixed on wine 9.8 ()

Discussion:
# Hard code bitbridge & runtime dependencies (substituteAll { src = ./hardcode-dependencies.patch; <ins> libdbus = dbus.lib; </ins> libxcb32 = pkgsi686Linux.xorg.libxcb; inherit wine; })

# Hard code wine path in wrapper scripts generated by winegcc postFixup = '' <del> for exe in "$out"/bin/*.exe; do substituteInPlace "$exe"  --replace 'WINELOADER="wine"' 'WINELOADER="${wine}/bin/wine"' done </del> <ins> substituteInPlace "$out/bin/yabridge-host-32.exe"  --replace 'WINELOADER="wine"' 'WINELOADER="${wine}/bin/wine"' substituteInPlace "$out/bin/yabridge-host.exe"  --replace 'WINELOADER="wine"' 'WINELOADER="${wine}/bin/wine64"' </ins> ''; passthru.updateScript = nix-update-script { };

endif # These are all headers-only libraries, and thus won't require separate 32-bit <ins> diff --git a/src/common/notifications.cpp b/src/common/notifications.cpp index 66e08527..685c54af 100644 --- a/src/common/notifications.cpp +++ b/src/common/notifications.cpp @@ -29,8 +29,8 @@ #include "process.h" #include "utils.h" -constexpr char libdbus_library_name[] = "libdbus-1.so.3"; -constexpr char libdbus_library_fallback_name[] = "libdbus-1.so"; +constexpr char libdbus_library_name[] = "@libdbus@/lib/libdbus-1.so.3"; +constexpr char libdbus_library_fallback_name[] = "@libdbus@/lib/libdbus-1.so"; std::atomic<void*> libdbus_handle = nullptr; std::mutex libdbus_mutex; </ins> diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp index 82db99a5..491f005d 100644 --- a/src/plugin/utils.cpp