at 17.09-beta 54 lines 1.4 kB view raw
1{ stdenv, fetchFromGitHub, cmake, python, ... }: 2 3let 4 rev = "1.37.16"; 5 gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; 6in 7stdenv.mkDerivation rec { 8 name = "emscripten-fastcomp-${rev}"; 9 10 src = fetchFromGitHub { 11 owner = "kripken"; 12 repo = "emscripten-fastcomp"; 13 sha256 = "0wj9sc0gciaiidcjv6wb0qn6ks06xds7q34351masc7qpvd217by"; 14 inherit rev; 15 }; 16 17 srcFL = fetchFromGitHub { 18 owner = "kripken"; 19 repo = "emscripten-fastcomp-clang"; 20 sha256 = "1akdgxzxhzjbhp4d14ajcrp9jrf39x004a726ly2gynqc185l4j7"; 21 inherit rev; 22 }; 23 24 nativeBuildInputs = [ cmake python ]; 25 preConfigure = '' 26 cp -Lr ${srcFL} tools/clang 27 chmod +w -R tools/clang 28 ''; 29 cmakeFlags = [ 30 "-DCMAKE_BUILD_TYPE=Release" 31 "-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'" 32 "-DLLVM_INCLUDE_EXAMPLES=OFF" 33 "-DLLVM_INCLUDE_TESTS=OFF" 34 # "-DCLANG_INCLUDE_EXAMPLES=OFF" 35 "-DCLANG_INCLUDE_TESTS=OFF" 36 ] ++ (stdenv.lib.optional stdenv.isLinux 37 # necessary for clang to find crtend.o 38 "-DGCC_INSTALL_PREFIX=${gcc}" 39 ); 40 enableParallelBuilding = true; 41 42 passthru = { 43 isClang = true; 44 inherit gcc; 45 }; 46 47 meta = with stdenv.lib; { 48 homepage = https://github.com/kripken/emscripten-fastcomp; 49 description = "Emscripten LLVM"; 50 platforms = platforms.all; 51 maintainers = with maintainers; [ qknight matthewbauer ]; 52 license = stdenv.lib.licenses.ncsa; 53 }; 54}