pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/print/luatex Generate lj_vm_asm.S at build time using ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/69ceaa04213e
branches:  trunk
changeset: 349381:69ceaa04213e
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Wed Jul 06 09:47:52 2016 +0000

description:
Generate lj_vm_asm.S at build time using a patched generator, should
ensure both SunOS and NetBSD builds are fixed.

diffstat:

 print/luatex/Makefile                                                     |   6 +-
 print/luatex/distinfo                                                     |   4 +-
 print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c |  42 ++++++++++
 print/luatex/patches/patch-libs_luajit_Makefile.in                        |  20 ----
 4 files changed, 49 insertions(+), 23 deletions(-)

diffs (104 lines):

diff -r 55ee9755001d -r 69ceaa04213e print/luatex/Makefile
--- a/print/luatex/Makefile     Wed Jul 06 07:21:41 2016 +0000
+++ b/print/luatex/Makefile     Wed Jul 06 09:47:52 2016 +0000
@@ -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 @@
 .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 -r 55ee9755001d -r 69ceaa04213e print/luatex/distinfo
--- a/print/luatex/distinfo     Wed Jul 06 07:21:41 2016 +0000
+++ b/print/luatex/distinfo     Wed Jul 06 09:47:52 2016 +0000
@@ -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 -r 55ee9755001d -r 69ceaa04213e print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/print/luatex/patches/patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c Wed Jul 06 09:47:52 2016 +0000
@@ -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 -r 55ee9755001d -r 69ceaa04213e print/luatex/patches/patch-libs_luajit_Makefile.in
--- a/print/luatex/patches/patch-libs_luajit_Makefile.in        Wed Jul 06 07:21:41 2016 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -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 >$@ \



Home | Main Index | Thread Index | Old Index