git: 9668ddabff1f - main - devel/ocaml-curses: New port: OCaml bindings to ncurses

From: Neel Chauhan <nc_at_FreeBSD.org>
Date: Wed, 05 Jun 2024 21:27:37 UTC
The branch main has been updated by nc:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9668ddabff1f18d6f1b805730f06f97d52c9bbf9

commit 9668ddabff1f18d6f1b805730f06f97d52c9bbf9
Author:     Benjamin Jacobs <freebsd@dev.thsi.be>
AuthorDate: 2024-06-03 21:28:31 +0000
Commit:     Neel Chauhan <nc@FreeBSD.org>
CommitDate: 2024-06-05 21:27:08 +0000

    devel/ocaml-curses: New port: OCaml bindings to ncurses
    
    PR:     279508
---
 devel/Makefile               |  1 +
 devel/ocaml-curses/Makefile  | 34 ++++++++++++++++++++++++++++++++++
 devel/ocaml-curses/distinfo  |  3 +++
 devel/ocaml-curses/pkg-descr |  3 +++
 devel/ocaml-curses/pkg-plist | 15 +++++++++++++++
 5 files changed, 56 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 04b646c78173..cb718ca93143 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1722,6 +1722,7 @@
     SUBDIR += ocaml-cppo
     SUBDIR += ocaml-csexp
     SUBDIR += ocaml-cstruct
+    SUBDIR += ocaml-curses
     SUBDIR += ocaml-domain-name
     SUBDIR += ocaml-dune
     SUBDIR += ocaml-extlib
diff --git a/devel/ocaml-curses/Makefile b/devel/ocaml-curses/Makefile
new file mode 100644
index 000000000000..c8fe30a9d6e7
--- /dev/null
+++ b/devel/ocaml-curses/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	curses
+PORTVERSION=	1.0.11
+CATEGORIES=	devel
+PKGNAMEPREFIX=	ocaml-
+
+MAINTAINER=	freebsd@dev.thsi.be
+COMMENT=	(N)curses binding for OCaml
+WWW=		https://github.com/mbacarella/curses
+
+LICENSE=	LGPL21+ # with a special exception to clause 6
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		ncurses ocaml:dune pkgconfig
+USE_GITHUB=	yes
+GH_ACCOUNT=	mbacarella
+USE_OCAML=		yes
+USE_OCAML_LDCONFIG=	yes
+
+DOCSDIR=	${OCAML_DOCSDIR}/${PORTNAME}
+PORTDOCS=	CHANGES.md README.md
+
+OPTIONS_DEFINE=	DOCS
+
+post-patch:
+	@${REINPLACE_CMD} \
+		-e "s/(name ${PORTNAME})/&\n(version ${PORTVERSION})/" \
+		${WRKSRC}/dune-project
+
+post-install:
+	@${STRIP_CMD} \
+		${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/curses/dllcurses_stubs.so \
+		${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/curses/curses.cmxs
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-curses/distinfo b/devel/ocaml-curses/distinfo
new file mode 100644
index 000000000000..a8cf2bbdf3a4
--- /dev/null
+++ b/devel/ocaml-curses/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1717440498
+SHA256 (mbacarella-curses-1.0.11_GH0.tar.gz) = 603c08e816b22e200f7818544ffd016620a808945cfa757dd1aeb245e0b51c0e
+SIZE (mbacarella-curses-1.0.11_GH0.tar.gz) = 28807
diff --git a/devel/ocaml-curses/pkg-descr b/devel/ocaml-curses/pkg-descr
new file mode 100644
index 000000000000..5bf29c127b2a
--- /dev/null
+++ b/devel/ocaml-curses/pkg-descr
@@ -0,0 +1,3 @@
+This OCaml library provides bindings to the (n)curses library. All the
+the types and all the functions available in the Curses module are
+direct translations of the ncurses(3X) concepts.
diff --git a/devel/ocaml-curses/pkg-plist b/devel/ocaml-curses/pkg-plist
new file mode 100644
index 000000000000..a7f678b07678
--- /dev/null
+++ b/devel/ocaml-curses/pkg-plist
@@ -0,0 +1,15 @@
+%%OCAML_SITELIBDIR%%/curses/META
+%%OCAML_SITELIBDIR%%/curses/curses.a
+%%OCAML_SITELIBDIR%%/curses/curses.cma
+%%OCAML_SITELIBDIR%%/curses/curses.cmi
+%%OCAML_SITELIBDIR%%/curses/curses.cmt
+%%OCAML_SITELIBDIR%%/curses/curses.cmti
+%%OCAML_SITELIBDIR%%/curses/curses.cmx
+%%OCAML_SITELIBDIR%%/curses/curses.cmxa
+%%OCAML_SITELIBDIR%%/curses/curses.ml
+%%OCAML_SITELIBDIR%%/curses/curses.mli
+%%OCAML_SITELIBDIR%%/curses/dune-package
+%%OCAML_SITELIBDIR%%/curses/libcurses_stubs.a
+%%OCAML_SITELIBDIR%%/curses/opam
+%%OCAML_SITELIBDIR%%/curses/curses.cmxs
+%%OCAML_SITELIBDIR%%/curses/dllcurses_stubs.so