nixpkgs/pkgs/by-name/fa/fastahack/package.nix
2024-05-02 16:59:53 +09:00

44 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;
};
})