diff options
-rw-r--r-- | pkgs/development/compilers/binaryen/default.nix | 25 | ||||
-rw-r--r-- | pkgs/development/compilers/emscripten/default.nix | 3 |
2 files changed, 23 insertions, 5 deletions
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 2b3919160e47..2c2869f76e72 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -1,14 +1,31 @@ -{ stdenv, cmake, fetchFromGitHub }: +{ stdenv, cmake, fetchFromGitHub, emscriptenRev ? null }: + +let + defaultVersion = "44"; + + # Map from git revs to SHA256 hashes + sha256s = { + "version_44" = "0zsqppc05fm62807w6vyccxkk2y2gar7kxbxxixq8zz3xsp6w84p"; + "1.37.36" = "1wgzfzjjzkiaz0rf2lnwrcvlcsjvjhyvbyh58jxhqq43vi34zyjc"; + }; +in stdenv.mkDerivation rec { - version = "44"; - rev = "version_${version}"; + version = if emscriptenRev == null + then defaultVersion + else "emscripten-${emscriptenRev}"; + rev = if emscriptenRev == null + then "version_${version}" + else emscriptenRev; name = "binaryen-${version}"; src = fetchFromGitHub { owner = "WebAssembly"; repo = "binaryen"; - sha256 = "0zsqppc05fm62807w6vyccxkk2y2gar7kxbxxixq8zz3xsp6w84p"; + sha256 = + if builtins.hasAttr rev sha256s + then builtins.getAttr rev sha256s + else null; inherit rev; }; diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix index ac972c99a959..8e268aa7eb74 100644 --- a/pkgs/development/compilers/emscripten/default.nix +++ b/pkgs/development/compilers/emscripten/default.nix @@ -5,6 +5,7 @@ let rev = emscriptenVersion; appdir = "share/emscripten"; + binaryenVersioned = binaryen.override { emscriptenRev = rev; }; in stdenv.mkDerivation { @@ -44,7 +45,7 @@ stdenv.mkDerivation { echo "SPIDERMONKEY_ENGINE = []" >> $out/${appdir}/config '' + stdenv.lib.optionalString enableWasm '' - echo "BINARYEN_ROOT = '${binaryen}'" >> $out/share/emscripten/config + echo "BINARYEN_ROOT = '${binaryenVersioned}'" >> $out/share/emscripten/config '' + '' |