about summary refs log tree commit diff
path: root/pkgs/by-name/ha/hap-py/package.nix
blob: 6a420264d80285a44c7b24dd4028d4a60d6ed8e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{ pkgs, stdenv, fetchFromGitHub, boost, zlib, lib, makeWrapper }:

let
  # Bcftools needs perl
  runtime = with pkgs; [ bcftools htslib my-python perl samtools ];
  my-python-packages = p: with p; [
    bx-python
    pysam
    cython
    pandas
    psutil
    nose
    scipy
  ];
  my-python = pkgs.python3.withPackages my-python-packages;
in
stdenv.mkDerivation rec {
  pname = "hap.py";
  version  = "0.3.15";
  src = fetchFromGitHub {
    owner = "Illumina";
    repo = pname;
    rev = "v${version}";
    sha256 = "sha256-K8XXhioMGMHw56MKvp0Eo8S6R36JczBzGRaBz035zRQ=";
  };
  # For illumina script
  BOOST_ROOT = "${boost.out}";
  ZLIBSTATIC = "${zlib.static}";
  # For cmake : boost lib and includedir are in differernt location
  BOOST_LIBRARYDIR = "${boost.out}/lib";
  BOOST_INCLUDEDIR = "${boost.dev}/include";
  patches = [
    ./hap-py.patch
    ./cmake.patch
  ];
  buildInputs = with pkgs; [
    autoconf
    boost
    bzip2
    cmake
    curl
    htslib
    my-python
    xz
    zlib
  ];
  nativeBuildInputs = [ pkgs.makeWrapper ];
  propagatedBuildInputs = runtime;
  postFixup = ''
    wrapProgram $out/bin/hap.py \
      --set PATH ${lib.makeBinPath runtime}
  '';

  meta = with lib; {
    description = "Compare genetics variants against a gold dataset";
    homepage = "https://github.com/Illumina/hap.py";
    license = licenses.bsd2;
    maintainers = with maintainers; [ apraga ];
    mainProgram = "hap.py";
  };
}