<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/cf19507fe836d96102209dd807e080d4e334ed2d">https://github.com/macports/macports-ports/commit/cf19507fe836d96102209dd807e080d4e334ed2d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit cf19507fe836d96102209dd807e080d4e334ed2d
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sun May 26 23:48:31 2024 +0800

<span style='display:block; white-space:pre;color:#404040;'>    lexbor: add tests and perf variants
</span>---
 net/lexbor/Portfile                                | 19 +++++++++
 net/lexbor/files/0001-perf.c-fix-for-powerpc.patch | 46 ++++++++++++++++++++++
 2 files changed, 65 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lexbor/Portfile b/net/lexbor/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8c87cd7ba2d..f955d424dd7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/lexbor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/lexbor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,3 +36,22 @@ post-destroot {
</span>         CHANGELOG.md LICENSE NOTICE README.md \
         ${destroot}${docdir}
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant perf description "Enable support for rdtsc" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/lexbor/lexbor/pull/227
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0001-perf.c-fix-for-powerpc.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DLEXBOR_WITH_PERF=ON
</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;'>+variant tests description "Enable testing" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.pre_args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DLEXBOR_BUILD_TESTS=ON
</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;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/lexbor/files/0001-perf.c-fix-for-powerpc.patch b/net/lexbor/files/0001-perf.c-fix-for-powerpc.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..47cfc277816
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/lexbor/files/0001-perf.c-fix-for-powerpc.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 46f0700bb0cc4216be2ec73216f85075df161e4d 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: Sun, 26 May 2024 18:47:27 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] perf.c: fix for powerpc
</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;'>+ source/lexbor/ports/posix/lexbor/core/perf.c | 19 +++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 19 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git source/lexbor/ports/posix/lexbor/core/perf.c source/lexbor/ports/posix/lexbor/core/perf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 79b99bc..d4dbfbc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- source/lexbor/ports/posix/lexbor/core/perf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ source/lexbor/ports/posix/lexbor/core/perf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -92,6 +92,24 @@ lexbor_perf_in_sec(void *perf)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static unsigned long long
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lexbor_perf_clock(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__POWERPC__) || defined(__powerpc__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unsigned long long int result = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unsigned long int upper, lower, tmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __asm__ volatile (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "0:\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "\tmftbu %0\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "\tmftb %1\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "\tmftbu %2\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "\tcmpw %2,%0\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      "\tbne 0b\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      : "=r"(upper), "=r"(lower), "=r"(tmp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result = upper;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result = result << 32;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    result = result | lower;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unsigned long long x;
</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;'>+@@ -108,6 +126,7 @@ lexbor_perf_clock(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       : "rdx", "ebx", "ecx");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return x;
</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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static unsigned long long
</span></pre><pre style='margin:0'>

</pre>