mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 19:55:41 +03:00
emscripten: patch bugs involving EM_CACHE permissions
As a workaround for https://github.com/NixOS/nixpkgs/issues/282509, packages built with `emscriptenStdenv` need to set the `EM_CACHE` environment variable to a folder in the build directory, so that emscripten uses a copy of the sysroot cache instead of attempting to write to the sysroot in the Nix store. However, due to the bug https://github.com/emscripten-core/emscripten/issues/24404, the copied cache has the same permission bits as the (readonly) one in the Nix store, resulting in "Permission Denied" errors. This bug has since been fixed in upstream emscripten, so we can backport the relevant patches.
This commit is contained in:
parent
8c00e8f752
commit
7101805a34
1 changed files with 12 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
|||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
python3,
|
||||
nodejs,
|
||||
closurecompiler,
|
||||
|
@ -60,6 +61,17 @@ stdenv.mkDerivation rec {
|
|||
(replaceVars ./0001-emulate-clang-sysroot-include-logic.patch {
|
||||
resourceDir = "${llvmEnv}/lib/clang/${lib.versions.major llvmPackages.llvm.version}/";
|
||||
})
|
||||
# The following patches work around a bug where EM_CACHE is not copied with
|
||||
# the correct permissions; the bug will be fixed in the next release (probably 4.0.10).
|
||||
# See also: https://github.com/emscripten-core/emscripten/issues/24404
|
||||
(fetchpatch {
|
||||
url = "https://github.com/emscripten-core/emscripten/commit/99c6e41154f701e423074e33a4fdaf5eea49d073.patch";
|
||||
hash = "sha256-/wkhz08NhbgxsrXd7YFfdCGX6LrS2Ncct8dcwxBMsjY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/emscripten-core/emscripten/commit/f4d358d740a238b67a1d6935e71638519d25afa0.patch";
|
||||
hash = "sha256-hib5ZAN/R2dH+rTv3nYF37+xKZmeboKxnS+5mkht2lM=";
|
||||
})
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue