mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2025-10-02 02:14:59 +00:00
nongnu: Add bitwig-studio.
* nongnu/packages/music.scm (bitwig-studio): New variable.
This commit is contained in:
parent
e239cc23e4
commit
785ef5657b
1 changed files with 204 additions and 1 deletions
|
@ -1,14 +1,29 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2022 Sughosha <sughosha@proton.me>
|
||||
;;; Copyright © 2022-2025 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 ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
|
@ -18,6 +33,194 @@
|
|||
#:use-module ((nonguix licenses) #:prefix license:)
|
||||
#:use-module (nonguix build-system binary))
|
||||
|
||||
(define-public bitwig-studio
|
||||
(package
|
||||
(name "bitwig-studio")
|
||||
(version "5.3.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.bitwig.com/dl/Bitwig%20Studio/" version
|
||||
"/installer_linux"))
|
||||
(sha256
|
||||
(base32 "0yh2ii19qiakswjz9vjlxcdqrq34g576n2xwl74816yksz7q67xp"))
|
||||
(file-name (string-append "bitwig-studio-" version ".deb"))))
|
||||
(build-system binary-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
#~`(("opt" "opt"
|
||||
#:exclude ("BitwigPluginHost-X86-SSE41")) ;no multilib support
|
||||
("usr/share" "share"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'unbundle-deps
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "opt/bitwig-studio"
|
||||
;; FIXME: Package "lwjgl3" and unbundle "bin/liblwjgl.so".
|
||||
;; FIXME: Unbundle "jre" if an "openjdk" package of the
|
||||
;; same version is available.
|
||||
(for-each delete-file
|
||||
'("bin/ffmpeg"
|
||||
"bin/ffprobe"
|
||||
"bin/libLTO.so"
|
||||
"lib/bitwig-studio/libxcb-imdkit.so.1"
|
||||
"lib/cp/org/usb4java/linux-x86-64/libusb4java.so"))
|
||||
;; Link "libusb4java.so" from the system.
|
||||
(symlink (search-input-file inputs "/lib/libusb4java.so")
|
||||
(string-append "lib/cp/org/usb4java/"
|
||||
"linux-x86-64/libusb4java.so")))))
|
||||
(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"
|
||||
"bin/show-splash-gtk"
|
||||
"lib/jre/bin/java"
|
||||
"lib/jre/bin/jrunscript"
|
||||
"lib/jre/bin/jwebserver"
|
||||
"lib/jre/bin/keytool"
|
||||
"lib/jre/lib/jexec"
|
||||
"lib/jre/lib/jspawnhelper"))))
|
||||
(add-after 'install 'create-wrapper
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((libs
|
||||
(string-join (map (lambda (input)
|
||||
(string-append (assoc-ref inputs
|
||||
input)
|
||||
"/lib"))
|
||||
'("alsa-lib"
|
||||
"at-spi2-core"
|
||||
"cairo"
|
||||
"dbus"
|
||||
"eudev"
|
||||
"ffmpeg"
|
||||
"fontconfig-minimal"
|
||||
"freetype"
|
||||
"gcc"
|
||||
"gdk-pixbuf"
|
||||
"giflib"
|
||||
"glib"
|
||||
"gtk+"
|
||||
"harfbuzz"
|
||||
"jack2"
|
||||
"lcms"
|
||||
"libglvnd"
|
||||
"libjpeg-turbo"
|
||||
"libpng"
|
||||
"libusb4java"
|
||||
"libx11"
|
||||
"libxcb"
|
||||
"libxcursor"
|
||||
"libxext"
|
||||
"libxi"
|
||||
"libxkbcommon"
|
||||
"libxrender"
|
||||
"libxtst"
|
||||
"llvm"
|
||||
"mesa"
|
||||
"pango"
|
||||
"pipewire"
|
||||
"pulseaudio"
|
||||
"vulkan-loader"
|
||||
"xcb-imdkit"
|
||||
"xcb-util"
|
||||
"xcb-util-wm"
|
||||
"zlib"))
|
||||
":")))
|
||||
(with-directory-excursion
|
||||
(string-append #$output "/opt/bitwig-studio")
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(wrap-program file
|
||||
`("LD_LIBRARY_PATH" ":" suffix (,libs))))
|
||||
'("bitwig-studio"
|
||||
"BitwigStudio"
|
||||
"bin/BitwigAudioEngine-X64-AVX2"
|
||||
"bin/BitwigAudioEngine-X64-SSE41"
|
||||
"bin/BitwigPluginHost-X64-SSE41"
|
||||
"bin/BitwigVampHost"
|
||||
"bin/show-file-dialog-gtk3"
|
||||
"bin/show-splash-gtk"
|
||||
"lib/jre/bin/java"
|
||||
"lib/jre/bin/jrunscript"
|
||||
"lib/jre/bin/jwebserver"
|
||||
"lib/jre/bin/keytool"
|
||||
"lib/jre/lib/jexec"
|
||||
"lib/jre/lib/jspawnhelper")))
|
||||
(make-wrapper
|
||||
(string-append #$output "/bin/bitwig-studio")
|
||||
(string-append #$output
|
||||
"/opt/bitwig-studio/bitwig-studio")
|
||||
#:skip-argument-0? #t
|
||||
`("PATH" suffix
|
||||
(,(string-append (assoc-ref inputs "ffmpeg") "/bin")))
|
||||
`("LD_LIBRARY_PATH" ":" suffix (,libs))))))
|
||||
(replace 'install-license-files
|
||||
(lambda _
|
||||
(install-file
|
||||
(string-append "opt/bitwig-studio/EULA.txt")
|
||||
(string-append #$output "/share/doc/"
|
||||
(strip-store-file-name #$output))))))))
|
||||
(native-inputs
|
||||
(list zstd))
|
||||
(propagated-inputs
|
||||
(list at-spi2-core gtk+))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
cairo
|
||||
dbus
|
||||
eudev
|
||||
ffmpeg
|
||||
fontconfig
|
||||
freetype
|
||||
`(,gcc "lib")
|
||||
gdk-pixbuf
|
||||
giflib
|
||||
glib
|
||||
harfbuzz
|
||||
jack-2
|
||||
lcms
|
||||
libglvnd
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libusb4java
|
||||
libx11
|
||||
libxcb
|
||||
libxcursor
|
||||
libxext
|
||||
libxi
|
||||
libxkbcommon
|
||||
libxrender
|
||||
libxtst
|
||||
llvm-19
|
||||
mesa
|
||||
pango
|
||||
pipewire
|
||||
pulseaudio
|
||||
vulkan-loader
|
||||
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"))))
|
||||
|
||||
(define-public reaper
|
||||
(package
|
||||
(name "reaper")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue