nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 boost,
6 gtest,
7 zlib,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "dragmap";
12 version = "1.3.0";
13
14 src = fetchFromGitHub {
15 owner = "Illumina";
16 repo = "DRAGMAP";
17 rev = finalAttrs.version;
18 fetchSubmodules = true;
19 hash = "sha256-f1jsOErriS1I/iUS4CzJ3+Dz8SMUve/ccb3KaE+L7U8=";
20 };
21
22 nativebuildInputs = [ boost ];
23 buildInputs = [
24 gtest
25 zlib
26 ];
27
28 patches = [
29 # pclose is called on a NULL value. This is no longer allowed since
30 # https://github.com/bminor/glibc/commit/64b1a44183a3094672ed304532bedb9acc707554
31 ./stdio-pclose.patch
32
33 # Add missing include cstdint. Upstream does not accept PR. Issue opened at
34 # https://github.com/Illumina/DRAGMAP/issues/63
35 ./cstdint.patch
36
37 # Missing import in Mapper.cpp
38 # Issue opened upstream https://github.com/Illumina/DRAGMAP/pull/66
39 ./boost-iterator-range.patch
40 ];
41
42 env = {
43 GTEST_INCLUDEDIR = "${gtest.dev}/include";
44 CPPFLAGS = "-I ${boost.dev}/include";
45 LDFLAGS = "-L ${boost.out}/lib";
46 };
47
48 installPhase = ''
49 runHook preInstall
50
51 mkdir -p $out/bin
52 cp build/release/dragen-os $out/bin/
53
54 runHook postInstall
55 '';
56
57 # Tests are launched by default from makefile
58 doCheck = false;
59
60 meta = {
61 description = "Open Source version of Dragen mapper for genomics";
62 mainProgram = "dragen-os";
63 longDescription = ''
64 DRAGMAP is an open-source software implementation of the DRAGEN mapper,
65 which the Illumina team created to procude the same results as their
66 proprietary DRAGEN hardware.
67 '';
68 homepage = "https://github.com/Illumina/DRAGMAP";
69 changelog = "https://github.com/Illumina/DRAGMAP/releases/tag/${finalAttrs.version}";
70 license = lib.licenses.gpl3;
71 platforms = [ "x86_64-linux" ];
72 maintainers = with lib.maintainers; [ apraga ];
73 };
74})