1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchpatch,
6 alsa-lib,
7 cmake,
8 gtk2,
9 libjack2,
10 libgnomecanvas,
11 libpthreadstubs,
12 libsamplerate,
13 libsndfile,
14 libtool,
15 libxml2,
16 pkg-config,
17 openssl,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "petri-foo";
22 version = "0.1.87";
23
24 src = fetchurl {
25 url = "mirror://sourceforge/petri-foo/${pname}-${version}.tar.bz2";
26 sha256 = "0b25iicgn8c42487fdw32ycfrll1pm2zjgy5djvgw6mfcaa4gizh";
27 };
28
29 patches = [
30 # Pull patch pending upstream inclusion for -fno-common toollchain support:
31 # https://github.com/petri-foo/Petri-Foo/pull/43
32 (fetchpatch {
33 name = "fno-common.patch";
34 url = "https://github.com/petri-foo/Petri-Foo/commit/6a3256c9b619b1fed18ad15063f110e8d91aa6fe.patch";
35 sha256 = "05yc4g22iwnd054jmvihrl461yr0cxnghslfrbhan6bac6fcvlal";
36 })
37 ];
38
39 nativeBuildInputs = [
40 cmake
41 pkg-config
42 ];
43
44 buildInputs = [
45 alsa-lib
46 gtk2
47 libjack2
48 libgnomecanvas
49 libpthreadstubs
50 libsamplerate
51 libsndfile
52 libtool
53 libxml2
54 openssl
55 ];
56
57 meta = with lib; {
58 description = "MIDI controllable audio sampler";
59 longDescription = "a fork of Specimen";
60 homepage = "https://petri-foo.sourceforge.net";
61 license = licenses.gpl2Plus;
62 platforms = platforms.linux;
63 maintainers = [ ];
64 mainProgram = "petri-foo";
65 };
66}