From 4696b9661b7b4da213b8daa42e70de57b794afbf Mon Sep 17 00:00:00 2001 From: Cheng Shao <terrorjack@type.dance> Date: Sun, 18 Feb 2024 16:59:51 +0000 Subject: [PATCH] hadrian: fix wasm backend post linker script permissions The post-link.mjs script was incorrectly copied and installed as a regular data file without executable permission, this commit fixes it. --- hadrian/bindist/Makefile | 4 +++- hadrian/src/Rules/Generate.hs | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hadrian/bindist/Makefile b/hadrian/bindist/Makefile index 845189f55263..1a898cb6613b 100644 --- a/hadrian/bindist/Makefile +++ b/hadrian/bindist/Makefile @@ -169,7 +169,7 @@ install_bin_direct: install_lib: lib/settings @echo "Copying libraries to $(DESTDIR)$(ActualLibsDir)" $(INSTALL_DIR) "$(DESTDIR)$(ActualLibsDir)" - + @dest="$(DESTDIR)$(ActualLibsDir)"; \ cd lib; \ for i in `$(FIND) . -type f`; do \ @@ -185,6 +185,8 @@ install_lib: lib/settings $(INSTALL_SHLIB) $$i "$$dest/`dirname $$i`" ;; \ *.dylib) \ $(INSTALL_SHLIB) $$i "$$dest/`dirname $$i`" ;; \ + *.mjs) \ + $(INSTALL_SCRIPT) $$i "$$dest/`dirname $$i`" ;; \ *) \ $(INSTALL_DATA) $$i "$$dest/`dirname $$i`" ;; \ esac; \ diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs index 9185710b3c90..5d2460fafeb1 100644 --- a/hadrian/src/Rules/Generate.hs +++ b/hadrian/src/Rules/Generate.hs @@ -211,7 +211,10 @@ copyRules = do prefix -/- "ghc-interp.js" <~ return "." prefix -/- "template-hsc.h" <~ return (pkgPath hsc2hs -/- "data") - prefix -/- "post-link.mjs" <~ pure "utils/jsffi" + prefix -/- "post-link.mjs" %> \file -> do + copyFile ("utils/jsffi" -/- makeRelative prefix file) file + makeExecutable file + prefix -/- "prelude.js" <~ pure "utils/jsffi" prefix -/- "html/**" <~ return "utils/haddock/haddock-api/resources" -- GitLab