OCaml 4.14.2 is a bugfix release that includes some of our patches and
tweaks upstreamed thanks to miod@:

 - the nobtcfi linker flags are now set in OCaml's configure script so
   we don't need the LDFLAGS dance in the Makefile
 - the no-execute-only flag is also set, so we can drop the patch

Built on both amd64 and arm64. (I don't have other machines.)

Running `make test` has the same single test failure as 4.14.1.

I don't commit to ports often so:
 - Do we keep an empty patches directory or no? I'd presume yes.
 - Can someone help run a build of any dependent ports or point me to
   how?
 - I kept the USE_NOBTCFI flag. I'm not sure how we incorporate that
   into the ports infra, but since OCaml is still not able to build
   without the linker flag, I'm assuming it's sensible to keep that for
   reference?

feedback welcome :)

-dv

diff refs/heads/master refs/heads/ocaml-4
commit - 4aa8f0d502946b9c12dc190e1ff27c02dba9cca5
commit + b26e117aba3d2931b28a8443b0ec65f12003c909
blob - 744f9992f6a1812450bcb4c2e96e483c25e87971
blob + 244c1b7315faa3a96849574ea5d05e78a7a22cd9
--- lang/ocaml/Makefile
+++ lang/ocaml/Makefile
@@ -2,7 +2,7 @@ COMMENT =          ML language with complete class-based obj

 # XXX Don't even think of updating ocaml alone.
 # Do check that the ports that depend on it still work, or repair them.
-VERSION=       4.14.1
+VERSION=       4.14.2

 # if the ocaml compiler gains support for BTI, as well as
 # removing USE_NOBTCFI here (or changing to an arch-dependent
@@ -64,12 +64,6 @@ CONFIGURE_ARGS +=    --enable-imprecise-c99-float-ops
 LDFLAGS+=              -Wl,-z,notext
 .endif

-# We need to pass nobtcfi in LDFLAGS so that ocamlopt
-# will pick it up when building OCaml native binaries
-.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "arm64"
-LDFLAGS+=              -Wl,-z,nobtcfi
-.endif
-
 USE_GMAKE=     Yes

 WANTLIB =              c m pthread
blob - 07c4adb25913fc8db722c8753fefbf55e7182ceb
blob + b2ed4b8eda49096b389cc1b7e95d69075810b55e
--- lang/ocaml/distinfo
+++ lang/ocaml/distinfo
@@ -1,4 +1,4 @@
 SHA256 (ocaml-4.14-refman-html.tar.gz) = 
+dILjzxXO797/JkVVzFHK5G5vwhOndK1U50q5HNAbKc=
-SHA256 (ocaml-4.14.1.tar.gz) = GDl53JwJyw9YCiMraFMaCbAlqmKLjY1ydEnxRv1vX+4=
+SHA256 (ocaml-4.14.2.tar.gz) = k7TzujnVWalj/BB0RWO0xukun/tUDOieXF6/dghrmfM=
 SIZE (ocaml-4.14-refman-html.tar.gz) = 1982462
-SIZE (ocaml-4.14.1.tar.gz) = 5497979
+SIZE (ocaml-4.14.2.tar.gz) = 5504138
blob - 8e2f6dcfd97891503f2704b423fd429e5cb357d8 (mode 644)
blob + /dev/null
--- lang/ocaml/patches/patch-configure
+++ /dev/null
@@ -1,24 +0,0 @@
-Backport part of https://github.com/ocaml/ocaml/pull/12372/files
-Pointed out by avsm@
-
-Index: configure
---- configure.orig
-+++ configure
-@@ -14133,6 +14133,17 @@ if test -z "$mkmaindll"; then :
-   mkmaindll=$mksharedlib
- fi
-
-+# Make sure code sections in OCaml-generated executables are readable
-+# (required for marshaling of function closures)
-+
-+case $host in #(
-+  *-*-openbsd7.[3-9]|*-*-openbsd[89].*) :
-+    oc_ldflags="$oc_ldflags -Wl,--no-execute-only"
-+     natdynlinkopts="$natdynlinkopts -Wl,--no-execute-only" ;; #(
-+  *) :
-+     ;;
-+esac
-+
- # Configure native dynlink
-
- natdynlink=false

Reply via email to