1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libjack2, alsaLib
, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
, fetchpatch, fmt
, adlplugChip ? "-DADLplug_CHIP=OPL3"
, pname ? "ADLplug" }:
stdenv.mkDerivation rec {
inherit pname;
version = "1.0.2";
src = fetchFromGitHub {
owner = "jpcima";
repo = "ADLplug";
rev = "v${version}";
sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
fetchSubmodules = true;
};
patches = [
(fetchpatch {
url = "https://raw.githubusercontent.com/jpcima/ADLplug/83636c55bec1b86cabf634b9a6d56d07f00ecc61/resources/patch/juce-gcc9.patch";
sha256 = "15hkdb76n9lgjsrpczj27ld9b4804bzrgw89g95cj4sc8wwkplyy";
extraPrefix = "thirdparty/JUCE/";
stripLen = 1;
})
];
cmakeFlags = [ adlplugChip "-DADLplug_USE_SYSTEM_FMT=ON" ];
buildInputs = [
libjack2 alsaLib freetype libX11 libXrandr libXinerama libXext
libXcursor
];
nativeBuildInputs = [ cmake pkgconfig fmt ];
meta = with lib; {
description = "OPL3 and OPN2 FM Chip Synthesizer";
homepage = src.meta.homepage;
license = licenses.boost;
platforms = platforms.linux;
maintainers = with maintainers; [ gnidorah ];
};
}
|