overlays-personal/pkgs/cardinal/default.nix

59 lines
1.4 KiB
Nix

{ stdenv, lib, fetchFromGitHub, pkg-config
, xorg, libxkbcommon, glew, glfw, jansson
, libarchive, libsamplerate, speexdsp
, python3
}:
let
quickjs-source = fetchFromGitHub {
owner = "JerrySievert";
repo = "QuickJS";
rev = "b70d5344013836544631c361ae20569b978176c9";
sha256 = "hSWOGTmTJgtHVSBlEpv7w1qiyTgoAI1d7bQ66q59mik=";
};
in
stdenv.mkDerivation {
pname = "Cardinal";
version = "2021-12-18alpha";
src = fetchFromGitHub {
owner = "DISTRHO";
repo = "Cardinal";
rev = "1314aeebb518e315d77b351d0352bdfa66578db2";
sha256 = "ivu0JJid+BAcFn3xoemi7YazU3FElyWcI+eFjrmZgO0=";
fetchSubmodules = true;
};
prePatch = ''
cp -r ${quickjs-source} src/Rack/dep/QuickJS
chmod +rw -R src/Rack/dep/QuickJS
patchShebangs dpf/utils/*.sh
'';
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config python3 ];
buildInputs = [
glew
glfw
jansson
libarchive
libsamplerate
speexdsp
xorg.libX11
xorg.libXext
xorg.libXrandr
];
makeFlags = [ "SYSDEPS=true" "PREFIX=$(out)" ];
meta = with lib; {
description = "DPF-based plugin wrapper around VCV Rack, using its code directly instead of forking the project";
homepage = "https://github.com/DISTRHO/Cardinal";
license = licenses.gpl3;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jpotier ];
};
}