nixpkgs/pkgs/by-name/ys/ysfx/package.nix
2024-02-10 22:53:41 +00:00

63 lines
1.4 KiB
Nix

{ 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;
};
}