Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, cairo, libGL, lv2, pkg-config }:
2
3stdenv.mkDerivation rec {
4 pname = "string-machine";
5 version = "unstable-2020-01-20";
6
7 src = fetchFromGitHub {
8 owner = "jpcima";
9 repo = pname;
10 rev = "188082dd0beb9a3c341035604841c53675fe66c4";
11 sha256 = "0l9xrzp3f0hk6h320qh250a0n1nbd6qhjmab21sjmrlb4ngy672v";
12 fetchSubmodules = true;
13 };
14
15 patches = [
16 # gcc-13 compatibility fix:
17 # https://github.com/jpcima/string-machine/pull/36
18 (fetchpatch {
19 name = "gcc-13.patch";
20 url = "https://github.com/jpcima/string-machine/commit/e1f9c70da46e43beb2654b509bc824be5601a0a5.patch";
21 hash = "sha256-eS28wBuFjbx2tEb9gtVRZXfK0w2o1RCFTouNf8Adq+k=";
22 })
23 ];
24
25 postPatch = ''
26 patchShebangs ./dpf/utils/generate-ttl.sh
27 '';
28
29 nativeBuildInputs = [ pkg-config ];
30
31 buildInputs = [
32 boost cairo libGL lv2
33 ];
34
35 makeFlags = [
36 "PREFIX=$(out)"
37 ];
38
39 meta = with lib; {
40 homepage = "https://github.com/jpcima/string-machine";
41 description = "Digital model of electronic string ensemble instrument";
42 maintainers = [ maintainers.magnetophon ];
43 platforms = intersectLists platforms.linux platforms.x86;
44 license = licenses.boost;
45 };
46}