pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/lang/ocaml Updated lang/ocaml to compile on aarch64 an...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b4489440621c
branches:  trunk
changeset: 317476:b4489440621c
user:      jaapb <jaapb%pkgsrc.org@localhost>
date:      Mon Jan 07 18:52:23 2019 +0000

description:
Updated lang/ocaml to compile on aarch64 and revbump.

A few patches to the configure script to recognise the combination of
NetBSD and aarch64, and a few changes to the Makefile to make sure we've
got the right combination of options for the PLIST. It now compiles on my
Pinebook.

diffstat:

 lang/ocaml/Makefile                |  15 +++++++++------
 lang/ocaml/buildlink3.mk           |   4 ++--
 lang/ocaml/distinfo                |   4 ++--
 lang/ocaml/patches/patch-configure |  37 +++++++++++++++++++++++--------------
 4 files changed, 36 insertions(+), 24 deletions(-)

diffs (217 lines):

diff -r afd00b21f744 -r b4489440621c lang/ocaml/Makefile
--- a/lang/ocaml/Makefile       Mon Jan 07 18:04:28 2019 +0000
+++ b/lang/ocaml/Makefile       Mon Jan 07 18:52:23 2019 +0000
@@ -1,7 +1,9 @@
-# $NetBSD: Makefile,v 1.121 2018/10/16 00:19:40 gdt Exp $
+# $NetBSD: Makefile,v 1.122 2019/01/07 18:52:23 jaapb Exp $
 
 .include "Makefile.common"
 
+PKGREVISION=           1
+
 CONFIGURE_ENV+=                disable_x11=yes
 
 BUILD_TARGET=          world
@@ -32,21 +34,22 @@
 
 # Optional components built only on certain platforms.
 .if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "powerpc") || \
-    !empty(MACHINE_ARCH:M*arm*) || \
+    !empty(MACHINE_ARCH:M*arm*) || (${MACHINE_ARCH} == "aarch64") || \
     (${MACHINE_ARCH} == "sparc") || (${MACHINE_ARCH} == "x86_64")
 BUILD_TARGET+= opt opt.opt
 PLIST.ocaml-opt=       yes
 .  if empty(MACHINE_PLATFORM:MDarwin-*-powerpc) && \
       empty(MACHINE_PLATFORM:MSunOS-*-i386) && \
-      empty(MACHINE_PLATFORM:MNetBSD-*-arm) && \
-      empty(MACHINE_PLATFORM:MNetBSD-*-sparc)
+      empty(MACHINE_PLATFORM:MNetBSD-*-sparc) && \
+      (${MACHINE_ARCH} != "aarch64")
 PLIST.ocaml-prof=yes
 .  endif
 .endif
 
 # XXX This conditional is not complete.  It should match the
 # conditional in ocaml-x.y.z/configure.
-.if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64")
+.if (${MACHINE_ARCH} == "i386") || (${MACHINE_ARCH} == "x86_64") || \
+    (${MACHINE_ARCH} == "aarch64")
 .  if !empty(MACHINE_PLATFORM:MLinux-*-*) || \
       !empty(MACHINE_PLATFORM:MFreeBSD-*-*) || \
       !empty(MACHINE_PLATFORM:MDragonFly-*-*) || \
@@ -58,7 +61,7 @@
 .endif
 
 # Spacetime profiling is only available for native code on 64-bit targets.
-.if ${MACHINE_ARCH} == "x86_64"
+.if (${MACHINE_ARCH} == "x86_64") || (${MACHINE_ARCH} == "aarch64")
 PLIST.ocaml-spacetime= yes
 .endif
 
diff -r afd00b21f744 -r b4489440621c lang/ocaml/buildlink3.mk
--- a/lang/ocaml/buildlink3.mk  Mon Jan 07 18:04:28 2019 +0000
+++ b/lang/ocaml/buildlink3.mk  Mon Jan 07 18:52:23 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.48 2018/11/12 16:09:34 jaapb Exp $
+# $NetBSD: buildlink3.mk,v 1.49 2019/01/07 18:52:23 jaapb Exp $
 
 BUILDLINK_TREE+=       ocaml
 
@@ -6,7 +6,7 @@
 OCAML_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.ocaml+=  ocaml>=4.07.0
-BUILDLINK_ABI_DEPENDS.ocaml+=  ocaml>=4.07.1
+BUILDLINK_ABI_DEPENDS.ocaml+=  ocaml>=4.07.1nb1
 BUILDLINK_PKGSRCDIR.ocaml?=    ../../lang/ocaml
 #BUILDLINK_DEPMETHOD.ocaml?=   build
 
diff -r afd00b21f744 -r b4489440621c lang/ocaml/distinfo
--- a/lang/ocaml/distinfo       Mon Jan 07 18:04:28 2019 +0000
+++ b/lang/ocaml/distinfo       Mon Jan 07 18:52:23 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.124 2018/11/12 16:09:34 jaapb Exp $
+$NetBSD: distinfo,v 1.125 2019/01/07 18:52:23 jaapb Exp $
 
 SHA1 (ocaml-4.07.1.tar.gz) = 55b9f90603f43cd84abba4db6f3a05a6040c505a
 RMD160 (ocaml-4.07.1.tar.gz) = d856a2fe78f52f06993f8ebc27715369d6317a54
@@ -10,7 +10,7 @@
 SHA1 (patch-asmcomp_asmlink.ml) = db2b387ea17f41a62c2bce53b91f945d5e29a82f
 SHA1 (patch-asmrun_amd64.S) = 4be1058a241e03ff73cd08d2aa16b0134c4414ca
 SHA1 (patch-byterun_Makefile) = 28f8a9fff06ae99c52213ba2202d5b99b67f6735
-SHA1 (patch-configure) = ba14e3f080fc402915e6cf2334d0055b9258299a
+SHA1 (patch-configure) = 99213cc56c641c09d2704d556f343bf1ffa5ce6c
 SHA1 (patch-driver_compenv.ml) = 658e315bb08f8a1093f11c8474ac1e4ad73c8306
 SHA1 (patch-driver_main.ml) = 69a6f761ded38e0721a7aed1416a9f19a288d991
 SHA1 (patch-driver_main_args.ml) = 4c6a6ec25f433974f9aab99b4f2ac9c884bb3b04
diff -r afd00b21f744 -r b4489440621c lang/ocaml/patches/patch-configure
--- a/lang/ocaml/patches/patch-configure        Mon Jan 07 18:04:28 2019 +0000
+++ b/lang/ocaml/patches/patch-configure        Mon Jan 07 18:52:23 2019 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-configure,v 1.34 2018/07/19 12:16:38 jaapb Exp $
+$NetBSD: patch-configure,v 1.35 2019/01/07 18:52:23 jaapb Exp $
 
 All kinds of OS-specific changes to configure
 Honor LDFLAGS.
---- configure.orig     2018-04-11 13:22:42.000000000 +0000
+--- configure.orig     2018-10-04 14:23:12.000000000 +0000
 +++ configure
 @@ -797,7 +797,7 @@ sharedcccompopts=''
  mksharedlib='shared-libs-not-available'
@@ -52,7 +52,7 @@
      x86_64-*-darwin*)             natdynlink=true;;
      s390x*-*-linux*)              natdynlink=true;;
      powerpc*-*-linux*)            natdynlink=true;;
-@@ -922,6 +921,9 @@ if $with_sharedlibs; then
+@@ -922,12 +921,16 @@ if $with_sharedlibs; then
      x86_64-*-openbsd*)            natdynlink=true;;
      i[3456]86-*-netbsd*)          natdynlink=true;;
      x86_64-*-netbsd*)             natdynlink=true;;
@@ -62,7 +62,14 @@
      i386-*-gnu0.3)                natdynlink=true;;
      i[3456]86-*-haiku*)           natdynlink=true;;
      arm*-*-linux*)                natdynlink=true;;
-@@ -965,6 +967,7 @@ case "$target" in
+     arm*-*-freebsd*)              natdynlink=true;;
+     earm*-*-netbsd*)              natdynlink=true;;
+     aarch64-*-linux*)             natdynlink=true;;
++    aarch64-*-netbsd*)             natdynlink=true;;
+   esac
+ fi
+ 
+@@ -965,6 +968,7 @@ case "$target" in
    i[3456]86-*-haiku*)           arch=i386; system=beos;;
    i[3456]86-*-beos*)            arch=i386; system=beos;;
    i[3456]86-*-cygwin*)          arch=i386; system=cygwin;;
@@ -70,7 +77,7 @@
    i[3456]86-*-darwin*)          if $arch64; then
                                    arch=amd64; system=macosx
                                  else
-@@ -987,6 +990,8 @@ case "$target" in
+@@ -987,6 +991,8 @@ case "$target" in
    armv6t2*-*-linux-gnueabi)     arch=arm; model=armv6t2; system=linux_eabi;;
    armv6*-*-linux-gnueabi)       arch=arm; model=armv6; system=linux_eabi;;
    armv6*-*-freebsd*)            arch=arm; model=armv6; system=freebsd;;
@@ -79,15 +86,17 @@
    earmv6*-*-netbsd*)            arch=arm; model=armv6; system=netbsd;;
    earmv7*-*-netbsd*)            arch=arm; model=armv7; system=netbsd;;
    armv5te*-*-linux-gnueabi)     arch=arm; model=armv5te; system=linux_eabi;;
-@@ -1004,6 +1009,7 @@ case "$target" in
+@@ -1003,7 +1009,9 @@ case "$target" in
+   x86_64-*-darwin*)             arch=amd64; system=macosx;;
    x86_64-*-mingw*)              arch=amd64; system=mingw;;
    aarch64-*-linux*)             arch=arm64; system=linux;;
++  aarch64-*-netbsd*)             arch=arm64; system=netbsd;;
    x86_64-*-cygwin*)             arch=amd64; system=cygwin;;
 +  x86_64-*-solaris*)            arch=amd64; system=solaris;;
  esac
  
  # Some platforms exist both in 32-bit and 64-bit variants, not distinguished
-@@ -1027,7 +1033,6 @@ nativeccprofopts=''
+@@ -1027,7 +1035,6 @@ nativeccprofopts=''
  case "$arch,$cc,$system,$model" in
    *,*,rhapsody,*)      if $arch64; then partialld="ld -r -arch ppc64"; fi;;
    amd64,gcc*,macosx,*) partialld="ld -r -arch x86_64";;
@@ -95,7 +104,7 @@
    power,gcc*,elf,ppc)   partialld="ld -r -m elf32ppclinux";;
    power,gcc*,elf,ppc64)   partialld="ld -r -m elf64ppc";;
    power,gcc*,elf,ppc64le)   partialld="ld -r -m elf64lppc";;
-@@ -1045,8 +1050,8 @@ case "$arch,$system" in
+@@ -1045,8 +1052,8 @@ case "$arch,$system" in
                      fi;;
    amd64,solaris)  as="${TOOLPREF}as --64"
                    aspp="${TOOLPREF}gcc -m64 -c";;
@@ -106,7 +115,7 @@
    power,elf)      if $arch64; then
                      as="${TOOLPREF}as -a64 -mppc64"
                      aspp="${TOOLPREF}gcc -m64 -c"
-@@ -1094,6 +1099,8 @@ case "$arch,$system" in
+@@ -1094,6 +1101,8 @@ case "$arch,$system" in
    power,elf) profiling='true';;
    power,bsd*) profiling='true';;
    power,netbsd) profiling='true';;
@@ -115,7 +124,7 @@
    *) profiling='false';;
  esac
  
-@@ -1672,6 +1679,8 @@ fi
+@@ -1672,6 +1681,8 @@ fi
  x11_include="not found"
  x11_link="not found"
  
@@ -124,7 +133,7 @@
  if test -z "$x11_include_dir" -a -z "$x11_lib_dir"; then
    if pkg-config --exists x11 2>/dev/null; then
      x11_include=`pkg-config --cflags x11`
-@@ -1718,6 +1727,7 @@ if test "$x11_include" = "not found"; th
+@@ -1718,6 +1729,7 @@ if test "$x11_include" = "not found"; th
      /usr/XFree86/include/X11  \
                                \
      /usr/include              \
@@ -132,7 +141,7 @@
      /usr/local/include        \
      /usr/unsupported/include  \
      /usr/athena/include       \
-@@ -1775,6 +1785,7 @@ if test "$x11_include" = "not found"; th
+@@ -1775,6 +1787,7 @@ if test "$x11_include" = "not found"; th
                            \
      /usr/lib64            \
      /usr/lib              \
@@ -140,7 +149,7 @@
      /usr/local/lib        \
      /usr/unsupported/lib  \
      /usr/athena/lib       \
-@@ -1798,18 +1809,16 @@ if test "$x11_include" = "not found"; th
+@@ -1798,18 +1811,16 @@ if test "$x11_include" = "not found"; th
        if test $dir = /usr/lib; then
          x11_link="-lX11"
        else
@@ -163,7 +172,7 @@
  if test "$x11_include" != "not found"; then
    if test "$x11_include" = "-I/usr/include"; then
      x11_include=""
-@@ -2060,7 +2069,7 @@ config CFLAGS "$common_cflags $internal_
+@@ -2060,7 +2071,7 @@ config CFLAGS "$common_cflags $internal_
  config CPPFLAGS "$common_cppflags $internal_cppflags"
  config OCAMLC_CFLAGS "$common_cflags $sharedcccompopts"
  config OCAMLC_CPPFLAGS "$common_cppflags"



Home | Main Index | Thread Index | Old Index