pkgsrc-Changes-HG archive

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

[pkgsrc/pkgsrc-2017Q2]: pkgsrc/lang/ocaml Pullup ticket #5516 - requested by he



details:   https://anonhg.NetBSD.org/pkgsrc/rev/45034ccf3e84
branches:  pkgsrc-2017Q2
changeset: 408657:45034ccf3e84
user:      spz <spz%pkgsrc.org@localhost>
date:      Mon Jul 24 16:27:15 2017 +0000

description:
Pullup ticket #5516 - requested by he
lang/ocaml: build fix for powerpc

Revisions pulled up:
- lang/ocaml/Makefile                                           patch
- lang/ocaml/PLIST.opt                                          patch
- lang/ocaml/distinfo                                           patch
- lang/ocaml/patches/patch-asmrun_signals__osdep.h              patch
- lang/ocaml/patches/patch-testsuite_tests_tool-ocamldoc-man_Makefile patch

-------------------------------------------------------------------

patches reproducing the following commit for the version in pkgsrc-2017Q2:

   Module Name: pkgsrc
   Committed By:        he
   Date:                Tue Jul 11 17:15:02 UTC 2017

   Modified Files:
        pkgsrc/lang/ocaml: Makefile PLIST.opt distinfo
        pkgsrc/lang/ocaml/patches: patch-configure
   Added Files:
        pkgsrc/lang/ocaml/patches: patch-asmrun_signals__osdep.h

   Log Message:
   Add the required glue to make this work again on NetBSD/powerpc.

   Pkgsrc changes:
   * Add required macros for accessing ucontext for NetBSD/powerpc
   * Omit files from PLIST.opt which are in PLIST.natdynlink.
     So far macppc doesn't do "natdynlink", tests are failing.
   * Adapt Makefile to features enabled on NetBSD/powerpc.
   * Bump PKGREVISION.

   The self-test results are nearly the same as on NetBSD/i386, with one
   test failing, difference is one unexpected failure related to native
   dynlink which I thought I had not enabled, and which obviously needs
   more attention since it tries to reference a Linux linker script.
   ...
   Summary:
    637 tests passed
     13 tests skipped
      1 tests failed
      1 unexpected errors
    652 tests considered

   List of failed tests:
      tests/tool-ocamldoc-man/Inline_records.mli

   List of unexpected errors:
      tests/lib-dynlink-native
   ...


   To generate a diff of this commit:
   cvs rdiff -u -r1.108 -r1.109 pkgsrc/lang/ocaml/Makefile
   cvs rdiff -u -r1.27 -r1.28 pkgsrc/lang/ocaml/PLIST.opt
   cvs rdiff -u -r1.104 -r1.105 pkgsrc/lang/ocaml/distinfo
   cvs rdiff -u -r0 -r1.1 \
      pkgsrc/lang/ocaml/patches/patch-asmrun_signals__osdep.h
   cvs rdiff -u -r1.22 -r1.23 pkgsrc/lang/ocaml/patches/patch-configure

diffstat:

 lang/ocaml/Makefile                                                 |   8 +-
 lang/ocaml/PLIST.opt                                                |   9 +-
 lang/ocaml/distinfo                                                 |   4 +-
 lang/ocaml/patches/patch-asmrun_signals__osdep.h                    |  43 ++++++++++
 lang/ocaml/patches/patch-testsuite_tests_tool-ocamldoc-man_Makefile |  24 +++++
 5 files changed, 75 insertions(+), 13 deletions(-)

diffs (183 lines):

diff -r 47d3682d7ec8 -r 45034ccf3e84 lang/ocaml/Makefile
--- a/lang/ocaml/Makefile       Sun Jul 23 20:38:24 2017 +0000
+++ b/lang/ocaml/Makefile       Mon Jul 24 16:27:15 2017 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.108 2017/03/27 12:54:59 jperkin Exp $
+# $NetBSD: Makefile,v 1.108.4.1 2017/07/24 16:27:15 spz Exp $
 
 .include "Makefile.common"
 
-#PKGREVISION=          2
+PKGREVISION=           1
 
 CONFIGURE_ENV+=                disable_x11=yes
 
@@ -34,7 +34,6 @@
 PLIST_SRC+=    ${PKGDIR}/PLIST.opt
 .  if empty(MACHINE_PLATFORM:MDarwin-*-powerpc) && \
       empty(MACHINE_PLATFORM:MSunOS-*-i386) && \
-      empty(MACHINE_PLATFORM:MNetBSD-*-powerpc) && \
       empty(MACHINE_PLATFORM:MNetBSD-*-arm) && \
       empty(MACHINE_PLATFORM:MNetBSD-*-sparc)
 PLIST_SRC+=    ${PKGDIR}/PLIST.prof
