1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 libcxx,
7 zlib,
8 nix-update-script,
9}:
10let
11 version = "0.31.3";
12in
13stdenv.mkDerivation {
14 pname = "splitcode";
15 inherit version;
16
17 src = fetchFromGitHub {
18 owner = "pachterlab";
19 repo = "splitcode";
20 tag = "v${version}";
21 hash = "sha256-EEYjBo52jPCSnv5WSGsXhfZEjsBCHdGerVPOZfShXBU=";
22 };
23
24 nativeBuildInputs = [ cmake ];
25
26 buildInputs = [
27 libcxx
28 zlib
29 ];
30
31 doCheck = true;
32 checkPhase = ''
33 mkdir func_tests
34 cp $src/func_tests/* ./func_tests/
35 bash ./func_tests/runtests.sh
36 '';
37
38 passthru.updateScript = nix-update-script { };
39
40 meta = {
41 description = "Tool for flexible, efficient parsing, interpreting, and editing of technical sequences in sequencing reads";
42 homepage = "https://github.com/pachterlab/splitcode";
43 license = lib.licenses.bsd2;
44 platforms = lib.platforms.all;
45 maintainers = with lib.maintainers; [ zimward ];
46 mainProgram = "splitcode";
47 badPlatforms = [
48 # Test hangs indefinitely. See https://github.com/pachterlab/splitcode/issues/31
49 "aarch64-linux"
50 ];
51 };
52}