1{stdenv, fetchFromGitHub, which, m4, python, bison, flex, llvmPackages}:
2
3# TODO: patch LLVM so Knights Landing works better (patch included in ispc github)
4
5stdenv.mkDerivation rec {
6 version = "20151128";
7 rev = "d3020580ff18836de2d4cae18901980b551d9d01";
8
9 name = "ispc-${version}";
10
11 src = fetchFromGitHub {
12 owner = "ispc";
13 repo = "ispc";
14 inherit rev;
15 sha256 = "15qi22qvmlx3jrhrf3rwl0y77v66prpan6qb66a55dw3pw2d4jvn";
16 };
17
18 enableParallelBuilding = true;
19
20 doCheck = true;
21
22 buildInputs = with llvmPackages; [
23 which
24 m4
25 python
26 bison
27 flex
28 llvm
29 clang
30 ];
31
32 patchPhase = "sed -i -e 's/\\/bin\\///g' -e 's/-lcurses/-lncurses/g' Makefile";
33
34 installPhase = ''
35 mkdir -p $out/bin
36 cp ispc $out/bin
37 '';
38
39 checkPhase = ''
40 export ISPC_HOME=$PWD
41 python run_tests.py
42 '';
43
44 makeFlags = [
45 "CLANG_INCLUDE=${llvmPackages.clang-unwrapped}/include"
46 ];
47
48 meta = with stdenv.lib; {
49 homepage = https://ispc.github.io/ ;
50 description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language";
51 license = licenses.bsd3;
52 platforms = platforms.unix;
53 maintainers = [ maintainers.aristid ];
54 };
55}