Merge branch 'SameExpert-master-patch-69208' into 'master'
nongnu: Add bitwig-studio. See merge request nonguix/nonguix!287
This commit is contained in:
commit
9e21158cfc
|
@ -1,14 +1,28 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2022 Sughosha <sughosha@proton.me>
|
||||
;;; Copyright © 2022, 2023 Sughosha <sughosha@proton.me>
|
||||
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
||||
(define-module (nongnu packages music)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages fcitx5)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
|
@ -105,3 +119,130 @@ audio and MIDI recording, editing, processing, mixing and mastering toolset.
|
|||
It supports a vast range of hardware, digital formats and plugins, and can be
|
||||
comprehensively extended, scripted and modified.")
|
||||
(license (license:nonfree "file:///opt/REAPER/EULA.txt"))))
|
||||
|
||||
(define-public bitwig-studio
|
||||
(package
|
||||
(name "bitwig-studio")
|
||||
(version "5.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.bitwig.com/" version
|
||||
"/bitwig-studio-" version ".deb"))
|
||||
(sha256
|
||||
(base32
|
||||
"15hk8mbyda0isbqng00wd0xcp8g91117lkg6f5b2s0xylf858j12"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
#~`(("opt" "opt"
|
||||
#:exclude ("BitwigPluginHost-X86-SSE41")) ;no multilib
|
||||
("usr/share" "share"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda _
|
||||
(invoke "ar" "x" #$source)
|
||||
(invoke "rm" "-v" "control.tar.xz" "debian-binary")
|
||||
(invoke "tar" "xf" "data.tar.xz")
|
||||
(invoke "rm" "-vrf" "data.tar.xz")))
|
||||
(add-after 'unpack 'unbundle-deps
|
||||
(lambda _
|
||||
(with-directory-excursion "opt/bitwig-studio"
|
||||
(with-directory-excursion "lib"
|
||||
(for-each delete-file-recursively
|
||||
(list "cp" "jre")))
|
||||
(for-each delete-file
|
||||
(list "bin/BitwigStudio"
|
||||
"bin/ffmpeg"
|
||||
"bin/ffprobe"
|
||||
"bin/libLTO.so"
|
||||
;FIXME: Unbundle "bin/liblwjgl.so"
|
||||
"bin/libxcb-imdkit.so"
|
||||
"lib/bitwig-studio/libxcb-imdkit.so.1"))
|
||||
(symlink (string-append #$openjdk17 "/bin/java")
|
||||
"bin/BitwigStudio"))))
|
||||
(replace 'patchelf
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "opt/bitwig-studio"
|
||||
(invoke "patchelf" "--set-interpreter"
|
||||
(string-append (assoc-ref inputs "libc")
|
||||
"/lib/ld-linux-x86-64.so.2")
|
||||
"bitwig-studio"
|
||||
"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
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(make-wrapper
|
||||
(string-append #$output "/bin/bitwig-studio")
|
||||
(string-append #$output
|
||||
"/opt/bitwig-studio/bitwig-studio")
|
||||
#:skip-argument-0? #t
|
||||
`("PATH" suffix
|
||||
(,(string-append #$ffmpeg "/bin")))
|
||||
`("LD_LIBRARY_PATH" ":" suffix
|
||||
(,(string-append (assoc-ref inputs "libc") "/lib")
|
||||
,(string-append (assoc-ref inputs "gcc") "/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 #$libusb4java "/lib")
|
||||
,(string-append #$libx11 "/lib")
|
||||
,(string-append #$libxcb "/lib")
|
||||
,(string-append #$libxcursor "/lib")
|
||||
,(string-append #$libxkbcommon "/lib")
|
||||
,(string-append #$llvm-13 "/lib")
|
||||
,(string-append #$mesa "/lib")
|
||||
,(string-append #$pipewire "/lib")
|
||||
,(string-append #$pulseaudio "/lib")
|
||||
,(string-append #$xcb-imdkit "/lib")
|
||||
,(string-append #$xcb-util "/lib")
|
||||
,(string-append #$xcb-util-wm "/lib")
|
||||
,(string-append #$zlib "/lib"))))))
|
||||
(replace 'install-license-files
|
||||
(lambda _
|
||||
(install-file
|
||||
(string-append "opt/bitwig-studio/EULA.txt")
|
||||
(string-append #$output "/share/doc/"
|
||||
(strip-store-file-name #$output))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
cairo
|
||||
ffmpeg
|
||||
freetype
|
||||
`(,gcc "lib")
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk+
|
||||
jack-1
|
||||
libusb4java
|
||||
libx11
|
||||
libxcb
|
||||
libxcursor
|
||||
libxkbcommon
|
||||
llvm-13
|
||||
mesa
|
||||
openjdk17
|
||||
pipewire
|
||||
pulseaudio
|
||||
xcb-imdkit
|
||||
xcb-util
|
||||
xcb-util-wm
|
||||
zlib))
|
||||
(supported-systems
|
||||
(list "x86_64-linux"))
|
||||
(home-page "https://www.bitwig.com/")
|
||||
(synopsis "Music production and performance software")
|
||||
(description
|
||||
"Bitwig Studio is a digital audio workstation which is aimed at loop based
|
||||
live performance and production. It features modulations, macros, note
|
||||
expressions, LFOs and envelopes. It also supports VST plugins and hardware
|
||||
integration.")
|
||||
(license (license:nonfree "file:///opt/bitwig-studio/EULA.txt"))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user