diff options
author | jperkin <jperkin@pkgsrc.org> | 2016-07-06 09:47:52 +0000 |
---|---|---|
committer | jperkin <jperkin@pkgsrc.org> | 2016-07-06 09:47:52 +0000 |
commit | 243519493d73f2c300fb9e478521c6548ac27c39 (patch) | |
tree | a1e1fc7d02000df40bc8c6704e88ee79399e0019 /print | |
parent | 66a6b600bb46c84b9006238a590efa166cd58773 (diff) | |
download | pkgsrc-243519493d73f2c300fb9e478521c6548ac27c39.tar.gz |
Generate lj_vm_asm.S at build time using a patched generator, should
ensure both SunOS and NetBSD builds are fixed.
Diffstat (limited to 'print')
-rw-r--r-- | print/luatex/Makefile | 6 | ||||
-rw-r--r-- | print/luatex/distinfo | 4 | ||||
-rw-r--r-- | print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c | 42 | ||||
-rw-r--r-- | print/luatex/patches/patch-libs_luajit_Makefile.in | 20 |
4 files changed, 49 insertions, 23 deletions
diff --git a/print/luatex/Makefile b/print/luatex/Makefile index 24b78c06046..7ec7663dca4 100644 --- a/print/luatex/Makefile +++ b/print/luatex/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.49 2016/07/05 01:17:23 dholland Exp $ +# $NetBSD: Makefile,v 1.50 2016/07/06 09:47:52 jperkin Exp $ DISTNAME= texlive-20160523-source PKGNAME= luatex-0.95 @@ -74,6 +74,10 @@ BUILDLINK_API_DEPENDS.kpathsea+= kpathsea>=6.2.1 .include "../../print/poppler-includes/buildlink3.mk" .include "../../x11/pixman/buildlink3.mk" +pre-configure: + # Ensure we generate our patched version + ${RM} -f libs/luajit/lj_vm_asm.S + do-install: ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKSRC}/libs/lua52/libtexlua52.la ${DESTDIR}${PREFIX}/lib ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} ${WRKSRC}/texk/web2c/luatex ${DESTDIR}${PREFIX}/bin diff --git a/print/luatex/distinfo b/print/luatex/distinfo index 9b05ec27cd1..3de05953710 100644 --- a/print/luatex/distinfo +++ b/print/luatex/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.21 2016/07/05 12:34:12 jperkin Exp $ +$NetBSD: distinfo,v 1.22 2016/07/06 09:47:52 jperkin Exp $ SHA1 (texlive-20160523-source.tar.xz) = 8cdcc00492fc642db59a9a07f9ea080ff6765460 RMD160 (texlive-20160523-source.tar.xz) = 4ffc4d92f8c6408c23a34815e2d4b0f4877d9c3f SHA512 (texlive-20160523-source.tar.xz) = 9fdd69d237238385240e918456f54791a38e57b573edf5df839c57e56a0009012b68b7b92298c3e137181325e2be84d7a84e9c7cf41ae9739bb3329d84194564 Size (texlive-20160523-source.tar.xz) = 258176464 bytes SHA1 (patch-ac) = 1ee83833a03eace2eada892130ddb2198e829f3d -SHA1 (patch-libs_luajit_Makefile.in) = 830b8a503cf754e1952bb812701296edfb0dedad +SHA1 (patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c) = 34fa742ed696f97df637c5086bf1faf3d718cb69 diff --git a/print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c b/print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c new file mode 100644 index 00000000000..59207f22dc9 --- /dev/null +++ b/print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c @@ -0,0 +1,42 @@ +$NetBSD: patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c,v 1.1 2016/07/06 09:47:52 jperkin Exp $ + +Generate SunOS compatible assembly. + +--- libs/luajit/LuaJIT-src/src/host/buildvm_asm.c.orig 2016-03-09 22:32:00.000000000 +0000 ++++ libs/luajit/LuaJIT-src/src/host/buildvm_asm.c +@@ -29,7 +29,11 @@ static void emit_asm_reloc(BuildCtx *ctx + switch (ctx->mode) { + case BUILD_elfasm: + if (type) ++#ifdef __sun ++ fprintf(ctx->fp, "\t.long %s@PLT-.-4\n", sym); ++#else + fprintf(ctx->fp, "\t.long %s-.-4\n", sym); ++#endif + else + fprintf(ctx->fp, "\t.long %s\n", sym); + break; +@@ -75,7 +79,11 @@ err: + /* Various fixups for external symbols outside of our binary. */ + if (ctx->mode == BUILD_elfasm) { + if (LJ_32) ++#ifdef __sun ++ fprintf(ctx->fp, "#if __PIC__\n\t%s lj_wrap_%s@PLT\n#else\n", opname, sym); ++#else + fprintf(ctx->fp, "#if __PIC__\n\t%s lj_wrap_%s\n#else\n", opname, sym); ++#endif + fprintf(ctx->fp, "\t%s %s@PLT\n", opname, sym); + if (LJ_32) + fprintf(ctx->fp, "#endif\n"); +@@ -85,7 +93,11 @@ err: + return; + } + } ++#ifdef __sun ++ fprintf(ctx->fp, "\t%s %s@PLT\n", opname, sym); ++#else + fprintf(ctx->fp, "\t%s %s\n", opname, sym); ++#endif + } + #else + /* Emit words piecewise as assembler text. */ diff --git a/print/luatex/patches/patch-libs_luajit_Makefile.in b/print/luatex/patches/patch-libs_luajit_Makefile.in deleted file mode 100644 index a92c936698b..00000000000 --- a/print/luatex/patches/patch-libs_luajit_Makefile.in +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-libs_luajit_Makefile.in,v 1.3 2016/07/05 12:34:12 jperkin Exp $ - -Ensure that the luajit generated asm file is PIC for libtool use, particularly -important when linking under SunOS... appending @PLT seems to workaround the -issue with generated PC relative calls. - ---- libs/luajit/Makefile.in.orig 2016-03-21 20:23:37.000000000 +0000 -+++ libs/luajit/Makefile.in -@@ -1827,6 +1827,11 @@ lj_folddef.h: native/buildvm-stamp - - lj_vm_obj.o lj_vm_asm.S: native/buildvm-stamp - $(AM_V_GEN)native/buildvm -m $(LJVM_MODE) -o $@ -+ mv -f lj_vm_asm.S lj_vm_asm.S.orig -+ $(SED) < lj_vm_asm.S.orig > lj_vm_asm.S \ -+ -e 's/\(call lj_.*\)$$/\1@PLT/' \ -+ -e 's/\(jmp lj_.*\)$$/\1@PLT/' \ -+ -e 's/\(long lj_.*\)-/\1@PLT-/' - - lj_vm_obj.lo: lj_vm_obj.o lib_base.lo - $(AM_V_GEN)sed 's/lib_base/lj_vm_obj/' lib_base.lo >$@ \ |