diff --git a/pkgs/by-name/ca/caesura/package.nix b/pkgs/by-name/ca/caesura/package.nix new file mode 100644 index 000000000000..181d8b3e3b70 --- /dev/null +++ b/pkgs/by-name/ca/caesura/package.nix @@ -0,0 +1,91 @@ +{ + lib, + fetchFromGitHub, + fetchzip, + rustPlatform, + eyed3, + flac, + imagemagick, + intermodal, + lame, + makeBinaryWrapper, + sox, + writableTmpDirAsHomeHook, +}: +let + runtimeDeps = [ + eyed3 + flac + intermodal + imagemagick + lame + sox + ]; + + testSampleContent = fetchzip { + url = "https://archive.org/download/tennyson-discography_/Tennyson%20-%20With%20You%20-%20Lay-by.zip"; + hash = "sha256-/MgnOgn+OSPPg9wkJ32hq+1MXDdW+Qo9MqLtZMLQYBY="; + stripRoot = false; + }; +in +rustPlatform.buildRustPackage (finalAttrs: { + pname = "caesura"; + version = "0.25.2"; + + src = fetchFromGitHub { + owner = "RogueOneEcho"; + repo = "caesura"; + tag = "v${finalAttrs.version}"; + hash = "sha256-rpaOFmD/0/c5F6TIS7vGn7G3+rLOoBZKMW/HuzroUxM="; + }; + + cargoHash = "sha256-agdhYEhhw3gMdZmYiQZVeLARkMsYQ/AWLTrpiaH0mtA="; + + nativeBuildInputs = [ + makeBinaryWrapper + ]; + + postPatch = '' + substituteInPlace Cargo.toml \ + --replace-fail 'version = "0.0.0"' 'version = "${finalAttrs.version}"' + ''; + + checkFlags = [ + # Those test need internet access for its `Source` (i.e: tracker) + "--skip=commands::spectrogram::tests::spectrogram_command_tests::spectrogram_command" + "--skip=commands::transcode::tests::transcode_command_tests::transcode_command" + "--skip=utils::source::tests::source_provider_tests::source_provider" + ]; + + preCheck = '' + # From samples/download-sample + mkdir samples/content/ + ln -s ${finalAttrs.passthru.testSampleContent} "samples/content/Tennyson - With You (2014) [Digital] "'{'"16-44.1 Bandcamp"'}'" (FLAC)" + # Adapted from .github/workflows/on-push.yml + tee config.yml <