about summary refs log tree commit diff
path: root/pkgs/tools/audio
diff options
context:
space:
mode:
authorKira Bruneau <kira.bruneau@pm.me>2024-04-20 11:41:51 -0400
committerGitHub <noreply@github.com>2024-04-20 11:41:51 -0400
commit0c97ced70e0b92d46e5e53e239fec5201f8b0811 (patch)
tree74ae217443d22f23a79ee440c090877c2476e647 /pkgs/tools/audio
parent141867ab45d3f1dba928d61dea643bd5a98778fb (diff)
parentaa263fc8a00458a08837f7c8753f9c485becaf85 (diff)
Merge pull request #303485 from kira-bruneau/yabridge
yabridge: workaround for wine 9.5
Diffstat (limited to 'pkgs/tools/audio')
-rw-r--r--pkgs/tools/audio/yabridge/default.nix10
-rw-r--r--pkgs/tools/audio/yabridge/hardcode-dependencies.patch15
2 files changed, 21 insertions, 4 deletions
diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix
index 57534b93a6ff6..05982bc10e83a 100644
--- a/pkgs/tools/audio/yabridge/default.nix
+++ b/pkgs/tools/audio/yabridge/default.nix
@@ -98,6 +98,7 @@ multiStdenv.mkDerivation (finalAttrs: {
     # Hard code bitbridge & runtime dependencies
     (substituteAll {
       src = ./hardcode-dependencies.patch;
+      libdbus = dbus.lib;
       libxcb32 = pkgsi686Linux.xorg.libxcb;
       inherit wine;
     })
@@ -148,10 +149,11 @@ multiStdenv.mkDerivation (finalAttrs: {
 
   # Hard code wine path in wrapper scripts generated by winegcc
   postFixup = ''
-    for exe in "$out"/bin/*.exe; do
-      substituteInPlace "$exe" \
-        --replace 'WINELOADER="wine"' 'WINELOADER="${wine}/bin/wine"'
-    done
+    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"'
   '';
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
index bd9e08bc6cf3e..d33bdf30eed23 100644
--- a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
+++ b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
@@ -11,6 +11,21 @@ index c602c5ad..a52e20a1 100644
  endif
  
  # These are all headers-only libraries, and thus won't require separate 32-bit
+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;
 diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp
 index 82db99a5..491f005d 100644
 --- a/src/plugin/utils.cpp