{ 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-13alpha"; src = fetchFromGitHub { owner = "DISTRHO"; repo = "Cardinal"; rev = "f998ee2ec31d3e0cd6a19fbb3b2a6f17971ace12"; sha256 = "fIfUP59AJaC92XfvA3gCtOgEUk0PMnPRkjvBWOo/PW8="; fetchSubmodules = true; }; prePatch = '' cp -r ${quickjs-source} src/Rack/dep/QuickJS chmod +rw -R src/Rack/dep/QuickJS patchShebangs dpf/utils/*.sh ''; # cp -r ${pffft-source}/* dep/pffft # cp -r ${fuzzysearchdatabase-source}/* dep/fuzzysearchdatabase # cp -r ${nanovg-source}/* dep/nanovg # cp -r ${nanosvg-source}/* dep/nanosvg # cp -r ${osdialog-source}/* dep/osdialog # cp -r ${oui-blendish-source}/* dep/oui-blendish # cp dep/pffft/*.h dep/include # cp dep/fuzzysearchdatabase/src/*.hpp dep/include # cp dep/nanosvg/**/*.h dep/include # cp dep/nanovg/src/*.h dep/include # cp dep/osdialog/*.h dep/include # cp dep/oui-blendish/*.h dep/include enableParallelBuilding = true; nativeBuildInputs = [ pkg-config python3 ]; buildInputs = [ #libxkbcommon #xorg.libXau #xorg.libXdmcp #xorg.libxcb #xorg.xcbutil #xorg.xcbutilcursor #xorg.xcbutilimage #xorg.xcbutilkeysyms #xorg.xcbutilrenderutil 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 ]; }; }