Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at release-19.03 55 lines 1.5 kB view raw
1{ emscriptenVersion, stdenv, fetchFromGitHub, cmake, python, gtest, ... }: 2 3let 4 rev = emscriptenVersion; 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 = "04j698gmp686b5lricjakm5hyh2z2kh28m1ffkghmkyz4zkzmx98"; 14 inherit rev; 15 }; 16 17 srcFL = fetchFromGitHub { 18 owner = "kripken"; 19 repo = "emscripten-fastcomp-clang"; 20 sha256 = "1ici51mmpgg80xk3y8f376nbbfak6rz27qdy98l8lxkrymklp5g5"; 21 inherit rev; 22 }; 23 24 nativeBuildInputs = [ cmake python gtest ]; 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=ON" 34 #"-DLLVM_CONFIG=${llvm}/bin/llvm-config" 35 "-DLLVM_BUILD_TESTS=ON" 36 "-DCLANG_INCLUDE_TESTS=ON" 37 ] ++ (stdenv.lib.optional stdenv.isLinux 38 # necessary for clang to find crtend.o 39 "-DGCC_INSTALL_PREFIX=${gcc}" 40 ); 41 enableParallelBuilding = true; 42 43 passthru = { 44 isClang = true; 45 inherit gcc; 46 }; 47 48 meta = with stdenv.lib; { 49 homepage = https://github.com/kripken/emscripten-fastcomp; 50 description = "Emscripten LLVM"; 51 platforms = platforms.all; 52 maintainers = with maintainers; [ qknight matthewbauer ]; 53 license = stdenv.lib.licenses.ncsa; 54 }; 55}