summary refs log tree commit diff
path: root/pkgs/tools/typesetting/tex/texlive
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/typesetting/tex/texlive')
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/luatex-gcc7.patch30
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 6881d005a251..1dd7072f4c52 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -176,6 +176,8 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
         # http://tex.stackexchange.com/questions/97999/when-to-use-luajittex-in-favour-of-luatex
       ];
 
+  patches = [ ./luatex-gcc7.patch ];
+
   configureScript = ":";
 
   # we use static libtexlua, because it's only used by a single binary
diff --git a/pkgs/tools/typesetting/tex/texlive/luatex-gcc7.patch b/pkgs/tools/typesetting/tex/texlive/luatex-gcc7.patch
new file mode 100644
index 000000000000..cdaa968bd421
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/texlive/luatex-gcc7.patch
@@ -0,0 +1,30 @@
+https://www.tug.org/pipermail/tex-live/2017-June/040192.html
+---
+ texk/web2c/luatexdir/luaffi/ctype.c |    4 ++++
+ texk/web2c/luatexdir/luaffi/ffi.h   |    2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+--- a/texk/web2c/luatexdir/luaffi/ctype.c
++++ b/texk/web2c/luatexdir/luaffi/ctype.c       2017-05-31 13:08:25.421741873 +0000
+@@ -245,6 +245,10 @@ void* to_cdata(lua_State* L, int idx, st
+ 
+     lua_pop(L, 1); /* mt */
+     cd = (struct cdata*) lua_touserdata(L, idx);
++    if (!cd) {
++        lua_pushnil(L);
++        return NULL;
++    }
+     *ct = cd->type;
+     lua_getuservalue(L, idx);
+ 
+--- a/texk/web2c/luatexdir/luaffi/ffi.h
++++ b/texk/web2c/luatexdir/luaffi/ffi.h 2017-06-01 09:12:45.128442092 +0000
+@@ -370,7 +370,7 @@ __declspec(align(16))
+ #endif
+ struct cdata {
+     const struct ctype type
+-#ifdef __GNUC__
++#if 0 /* def __GNUC__ */
+       __attribute__ ((aligned(16)))
+ #endif
+       ;