I found that packaging lang/compcert fails on ocaml-non-native architectures.
we need a patch to Makefile.menhir.
(and I'm not sure if we need revision up here...)

-- yozo.

diff -urN -x CVS /usr/ports/lang/compcert/Makefile 
/usr/ports/mystuff/lang/compcert/3.13.1p1/Makefile
--- /usr/ports/lang/compcert/Makefile   Sat Jan  6 10:38:27 2024
+++ /usr/ports/mystuff/lang/compcert/3.13.1p1/Makefile  Thu Feb  1 01:36:12 2024
@@ -8,7 +8,7 @@
 GH_TAGNAME =           v${V}
 DISTNAME =             ${GH_PROJECT}-${V}
 PKGNAME =              ${DISTNAME:L}
-REVISION =             0
+REVISION =             1
 

 HOMEPAGE =             https://compcert.org/
 

diff -urN -x CVS /usr/ports/lang/compcert/patches/patch-Makefile_menhir 
/usr/ports/mystuff/lang/compcert/3.13.1p1/patches/patch-Makefile_menhir
--- /usr/ports/lang/compcert/patches/patch-Makefile_menhir      Thu Jan  1 
09:00:00 1970
+++ /usr/ports/mystuff/lang/compcert/3.13.1p1/patches/patch-Makefile_menhir     
Mon Aug 21 18:18:14 2023
@@ -0,0 +1,27 @@
+for ocaml-non-native architectures
+
+Index: Makefile.menhir
+--- Makefile.menhir.orig
++++ Makefile.menhir
+@@ -42,10 +42,18 @@ MENHIR_FLAGS = -v --no-stdlib -la 1
+ # Using Menhir in --table mode requires MenhirLib.
+ 

+ ifeq ($(MENHIR_TABLE),true)
+-  ifeq ($(wildcard $(MENHIR_DIR)/menhirLib.cmxa),)
+-    MENHIR_LIBS = menhirLib.cmx
++  ifeq ($(OCAML_NATIVE_COMP), true)
++    ifeq ($(wildcard $(MENHIR_DIR)/menhirLib.cmxa),)
++      MENHIR_LIBS = menhirLib.cmx
++    else
++      MENHIR_LIBS = menhirLib.cmxa
++    endif
+   else
+-    MENHIR_LIBS = menhirLib.cmxa
++    ifeq ($(wildcard $(MENHIR_DIR)/menhirLib.cma),)
++      MENHIR_LIBS = menhirLib.cmo
++    else
++      MENHIR_LIBS = menhirLib.cma
++    endif
+   endif
+ else
+   MENHIR_LIBS =

Reply via email to