<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9b93a405755fced9c41fe43af3ad6a946e6a4f2f">https://github.com/macports/macports-ports/commit/9b93a405755fced9c41fe43af3ad6a946e6a4f2f</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 9b93a405755 pika: new port in devel
</span>9b93a405755 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9b93a405755fced9c41fe43af3ad6a946e6a4f2f
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Tue Jan 31 04:11:46 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    pika: new port in devel
</span>---
 devel/pika/Portfile                                | 131 +++++++++++++++++++++
 .../0001-compiler_fence-fix-for-Darwin-PPC.patch   |  31 +++++
 2 files changed, 162 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/pika/Portfile b/devel/pika/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..440469d504c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/pika/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,131 @@
</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           boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 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;'>+PortGroup           legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           mpi 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clock_gettime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        pika-org pika 0.11.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          devel parallel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Boost-1
</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;'>+description         C++ library for concurrency and parallelism
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    pika is a C++ library for concurrency and parallelism. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    It implements senders/receivers for CPU thread pools, MPI and CUDA.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  ba3aefab867f399e703f729e494dabfe9b08b7f1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3c3d94ca1a3960884bad7272bb9434d61723f4047ebdb097fcf522c6301c3fda \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1298684
</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;'>+# Prefer a version with libcontext working across all archs (ppc64 is still not fixed):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+boost.version       1.81
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_libfmt     libfmt9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.module_path-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/lib/${port_libfmt}/cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:hwloc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:${port_libfmt}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.arch} eq "powerpc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpi.setup       require -gcc6 -gcc7 -gcc8 -clang -fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mpi.setup       require -gcc6 -gcc7 -gcc8
</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;'>+patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# To be dropped with 0.12.0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/pika-org/pika/commit/f4ae1eca59231e3e20135cfbcbec2447b6953ffe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          0001-compiler_fence-fix-for-Darwin-PPC.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.thread_local_storage yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</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;'>+                    -DPIKA_WITH_COMPILER_WARNINGS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_COMPILER_WARNINGS_AS_ERRORS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_CUDA=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_DEPRECATION_WARNINGS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_DISABLED_SIGNAL_EXCEPTION_HANDLERS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_GPU_SUPPORT=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_HIDDEN_VISIBILITY=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_HIP=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_ITTNOTIFY=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_LOGGING=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_MPI=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_NICE_THREADLEVEL=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_PRECOMPILED_HEADERS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_THREAD_LOCAL_STORAGE=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TOOLS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_UNITY_BUILD=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # For now disable multithreading until MPICH is verified to work correctly on PPC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Valgrind is broken on PPC. Sanitizers are currently unsupported.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -Dppc_support=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_MPI_MULTITHREADED=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_VALGRIND=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_SANITIZERS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Remove this once Boost libcontext is fixed for ppc64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_GENERIC_CONTEXT_COROUTINES=OFF
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This can be dropped with 0.12.0:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/pika-org/pika/issues/576
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/pika-org/pika/pull/580
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.ldflags-append    -latomic
</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 jemalloc conflicts tbb description "Use jemalloc instead of system malloc" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:jemalloc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_MALLOC=jemalloc
</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 tbb conflicts jemalloc description "Use oneTBB instead of system malloc" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:include/tbb/task_arena.h:onetbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_MALLOC=tbb
</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;'>+    # Complete testsuite is massive. Enable only header tests by default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS=OFF -DPIKA_WITH_TESTS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_ADDITIONAL_HWLOC_TESTING=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_COMPILE_ONLY_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_BENCHMARKS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_EXTERNAL_BUILD=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_HEADERS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_REGRESSIONS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DPIKA_WITH_TESTS_UNIT=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.cmd        ctest
</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;'>+# Build system recommends against using system malloc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # jemalloc does not build on <= 10.5.8 atm: https://trac.macports.org/ticket/65945
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Change this when either jemalloc or oneTBB is fixed for old systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants    +jemalloc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/pika/files/0001-compiler_fence-fix-for-Darwin-PPC.patch b/devel/pika/files/0001-compiler_fence-fix-for-Darwin-PPC.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b8306d69749
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/pika/files/0001-compiler_fence-fix-for-Darwin-PPC.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 2509c7d10c3214e1acb30add10ed1ba779b4c302 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Sergey Fedorov <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 30 Jan 2023 10:52:58 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] compiler_fence: fix for Darwin PPC
</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;'>+ libs/pika/config/include/pika/config/compiler_fence.hpp | 6 +++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/libs/pika/config/include/pika/config/compiler_fence.hpp b/libs/pika/config/include/pika/config/compiler_fence.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 95cf5777..352ff47f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/libs/pika/config/include/pika/config/compiler_fence.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/libs/pika/config/include/pika/config/compiler_fence.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,9 +41,13 @@ extern "C" void _mm_pause();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__i386__) || defined(__x86_64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PIKA_SMT_PAUSE __asm__ __volatile__("rep; nop" : : : "memory")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(__ppc__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__ppc__) || defined(__ppc64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // According to: https://stackoverflow.com/questions/5425506/equivalent-of-x86-pause-instruction-for-ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PIKA_SMT_PAUSE __asm__ volatile("or r27,r27,r27")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PIKA_SMT_PAUSE __asm__ __volatile__("or 27,27,27")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__arm__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PIKA_SMT_PAUSE __asm__ __volatile__("yield")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.39.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>