This patch moves Guile modules shipped as a Guix channel under the modules directory. The rationale behind this is that we are probably adding unwanted files into Guile's load path, such as the news file and possible scripts that could be added to the channel repository in the future. * guix-channel (channel): Set directory field. * nongnu/*: Move under modules/nongnu. * nonguix/*: Move under modules/nonguix.
108 lines
5.2 KiB
Scheme
108 lines
5.2 KiB
Scheme
;;; 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")
|
|
;; We need a default case
|
|
(_ "unsupported"))
|
|
".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
(match (%current-system)
|
|
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
|
|
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
|
|
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
|
|
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk")
|
|
;; We need a valid base32 default case
|
|
(_ "0000000000000000000000000000000000000000000000000000"))))))
|
|
(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"))))
|