summaryrefslogtreecommitdiff
path: root/print
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2016-07-06 09:47:52 +0000
committerjperkin <jperkin@pkgsrc.org>2016-07-06 09:47:52 +0000
commit243519493d73f2c300fb9e478521c6548ac27c39 (patch)
treea1e1fc7d02000df40bc8c6704e88ee79399e0019 /print
parent66a6b600bb46c84b9006238a590efa166cd58773 (diff)
downloadpkgsrc-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/Makefile6
-rw-r--r--print/luatex/distinfo4
-rw-r--r--print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c42
-rw-r--r--print/luatex/patches/patch-libs_luajit_Makefile.in20
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 >$@ \