diff --git a/source/libs/luajit/LuaJIT-src/src/lj_prng.c b/source/libs/luajit/LuaJIT-src/src/lj_prng.c
index 02146b273ad6d6173232bbc74d18902ae7c05951..ea7a9d092934a0f10e0bcb670ab9a107c693d5e8 100644
--- a/source/libs/luajit/LuaJIT-src/src/lj_prng.c
+++ b/source/libs/luajit/LuaJIT-src/src/lj_prng.c
@@ -227,7 +227,11 @@ int LJ_FASTCALL lj_prng_seed_secure(PRNGState *rs)
   ** or the OS ran out of file descriptors.
   */
   {
+#ifdef O_CLOEXEC
     int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC);
+#else
+    int fd = open("/dev/urandom", O_RDONLY);
+#endif
     if (fd != -1) {
       ssize_t n = read(fd, rs->u, sizeof(rs->u));
       (void)close(fd);
diff --git a/source/libs/luajit/TLpatches/patch-lauxlib.h b/source/libs/luajit/TLpatches/patch-lauxlib
similarity index 93%
rename from source/libs/luajit/TLpatches/patch-lauxlib.h
rename to source/libs/luajit/TLpatches/patch-lauxlib
index bc7a642fbe3202b4124a0de4dffd5ad540731a50..3601834dc3c1945ca4e10b959b8ea06494290398 100644
--- a/source/libs/luajit/TLpatches/patch-lauxlib.h
+++ b/source/libs/luajit/TLpatches/patch-lauxlib
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lauxlib.h  b/source/libs/luajit/LuaJIT-src/src/lauxlib.h 
 --- a/source/libs/luajit/LuaJIT-src/src/lauxlib.h
 +++ b/source/libs/luajit/LuaJIT-src/src/lauxlib.h
 @@ -93,6 +93,31 @@
diff --git a/source/libs/luajit/TLpatches/patch-lib_init.c b/source/libs/luajit/TLpatches/patch-lib_init
similarity index 73%
rename from source/libs/luajit/TLpatches/patch-lib_init.c
rename to source/libs/luajit/TLpatches/patch-lib_init
index 5890d4cd9283de0698a57d4784b7b8c6fedb98b2..7318b96765bcd879e2f69f0ac71e684a2b9e2f09 100644
--- a/source/libs/luajit/TLpatches/patch-lib_init.c
+++ b/source/libs/luajit/TLpatches/patch-lib_init
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lib_init.c  b/source/libs/luajit/LuaJIT-src/src/lib_init.c 
 --- a/source/libs/luajit/LuaJIT-src/src/lib_init.c
 +++ b/source/libs/luajit/LuaJIT-src/src/lib_init.c
 @@ -26,6 +26,7 @@
diff --git a/source/libs/luajit/TLpatches/patch-lib_package.c b/source/libs/luajit/TLpatches/patch-lib_package
similarity index 93%
rename from source/libs/luajit/TLpatches/patch-lib_package.c
rename to source/libs/luajit/TLpatches/patch-lib_package
index 18752fc32ad5417eabe3bafb2c5e5ee15df9e34b..b323a3747dc53716b2fa0cb936211f0ab96c7c95 100644
--- a/source/libs/luajit/TLpatches/patch-lib_package.c
+++ b/source/libs/luajit/TLpatches/patch-lib_package
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lib_package.c  b/source/libs/luajit/LuaJIT-src/src/lib_package.c 
 --- a/source/libs/luajit/LuaJIT-src/src/lib_package.c
 +++ b/source/libs/luajit/LuaJIT-src/src/lib_package.c
 @@ -378,6 +378,29 @@
diff --git a/source/libs/luajit/TLpatches/patch-lj_arch.h b/source/libs/luajit/TLpatches/patch-lj_arch
similarity index 77%
rename from source/libs/luajit/TLpatches/patch-lj_arch.h
rename to source/libs/luajit/TLpatches/patch-lj_arch
index e50fb9883993daf8fe526e04e7218dd3b20565b9..496d235d8c70049ceb06d06e066a1220b1228825 100644
--- a/source/libs/luajit/TLpatches/patch-lj_arch.h
+++ b/source/libs/luajit/TLpatches/patch-lj_arch
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_arch.h  b/source/libs/luajit/LuaJIT-src/src/lj_arch.h 
 --- a/source/libs/luajit/LuaJIT-src/src/lj_arch.h
 +++ b/source/libs/luajit/LuaJIT-src/src/lj_arch.h
 @@ -455,7 +455,7 @@
diff --git a/source/libs/luajit/TLpatches/patch-lj_def.h b/source/libs/luajit/TLpatches/patch-lj_def
similarity index 84%
rename from source/libs/luajit/TLpatches/patch-lj_def.h
rename to source/libs/luajit/TLpatches/patch-lj_def
index 5e06ff87b0f55a8adbf97077c28e537f193b1771..9d407e2e7a3ab03d58eba6c1fec66369da2a781a 100644
--- a/source/libs/luajit/TLpatches/patch-lj_def.h
+++ b/source/libs/luajit/TLpatches/patch-lj_def
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_def.h  b/source/libs/luajit/LuaJIT-src/src/lj_def.h 
 --- a/source/libs/luajit/LuaJIT-src/src/lj_def.h
 +++ b/source/libs/luajit/LuaJIT-src/src/lj_def.h
 @@ -66,7 +66,7 @@
diff --git a/source/libs/luajit/TLpatches/patch-lj_load.c b/source/libs/luajit/TLpatches/patch-lj_load
similarity index 90%
rename from source/libs/luajit/TLpatches/patch-lj_load.c
rename to source/libs/luajit/TLpatches/patch-lj_load
index b302b205e07cc389802a3392860941cc3a3bf413..44bd2925d43b27369bec20d7e1bc2d38e42eb862 100644
--- a/source/libs/luajit/TLpatches/patch-lj_load.c
+++ b/source/libs/luajit/TLpatches/patch-lj_load
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_load.c  b/source/libs/luajit/LuaJIT-src/src/lj_load.c 
 --- a/source/libs/luajit/LuaJIT-src/src/lj_load.c
 +++ b/source/libs/luajit/LuaJIT-src/src/lj_load.c
 @@ -182,3 +182,32 @@
diff --git a/source/libs/luajit/TLpatches/patch-lj_pnrg b/source/libs/luajit/TLpatches/patch-lj_pnrg
new file mode 100644
index 0000000000000000000000000000000000000000..9d1055a44d3aaef2aff547595f585c7622754dd5
--- /dev/null
+++ b/source/libs/luajit/TLpatches/patch-lj_pnrg
@@ -0,0 +1,15 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_prng.c  b/source/libs/luajit/LuaJIT-src/src/lj_prng.c 
+--- a/source/libs/luajit/LuaJIT-src/src/lj_prng.c
++++ b/source/libs/luajit/LuaJIT-src/src/lj_prng.c
+@@ -227,7 +227,11 @@
+   ** or the OS ran out of file descriptors.
+   */
+   {
++#ifdef O_CLOEXEC
+     int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC);
++#else
++    int fd = open("/dev/urandom", O_RDONLY);
++#endif
+     if (fd != -1) {
+       ssize_t n = read(fd, rs->u, sizeof(rs->u));
+       (void)close(fd);
diff --git a/source/libs/luajit/TLpatches/patch-lj_str.c b/source/libs/luajit/TLpatches/patch-lj_str
similarity index 76%
rename from source/libs/luajit/TLpatches/patch-lj_str.c
rename to source/libs/luajit/TLpatches/patch-lj_str
index 2b241b04dc08e95d08e671be98826d13db8a3763..545a1898f66194724beeb861b28947ee9be24bcd 100644
--- a/source/libs/luajit/TLpatches/patch-lj_str.c
+++ b/source/libs/luajit/TLpatches/patch-lj_str
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lj_str.c  b/source/libs/luajit/LuaJIT-src/src/lj_str.c 
 --- a/source/libs/luajit/LuaJIT-src/src/lj_str.c
 +++ b/source/libs/luajit/LuaJIT-src/src/lj_str.c
 @@ -310,6 +310,7 @@
diff --git a/source/libs/luajit/TLpatches/patch-lua.h b/source/libs/luajit/TLpatches/patch-lua
similarity index 88%
rename from source/libs/luajit/TLpatches/patch-lua.h
rename to source/libs/luajit/TLpatches/patch-lua
index 48111225b319fb6d43450cbbee4152939c35ab7b..bb97fa5ec47850856141a516d5564dc190ac8780 100644
--- a/source/libs/luajit/TLpatches/patch-lua.h
+++ b/source/libs/luajit/TLpatches/patch-lua
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lua.h  b/source/libs/luajit/LuaJIT-src/src/lua.h 
 --- a/source/libs/luajit/LuaJIT-src/src/lua.h
 +++ b/source/libs/luajit/LuaJIT-src/src/lua.h
 @@ -104,6 +104,9 @@
diff --git a/source/libs/luajit/TLpatches/patch-lualib.h b/source/libs/luajit/TLpatches/patch-lualib
similarity index 85%
rename from source/libs/luajit/TLpatches/patch-lualib.h
rename to source/libs/luajit/TLpatches/patch-lualib
index b935ac1fe8861f0d457dbfc1f2b12d05f1fef470..6a0f53f626085ea9ac2e4ef3b4341edbc773e3e1 100644
--- a/source/libs/luajit/TLpatches/patch-lualib.h
+++ b/source/libs/luajit/TLpatches/patch-lualib
@@ -1,3 +1,4 @@
+diff -bu a/source/libs/luajit/LuaJIT-src/src/lualib.h  b/source/libs/luajit/LuaJIT-src/src/lualib.h 
 --- a/source/libs/luajit/LuaJIT-src/src/lualib.h
 +++ b/source/libs/luajit/LuaJIT-src/src/lualib.h
 @@ -22,6 +22,8 @@
diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h
index 59d787ee2806faaa97d1094a4ce757a186cad421..4f52995f02e2fabd4e3495f0c11674ab42ca8798 100644
--- a/source/texk/web2c/luatexdir/luatex_svnversion.h
+++ b/source/texk/web2c/luatexdir/luatex_svnversion.h
@@ -1,4 +1,4 @@
 #ifndef luatex_svn_revision_h
 #define luatex_svn_revision_h
-#define luatex_svn_revision 7652
+#define luatex_svn_revision 7653
 #endif