diff --git a/pkgs/by-name/ys/ysfx/package.nix b/pkgs/by-name/ys/ysfx/package.nix new file mode 100644 index 000000000000..ac7807df8cd5 --- /dev/null +++ b/pkgs/by-name/ys/ysfx/package.nix @@ -0,0 +1,63 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config +, freetype, juce, libX11, libXcursor, libXext, libXinerama, libXrandr, libglvnd +}: + +stdenv.mkDerivation rec { + pname = "ysfx"; + version = "0-unstable-2022-07-31"; + + src = fetchFromGitHub { + owner = "jpcima"; + repo = "ysfx"; + rev = "8077347ccf4115567aed81400281dca57acbb0cc"; + hash = "sha256-pObuOb/PA9WkKB2FdMDCOd9TKmML+Sj2MybLP0YwT+8="; + }; + + # Provide latest dr_libs. + dr_libs = fetchFromGitHub { + owner = "mackron"; + repo = "dr_libs"; + rev = "e4a7765e598e9e54dc0f520b7e4416359bee80cc"; + hash = "sha256-rWabyCP47vd+EfibBWy6iQY/nFN/OXPNhkuOTSboJaU="; + }; + + prePatch = '' + rmdir thirdparty/dr_libs + ln -s ${dr_libs} thirdparty/dr_libs + ''; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ + freetype + juce + libX11 + libXcursor + libXext + libXinerama + libXrandr + libglvnd + ]; + + cmakeFlags = [ + "-DYSFX_PLUGIN_COPY=OFF" + "-DYSFX_PLUGIN_USE_SYSTEM_JUCE=ON" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + cp -r ysfx_plugin_artefacts/Release/VST3 $out/lib/vst3 + + runHook postInstall + ''; + + meta = with lib; { + description = "Hosting library for JSFX"; + homepage = "https://github.com/jpcima/ysfx"; + license = licenses.asl20; + maintainers = with maintainers; [ orivej ]; + platforms = platforms.linux; + }; +}