git: 23f722bfd824 - main - devel/ocaml-eqaf: New port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Jun 2026 22:09:24 UTC
The branch main has been updated by bofh:
URL: https://cgit.FreeBSD.org/ports/commit/?id=23f722bfd82401ca4e98c3cb1a6d4c58fb8f2428
commit 23f722bfd82401ca4e98c3cb1a6d4c58fb8f2428
Author: Benjamin Jacobs <freebsd@dev.thsi.be>
AuthorDate: 2026-06-28 19:15:19 +0000
Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2026-06-28 22:08:52 +0000
devel/ocaml-eqaf: New port
This OCaml library provides an equal function operating on strings in
constant-time. It may be used by cryptographic code to mitigate
timing-attacks.
WWW: https://github.com/mirage/ocaml-eqaf
---
devel/Makefile | 1 +
devel/ocaml-eqaf/Makefile | 39 +++++++++++++++++++++++++++++++++
devel/ocaml-eqaf/distinfo | 3 +++
devel/ocaml-eqaf/pkg-descr | 3 +++
devel/ocaml-eqaf/pkg-plist | 54 ++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 100 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 6e2363f9a586..7f28708f38ca 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1791,6 +1791,7 @@
SUBDIR += ocaml-dolmen
SUBDIR += ocaml-domain-name
SUBDIR += ocaml-dune
+ SUBDIR += ocaml-eqaf
SUBDIR += ocaml-extlib
SUBDIR += ocaml-findlib
SUBDIR += ocaml-fmt
diff --git a/devel/ocaml-eqaf/Makefile b/devel/ocaml-eqaf/Makefile
new file mode 100644
index 000000000000..8acf291466d3
--- /dev/null
+++ b/devel/ocaml-eqaf/Makefile
@@ -0,0 +1,39 @@
+PORTNAME= eqaf
+DISTVERSION= 0.10
+CATEGORIES= devel
+MASTER_SITES= https://github.com/mirage/${PORTNAME}/releases/download/v${DISTVERSION}/
+PKGNAMEPREFIX= ocaml-
+
+MAINTAINER= freebsd@dev.thsi.be
+COMMENT= Constant-time string equality function for OCaml
+WWW= https://github.com/mirage/ocaml-eqaf
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${SA_DIR}/cstruct/META:devel/ocaml-cstruct
+RUN_DEPENDS= ${SA_DIR}/cstruct/META:devel/ocaml-cstruct
+
+USES= ocaml:dune tar:tbz
+OCAML_PACKAGES= eqaf eqaf-cstruct
+DUNE_INSTALL_TARGETS= ${OCAML_PACKAGES}
+
+DOCSDIR= ${OCAML_DOCSDIR}
+PORTDOCS= ${OCAML_PACKAGES:@p@$p/CHANGES.md $p/LICENSE.md $p/README.md@}
+
+OPTIONS_DEFINE= DOCS
+
+SA_DIR= ${LOCALBASE}/${OCAML_SITELIBDIR}
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e "s/(version v.*)/(version ${DISTVERSION})/" \
+ ${WRKSRC}/dune-project
+
+post-install:
+ (cd ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}; \
+ ${STRIP_CMD} \
+ eqaf/bigstring/eqaf_bigstring.cmxs eqaf/eqaf.cmxs \
+ eqaf-cstruct/eqaf_cstruct.cmxs)
+
+.include <bsd.port.mk>
diff --git a/devel/ocaml-eqaf/distinfo b/devel/ocaml-eqaf/distinfo
new file mode 100644
index 000000000000..9daa98adc4ed
--- /dev/null
+++ b/devel/ocaml-eqaf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752071990
+SHA256 (eqaf-0.10.tbz) = 67d1369c57c4d2d14a10d02632d45e355224abeb98aec08979c0bae5843092ee
+SIZE (eqaf-0.10.tbz) = 30706
diff --git a/devel/ocaml-eqaf/pkg-descr b/devel/ocaml-eqaf/pkg-descr
new file mode 100644
index 000000000000..42634deceabd
--- /dev/null
+++ b/devel/ocaml-eqaf/pkg-descr
@@ -0,0 +1,3 @@
+This OCaml library provides an equal function operating on strings in
+constant-time. It may be used by cryptographic code to mitigate
+timing-attacks.
diff --git a/devel/ocaml-eqaf/pkg-plist b/devel/ocaml-eqaf/pkg-plist
new file mode 100644
index 000000000000..cb02338d7fb5
--- /dev/null
+++ b/devel/ocaml-eqaf/pkg-plist
@@ -0,0 +1,54 @@
+%%OCAML_SITELIBDIR%%/eqaf/META
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.a
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cma
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmi
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmt
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmti
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmx
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmxa
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.cmxs
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.ml
+%%OCAML_SITELIBDIR%%/eqaf/bigstring/eqaf_bigstring.mli
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.a
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cma
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmi
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmt
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmti
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmx
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmxa
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.cmxs
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.ml
+%%OCAML_SITELIBDIR%%/eqaf/bytes/eqaf_bytes.mli
+%%OCAML_SITELIBDIR%%/eqaf/dune-package
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.a
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cma
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmi
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmt
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmti
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmx
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmxa
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.cmxs
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.ml
+%%OCAML_SITELIBDIR%%/eqaf/eqaf.mli
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__.cmi
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__.cmt
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__.cmx
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__.ml
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__Unsafe.cmi
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__Unsafe.cmt
+%%OCAML_SITELIBDIR%%/eqaf/eqaf__Unsafe.cmx
+%%OCAML_SITELIBDIR%%/eqaf/opam
+%%OCAML_SITELIBDIR%%/eqaf/unsafe.ml
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/META
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/dune-package
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.a
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cma
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmi
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmt
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmti
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmx
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmxa
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.cmxs
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.ml
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/eqaf_cstruct.mli
+%%OCAML_SITELIBDIR%%/eqaf-cstruct/opam