git: 9070fa7881f2 - main - devel/ocaml-gmap: New port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Sun, 28 Jun 2026 22:09:29 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9070fa7881f2a96878399f1b7743f8cf6e08fbc4

commit 9070fa7881f2a96878399f1b7743f8cf6e08fbc4
Author:     Benjamin Jacobs <freebsd@dev.thsi.be>
AuthorDate: 2026-06-28 20:22:57 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2026-06-28 22:08:53 +0000

    devel/ocaml-gmap: New port
    
    This library provides an hashmap implementation whose values are typed
    by the type parameter of the associated (polymorphic) key. This
    library relies on generalized algebraic data type (GADT) of OCaml.
    
    WWW: https://github.com/hannesm/gmap
---
 devel/Makefile             |  1 +
 devel/ocaml-gmap/Makefile  | 31 +++++++++++++++++++++++++++++++
 devel/ocaml-gmap/distinfo  |  3 +++
 devel/ocaml-gmap/pkg-descr |  3 +++
 devel/ocaml-gmap/pkg-plist | 13 +++++++++++++
 5 files changed, 51 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index fd9cedd24cf7..5b9f8d7de76c 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1798,6 +1798,7 @@
     SUBDIR += ocaml-fmt
     SUBDIR += ocaml-fpath
     SUBDIR += ocaml-gen
+    SUBDIR += ocaml-gmap
     SUBDIR += ocaml-hmap
     SUBDIR += ocaml-ipaddr
     SUBDIR += ocaml-lacaml
diff --git a/devel/ocaml-gmap/Makefile b/devel/ocaml-gmap/Makefile
new file mode 100644
index 000000000000..65a830c46430
--- /dev/null
+++ b/devel/ocaml-gmap/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	gmap
+DISTVERSION=	0.3.0
+CATEGORIES=	devel
+MASTER_SITES=	https://github.com/hannesm/${PORTNAME}/releases/download/${DISTVERSION}/
+PKGNAMEPREFIX=	ocaml-
+
+MAINTAINER=	freebsd@dev.thsi.be
+COMMENT=	Hashmap with heterogeneous values using OCaml GADT
+WWW=		https://github.com/hannesm/gmap
+
+LICENSE=	ISCL
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+
+USES=		ocaml:dune tar:tbz
+
+DOCSDIR=	${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS=	CHANGES.md LICENSE.md README.md
+
+OPTIONS_DEFINE=	DOCS
+
+post-patch:
+	@${REINPLACE_CMD} \
+		-e "s/(name ${PORTNAME})/&\n(version ${DISTVERSION})/" \
+		${WRKSRC}/dune-project
+
+post-install:
+	${STRIP_CMD} \
+		${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/gmap/gmap.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-gmap/distinfo b/devel/ocaml-gmap/distinfo
new file mode 100644
index 000000000000..02db1567bc5b
--- /dev/null
+++ b/devel/ocaml-gmap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752072721
+SHA256 (gmap-0.3.0.tbz) = 04dd9e6226ac8f8fb4ccb6021048702e34a482fb9c1d240d3852829529507c1c
+SIZE (gmap-0.3.0.tbz) = 7553
diff --git a/devel/ocaml-gmap/pkg-descr b/devel/ocaml-gmap/pkg-descr
new file mode 100644
index 000000000000..a58092d03fdf
--- /dev/null
+++ b/devel/ocaml-gmap/pkg-descr
@@ -0,0 +1,3 @@
+This library provides an hashmap implementation whose values are typed
+by the type parameter of the associated (polymorphic) key. This
+library relies on generalized algebraic data type (GADT) of OCaml.
diff --git a/devel/ocaml-gmap/pkg-plist b/devel/ocaml-gmap/pkg-plist
new file mode 100644
index 000000000000..acfa0d1a08ca
--- /dev/null
+++ b/devel/ocaml-gmap/pkg-plist
@@ -0,0 +1,13 @@
+%%OCAML_SITELIBDIR%%/gmap/META
+%%OCAML_SITELIBDIR%%/gmap/dune-package
+%%OCAML_SITELIBDIR%%/gmap/gmap.a
+%%OCAML_SITELIBDIR%%/gmap/gmap.cma
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmi
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmt
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmti
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmx
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmxa
+%%OCAML_SITELIBDIR%%/gmap/gmap.cmxs
+%%OCAML_SITELIBDIR%%/gmap/gmap.ml
+%%OCAML_SITELIBDIR%%/gmap/gmap.mli
+%%OCAML_SITELIBDIR%%/gmap/opam