From d09cd3d9e4bb88baa851df3d625e2222e8f19fd5 Mon Sep 17 00:00:00 2001 From: Sughosha Date: Wed, 14 Jun 2023 06:04:25 +0000 Subject: [PATCH] nongnu: bitwig-studio: Fix program crash. * nongnu/packages/music.scm (bitwig-studio)[#:patchelf-plan]: Remove "BitwigAudioEngine-x64-AVX2" and "BitwigAudioEngine-X64-SSE41". [#:install-plan]: Exclude "BitwigPluginHost-X86-SSE41". [#:phases]: Add "patch-bitwig-audio-engines" and modify "create-wrapper". [inputs]: Add "libxcursor". --- nongnu/packages/music.scm | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/nongnu/packages/music.scm b/nongnu/packages/music.scm index 52cebb5..36e5878 100644 --- a/nongnu/packages/music.scm +++ b/nongnu/packages/music.scm @@ -132,19 +132,14 @@ comprehensively extended, scripted and modified.") (list #:patchelf-plan #~`(("opt/bitwig-studio/bitwig-studio" ("libc")) ("opt/bitwig-studio/BitwigStudio" ("libc")) - ("opt/bitwig-studio/bin/BitwigAudioEngine-X64-AVX2" - ("libc" "libx11" "libxkbcommon" "libxcb" "xcb-util" - "xcb-util-wm" "alsa-lib" "jack" "pulseaudio" "zlib")) - ("opt/bitwig-studio/bin/BitwigAudioEngine-X64-SSE41" - ("libc" "libx11" "libxkbcommon" "libxcb" "xcb-util" - "xcb-util-wm" "alsa-lib" "jack" "pulseaudio" "zlib")) - ;; TODO: Patch "BitwigPluginHost-x86-SSE41" with "i686-linux" - ;; libraries. + ;; Patching "BitwigAudioEngine-X64-AVX2" and + ;; "BitwigAudioEngine-X64-SSE41" with RUNPATH using + ;; "patchelf --set-rpath" makes them crash. ("opt/bitwig-studio/bin/BitwigPluginHost-X64-SSE41" ("libc" "libx11" "libxkbcommon" "libxcb" "xcb-util" "xcb-util-wm")) ("opt/bitwig-studio/bin/BitwigVampHost" ("libc" "alsa-lib")) - ;; FIXME: Package "lwjgl" and unbundle it. + ;; FIXME: Package "lwjgl" and unbundle it. ("opt/bitwig-studio/bin/liblwjgl.so" ("libc" "gcc" "gtk+")) ("opt/bitwig-studio/bin/show-file-dialog-gtk3" ("libc" "gcc" "libx11" "glib" "gtk+")) @@ -172,7 +167,8 @@ comprehensively extended, scripted and modified.") ("opt/bitwig-studio/lib/vamp-plugins/transient-detector.so" ("libc"))) #:install-plan - #~`(("opt" "opt") + #~`(("opt" "opt" + #:exclude ("BitwigPluginHost-X86-SSE41")) ;no multilib ("usr/share" "share")) #:phases #~(modify-phases %standard-phases @@ -197,6 +193,14 @@ comprehensively extended, scripted and modified.") "lib/bitwig-studio/libxcb-imdkit.so.1")) (symlink (string-append #$openjdk17 "/bin/java") "bin/BitwigStudio")))) + (add-after 'patchelf 'patch-bitwig-audio-engines + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "opt/bitwig-studio/bin" + (invoke "patchelf" "--set-interpreter" + (string-append (assoc-ref inputs "libc") + "/lib/ld-linux-x86-64.so.2") + "BitwigAudioEngine-X64-AVX2" + "BitwigAudioEngine-X64-SSE41")))) (add-after 'install 'create-wrapper (lambda _ (make-wrapper @@ -205,11 +209,15 @@ comprehensively extended, scripted and modified.") "/opt/bitwig-studio/bitwig-studio") #:skip-argument-0? #t `("PATH" prefix - (,(string-append #$ffmpeg "/lib"))) + (,(string-append #$ffmpeg "/bin"))) `("LD_LIBRARY_PATH" ":" suffix - (,(string-append #$xcb-imdkit "/lib") + (,(string-append #$alsa-lib "/lib") + ,(string-append #$jack-1 "/lib") + ,(string-append #$libusb4java "/lib") ,(string-append #$llvm-13 "/lib") - ,(string-append #$libusb4java "/lib")))))) + ,(string-append #$pipewire "/lib") + ,(string-append #$pulseaudio "/lib") + ,(string-append #$xcb-imdkit "/lib")))))) (replace 'install-license-files (lambda _ (install-file @@ -229,6 +237,7 @@ comprehensively extended, scripted and modified.") libusb4java libx11 libxcb + libxcursor libxkbcommon llvm-13 mesa