diff options
author | OPNA2608 <opna2608@protonmail.com> | 2024-03-13 16:38:35 +0100 |
---|---|---|
committer | OPNA2608 <opna2608@protonmail.com> | 2024-04-11 23:14:58 +0200 |
commit | 3f563e3b755177f0bb35d712674c9d4252b55e76 (patch) | |
tree | 4ffe8843d8e7f82c9aac1f0111acb93f3be780c6 /pkgs/by-name/co | |
parent | 94bc20ad0f8f8f09dc115d10739f15f5f0bf11ed (diff) |
corrscope: Migrate to by-name
Diffstat (limited to 'pkgs/by-name/co')
-rw-r--r-- | pkgs/by-name/co/corrscope/package.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/by-name/co/corrscope/package.nix b/pkgs/by-name/co/corrscope/package.nix new file mode 100644 index 0000000000000..fbf46fc4aae89 --- /dev/null +++ b/pkgs/by-name/co/corrscope/package.nix @@ -0,0 +1,87 @@ +{ stdenv +, lib +, python3Packages +, fetchFromGitHub +, ffmpeg-full +, libsForQt5 +, testers +, corrscope +}: + +python3Packages.buildPythonApplication rec { + pname = "corrscope"; + version = "0.9.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "corrscope"; + repo = "corrscope"; + rev = version; + hash = "sha256-kOPhVm4epIhBSsgQVKNCoQ7DZcMG/b3sapxwwKo/V+U="; + }; + + pythonRelaxDeps = [ "attrs" "ruamel.yaml" ]; + + nativeBuildInputs = (with libsForQt5; [ + wrapQtAppsHook + ]) ++ (with python3Packages; [ + poetry-core + pythonRelaxDepsHook + ]); + + buildInputs = [ + ffmpeg-full + ] ++ (with libsForQt5; [ + qtbase + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + qtwayland + ]); + + propagatedBuildInputs = with python3Packages; [ + appdirs + appnope + atomicwrites + attrs + click + matplotlib + numpy + packaging + qtpy + pyqt5 + ruamel-yaml + colorspacious + ]; + + dontWrapQtApps = true; + + preFixup = '' + makeWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ ffmpeg-full ]} + "''${qtWrapperArgs[@]}" + ) + ''; + + passthru.tests.version = testers.testVersion { + package = corrscope; + # Tries writing to + # - $HOME/.local/share/corrscope on Linux + # - $HOME/Library/Application Support/corrscope on Darwin + command = "env HOME=$TMPDIR ${lib.getExe corrscope} --version"; + }; + + meta = with lib; { + description = "Render wave files into oscilloscope views, featuring advanced correlation-based triggering algorithm"; + longDescription = '' + Corrscope renders oscilloscope views of WAV files recorded from chiptune (game music from + retro sound chips). + + Corrscope uses "waveform correlation" to track complex waves (including SNES and Sega + Genesis/FM synthesis) which jump around on other oscilloscope programs. + ''; + homepage = "https://github.com/corrscope/corrscope"; + license = licenses.bsd2; + maintainers = with maintainers; [ OPNA2608 ]; + platforms = platforms.all; + mainProgram = "corr"; + }; +} |