nongnu: bitwig-studio: Fix program crash.

* nongnu/packages/music.scm (bitwig-studio)[#:patchelf-plan]: Remove argument.
[#:phases]: Add a FIXME note in "unbundle-deps" phase.
delete "patch-bitwig-audio-engins" phase and replace "patchelf".
Modify "create-wrapper".
This commit is contained in:
Sughosha 2023-06-14 11:55:43 +00:00
parent 227c151c39
commit 8c994ee6b2

View File

@ -129,44 +129,7 @@ comprehensively extended, scripted and modified.")
"11bgnbd2x10r605q29j97nj7q7j9ncqfar6ni630ml742nd3bm42")))) "11bgnbd2x10r605q29j97nj7q7j9ncqfar6ni630ml742nd3bm42"))))
(build-system binary-build-system) (build-system binary-build-system)
(arguments (arguments
(list #:patchelf-plan (list #:install-plan
#~`(("opt/bitwig-studio/bitwig-studio" ("libc"))
("opt/bitwig-studio/BitwigStudio" ("libc"))
;; 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.
("opt/bitwig-studio/bin/liblwjgl.so" ("libc" "gcc" "gtk+"))
("opt/bitwig-studio/bin/show-file-dialog-gtk3"
("libc" "gcc" "libx11" "glib" "gtk+"))
("opt/bitwig-studio/bin/show-splash-gtk"
("libc" "glib" "gdk-pixbuf" "gtk+"))
("opt/bitwig-studio/lib/audio-host-api-plugins/PipeWireAudioHostApiPlugin.so"
("libc" "pipewire"))
("opt/bitwig-studio/lib/bitwig-studio/libbase-file-notification-linux.so"
("libc"))
("opt/bitwig-studio/lib/bitwig-studio/libbase-platform.so"
("libc"))
("opt/bitwig-studio/lib/bitwig-studio/libbase-sound.so"
("libc"))
("opt/bitwig-studio/lib/bitwig-studio/libcairo-freetype-font-system.so"
("libc" "freetype" "cairo"))
("opt/bitwig-studio/lib/bitwig-studio/libcairo-graphics.so"
("libc" "freetype" "cairo"))
("opt/bitwig-studio/lib/bitwig-studio/libgraphics-core.so"
("libc"))
("opt/bitwig-studio/lib/bitwig-studio/libsqlitejdbc.so"
("libc"))
("opt/bitwig-studio/lib/bitwig-studio/libx11-windowing-system.so"
("libc" "mesa" "libxkbcommon" "libxcb" "libxcursor" "libx11"
"xcb-util-wm" "xcb-imdkit" "freetype" "cairo"))
("opt/bitwig-studio/lib/vamp-plugins/transient-detector.so"
("libc")))
#:install-plan
#~`(("opt" "opt" #~`(("opt" "opt"
#:exclude ("BitwigPluginHost-X86-SSE41")) ;no multilib #:exclude ("BitwigPluginHost-X86-SSE41")) ;no multilib
("usr/share" "share")) ("usr/share" "share"))
@ -189,18 +152,24 @@ comprehensively extended, scripted and modified.")
"bin/ffmpeg" "bin/ffmpeg"
"bin/ffprobe" "bin/ffprobe"
"bin/libLTO.so" "bin/libLTO.so"
;FIXME: Unbundle "bin/liblwjgl.so"
"bin/libxcb-imdkit.so" "bin/libxcb-imdkit.so"
"lib/bitwig-studio/libxcb-imdkit.so.1")) "lib/bitwig-studio/libxcb-imdkit.so.1"))
(symlink (string-append #$openjdk17 "/bin/java") (symlink (string-append #$openjdk17 "/bin/java")
"bin/BitwigStudio")))) "bin/BitwigStudio"))))
(add-after 'patchelf 'patch-bitwig-audio-engines (replace 'patchelf
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "opt/bitwig-studio/bin" (with-directory-excursion "opt/bitwig-studio"
(invoke "patchelf" "--set-interpreter" (invoke "patchelf" "--set-interpreter"
(string-append (assoc-ref inputs "libc") (string-append (assoc-ref inputs "libc")
"/lib/ld-linux-x86-64.so.2") "/lib/ld-linux-x86-64.so.2")
"BitwigAudioEngine-X64-AVX2" "bitwig-studio"
"BitwigAudioEngine-X64-SSE41")))) "BitwigStudio"
"bin/BitwigAudioEngine-X64-AVX2"
"bin/BitwigAudioEngine-X64-SSE41"
"bin/BitwigPluginHost-X64-SSE41"
"bin/BitwigVampHost"
"bin/show-file-dialog-gtk3"))))
(add-after 'install 'create-wrapper (add-after 'install 'create-wrapper
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(make-wrapper (make-wrapper
@ -212,13 +181,21 @@ comprehensively extended, scripted and modified.")
(,(string-append #$ffmpeg "/bin"))) (,(string-append #$ffmpeg "/bin")))
`("LD_LIBRARY_PATH" ":" suffix `("LD_LIBRARY_PATH" ":" suffix
(,(string-append (assoc-ref inputs "libc") "/lib") (,(string-append (assoc-ref inputs "libc") "/lib")
,(string-append (assoc-ref inputs "gcc") "/lib")
,(string-append #$alsa-lib "/lib") ,(string-append #$alsa-lib "/lib")
,(string-append #$cairo "/lib")
,(string-append #$freetype "/lib")
,(string-append #$gdk-pixbuf "/lib")
,(string-append #$glib "/lib")
,(string-append #$gtk+ "/lib")
,(string-append #$jack-1 "/lib") ,(string-append #$jack-1 "/lib")
,(string-append #$libusb4java "/lib") ,(string-append #$libusb4java "/lib")
,(string-append #$libx11 "/lib") ,(string-append #$libx11 "/lib")
,(string-append #$libxcb "/lib") ,(string-append #$libxcb "/lib")
,(string-append #$libxcursor "/lib")
,(string-append #$libxkbcommon "/lib") ,(string-append #$libxkbcommon "/lib")
,(string-append #$llvm-13 "/lib") ,(string-append #$llvm-13 "/lib")
,(string-append #$mesa "/lib")
,(string-append #$pipewire "/lib") ,(string-append #$pipewire "/lib")
,(string-append #$pulseaudio "/lib") ,(string-append #$pulseaudio "/lib")
,(string-append #$xcb-imdkit "/lib") ,(string-append #$xcb-imdkit "/lib")