@@ -47,7 +46,8 @@
 .  if !empty(MACHINE_PLATFORM:MLinux-*-*) || \
       !empty(MACHINE_PLATFORM:MFreeBSD-*-*) || \
       !empty(MACHINE_PLATFORM:MDragonFly-*-*) || \
-      !empty(MACHINE_PLATFORM:MNetBSD-*-*) || \
+      (!empty(MACHINE_PLATFORM:MNetBSD-*-*) && \
+       empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)) || \
       !empty(MACHINE_PLATFORM:MDarwin-*-*) || \
       !empty(MACHINE_PLATFORM:MSunOS-*-*)
 PLIST_SRC+=    ${PKGDIR}/PLIST.natdynlink
diff -r 47d3682d7ec8 -r 45034ccf3e84 lang/ocaml/PLIST.opt
--- a/lang/ocaml/PLIST.opt      Sun Jul 23 20:38:24 2017 +0000
+++ b/lang/ocaml/PLIST.opt      Mon Jul 24 16:27:15 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST.opt,v 1.27 2017/03/27 11:51:30 jperkin Exp $
+@comment $NetBSD: PLIST.opt,v 1.27.4.1 2017/07/24 16:27:15 spz Exp $
 bin/ocamlc.opt
 bin/ocamlcp.opt
 bin/ocamldep.opt
@@ -19,7 +19,6 @@
 lib/ocaml/bigarray.a
 lib/ocaml/bigarray.cmx
 lib/ocaml/bigarray.cmxa
-lib/ocaml/bigarray.cmxs
 lib/ocaml/buffer.cmx
 lib/ocaml/bytes.cmx
 lib/ocaml/bytesLabels.cmx
@@ -185,9 +184,6 @@
 lib/ocaml/compiler-libs/x86_proc.cmx
 lib/ocaml/complex.cmx
 lib/ocaml/digest.cmx
-lib/ocaml/dynlink.a
-lib/ocaml/dynlink.cmx
-lib/ocaml/dynlink.cmxa
 lib/ocaml/ephemeron.cmx
 lib/ocaml/filename.cmx
 lib/ocaml/format.cmx
@@ -220,7 +216,6 @@
 lib/ocaml/num.cmx
 lib/ocaml/nums.a
 lib/ocaml/nums.cmxa
-lib/ocaml/nums.cmxs
 lib/ocaml/obj.cmx
 lib/ocaml/ocamldoc/odoc.cmx
 lib/ocaml/ocamldoc/odoc_analyse.cmx
@@ -292,7 +287,6 @@
 lib/ocaml/str.a
 lib/ocaml/str.cmx
 lib/ocaml/str.cmxa
-lib/ocaml/str.cmxs
 lib/ocaml/stream.cmx
 lib/ocaml/string.cmx
 lib/ocaml/stringLabels.cmx
@@ -308,7 +302,6 @@
 lib/ocaml/unix.a
 lib/ocaml/unix.cmx
 lib/ocaml/unix.cmxa
-lib/ocaml/unix.cmxs
 lib/ocaml/unixLabels.cmx
 lib/ocaml/vmthreads/libvmthreads.a
 lib/ocaml/weak.cmx
diff -r 47d3682d7ec8 -r 45034ccf3e84 lang/ocaml/distinfo
--- a/lang/ocaml/distinfo       Sun Jul 23 20:38:24 2017 +0000
+++ b/lang/ocaml/distinfo       Mon Jul 24 16:27:15 2017 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.103 2017/03/27 12:54:59 jperkin Exp $
+$NetBSD: distinfo,v 1.103.4.1 2017/07/24 16:27:15 spz Exp $
 
 SHA1 (ocaml-4.04.0.tar.gz) = 49c4d406f5eb4dc2d8ac006103f2bc459fa5a5a6
 RMD160 (ocaml-4.04.0.tar.gz) = 98cbfac14cf93983ae62bfa2042058d0af1734bd
@@ -7,6 +7,7 @@
 SHA1 (patch-Makefile) = 426d2aa080922fb6f034a76b8009f2fcbbe7a693
 SHA1 (patch-asmcomp_asmlink.ml) = db2b387ea17f41a62c2bce53b91f945d5e29a82f
 SHA1 (patch-asmrun_Makefile) = 923b46ebf5fb56693b8335787846dafda936b34c
+SHA1 (patch-asmrun_signals__osdep.h) = 51f8cfa8ba973fedc19417fa63ca03866adf42a4
 SHA1 (patch-byterun_Makefile) = b9b14b097904fbde4b738b89461991411e985ae1
 SHA1 (patch-configure) = b3004e40d2337c50c49337f2c7964d469ba99e5c
 SHA1 (patch-debugger_Makefile.shared) = f0aac2e10b7ccf2e8e43bbbd3fd3e59e4dc4eeae
