-
Notifications
You must be signed in to change notification settings - Fork 1
/
sc-manifest.scm
95 lines (89 loc) · 3.48 KB
/
sc-manifest.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
(use-modules (gnu packages)
(gnu packages audio)
(gnu packages compression)
(gnu packages gcc)
(gnu packages linux)
(gnu packages music)
(gnu packages emacs-xyz)
(gnu packages sdl)
(guix download)
(guix packages)
(ice-9 match)
(nongnu packages music)
(nonguix build-system binary)
((nonguix licenses) #:prefix license:))
;; Until nonguix accepts a patch.
(define 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"))))
(packages->manifest
(list
;; Audio infrastructure
jack-1 alsa-lib sdl2
;; SuperCollider (broken)
supercollider emacs-scel
;; PureData
pd libpd
;; SunVox
sunvox))