lol
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 freetype,
8 juce,
9 libX11,
10 libXcursor,
11 libXext,
12 libXinerama,
13 libXrandr,
14 libglvnd,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "ysfx";
19 version = "0-unstable-2022-07-31";
20
21 src = fetchFromGitHub {
22 owner = "jpcima";
23 repo = "ysfx";
24 rev = "8077347ccf4115567aed81400281dca57acbb0cc";
25 hash = "sha256-pObuOb/PA9WkKB2FdMDCOd9TKmML+Sj2MybLP0YwT+8=";
26 };
27
28 # Provide latest dr_libs.
29 dr_libs = fetchFromGitHub {
30 owner = "mackron";
31 repo = "dr_libs";
32 rev = "e4a7765e598e9e54dc0f520b7e4416359bee80cc";
33 hash = "sha256-rWabyCP47vd+EfibBWy6iQY/nFN/OXPNhkuOTSboJaU=";
34 };
35
36 prePatch = ''
37 rmdir thirdparty/dr_libs
38 ln -s ${dr_libs} thirdparty/dr_libs
39 '';
40
41 nativeBuildInputs = [
42 cmake
43 pkg-config
44 ];
45
46 buildInputs = [
47 freetype
48 juce
49 libX11
50 libXcursor
51 libXext
52 libXinerama
53 libXrandr
54 libglvnd
55 ];
56
57 cmakeFlags = [
58 "-DYSFX_PLUGIN_COPY=OFF"
59 "-DYSFX_PLUGIN_USE_SYSTEM_JUCE=ON"
60 ];
61
62 installPhase = ''
63 runHook preInstall
64
65 mkdir -p $out/lib
66 cp -r ysfx_plugin_artefacts/Release/VST3 $out/lib/vst3
67
68 runHook postInstall
69 '';
70
71 meta = with lib; {
72 description = "Hosting library for JSFX";
73 homepage = "https://github.com/jpcima/ysfx";
74 license = licenses.asl20;
75 maintainers = with maintainers; [ orivej ];
76 platforms = platforms.linux;
77 };
78}