<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/f6ea95439ff358443d827069823b20f667891076">https://github.com/macports/macports-ports/commit/f6ea95439ff358443d827069823b20f667891076</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 f6ea95439ff py*-tiktoken: new port
</span>f6ea95439ff is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f6ea95439ff358443d827069823b20f667891076
</span>Author: Jōshin <git@wholezero.org>
AuthorDate: Mon Jan 8 18:05:10 2024 -0500

<span style='display:block; white-space:pre;color:#404040;'>    py*-tiktoken: new port
</span>---
 python/py-tiktoken/Portfile                      | 99 ++++++++++++++++++++++++
 python/py-tiktoken/files/test_misc.diff          | 15 ++++
 python/py-tiktoken/files/test_simple_public.diff | 15 ++++
 3 files changed, 129 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tiktoken/Portfile b/python/py-tiktoken/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8353ad7f1b8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tiktoken/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,99 @@
</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           python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                py-tiktoken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             0.5.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</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;'>+python.versions     311 312
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.pep517       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {wholezero.org:macports @mrdomino} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Fast BPE tokeniser for use with OpenAI's models.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://github.com/openai/tiktoken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          test_misc.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    test_simple_public.diff
</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  669bc2137a1b3e886ca11ecd41cdec1f5ef72889 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  f54c581f134a8ea96ce2023ab221d4d4d81ab614efa0b2fbce926387deb56c80 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    32378
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup       rust 1.0
</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:py${python.version}-setuptools-rust \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-wheel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-regex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-requests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_test-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:py${python.version}-hypothesis
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # cd ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # sudo cargo update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # egrep -e '^(name|version|checksum) = ' Cargo.lock | perl -pe 's/^(?:name|version|checksum) = "(.+)"/$1/' | tr '\n' ' ' | perl -pe 's|([0-9a-f]{64})|\1 \\\n|g' | pbcopy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cargo.crates \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    aho-corasick 1.1.2 b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    autocfg 1.1.0 d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bit-set 0.5.3 0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bit-vec 0.6.3 349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bitflags 1.3.2 bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    bstr 1.9.0 c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    cfg-if 1.0.0 baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    fancy-regex 0.11.0 b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    heck 0.4.1 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    indoc 2.0.4 1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    libc 0.2.152 13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lock_api 0.4.11 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    memchr 2.7.1 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    memoffset 0.9.0 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    once_cell 1.19.0 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    parking_lot 0.12.1 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    parking_lot_core 0.9.9 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    proc-macro2 1.0.76 95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pyo3 0.20.2 9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pyo3-build-config 0.20.2 07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pyo3-ffi 0.20.2 dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pyo3-macros 0.20.2 05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    pyo3-macros-backend 0.20.2 0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    quote 1.0.35 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    redox_syscall 0.4.1 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    regex 1.10.2 380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    regex-automata 0.4.3 5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    regex-syntax 0.8.2 c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rustc-hash 1.1.0 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    scopeguard 1.2.0 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    serde 1.0.195 63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    serde_derive 1.0.195 46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    smallvec 1.11.2 4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    syn 2.0.48 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    target-lexicon 0.12.13 69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    unicode-ident 1.0.12 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    unindent 0.2.3 c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows-targets 0.48.5 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_aarch64_gnullvm 0.48.5 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_aarch64_msvc 0.48.5 dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_i686_gnu 0.48.5 a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_i686_msvc 0.48.5 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_x86_64_gnu 0.48.5 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_x86_64_gnullvm 0.48.5 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    windows_x86_64_msvc 0.48.5 ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.post_args  --import-mode=append
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tiktoken/files/test_misc.diff b/python/py-tiktoken/files/test_misc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..942032fc265
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tiktoken/files/test_misc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./tests/test_misc.py.orig      2023-12-03 03:29:13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./tests/test_misc.py   2024-01-09 09:55:10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import pytest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +16,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert enc.name == "cl100k_base"
</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;'>++@pytest.mark.skip("need --import-mode=append")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def test_optional_blobfile_dependency():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     prog = """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import tiktoken
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tiktoken/files/test_simple_public.diff b/python/py-tiktoken/files/test_simple_public.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1adc4c26135
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tiktoken/files/test_simple_public.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./tests/test_simple_public.py.orig     2023-12-03 03:29:13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./tests/test_simple_public.py  2024-01-09 09:55:10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import pytest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,6 +34,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert enc.name == "cl100k_base"
</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;'>++@pytest.mark.skip("need --import-mode=append")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def test_optional_blobfile_dependency():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     prog = """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import tiktoken
</span></pre><pre style='margin:0'>

</pre>