<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/dd82cf7f15c97f836b27cb63e5825b3ce03c84c9">https://github.com/macports/macports-ports/commit/dd82cf7f15c97f836b27cb63e5825b3ce03c84c9</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new dd82cf7f15c ocaml-markup: new port 1.0.3
</span>dd82cf7f15c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit dd82cf7f15c97f836b27cb63e5825b3ce03c84c9
</span>Author: Paul Guyot <pguyot@kallisys.net>
AuthorDate: Thu Apr 25 16:05:32 2024 +0200

<span style='display:block; white-space:pre;color:#404040;'>    ocaml-markup: new port 1.0.3
</span>---
 ocaml/ocaml-markup/Portfile | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ocaml/ocaml-markup/Portfile b/ocaml/ocaml-markup/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e8124960cad
</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-markup/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</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           ocaml 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                ocaml-markup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        aantron markup.ml 1.0.3
</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         {pguyot @pguyot} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Error-recovering functional HTML5 and XML parsers and writers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    Markup.ml provides an HTML parser and an XML parser. The \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    parsers are wrapped in a simple interface: they are \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    functions that transform byte streams to parsing signal \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    streams. Streams can be manipulated in various ways, such \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    as processing by fold, filter, and map, assembly into DOM \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    tree structures, or serialization back to HTML or XML. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Both parsers are based on their respective standards. The \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    HTML parser, in particular, is based on the state machines \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    defined in HTML5. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    The parsers are error-recovering by default, and accept \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fragments. This makes it very easy to get a best-effort \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    parse of some input. The parsers can, however, be easily \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    configured to be strict, and to accept only full documents. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Apart from this, the parsers are streaming (do not build up \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    a document in memory), non-blocking (can be used with \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    threading libraries), lazy (do not consume input unless the \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    signal stream is being read), and process the input in a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    single pass. They automatically detect the character \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    encoding of the input stream, and convert everything to \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    UTF-8.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  02b0880d36792be597a48b98056c76652063d265 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  d6f289bd011aa21d139de71cdd4fb1724083901527a7498e70a1baaaab2d2f97 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    281596
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:ocaml-uutf
</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></pre><pre style='margin:0'>

</pre>