{ lib , mkDerivation , fetchFromGitHub , cmake , extra-cmake-modules , qtbase , qtquickcontrols2 , SDL , python3 , catch2_3 , callPackage , nixosTests }: mkDerivation rec { pname = "sfxr-qt"; version = "1.5.1"; src = fetchFromGitHub { owner = "agateau"; repo = "sfxr-qt"; rev = version; hash = "sha256-JAWDk7mGkPtQ5yaA6UT9hlAy770MHrTBhBP9G8UqFKg="; fetchSubmodules = true; }; nativeBuildInputs = [ cmake extra-cmake-modules (python3.withPackages (pp: with pp; [ pyyaml jinja2 setuptools ])) ]; buildInputs = [ qtbase qtquickcontrols2 SDL ]; checkInputs = [ catch2_3 ]; cmakeFlags = [ (lib.cmakeBool "USE_SYSTEM_CATCH2" true) ]; doCheck = true; passthru.tests = { export-square-wave = callPackage ./test-export-square-wave {}; sfxr-qt-starts = nixosTests.sfxr-qt; }; meta = with lib; { homepage = "https://github.com/agateau/sfxr-qt"; description = "Sound effect generator, QtQuick port of sfxr"; mainProgram = "sfxr-qt"; license = licenses.gpl2; maintainers = with maintainers; [ fgaz ]; platforms = platforms.linux; }; }