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

Merge pull request #315402 from gracicot/gracicot/update-emscripten

parents 1feb3d81 ab60d63b
Loading
Loading
Loading
Loading
+3 −19
Original line number Diff line number Diff line
{ lib, stdenv, cmake, python3, fetchFromGitHub, fetchpatch, emscripten,
{ lib, stdenv, cmake, python3, fetchFromGitHub, emscripten,
  gtest, lit, nodejs, filecheck
}:

stdenv.mkDerivation rec {
  pname = "binaryen";
  version = "116";
  version = "117";

  src = fetchFromGitHub {
    owner = "WebAssembly";
    repo = "binaryen";
    rev = "version_${version}";
    hash = "sha256-gMwbWiP+YDCVafQMBWhTuJGWmkYtnhEdn/oofKaUT08=";
    hash = "sha256-QYJkrvwcUWbFV5oQdP11JuVmfOTYaFWGQGksboQ1d58=";
  };

  # FIXME: remove for next release
  patches = [
    (fetchpatch {
      name = "nodejs-20.patch";
      url = "https://github.com/WebAssembly/binaryen/commit/889422e0c92552ff484659f9b41e777ba7ab35c1.patch";
      hash = "sha256-acM8mytL9nhm4np9tpUbd1X0wJ7y308HV2fvgcAW1lY=";
    })

    # Fix fmin tests on gcc-13: https://github.com/WebAssembly/binaryen/pull/5994
    (fetchpatch {
      name = "gcc-13.patch";
      url = "https://github.com/WebAssembly/binaryen/commit/1e17dfb695a19d5d41f1f88411fbcbc5f2408c8f.patch";
      hash = "sha256-5JZh15CXkg5XdTG8eRJXPwO+zmymYeFjKbHutRPTmlU=";
    })
  ];

  nativeBuildInputs = [ cmake python3 ];

  preConfigure = ''
+6 −6
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@

stdenv.mkDerivation rec {
  pname = "emscripten";
  version = "3.1.51";
  version = "3.1.55";

  llvmEnv = symlinkJoin {
    name = "emscripten-llvm-${version}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
    name = "emscripten-node-modules-${version}";
    inherit pname version src;

    npmDepsHash = "sha256-N7WbxzKvW6FljY6g3R//9RdNiezhXGEvKPbOSJgdA0g=";
    npmDepsHash = "sha256-7tZEZ7NN1jJBHa9G5sRz/ZpWJvgnTJj4i5EvQMsGQH4=";

    dontBuild = true;

@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
  src = fetchFromGitHub {
    owner = "emscripten-core";
    repo = "emscripten";
    hash = "sha256-oXecS6B0u8YLeoybjxLwx5INGj/Kp/8GA6s3A1S0y4k=";
    hash = "sha256-3SqbkXI8xn4Zj3bDLCegxslYH5m/PkF6n/pPfm5z5VA=";
    rev = version;
  };

@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
  patches = [
    (substituteAll {
      src = ./0001-emulate-clang-sysroot-include-logic.patch;
      resourceDir = "${llvmEnv}/lib/clang/17/";
      resourceDir = "${llvmEnv}/lib/clang/18/";
    })
  ];

@@ -51,8 +51,8 @@ stdenv.mkDerivation rec {

    patchShebangs .

    # emscripten 3.1.50 requires LLVM tip-of-tree instead of LLVM 17
    sed -i -e "s/EXPECTED_LLVM_VERSION = 18/EXPECTED_LLVM_VERSION = 17.0/g" tools/shared.py
    # emscripten 3.1.55 requires LLVM tip-of-tree instead of LLVM 18
    sed -i -e "s/EXPECTED_LLVM_VERSION = 19/EXPECTED_LLVM_VERSION = 18/g" tools/shared.py

    # fixes cmake support
    sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py
+1 −1
Original line number Diff line number Diff line
@@ -7648,7 +7648,7 @@ with pkgs;
  easeprobe = callPackage ../tools/misc/easeprobe { };
  emscripten = callPackage ../development/compilers/emscripten {
    llvmPackages = llvmPackages_17;
    llvmPackages = llvmPackages_18;
  };
  emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { });