pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/lang/ocaml ocaml: fix SmartOS build.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/5db1e0c6f0a2
branches:  trunk
changeset: 340262:5db1e0c6f0a2
user:      maya <maya%pkgsrc.org@localhost>
date:      Tue Oct 01 09:07:33 2019 +0000

description:
ocaml: fix SmartOS build.

- Claimed shared library support. same as other ELF platforms, but
  since it's not GNU ld, no -Wl,-E available.
- Change the PLIST vars based on what is actually built
- consider x86_64-*-solaris to be x86_64 and solaris. the arch=none
  option doesn't build.
- Search for socket stuff in -lnsl -lsocket.
- for a POSIX prototype sigwait, we need to define _XOPEN_SOURCE to something

diffstat:

 lang/ocaml/Makefile                                       |   7 +-
 lang/ocaml/distinfo                                       |   5 +-
 lang/ocaml/patches/patch-configure                        |  53 ++++++++++++--
 lang/ocaml/patches/patch-otherlibs_systhreads_st__stubs.c |  17 ++++
 4 files changed, 68 insertions(+), 14 deletions(-)

diffs (179 lines):

diff -r e86efbee8d54 -r 5db1e0c6f0a2 lang/ocaml/Makefile
--- a/lang/ocaml/Makefile       Mon Sep 30 19:27:05 2019 +0000
+++ b/lang/ocaml/Makefile       Tue Oct 01 09:07:33 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.128 2019/08/27 05:37:38 jaapb Exp $
+# $NetBSD: Makefile,v 1.129 2019/10/01 09:07:33 maya Exp $
 
 .include "Makefile.common"
 
@@ -38,7 +38,7 @@
 BUILD_TARGET+=         opt opt.opt
 PLIST.ocaml-opt=       yes
 .  if empty(MACHINE_PLATFORM:MDarwin-*-powerpc) && \
-      empty(MACHINE_PLATFORM:MSunOS-*-i386) && \
+      empty(MACHINE_PLATFORM:MSunOS-*-*) && \
       (${MACHINE_ARCH} != "aarch64")
 PLIST.ocaml-prof=      yes
 .  endif
@@ -52,8 +52,7 @@
       !empty(MACHINE_PLATFORM:MFreeBSD-*-*) || \
       !empty(MACHINE_PLATFORM:MDragonFly-*-*) || \
       (!empty(MACHINE_PLATFORM:MNetBSD-*-*) && empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)) || \
-      !empty(MACHINE_PLATFORM:MDarwin-*-*) || \
-      !empty(MACHINE_PLATFORM:MSunOS-*-*)
+      !empty(MACHINE_PLATFORM:MDarwin-*-*)
 PLIST.ocaml-nat=       yes
 .  endif
 .endif
diff -r e86efbee8d54 -r 5db1e0c6f0a2 lang/ocaml/distinfo
--- a/lang/ocaml/distinfo       Mon Sep 30 19:27:05 2019 +0000
+++ b/lang/ocaml/distinfo       Tue Oct 01 09:07:33 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.129 2019/08/27 06:23:50 jaapb Exp $
+$NetBSD: distinfo,v 1.130 2019/10/01 09:07:33 maya Exp $
 
 SHA1 (ocaml-4.08.1.tar.gz) = f89ae7513ee4f064c7db92066f9dd4ac085634e2
 RMD160 (ocaml-4.08.1.tar.gz) = a8c0b80d9b6ff52c9a5725eec3ce64adffd81ca6
@@ -9,7 +9,7 @@
 SHA1 (patch-asmcomp_amd64_emit.mlp) = 1bc44434fbe1821d3aa2eed1a6b0938258586851
 SHA1 (patch-asmcomp_asmlink.ml) = db2b387ea17f41a62c2bce53b91f945d5e29a82f
 SHA1 (patch-asmrun_amd64.S) = 68d8f3ba1c1ad951e688539b4659aee71a527222
-SHA1 (patch-configure) = 6e204c6feea752c182043ecde52e421f60173e11
+SHA1 (patch-configure) = 3b43429065b093174bb89329a8f5ed16ac46fc6d
 SHA1 (patch-driver_compenv.ml) = 27c68072bd73c9c00d2b3093d8c6498f192ca3d3
 SHA1 (patch-driver_main.ml) = 69a6f761ded38e0721a7aed1416a9f19a288d991
 SHA1 (patch-driver_main_args.ml) = 4c6a6ec25f433974f9aab99b4f2ac9c884bb3b04
@@ -21,6 +21,7 @@
 SHA1 (patch-ocamldoc_odoc__messages.ml) = 77f650a5f34f40b9648a8d5091e9aa31efb5734b
 SHA1 (patch-otherlibs_Makefile.otherlibs.common) = 2eb71de7bd659c763fb7efdf10af1812e135c904
 SHA1 (patch-otherlibs_systhreads_Makefile) = d6f7818487c156b101b6a78f0dc2824d57453e50
+SHA1 (patch-otherlibs_systhreads_st__stubs.c) = 36320714e92f2a3ad52135e4b7c66ffd286717f0
 SHA1 (patch-otherlibs_threads_Makefile) = 3ccc89021d808967bc958d295515ceca1c39c81d
 SHA1 (patch-runtime_Makefile) = 37b8e9b8d121b9066ccd38ce18a31f8d25369152
 SHA1 (patch-tools_Makefile) = e891408b43672b164a28f213713b7b211227a4af
