summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2022-04-16 07:19:46 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2022-04-16 07:19:46 +0000
commit317aa0442c9942009c1f9c558f8fb6e49d4568ab (patch)
tree3fa9ab10514af3a77b17f6f73ac1bc56b4499b6b /math
parentdatabases/py-pg8000: Update to 1.24.2 (diff)
OCaml: transient update of the stack to version 4.07.1
This is the first step in modernizing our OCaml ports infrastructure, as we had accumulated substantial technical debt over the years when many of its consumer ports had not received proper care and updates. It is currently considered as the lowest supported version (baseline) in majority of open-source OCaml projects, which would help to pull up other ports, e.g. `devel/ocaml-dune' in smaller, manageable pieces. For conservative hackers among us and for compatibility with RHEL 8 which is also on it, having 4.07 in the tree would allow users stick to that package (pkg lock it) if needed. PR: 250408, 262781 Exp-run by: antoine
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/alt-ergo/Makefile1
-rw-r--r--math/coq/Makefile3
-rw-r--r--math/ocaml-num/Makefile24
-rw-r--r--math/ocaml-num/distinfo3
-rw-r--r--math/ocaml-num/files/patch-src_Makefile12
-rw-r--r--math/ocaml-num/files/patch-toplevel_Makefile21
-rw-r--r--math/ocaml-num/pkg-descr10
-rw-r--r--math/ocaml-num/pkg-plist33
-rw-r--r--math/orpie/Makefile1
-rw-r--r--math/scilab/Makefile3
11 files changed, 110 insertions, 2 deletions
diff --git a/math/Makefile b/math/Makefile
index 5949daba7d31..9054eb41f4af 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -486,6 +486,7 @@
SUBDIR += ntl
SUBDIR += numdiff
SUBDIR += obake
+ SUBDIR += ocaml-num
SUBDIR += ocaml-ocamlgraph
SUBDIR += ocaml-zarith
SUBDIR += ocamlgsl
diff --git a/math/alt-ergo/Makefile b/math/alt-ergo/Makefile
index 96c5c477b7e5..dfab1b8823a0 100644
--- a/math/alt-ergo/Makefile
+++ b/math/alt-ergo/Makefile
@@ -17,6 +17,7 @@ LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BROKEN_powerpc64= fails to compile: Assembler messages: /tmp/camlasm2822e8.s:10348: Error: operand out of range
BUILD_DEPENDS= ocaml-zarith>1.2:math/ocaml-zarith \
+ ocaml-num>=0:math/ocaml-num \
ocaml-ocamlgraph>1.8:math/ocaml-ocamlgraph \
ocaml-lablgtk2>=0:x11-toolkits/ocaml-lablgtk2
RUN_DEPENDS= ocaml-ocamlgraph>1.8:math/ocaml-ocamlgraph \
diff --git a/math/coq/Makefile b/math/coq/Makefile
index a9a9bcbf87ca..54c4a3fa8bcb 100644
--- a/math/coq/Makefile
+++ b/math/coq/Makefile
@@ -18,7 +18,8 @@ BROKEN_armv7= fails to compile: Fatal error: exception Invalid_argument("index o
BROKEN_powerpc= fails to link
BUILD_DEPENDS= camlp5:devel/ocaml-camlp5 \
- ocamlfind:devel/ocaml-findlib
+ ocamlfind:devel/ocaml-findlib \
+ ${LOCALBASE}/${OCAML_SITELIBDIR}/num/META:math/ocaml-num
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
diff --git a/math/ocaml-num/Makefile b/math/ocaml-num/Makefile
new file mode 100644
index 000000000000..e5e64bf62cc9
--- /dev/null
+++ b/math/ocaml-num/Makefile
@@ -0,0 +1,24 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+
+PORTNAME= num
+PORTVERSION= 1.4
+DISTVERSIONPREFIX= v
+CATEGORIES= math
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Legacy library for arbitrary-precision arithmetic
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= gmake
+USE_GITHUB= yes
+GH_ACCOUNT= ocaml
+USE_OCAML= yes
+
+MAKE_ENV= OCAMLFIND_DESTDIR="${STAGEDIR}${OCAMLFIND_DESTDIR}"
+MAKE_JOBS_UNSAFE= yes
+TEST_TARGET= test
+
+.include <bsd.port.mk>
diff --git a/math/ocaml-num/distinfo b/math/ocaml-num/distinfo
new file mode 100644
index 000000000000..98c8fd34d2cd
--- /dev/null
+++ b/math/ocaml-num/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1604938929
+SHA256 (ocaml-num-v1.4_GH0.tar.gz) = 015088b68e717b04c07997920e33c53219711dfaf36d1196d02313f48ea00f24
+SIZE (ocaml-num-v1.4_GH0.tar.gz) = 66327
diff --git a/math/ocaml-num/files/patch-src_Makefile b/math/ocaml-num/files/patch-src_Makefile
new file mode 100644
index 000000000000..1c755e46fa20
--- /dev/null
+++ b/math/ocaml-num/files/patch-src_Makefile
@@ -0,0 +1,12 @@
+--- src/Makefile.orig 2020-11-09 16:22:09 UTC
++++ src/Makefile
+@@ -88,7 +88,8 @@ VERSION=$(shell sed -ne 's/^ *version *: *"\([^"]*\)".
+ install:
+ $(INSTALL_DIR) $(DESTDIR)$(STDLIBDIR)
+ sed -e 's/%%VERSION%%/$(VERSION)/g' META.in > META
+- $(OCAMLFIND) install num META
++ $(INSTALL_DIR) $(OCAMLFIND_DESTDIR)/num
++ $(INSTALL_DATA) META $(OCAMLFIND_DESTDIR)/num
+ rm -f META
+ $(INSTALL_DATA) $(TOINSTALL) $(DESTDIR)$(STDLIBDIR)
+ ifeq "$(SUPPORTS_SHARED_LIBRARIES)" "true"
diff --git a/math/ocaml-num/files/patch-toplevel_Makefile b/math/ocaml-num/files/patch-toplevel_Makefile
new file mode 100644
index 000000000000..8941ff1666fc
--- /dev/null
+++ b/math/ocaml-num/files/patch-toplevel_Makefile
@@ -0,0 +1,21 @@
+--- toplevel/Makefile.orig 2020-11-09 16:22:09 UTC
++++ toplevel/Makefile
+@@ -1,6 +1,8 @@
+ OCAMLC=ocamlc
+ OCAMLDEP=ocamldep
+ OCAMLFIND=ocamlfind
++INSTALL_DATA=install -m 644
++INSTALL_DIR=install -d
+
+ CAMLCFLAGS=-I ../src -I +compiler-libs \
+ -w +a-4-9-41-42-44-45-48 -warn-error A \
+@@ -25,7 +27,8 @@ VERSION=$(shell sed -ne 's/^ *version *: *"\([^"]*\)".
+
+ install:
+ sed -e 's/%%VERSION%%/$(VERSION)/g' META.in > META
+- $(OCAMLFIND) install num-top META $(TOINSTALL)
++ $(INSTALL_DIR) $(OCAMLFIND_DESTDIR)/num-top
++ $(INSTALL_DATA) META $(TOINSTALL) $(OCAMLFIND_DESTDIR)/num-top
+ rm -f META
+
+ uninstall:
diff --git a/math/ocaml-num/pkg-descr b/math/ocaml-num/pkg-descr
new file mode 100644
index 000000000000..3affc0f123a4
--- /dev/null
+++ b/math/ocaml-num/pkg-descr
@@ -0,0 +1,10 @@
+The Num library implements integer arithmetic and rational arithmetic in
+arbitrary precision. It was split off the core OCaml distribution starting
+with the 4.06.0 release.
+
+New applications that need arbitrary-precision arithmetic should use the
+Zarith library instead of the Num library, and older applications that
+already use Num are encouraged to switch to Zarith. Zarith delivers much
+better performance than Num and has a nicer API.
+
+WWW: https://github.com/ocaml/num
diff --git a/math/ocaml-num/pkg-plist b/math/ocaml-num/pkg-plist
new file mode 100644
index 000000000000..9a998754a1d8
--- /dev/null
+++ b/math/ocaml-num/pkg-plist
@@ -0,0 +1,33 @@
+lib/ocaml/arith_flags.cmx
+lib/ocaml/arith_status.cmi
+lib/ocaml/arith_status.cmti
+lib/ocaml/arith_status.cmx
+lib/ocaml/arith_status.mli
+lib/ocaml/big_int.cmi
+lib/ocaml/big_int.cmti
+lib/ocaml/big_int.cmx
+lib/ocaml/big_int.mli
+lib/ocaml/int_misc.cmx
+lib/ocaml/libnums.a
+lib/ocaml/nat.cmi
+lib/ocaml/nat.cmti
+lib/ocaml/nat.cmx
+lib/ocaml/nat.mli
+lib/ocaml/num.cmi
+lib/ocaml/num.cmti
+lib/ocaml/num.cmx
+lib/ocaml/num.mli
+lib/ocaml/nums.a
+lib/ocaml/nums.cma
+lib/ocaml/nums.cmxa
+lib/ocaml/nums.cmxs
+lib/ocaml/ratio.cmi
+lib/ocaml/ratio.cmti
+lib/ocaml/ratio.cmx
+lib/ocaml/ratio.mli
+%%OCAML_SITELIBDIR%%/num-top/META
+%%OCAML_SITELIBDIR%%/num-top/num_top.cma
+%%OCAML_SITELIBDIR%%/num-top/num_top.cmi
+%%OCAML_SITELIBDIR%%/num-top/num_top_printers.cmi
+%%OCAML_SITELIBDIR%%/num/META
+lib/ocaml/stublibs/dllnums.so
diff --git a/math/orpie/Makefile b/math/orpie/Makefile
index df96bd504f62..0f72065d084d 100644
--- a/math/orpie/Makefile
+++ b/math/orpie/Makefile
@@ -11,6 +11,7 @@ COMMENT= Fullscreen RPN calculator for the console
LICENSE= GPLv2
+BUILD_DEPENDS= ${LOCALBASE}/${OCAML_SITELIBDIR}/num/META:math/ocaml-num
LIB_DEPENDS= libgsl.so:math/gsl
USES= gmake ncurses
diff --git a/math/scilab/Makefile b/math/scilab/Makefile
index 6cf73473fafa..986ee3ddf988 100644
--- a/math/scilab/Makefile
+++ b/math/scilab/Makefile
@@ -110,7 +110,8 @@ GUI_CONFIGURE_OFF= --without-gui \
OCAML_IMPLIES= GUI
OCAML_CONFIGURE_WITH= modelica
-OCAML_BUILD_DEPENDS= ocaml:lang/ocaml
+OCAML_BUILD_DEPENDS= ocaml:lang/ocaml \
+ ${LOCALBASE}/lib/ocaml/site-lib/num/META:math/ocaml-num
OCAML_RUN_DEPENDS= ocaml:lang/ocaml
TK_CONFIGURE_OFF= --without-tk