[prev in list] [next in list] [prev in thread] [next in thread] 

List:       macports-changes
Subject:    [macports-ports] branch master updated: pika: new port in devel
From:       Sergey Fedorov <vital.had () gmail ! com>
Date:       2023-01-31 23:10:07
Message-ID: 167520661780.11842.2229755674693284816 () braeburn ! macports ! org
[Download RAW message or body]

<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/9b93a405755fced9c41fe43a \
f3ad6a946e6a4f2f">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 \
                &lt;vital.had@gmail.com&gt;
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" &amp;&amp; \
${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" &amp;&amp; ${os.major} &lt; 10} { </span><span \
style='display:block; white-space:pre;background:#e0ffe0;'>+    # jemalloc does not \
build on &lt;= 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 \
&lt;vital.had@gmail.com&gt; </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>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic