{ stdenv , fetchFromGitHub , fetchurl , cmake , dbus , fftwFloat , file , freetype , jansson , lib , libGL , libX11 , libXcursor , libXext , libXrandr , libarchive , libjack2 , liblo , libsamplerate , libsndfile , makeWrapper , pkg-config , python3 , speexdsp , libglvnd }: stdenv.mkDerivation rec { pname = "cardinal"; version = "23.02"; src = fetchurl { url = "https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal-${version}+deps.tar.xz"; sha256 = "sha256-5vEWTkEXIMG/re7Ex+YKh+ETLDuc2nihTPpYSg5LdRo="; }; prePatch = '' patchShebangs ./dpf/utils/generate-ttl.sh ''; dontUseCmakeConfigure = true; enableParallelBuilding = true; strictDeps = true; nativeBuildInputs = [ cmake file pkg-config makeWrapper python3 ]; buildInputs = [ dbus fftwFloat freetype jansson libGL libX11 libXcursor libXext libXrandr libarchive liblo libsamplerate libsndfile speexdsp libglvnd ]; hardeningDisable = [ "format" ]; makeFlags = [ "SYSDEPS=true" "PREFIX=$(out)" ]; postInstall = '' wrapProgram $out/bin/Cardinal \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]} # this doesn't work and is mainly just a test tool for the developers anyway. rm -f $out/bin/CardinalNative ''; meta = { description = "Plugin wrapper around VCV Rack"; homepage = "https://github.com/DISTRHO/cardinal"; license = lib.licenses.gpl3; maintainers = [ lib.maintainers.magnetophon ]; mainProgram = "Cardinal"; platforms = lib.platforms.all; # never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs broken = stdenv.isDarwin; }; }