diff --git a/nongnu/packages/music.scm b/nongnu/packages/music.scm index dffd758..82de428 100644 --- a/nongnu/packages/music.scm +++ b/nongnu/packages/music.scm @@ -5,10 +5,12 @@ (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 freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages linux) + #:use-module (gnu packages sdl) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix packages) @@ -101,3 +103,68 @@ 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 sunvox + (package + (name "sunvox") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://warmplace.ru/soft/sunvox/sunvox-" version "c.zip")) + (sha256 + (base32 "0g6avkc2azp44d0g4m1m23r38gnmg7v9a1fbp2yv6ma0v5p5rxf8")))) + (build-system binary-build-system) + (arguments + `(#:patchelf-plan '((,(string-append "sunvox/" + (match (%current-system) + ("x86_64-linux" "linux_x86_64") + ("i686-linux" "linux_x86") + ("aarch64-linux" "linux_arm64") + ("armhf-linux" "linux_arm")) + "/sunvox") + ("libc" "gcc" "alsa-lib" "sdl2"))) + #:install-plan '(("curves" "share/curves") + ("docs" "share/docs") + ("effects" "share/effects") + ("examples" "share/examples") + ("instruments" "share/instruments") + (,(string-append "sunvox/" + (match (%current-system) + ("x86_64-linux" "linux_x86_64") + ("i686-linux" "linux_x86") + ("aarch64-linux" "linux_arm64") + ("armhf-linux" "linux_arm")) + "/sunvox") + "share/sunvox/linux/sunvox")) + #:validate-runpath? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (real (string-append out "/share/sunvox/linux/sunvox")) + (wrapper (string-append out "/bin/sunvox"))) + (mkdir-p (dirname wrapper)) + (symlink real wrapper)) + #t))))) + (inputs + (list + alsa-lib + sdl2 + unzip + `(,gcc "lib"))) + (supported-systems '("x86_64-linux" "i686-linux" "aarch64-linux" + "armhf-linux")) + (home-page "https://warmplace.ru/soft/sunvox/") + (synopsis "Modular synthesizer and tracker.") + (description + "SunVox is a small, fast and powerful modular synthesizer with +pattern-based sequencer (tracker). Features: +@itemize +@item Support for variety of systems and audio formats. +@item Real-time sample/MIDI/audio signal playback and recording. +@item Generative music utilities. +@item Lots of built-in modules. +@end itemize") + (license (license:nonfree "file:///share/docs/license/sunvox.txt"))))