<pre style='margin:0'>
Landon Fuller (landonf) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a49fb8a7cf9a0a3b39e17023a99cb875b3ddc622">https://github.com/macports/macports-ports/commit/a49fb8a7cf9a0a3b39e17023a99cb875b3ddc622</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a49fb8a7cf9a0a3b39e17023a99cb875b3ddc622
</span>Author: Landon Fuller <landonf@macports.org>
AuthorDate: Mon Nov 30 16:36:40 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    ocaml-hacl-star: new port
</span>---
 ocaml/ocaml-hacl-star/Portfile                     | 90 ++++++++++++++++++++++
 ocaml/ocaml-hacl-star/files/patch-Makefile.diff    | 11 +++
 .../patch-dist-gcc-compatible-use-install_name     | 12 +++
 3 files changed, 113 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ocaml/ocaml-hacl-star/Portfile b/ocaml/ocaml-hacl-star/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9742fdfc322
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ocaml/ocaml-hacl-star/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,90 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github    1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup ocaml     1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                ocaml-hacl-star
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        project-everest hacl-star 96ad4e4574bf71f4398d18d1fabae645b258b04f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             20210118-[string range ${github.version} 0 6]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          ocaml devel security
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {landonf @landonf} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Apache-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         High-assurance cryptographic library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    Formally verified library of modern cryptographic algorithms, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    including Curve25519, Ed25519, AES-GCM, Chacha20, Poly1305, SHA-2, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    SHA-3, HMAC, and HKDF. The code for all of these algorithms is \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    formally verified using the F* verification framework for memory \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    safety, functional correctness, and secret independence (resistance \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    to some types of timing side-channels).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options             vale.version vale.distname vale.distfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options             hacl-star.make_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vale.version        0.3.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vale.distname       vale-release-${vale.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+vale.distfile       ${vale.distname}.zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites-append https://github.com/project-everest/vale/releases/download/v${vale.version}/:bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles-append    ${vale.distfile}:bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-Makefile.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-dist-gcc-compatible-use-install_name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  432cdf7e3df3a0be260d063324781eee5265230b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  46e98e5796f24b35c7fcfbfe340ab525aec7c7521d4d368479f7d58db3a761a6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    7859673 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${vale.distfile} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160  f3e032b48caee2af28edc209bf11e99dbcde5fb2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3fe3b4ddbeff2faeeca76b142e36412d711a6223c81edd3b3cc2d54f9d979619 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    3073108
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.only        ${distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set tar [findBinary tar ${portutil::autoconf::tar_command}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${worksrcpath}/vale "${tar} -C ${worksrcpath} -zxf ${distpath}/${vale.distfile}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:mono \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:coreutils \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gtime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:fstar-devel \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:kremlin-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Required to build the ocaml-hacl-star bindings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ocaml-hacl-star-raw {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ocaml.use_findlib   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_configure       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Common make arguments
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    hacl-star.make_args HACL_HOME="${worksrcpath}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        FSTAR_HOME="${prefix}/libexec/fstar-devel/home" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        KREMLIN_HOME="${prefix}/libexec/kremlin-devel/home" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        VALE_HOME="${worksrcpath}/${vale.distname}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        OPENSSL_HOME="${prefix}/lib" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MONO="${prefix}/bin/mono" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        SED="${prefix}/bin/gsed" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        TIME="${prefix}/bin/gtime" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        OTHERFLAGS="--z3rlimit_factor 32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.cmd           ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   {*}${hacl-star.make_args}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.dir        ${worksrcpath}/dist/gcc-compatible
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.target     install-hacl-star-raw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.args-append {*}${hacl-star.make_args}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ocaml-hacl-star {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:ocaml-hacl-star-raw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ocaml.build_type    dune
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dune.root           ${worksrcpath}/bindings/ocaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/ocaml/ocaml-hacl-star/files/patch-Makefile.diff b/ocaml/ocaml-hacl-star/files/patch-Makefile.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..11e6a2c4549
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ocaml/ocaml-hacl-star/files/patch-Makefile.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.orig  2020-11-30 16:17:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile       2020-11-30 16:17:50.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1075,8 +1075,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###################################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy-kremlib:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  mkdir -p dist/kremlin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (cd $(KREMLIN_HOME) && tar cvf - kremlib/dist/minimal include) | (cd dist/kremlin && tar xf -)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compile-%: dist/Makefile.tmpl dist/%/Makefile.basic | copy-kremlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp $< dist/$*/Makefile
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/ocaml/ocaml-hacl-star/files/patch-dist-gcc-compatible-use-install_name b/ocaml/ocaml-hacl-star/files/patch-dist-gcc-compatible-use-install_name
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..edb11eb57d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ocaml/ocaml-hacl-star/files/patch-dist-gcc-compatible-use-install_name
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- dist/Makefile.tmpl.orig        2021-01-18 19:27:24.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ dist/Makefile.tmpl     2021-01-18 19:41:16.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,7 +90,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all: libevercrypt.$(SO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libevercrypt.$(SO): config.h $(OBJS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $(CC) $(CFLAGS) -shared -o $@ $(filter-out %.h,$^) $(LDFLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $(CC) $(CFLAGS) -shared -o $@ $(filter-out %.h,$^) $(LDFLAGS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  -Wl,-install_name,"$(shell ocamlfind printconf destdir)/stublibs/$@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If the configure script has not run, create an empty config.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ config.h:
</span></pre><pre style='margin:0'>

</pre>