1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch2,
6 pkg-config,
7 wrapQtAppsHook,
8 alsa-lib,
9 boost,
10 bzip2,
11 fftw,
12 fftwFloat,
13 libX11,
14 libfishsound,
15 libid3tag,
16 libjack2,
17 liblo,
18 libmad,
19 libogg,
20 liboggz,
21 libpulseaudio,
22 libsamplerate,
23 libsndfile,
24 lrdf,
25 opusfile,
26 qtbase,
27 qtsvg,
28 rubberband,
29 serd,
30 sord,
31}:
32
33stdenv.mkDerivation rec {
34 pname = "tony";
35 version = "2.1.1";
36
37 src = fetchurl {
38 url = "https://code.soundsoftware.ac.uk/attachments/download/2616/${pname}-${version}.tar.gz";
39 sha256 = "03g2bmlj08lmgvh54dyd635xccjn730g4wwlhpvsw04bffz8b7fp";
40 };
41
42 patches = [
43 (fetchpatch2 {
44 url = "https://github.com/sonic-visualiser/svcore/commit/5a7b517e43b7f0b3f03b7fc3145102cf4e5b0ffc.patch";
45 stripLen = 1;
46 extraPrefix = "svcore/";
47 sha256 = "sha256-DOCdQqCihkR0g/6m90DbJxw00QTpyVmFzCxagrVWKiI=";
48 })
49 (fetchpatch2 {
50 url = "https://github.com/sonic-visualiser/svgui/commit/5b6417891cff5cc614e8c96664d68674eb12b191.patch";
51 stripLen = 1;
52 extraPrefix = "svgui/";
53 excludes = [ "svgui/widgets/CSVExportDialog.cpp" ];
54 sha256 = "sha256-pBCtoMXgjreUm/D0pl6+R9x1Ovwwwj8Ohv994oMX8XA=";
55 })
56 ];
57
58 nativeBuildInputs = [
59 pkg-config
60 wrapQtAppsHook
61 ];
62
63 buildInputs = [
64 alsa-lib
65 boost
66 bzip2
67 fftw
68 fftwFloat
69 libX11
70 libfishsound
71 libid3tag
72 libjack2
73 liblo
74 libmad
75 libogg
76 liboggz
77 libpulseaudio
78 libsamplerate
79 libsndfile
80 lrdf
81 opusfile
82 qtbase
83 qtsvg
84 rubberband
85 serd
86 sord
87 ];
88
89 # comment out the tests
90 preConfigure = ''
91 sed -i 's/sub_test_svcore_/#sub_test_svcore_/' tony.pro
92 '';
93
94 enableParallelBuilding = true;
95
96 meta = with lib; {
97 description = "Pitch and note annotation of unaccompanied melody";
98 mainProgram = "tony";
99 homepage = "https://www.sonicvisualiser.org/tony/";
100 license = licenses.gpl2Plus;
101 maintainers = with maintainers; [ orivej ];
102 platforms = platforms.linux;
103 };
104}