summaryrefslogtreecommitdiffstats
path: root/pkgs/development/interpreters/luajit
diff options
context:
space:
mode:
authorArnout Engelen <arnout@bzzt.net>2023-01-05 13:17:38 +0100
committerGitHub <noreply@github.com>2023-01-05 13:17:38 +0100
commitaf0b453724a59bc8fa90fa1dfad30896cc3df529 (patch)
treed44ab6bb2f9a7eb201a108628c3bed9f58f17e43 /pkgs/development/interpreters/luajit
parentc2b75a520abb8d04f89101b74908d11b1eb92874 (diff)
parent90c4a2ebc351e10f9551db0cb34d059f16174543 (diff)
Merge pull request #208103 from raboof/neovim-reproducible
neovim: make the build reproducible
Diffstat (limited to 'pkgs/development/interpreters/luajit')
-rw-r--r--pkgs/development/interpreters/luajit/default.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index d1211ce0a928..a3ecf1a3166d 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -25,6 +25,12 @@
, enableAPICheck ? false
, enableVMAssertions ? false
, useSystemMalloc ? false
+# Upstream generates randomized string id's by default for security reasons
+# https://github.com/LuaJIT/LuaJIT/issues/626. Deterministic string id's should
+# never be needed for correctness (that should be fixed in the lua code),
+# but may be helpful when you want to embed jit-compiled raw lua blobs in
+# binaries that you want to be reproducible.
+, deterministicStringIds ? false
, luaAttr ? "luajit_${lib.versions.major version}_${lib.versions.minor version}"
} @ inputs:
assert enableJITDebugModule -> enableJIT;
@@ -44,6 +50,7 @@ let
++ optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
++ optional enableAPICheck "-DLUAJIT_USE_APICHECK"
++ optional enableVMAssertions "-DLUAJIT_USE_ASSERT"
+ ++ optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"
;
in
stdenv.mkDerivation rec {