@@ -24,6 +25,7 @@
 SHA1 (patch-otherlibs_threads_Makefile) = 47331a06a93eac68403fa2114495782430087f1e
 SHA1 (patch-stdlib_Makefile) = 67591b1809dd72aac446238491e371d135466734
 SHA1 (patch-stdlib_Makefile.shared) = dac87da3b0461a2c816b862af3a0c0bdf740b749
+SHA1 (patch-testsuite_tests_tool-ocamldoc-man_Makefile) = 670c9ecc83ae3b83c2232f9f182ccd21624bfed0
 SHA1 (patch-tools_Makefile.shared) = 517137929c9941df305f7f14ba5f17ec9e012822
 SHA1 (patch-tools_ocamlcp.ml) = 299c84c169bacfe0315a986d739b3e61d2491289
 SHA1 (patch-tools_ocamlmklib) = 49ea077e3f77527336548ae6515d135461b83080
diff -r 47d3682d7ec8 -r 45034ccf3e84 lang/ocaml/patches/patch-asmrun_signals__osdep.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ocaml/patches/patch-asmrun_signals__osdep.h  Mon Jul 24 16:27:15 2017 +0000
@@ -0,0 +1,43 @@
+$NetBSD: patch-asmrun_signals__osdep.h,v 1.1.2.2 2017/07/24 16:27:15 spz Exp $
+
+Provide required glue to make this work on the various 
+NetBSD/powerpc ports.
+
+--- asmrun/signals_osdep.h.orig        2016-11-04 16:08:24.000000000 +0000
++++ asmrun/signals_osdep.h
+@@ -154,6 +154,26 @@
+  #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15])
+  #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
+ 
++/****************** PowerPC, NetBSD */
++
++#elif defined(TARGET_power) && defined (__NetBSD__)
++
++ #include <ucontext.h>
++ #define DECLARE_SIGNAL_HANDLER(name) \
++ static void name(int sig, siginfo_t * info, ucontext_t * context)
++
++ #define SET_SIGACT(sigact,name) \
++ sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \
++ sigact.sa_flags = SA_SIGINFO
++
++ #define CONTEXT_PC (_UC_MACHINE_PC(context))
++ #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.__gregs[_REG_R29])
++ #define CONTEXT_YOUNG_PTR (context->uc_mcontext.__gregs[_REG_R31])
++ #define CONTEXT_SP (_UC_MACHINE_SP(context))
++ #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
++
++/* #define CONTEXT_YOUNG_LIMIT (CONTEXT_STATE.CONTEXT_REG(r30)) */
++
+ /****************** I386, Linux */
+ 
+ #elif defined(TARGET_i386) && defined(SYS_linux_elf)
+@@ -287,7 +307,7 @@
+ 
+ /****************** PowerPC, ELF (Linux) */
+ 
+-#elif defined(TARGET_power) && defined(SYS_elf)
++#elif defined(TARGET_power) && defined(SYS_elf) && !defined(__NetBSD__)
+ 
+   #define DECLARE_SIGNAL_HANDLER(name) \
+     static void name(int sig, struct sigcontext * context)
diff -r 47d3682d7ec8 -r 45034ccf3e84 lang/ocaml/patches/patch-testsuite_tests_tool-ocamldoc-man_Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ocaml/patches/patch-testsuite_tests_tool-ocamldoc-man_Makefile       Mon Jul 24 16:27:15 2017 +0000
@@ -0,0 +1,24 @@
+$NetBSD: patch-testsuite_tests_tool-ocamldoc-man_Makefile,v 1.1.2.2 2017/07/24 16:27:15 spz Exp $
+
+After one of our other local patches, output lands in a different
+file than what this make job expects.  Follow suit.
+
+--- testsuite/tests/tool-ocamldoc-man/Makefile.orig    2016-11-04 16:08:24.000000000 +0000
++++ testsuite/tests/tool-ocamldoc-man/Makefile
+@@ -39,7 +39,7 @@ run: *.mli
+         F="`basename $$file .mli`"; \
+         $(OCAMLDOC) $(DOCFLAGS) -hide-warnings -man $ \
+                     -o index $$file; \
+-        tail -n +2 $$F.3o > $$F.result; \
++        tail -n +2 $$F.3 > $$F.result; \
+         $(DIFF) $$F.reference $$F.result >/dev/null \
+         && echo " => passed" || echo " => failed"; \
+       done
+@@ -49,6 +49,6 @@ promote: defaultpromote
+ 
+ .PHONY: clean
+ clean: defaultclean
+-      @rm -f *.result *.html *.tex *.log *.out *.sty *.toc *.css *.aux *.3o
++      @rm -f *.result *.html *.tex *.log *.out *.sty *.toc *.css *.aux *.3
+ 
+ include $(BASEDIR)/makefiles/Makefile.common



Home | Main Index | Thread Index | Old Index