summaryrefslogtreecommitdiff
path: root/nongnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'nongnu/packages/music.scm')
-rw-r--r--nongnu/packages/music.scm103
1 files changed, 103 insertions, 0 deletions
diff --git a/nongnu/packages/music.scm b/nongnu/packages/music.scm
new file mode 100644
index 0000000..dffd758
--- /dev/null
+++ b/nongnu/packages/music.scm
@@ -0,0 +1,103 @@
+;;; SPDX-License-Identifier: GPL-3.0-or-later
+;;; Copyright © 2022 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 cpp)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages linux)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (ice-9 match)
+ #:use-module (ice-9 regex)
+ #:use-module ((nonguix licenses) #:prefix license:)
+ #:use-module (nonguix build-system binary))
+
+(define-public reaper
+ (package
+ (name "reaper")
+ (version "6.73")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.reaper.fm/files/"
+ (version-major version)
+ ".x/reaper"
+ (string-replace-substring version "." "")
+ "_"
+ (match (%current-system)
+ ("x86_64-linux" "linux_x86_64")
+ ("i686-linux" "linux_i686")
+ ("aarch64-linux" "linux_aarch64")
+ ("armhf-linux" "linux_armv7l"))
+ ".tar.xz"))
+ (sha256
+ (base32
+ (match (%current-system)
+ ("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
+ ("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
+ ("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
+ ("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk"))))))
+ (build-system binary-build-system)
+ (arguments
+ (list #:strip-binaries? #f ;allocated section `.dynsym' not in segment
+ #:patchelf-plan #~`(("REAPER/reaper" ("libc" "gcc" "alsa-lib"))
+ ("REAPER/reamote-server" ("libc" "gcc"))
+ ("REAPER/Plugins/reaper_host_x86_64" ("libc" "gcc")))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((target (string-append #$output "/opt"))
+ (bin (string-append #$output "/bin"))
+ (libexec (string-append #$output "/libexec"))
+ (data (string-append #$output "/share"))
+ (doc (string-append data "/doc/reaper-"
+ #$version)))
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_DATA_HOME" data)
+ (invoke "sh" "./install-reaper.sh" "--install"
+ target "--integrate-user-desktop")
+ (delete-file (string-append target
+ "/REAPER/uninstall-reaper.sh"))
+ (delete-file (string-append target
+ "/REAPER/libSwell.so"))
+ (symlink (search-input-file inputs
+ "/lib/libSwell.so")
+ (string-append target
+ "/REAPER/libSwell.so"))
+ (mkdir-p bin)
+ (symlink (string-append target "/REAPER/reaper")
+ (string-append bin "/reaper"))
+ (mkdir-p libexec)
+ (symlink (string-append target
+ "/REAPER/Plugins/reaper_host_x86_64")
+ (string-append libexec
+ "/reaper_host_x86_64"))
+ (mkdir-p doc)
+ (symlink (string-append target
+ "/REAPER/EULA.txt")
+ (string-append doc "/LICENSE"))))))))
+ (native-inputs
+ (list
+ which
+ xdg-utils))
+ (inputs
+ (list
+ alsa-lib
+ `(,gcc "lib")
+ wdl))
+ (supported-systems '("x86_64-linux" "i686-linux" "aarch64-linux"
+ "armhf-linux"))
+ (home-page "https://www.reaper.fm")
+ (synopsis "Digital audio workstation")
+ (description
+ "REAPER is a digital audio production application offering multitrack
+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"))))