diff -r e86efbee8d54 -r 5db1e0c6f0a2 lang/ocaml/patches/patch-configure
--- a/lang/ocaml/patches/patch-configure        Mon Sep 30 19:27:05 2019 +0000
+++ b/lang/ocaml/patches/patch-configure        Tue Oct 01 09:07:33 2019 +0000
@@ -1,10 +1,15 @@
-$NetBSD: patch-configure,v 1.37 2019/08/24 10:54:23 jaapb Exp $
+$NetBSD: patch-configure,v 1.38 2019/10/01 09:07:33 maya Exp $
 
 All kinds of OS-specific changes to configure
 Honor LDFLAGS.
+
+Add SunOS -lnsl -lsocket
+Recognise SunOS/amd64 as amd64
+Recognise SunOS as having shared libraries
+
 --- configure.orig     2019-03-01 15:13:45.000000000 +0000
 +++ configure
-@@ -13379,7 +13379,7 @@ sharedlib_cflags=''
+@@ -13311,7 +13311,7 @@ sharedlib_cflags=''
  mksharedlib='shared-libs-not-available'
  rpath=''
  mksharedlibrpath=''
@@ -13,7 +18,24 @@
  
  if test x"$enable_shared" != "xno"; then :
    case $host in #(
-@@ -13475,6 +13475,8 @@ fi ;; #(
+@@ -13347,9 +13335,14 @@ esac ;; #(
+       rpath="-Wl,-rpath,"
+       mksharedlibrpath="-Wl,-rpath,"
+       natdynlinkopts="-Wl,-E"
+-      shared_libraries_supported=true ;; #(
++      shared_libraries_supported=true
++    *-*-solaris* ;; #(
+   *) :
+-     ;;
++    sharedlib_cflags="-fPIC"
++      mksharedlib="$CC -shared"
++      rpath="-Wl,-rpath,"
++      mksharedlibrpath="-Wl,-rpath,"
++      shared_libraries_supported=true ;;
+ esac
+ fi
+ 
+@@ -13415,6 +13415,8 @@ fi ;; #(
      natdynlink=true ;; #(
    aarch64-*-linux*) :
      natdynlink=true ;; #(
@@ -22,7 +44,7 @@
    *) :
       ;;
  esac
-@@ -13526,6 +13528,8 @@ case $host in #(
+@@ -13466,6 +13468,8 @@ case $host in #(
      arch=i386; system=beos ;; #(
    i[3456]86-*-cygwin) :
      arch=i386; system=cygwin ;; #(
@@ -31,7 +53,7 @@
    i[3456]86-*-darwin*) :
      if $arch64; then :
    arch=amd64
-@@ -13570,6 +13574,10 @@ fi; system=elf ;; #(
+@@ -13510,6 +13514,10 @@ fi; system=elf ;; #(
      arch=arm; model=armv6; system=linux_eabi ;; #(
    armv6*-*-freebsd*) :
      arch=arm; model=armv6; system=freebsd ;; #(
@@ -42,16 +64,21 @@
    earmv6*-*-netbsd*) :
      arch=arm; model=armv6; system=netbsd ;; #(
    earmv7*-*-netbsd*) :
-@@ -13602,6 +13610,8 @@ fi; system=elf ;; #(
+@@ -13544,8 +13552,12 @@ fi; system=elf ;; #(
      arch=amd64; system=mingw64 ;; #(
    aarch64-*-linux*) :
      arch=arm64; system=linux ;; #(
 +  aarch64-*-netbsd*) :
 +    arch=arm64; system=netbsd ;; #(
    x86_64-*-cygwin*) :
-     arch=amd64; system=cygwin
+-    arch=amd64; system=cygwin
++    arch=amd64; system=cygwin ;; #(
++  x86_64-*-solaris*) :
++    arch=amd64; system=solaris
   ;; #(
-@@ -13932,7 +13942,7 @@ fi
+   *) :
+      ;;
+@@ -13884,7 +13896,7 @@ fi
  # for the moment, to be backward-compatible
  
  case $host in #(
@@ -60,3 +87,13 @@
       ;; #(
    *) :
      has_c99_float_ops=true
+@@ -14085,6 +14097,9 @@ case $host in #(
+   *-*-mingw32|*-pc-windows) :
+     cclibs="$cclibs -lws2_32"
+     sockets=true ;; #(
++  *-*-solaris*) :
++    cclibs="$cclibs -lnsl -lsocket"
++    sockets=true ;; #(
+   *) :
+ 
+     ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
diff -r e86efbee8d54 -r 5db1e0c6f0a2 lang/ocaml/patches/patch-otherlibs_systhreads_st__stubs.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/ocaml/patches/patch-otherlibs_systhreads_st__stubs.c Tue Oct 01 09:07:33 2019 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-otherlibs_systhreads_st__stubs.c,v 1.1 2019/10/01 09:07:33 maya Exp $
+
+Make the POSIX sigwait visible on SmartOS
+
+--- otherlibs/systhreads/st_stubs.c.orig       2019-08-05 17:32:44.000000000 +0000
++++ otherlibs/systhreads/st_stubs.c
+@@ -15,6 +15,9 @@
+ 
+ #define CAML_INTERNALS
+ 
++/* Needed for sigwait */
++#define _XOPEN_SOURCE 500
++
+ #include "caml/alloc.h"
+ #include "caml/backtrace.h"
+ #include "caml/callback.h"
+



Home | Main Index | Thread Index | Old Index