Files
nixpkgs/pkgs/by-name/co/corrscope/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

98 lines
2.1 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
ffmpeg,
python3Packages,
qt6Packages,
testers,
corrscope,
}:
python3Packages.buildPythonApplication rec {
pname = "corrscope";
version = "0.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "corrscope";
repo = "corrscope";
tag = version;
hash = "sha256-76qa4jOSncK1eDly/uXJzpWWdsEz7Hg3DyFb7rmrQBc=";
};
nativeBuildInputs = with qt6Packages; [
wrapQtAppsHook
];
build-system = with python3Packages; [
hatchling
];
buildInputs = [
ffmpeg
]
++ (
with qt6Packages;
[
qtbase
]
++ lib.optionals stdenv.hostPlatform.isLinux [
qtwayland
]
);
dependencies = (
with python3Packages;
[
appdirs
atomicwrites
attrs
click
colorspacious
matplotlib
numpy
qtpy
pyqt6
ruamel-yaml
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
appnope
]
);
dontWrapQtApps = true;
preFixup = ''
makeWrapperArgs+=(
--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
"''${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 = {
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";
changelog = "https://github.com/corrscope/corrscope/releases/tag/${version}";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.all;
mainProgram = "corr";
};
}