nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 unzip,
6 llvmPackages,
7}:
8
9stdenv.mkDerivation (finalAttrs: {
10 pname = "bayescan";
11 version = "2.1";
12
13 src = fetchurl {
14 url = "http://cmpg.unibe.ch/software/BayeScan/files/BayeScan${finalAttrs.version}.zip";
15 sha256 = "0ismima8j8z0zj9yc267rpf7z90w57b2pbqzjnayhc3ab8mcbfy6";
16 };
17
18 nativeBuildInputs = [ unzip ];
19 buildInputs = lib.optional stdenv.cc.isClang llvmPackages.openmp;
20
21 # Disable FORTIFY_SOURCE or the binary fails with "buffer overflow"
22 hardeningDisable = [ "fortify" ];
23
24 sourceRoot = "BayeScan${finalAttrs.version}/source";
25
26 postPatch = ''
27 substituteInPlace Makefile --replace-fail "-static" "" \
28 --replace-fail "g++" "${stdenv.cc.targetPrefix}c++"
29 '';
30
31 installPhase = ''
32 mkdir -p $out/bin
33 mkdir -p $out/share/doc/bayescan
34 cp bayescan_${finalAttrs.version} $out/bin
35 cp -r ../*pdf ../input_examples ../"R functions" $out/share/doc/bayescan
36 '';
37
38 env.NIX_CFLAGS_COMPILE = toString [ "-std=c++14" ];
39
40 meta = {
41 description = "Detecting natural selection from population-based genetic data";
42 homepage = "http://cmpg.unibe.ch/software/BayeScan";
43 license = lib.licenses.gpl3;
44 maintainers = [ lib.maintainers.bzizou ];
45 mainProgram = "bayescan_${finalAttrs.version}";
46 platforms = lib.platforms.all;
47 };
48})