summary refs log tree commit diff
path: root/pkgs/applications/science/biology/kssd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/biology/kssd/default.nix')
-rw-r--r--pkgs/applications/science/biology/kssd/default.nix49
1 files changed, 34 insertions, 15 deletions
diff --git a/pkgs/applications/science/biology/kssd/default.nix b/pkgs/applications/science/biology/kssd/default.nix
index 34d997252f5..8f60b8b991e 100644
--- a/pkgs/applications/science/biology/kssd/default.nix
+++ b/pkgs/applications/science/biology/kssd/default.nix
@@ -1,38 +1,57 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib, automake, autoconf, libtool }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, zlib
+, kssd
+, runCommand
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "kssd";
-  version = "1.1";
+  version = "2.21";
 
   src = fetchFromGitHub {
     owner = "yhg926";
     repo = "public_kssd";
-    rev = "v${version}";
-    sha256 = "sha256-8jzYqo9LXF66pQ1EIusm+gba2VbTYpJz2K3NVlA3QxY=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-D/s1jL2oKE0rSdRMVljskYFsw5UPOv1L95Of+K+e17w=";
   };
 
   patches = [
-    # Pull upstream patch for -fno-common toolchain support:
-    #   https://github.com/yhg926/public_kssd/pull/9
+    # https://github.com/yhg926/public_kssd/pull/11
     (fetchpatch {
-      name = "fno-common.patch";
-      url = "https://github.com/yhg926/public_kssd/commit/cdd1e8aae256146f5913a3b4c723b638d53bdf27.patch";
-      sha256 = "sha256-HhaTRqPfKR+ouh0PwEH6u22pbuqbX2OypRzw8BXm0W4=";
+      name = "allocate-enough-memory.patch";
+      url = "https://github.com/yhg926/public_kssd/commit/b1e66bbcc04687bc3201301cd742a0b26a87cb5d.patch";
+      hash = "sha256-yFyJetpsGKeu+H6Oxrmn5ea4ESVtblb3YJDja4JEAEM=";
     })
   ];
 
-  nativeBuildInputs = [ autoconf automake ];
-  buildInputs = [ zlib libtool ];
+  buildInputs = [ zlib ];
 
   installPhase = ''
-      install -vD kssd $out/bin/kssd
+    runHook preInstall
+
+    install -vD kssd $out/bin/kssd
+
+    runHook postInstall
   '';
 
+  passthru.tests = {
+    simple = runCommand "${finalAttrs.pname}-test" { } ''
+      mkdir $out
+      ${lib.getExe kssd} dist -L ${kssd.src}/shuf_file/L3K10.shuf -r ${kssd.src}/test_fna/seqs1 -o $out/reference
+      ${lib.getExe kssd} dist -L ${kssd.src}/shuf_file/L3K10.shuf -o $out/query ${kssd.src}/test_fna/seqs2
+      ${lib.getExe kssd} dist -r $out/reference -o $out/distout $out/query
+    '';
+  };
+
   meta = with lib; {
     description = "K-mer substring space decomposition";
     license     = licenses.asl20;
     homepage    = "https://github.com/yhg926/public_kssd";
     maintainers = with maintainers; [ unode ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
+    mainProgram = "kssd";
   };
-}
+})