diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/emscripten/fastcomp/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/emscripten/fastcomp/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/emscripten/fastcomp/default.nix b/nixpkgs/pkgs/development/compilers/emscripten/fastcomp/default.nix new file mode 100644 index 000000000000..57496d288605 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/emscripten/fastcomp/default.nix @@ -0,0 +1,28 @@ +{ newScope, stdenv, binutils, wrapCCWith, symlinkJoin }: +let + callPackage = newScope (self // {inherit stdenv;}); + + self = { + emscriptenfastcomp-unwrapped = callPackage ./emscripten-fastcomp.nix {}; + emscriptenfastcomp-wrapped = wrapCCWith { + cc = self.emscriptenfastcomp-unwrapped; + # Never want Apple's cctools for WASM target + bintools = binutils; + libc = stdenv.cc.libc; + extraBuildCommands = '' + # hardening flags break WASM support + cat > $out/nix-support/add-hardening.sh + ''; + }; + emscriptenfastcomp = symlinkJoin { + name = "emscriptenfastcomp-${stdenv.lib.getVersion self.emscriptenfastcomp-unwrapped}"; + paths = [ self.emscriptenfastcomp-wrapped self.emscriptenfastcomp-unwrapped ]; + preferLocalBuild = false; + allowSubstitutes = true; + postBuild = '' + # replace unwrapped clang-3.9 binary by wrapper + ln -sf $out/bin/clang $out/bin/clang-[0-9]* + ''; + }; + }; +in self |