<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d86e3ba4086423539695c023f5e9004356c9c092">https://github.com/macports/macports-ports/commit/d86e3ba4086423539695c023f5e9004356c9c092</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d86e3ba4086423539695c023f5e9004356c9c092
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Wed Oct 25 17:11:27 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    ocaml-ocaml_intrinsics: new port
</span>---
 ocaml/ocaml-ocaml_intrinsics/Portfile              | 29 ++++++++++++++
 ...-abort-instead-of-error-on-unsupported-pl.patch | 46 ++++++++++++++++++++++
 2 files changed, 75 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ocaml/ocaml-ocaml_intrinsics/Portfile b/ocaml/ocaml-ocaml_intrinsics/Portfile
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3100390be3c
</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-ocaml_intrinsics/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</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-ocaml_intrinsics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        janestreet ocaml_intrinsics 0.16.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          ocaml devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Library of intrinsics for OCaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    The ocaml_intrinsics library provides an OCaml interface to operations \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    that have dedicated hardware instructions on some micro-architectures.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  05852d582d78f41de8bc0fddb2fa6265e05460eb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  476548e28225f6d8cce3677c8e0f0382b89d21e05ca814ee2396d4e9ea7c2e98 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    35876
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# FIXME: add an implementation for these.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          0001-crc_stubs.c-abort-instead-of-error-on-unsupported-pl.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ocaml-dune-configurator
</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;color:#808080;'>diff --git a/ocaml/ocaml-ocaml_intrinsics/files/0001-crc_stubs.c-abort-instead-of-error-on-unsupported-pl.patch b/ocaml/ocaml-ocaml_intrinsics/files/0001-crc_stubs.c-abort-instead-of-error-on-unsupported-pl.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..97c26d7d553
</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-ocaml_intrinsics/files/0001-crc_stubs.c-abort-instead-of-error-on-unsupported-pl.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,46 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 54d66c9d3b6f08fd2917eb22afe7cc0fa8ced5a7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 21 Nov 2022 00:35:47 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] crc_stubs.c: abort instead of error on unsupported platforms
</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;'>+ src/crc_stubs.c | 12 +++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 9 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/crc_stubs.c b/src/crc_stubs.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 70aa270..9477adb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/crc_stubs.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/crc_stubs.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,7 +13,9 @@ static inline uint64_t crc64(uint64_t initial, uint64_t data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__SSE4_2__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return __builtin_ia32_crc32di(initial, data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "Target not supported"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Platform not supported, but we don't want to prevent the rest of the library from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     building on it. This is a temporary solution. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else // not ARCH_SIXTYFOUR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,7 +26,9 @@ static inline uint32_t crc32(uint32_t initial, uint32_t data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__SSE4_2__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return __builtin_ia32_crc32si(initial, data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#error "Target not supported"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Platform not supported, but we don't want to prevent the rest of the library from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     building on it. This is a temporary solution. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif // ARCH_SIXTYFOUR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,7 +49,9 @@ static inline uint32_t crc32(uint32_t initial, uint32_t data)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif // ARCH_SIXTYFOUR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #error "Target not supported"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Platform not supported, but we don't want to prevent the rest of the library from
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     building on it. This is a temporary solution. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint64_t crc64(uint64_t initial, uint64_t data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint32_t crc32(uint32_t initial, uint32_t data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span></pre><pre style='margin:0'>

</pre>