diff --git a/pkgs/cardinal/default.nix b/pkgs/cardinal/default.nix new file mode 100644 index 0000000..3d2ac12 --- /dev/null +++ b/pkgs/cardinal/default.nix @@ -0,0 +1,79 @@ +{ 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 ]; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index d2a617b..f077e29 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -81,6 +81,8 @@ final: prev: decentsampler = prev.callPackage ./decentsampler {}; + cardinal = prev.callPackage ./cardinal {}; + # Originally from Mats Rauhala ®2018 copy = prev.writeScriptBin "copy" '' function clean() {