Unverified Commit e34dacba authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #178620 from willcohen/emcc-bump

parents 0e04b8f3 0956fc22
Loading
Loading
Loading
Loading
+37 −3
Original line number Diff line number Diff line
{ lib, stdenv, cmake, python3, fetchFromGitHub, emscripten }:
{ lib, stdenv, cmake, python3, fetchFromGitHub, emscripten,
  gtest, lit, nodejs, filecheck, fetchpatch
}:

stdenv.mkDerivation rec {
  pname = "binaryen";
  version = "105";
  version = "109";

  src = fetchFromGitHub {
    owner = "WebAssembly";
    repo = "binaryen";
    rev = "version_${version}";
    sha256 = "0yg9rarjv1gfbq225cj9hnbgx99n5az2m19qwfp8z41dwhh71igm";
    sha256 = "sha256-HMPoiuTvYhTDaBUfSOfh/Dt4FdO9jGqUaFpi92pnscI=";
  };

  patches = [
    # https://github.com/WebAssembly/binaryen/pull/4321
    (fetchpatch {
      url = "https://github.com/WebAssembly/binaryen/commit/93b8849d9f98ef7ed812938ff0b3219819c2be77.patch";
      sha256 = "sha256-Duan/B9A+occ5Lj2SbRX793xIfhzHbdYPI5PyTNCZoU=";
    })
  ];

  nativeBuildInputs = [ cmake python3 ];

  preConfigure = ''
    if [ $doCheck -eq 1 ]; then
      sed -i '/googletest/d' third_party/CMakeLists.txt
    else
      cmakeFlagsArray=($cmakeFlagsArray -DBUILD_TESTS=0)
    fi
  '';

  checkInputs = [ gtest lit nodejs filecheck ];
  checkPhase = ''
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib python3 ../check.py $tests
  '';

  tests = [
    "version" "wasm-opt" "wasm-dis"
    "crash" "dylink" "ctor-eval"
    "wasm-metadce" "wasm-reduce" "spec"
    "lld" "wasm2js" "validator"
    "example" "unit"
    # "binaryenjs" "binaryenjs_wasm" # not building this
    "lit" "gtest"
  ];
  doCheck = stdenv.isLinux;

  meta = with lib; {
    homepage = "https://github.com/WebAssembly/binaryen";
    description = "Compiler infrastructure and toolchain library for WebAssembly, in C++";
+3 −9
Original line number Diff line number Diff line
@@ -3,12 +3,11 @@
, llvmPackages
, symlinkJoin, makeWrapper, substituteAll
, mkYarnModules
, fetchpatch
}:

stdenv.mkDerivation rec {
  pname = "emscripten";
  version = "3.1.10";
  version = "3.1.14";

  llvmEnv = symlinkJoin {
    name = "emscripten-llvm-${version}";
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
  src = fetchFromGitHub {
    owner = "emscripten-core";
    repo = "emscripten";
    sha256 = "03k0pd5hna7khrnn3k3ln38h9w0vyaicfzvfqlqbxi4zz8jikrdb";
    sha256 = "sha256-CVFC278ibwUMib2F64Uc7FP+D1JPUJ/9/3w0wz1PWqg=";
    rev = version;
  };

@@ -39,11 +38,6 @@ stdenv.mkDerivation rec {
      src = ./0001-emulate-clang-sysroot-include-logic.patch;
      resourceDir = "${llvmEnv}/lib/clang/${llvmPackages.release_version}/";
    })
    (fetchpatch {
      # https://github.com/emscripten-core/emscripten/pull/16986
      url = "https://github.com/emscripten-core/emscripten/commit/d5ef6937fe395488e23a82c1e582a7ea5c2dab83.patch";
      sha256 = "sha256-YX5DG8i5x6S7XnU58etEapDd+o5SuzbFIGv8v/9+T3E=";
    })
  ];

  buildPhase = ''
@@ -98,7 +92,7 @@ stdenv.mkDerivation rec {

    # precompile libc (etc.) in all variants:
    pushd $TMPDIR
    echo 'int main() { return 42; }' >test.c
    echo 'int __main_argc_argv() { return 42; }' >test.c
    for LTO in -flto ""; do
      # wasm2c doesn't work with PIC
      $out/bin/emcc -s WASM2C -s STANDALONE_WASM $LTO test.c
+6 −6
Original line number Diff line number Diff line
{
  "name": "emscripten",
  "version": "3.1.10",
  "version": "3.1.14",
  "private": true,
  "devDependencies": {
    "es-check": "^6.1.1",
    "eslint": "^8.6.0",
    "es-check": "^6.2.1",
    "eslint": "^8.16.0",
    "eslint-config-google": "^0.14.0",
    "source-map": "0.7.3",
    "ws": "^8.5.0"
    "ws": "^8.6.0"
  },
  "dependencies": {
    "acorn": "^8.7.0",
    "google-closure-compiler": "20220104.0.0",
    "acorn": "^8.7.1",
    "google-closure-compiler": "20220502.0.0",
    "html-minifier-terser": "6.1.0",
    "wasm2c": "1.0.0"
  },
+176 −214

File changed.

Preview size limit exceeded, changes collapsed.

+181 −221

File changed.

Preview size limit exceeded, changes collapsed.

Loading