diff --git a/pkgs/by-name/ea/easel/package.nix b/pkgs/by-name/ea/easel/package.nix new file mode 100644 index 000000000000..d172f891eb69 --- /dev/null +++ b/pkgs/by-name/ea/easel/package.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + perl, + python3, + versionCheckHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "easel"; + version = "0.49"; + + src = fetchFromGitHub { + owner = "EddyRivasLab"; + repo = "easel"; + tag = "easel-${finalAttrs.version}"; + hash = "sha256-NSKy7ptNYR0K/VFJNv+5TGWdC1ZM4Y5i/3L+3Coj/sg="; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + enableParallelBuilding = true; + + doCheck = true; + + nativeCheckInputs = [ + perl + python3 + ]; + + preCheck = '' + patchShebangs devkit/sqc + ''; + + doInstallCheck = true; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + meta = { + description = "Sequence analysis library used by Eddy/Rivas lab code"; + homepage = "https://github.com/EddyRivasLab/easel"; + license = lib.licenses.bsd2; + mainProgram = "easel"; + maintainers = with lib.maintainers; [ natsukium ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/hm/hmmer/package.nix b/pkgs/by-name/hm/hmmer/package.nix index 81d0cdb1ec81..ef70f6d37ca9 100644 --- a/pkgs/by-name/hm/hmmer/package.nix +++ b/pkgs/by-name/hm/hmmer/package.nix @@ -2,18 +2,44 @@ lib, stdenv, fetchurl, + easel, + perl, + python3, + versionCheckHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { version = "3.4"; pname = "hmmer"; src = fetchurl { - url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz"; - sha256 = "sha256-ynDZT9DPJxvXBjQjqrsRbULeUzEXNDqbJ6ZcF/8G+/M="; + url = "http://eddylab.org/software/hmmer/hmmer-${finalAttrs.version}.tar.gz"; + hash = "sha256-ynDZT9DPJxvXBjQjqrsRbULeUzEXNDqbJ6ZcF/8G+/M="; }; - meta = with lib; { + enableParallelBuilding = true; + + doCheck = true; + + nativeCheckInputs = [ + perl + python3 + ]; + + preCheck = '' + install -Dm755 ${easel.src}/devkit/sqc easel/devkit/sqc + patchShebangs easel/devkit/sqc testsuite/* src/hmmpress.itest.pl + ''; + + doInstallCheck = true; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgram = "${placeholder "out"}/bin/hmmalign"; + + versionCheckProgramArg = [ "-h" ]; + + meta = { description = "Biosequence analysis using profile hidden Markov models"; longDescription = '' HMMER is used for searching sequence databases for sequence homologs, and for making sequence alignments. It implements methods using probabilistic models called profile hidden Markov models (profile HMMs). @@ -22,10 +48,9 @@ stdenv.mkDerivation rec { HMMER can be downloaded and installed as a command line tool on your own hardware, and now it is also more widely accessible to the scientific community via new search servers at the European Bioinformatics Institute. ''; homepage = "http://hmmer.org/"; - changelog = "https://github.com/EddyRivasLab/hmmer/blob/hmmer-${version}/release-notes/RELEASE-${version}.md"; - license = licenses.gpl3; - maintainers = [ maintainers.iimog ]; - # at least SSE is *required* - platforms = platforms.x86_64; + changelog = "https://github.com/EddyRivasLab/hmmer/blob/hmmer-${finalAttrs.version}/release-notes/RELEASE-${finalAttrs.version}.md"; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.iimog ]; + platforms = lib.platforms.unix; }; -} +})