<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>