depot/pkgs/by-name/fa/fastahack/package.nix
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

43 lines
1.3 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
runCommand,
fastahack,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fastahack";
version = "1.0.0";
src = fetchFromGitHub {
owner = "ekg";
repo = "fastahack";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-SWu2iRwNgdhsn4sH9/3jPNG3+l1xFAHXPq5/ODVd4WY=";
};
installFlags = [ "PREFIX=${placeholder "out"}" ];
passthru.tests = {
simple = runCommand "${finalAttrs.pname}-test" { } ''
mkdir $out
cp ${fastahack.src}/tests/* $out
grep -v ERROR <(${lib.getExe fastahack} $out/correct.fasta 2>&1)
grep -v ERROR <(${lib.getExe fastahack} $out/crlf.fasta 2>&1)
grep "ERROR: embedded newline " <(${lib.getExe fastahack} $out/embedded_newline.fasta 2>&1)
grep "ERROR: mismatched line lengths" <(${lib.getExe fastahack} $out/mismatched_lines.fasta 2>&1)
grep -v ERROR <(${lib.getExe fastahack} $out/trailing_newlines.fasta 2>&1)
'';
};
meta = {
description = "Utilities for indexing and sequence extraction from FASTA files";
homepage = "https://github.com/ekg/fastahack";
changelog = "https://github.com/ekg/fastahack/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ natsukium ];
mainProgram = "fastahack";
platforms = lib.platforms.unix;
};
})