summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-02-27 11:10:19 -0600
committerWill Dietz <w@wdtz.org>2018-02-27 11:10:42 -0600
commit08805e977d28e238babbdb3b041b06e704cb059a (patch)
tree812b581b1ed487bf93514c9d28ca63fd60fbb5d6 /pkgs/tools
parentacc22733199af66aa5c9bd994c78a89e5d5f35ee (diff)
downloadnixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar.gz
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar.bz2
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar.lz
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar.xz
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.tar.zst
nixlib-08805e977d28e238babbdb3b041b06e704cb059a.zip
texlive: patch luatex to fix crash w/gcc7
Fixes #35839.
Diffstat (limited to 'pkgs/tools')
-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 44c2dc163178..f022ccb829ab 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -168,6 +168,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..4535d98de3b0
--- /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(-)
+
+--- texk/web2c/luatexdir/luaffi/ctype.c
++++ 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);
+ 
+--- texk/web2c/luatexdir/luaffi/ffi.h
++++ 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
+       ;