1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch2,
6 alsa-lib,
7 boost,
8 bzip2,
9 fftw,
10 fftwFloat,
11 libfishsound,
12 libid3tag,
13 liblo,
14 libmad,
15 liboggz,
16 libpulseaudio,
17 libsamplerate,
18 libsndfile,
19 lrdf,
20 opusfile,
21 portaudio,
22 rubberband,
23 serd,
24 sord,
25 capnproto,
26 wrapQtAppsHook,
27 pkg-config,
28 libjack2,
29}:
30
31stdenv.mkDerivation rec {
32 pname = "sonic-lineup";
33 version = "1.1";
34
35 src = fetchurl {
36 url = "https://code.soundsoftware.ac.uk/attachments/download/2765/${pname}-${version}.tar.gz";
37 sha256 = "0k45k9fawcm4s5yy05x00pgww7j8m7k2cxcc7g0fn9vqy7vcbq9h";
38 };
39
40 patches = [
41 (fetchpatch2 {
42 url = "https://github.com/sonic-visualiser/svcore/commit/5a7b517e43b7f0b3f03b7fc3145102cf4e5b0ffc.patch";
43 stripLen = 1;
44 extraPrefix = "svcore/";
45 sha256 = "sha256-DOCdQqCihkR0g/6m90DbJxw00QTpyVmFzCxagrVWKiI=";
46 })
47 ./match-vamp.patch
48 ];
49
50 buildInputs = [
51 alsa-lib
52 boost
53 bzip2
54 fftw
55 fftwFloat
56 libfishsound
57 libid3tag
58 liblo
59 libmad
60 liboggz
61 libpulseaudio
62 libsamplerate
63 libsndfile
64 lrdf
65 opusfile
66 portaudio
67 rubberband
68 serd
69 sord
70 capnproto
71 libjack2
72 ];
73
74 nativeBuildInputs = [
75 capnproto # capnp
76 pkg-config
77 wrapQtAppsHook
78 ];
79
80 strictDeps = true;
81
82 enableParallelBuilding = true;
83
84 # comment out the tests
85 preConfigure = ''
86 sed -i 's/sub_test_svcore_/#sub_test_svcore_/' sonic-lineup.pro
87 '';
88
89 meta = with lib; {
90 description = "Comparative visualisation of related audio recordings";
91 mainProgram = "sonic-lineup";
92 homepage = "https://www.sonicvisualiser.org/sonic-lineup/";
93 license = licenses.gpl2Plus;
94 maintainers = [ maintainers.vandenoever ];
95 platforms = platforms.linux;
96 };
97}