1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 extra-cmake-modules,
7 pkg-config,
8 qttools,
9 wrapQtAppsHook,
10 alsa-lib,
11 dssi,
12 fluidsynth,
13 ladspaH,
14 lash,
15 libinstpatch,
16 libjack2,
17 liblo,
18 libsamplerate,
19 libsndfile,
20 lilv,
21 lrdf,
22 lv2,
23 qtsvg,
24 rtaudio,
25 rubberband,
26 sord,
27 serd,
28}:
29
30stdenv.mkDerivation (finalAttrs: {
31 pname = "muse-sequencer";
32 version = "4.2.1";
33
34 src = fetchFromGitHub {
35 owner = "muse-sequencer";
36 repo = "muse";
37 rev = finalAttrs.version;
38 hash = "sha256-LxibuqopMHuKEfTWXSEXc1g3wTm2F3NQRiV71FHvaY0=";
39 };
40
41 sourceRoot = "${finalAttrs.src.name}/src";
42
43 nativeBuildInputs = [
44 cmake
45 extra-cmake-modules
46 pkg-config
47 qttools
48 wrapQtAppsHook
49 ];
50
51 buildInputs = [
52 alsa-lib
53 dssi
54 fluidsynth
55 ladspaH
56 lash
57 libinstpatch
58 libjack2
59 liblo
60 libsamplerate
61 libsndfile
62 lilv
63 lrdf
64 lv2
65 qtsvg
66 rtaudio
67 rubberband
68 sord
69 ];
70
71 env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getDev serd}/include/serd-0" ];
72
73 meta = {
74 homepage = "https://muse-sequencer.github.io/";
75 description = "MIDI/Audio sequencer with recording and editing capabilities";
76 longDescription = ''
77 MusE is a MIDI/Audio sequencer with recording and editing capabilities
78 written originally by Werner Schweer now developed and maintained
79 by the MusE development team.
80
81 MusE aims to be a complete multitrack virtual studio for Linux,
82 it is published under the GNU General Public License.
83 '';
84 license = lib.licenses.gpl2Plus;
85 maintainers = with lib.maintainers; [ orivej ];
86 platforms = lib.platforms.linux;
87 mainProgram = "muse4";
88 };
89})