mini-calc: 3.3.2 -> 3.3.3 (#364716)
[NixPkgs.git] / pkgs / development / compilers / mono / llvm.nix
blob27ddb96d9b05ed9cf004ade08758d0c489ed697e
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   groff,
6   cmake,
7   python2,
8   perl,
9   libffi,
10   libbfd,
11   libxml2,
12   valgrind,
13   ncurses,
14   zlib,
17 stdenv.mkDerivation {
18   pname = "llvm";
19   version = "3.6-mono-2017-02-15";
21   src = fetchFromGitHub {
22     owner = "mono";
23     repo = "llvm";
24     rev = "dbb6fdffdeb780d11851a6be77c209bd7ada4bd3";
25     sha256 = "07wd1cs3fdvzb1lv41b655z5zk34f47j8fgd9ljjimi5j9pj71f7";
26   };
28   nativeBuildInputs = [ cmake ];
29   buildInputs = [
30     perl
31     groff
32     libxml2
33     python2
34     libffi
35   ] ++ lib.optional stdenv.hostPlatform.isLinux valgrind;
37   propagatedBuildInputs = [
38     ncurses
39     zlib
40   ];
42   # hacky fix: created binaries need to be run before installation
43   preBuild = ''
44     mkdir -p $out/
45     ln -sv $PWD/lib $out
46   '';
47   postBuild = "rm -fR $out";
49   cmakeFlags =
50     with stdenv;
51     [
52       "-DLLVM_ENABLE_FFI=ON"
53       "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
54     ]
55     ++ lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
57   meta = {
58     description = "Collection of modular and reusable compiler and toolchain technologies - Mono build";
59     homepage = "http://llvm.org/";
60     license = lib.licenses.bsd3;
61     maintainers = with lib.maintainers; [ thoughtpolice ];
62     platforms = lib.platforms.all;
63   };