<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/afdb2ae60761675aeda4eabc63596ab9f4bcb974">https://github.com/macports/macports-ports/commit/afdb2ae60761675aeda4eabc63596ab9f4bcb974</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 afdb2ae6076 apache-arrow: fix build for ppc and older systems; various other changes - fix finding jemalloc - fix for missing MACH_TASK_BASIC_INFO_COUNT - use boost 1.81 with fixed intrinsics in multiprecision - remove spurious dependency on llvm for ppc - rapidjson should be path-style dep - enable extra components
</span>afdb2ae6076 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit afdb2ae60761675aeda4eabc63596ab9f4bcb974
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Mon May 29 00:55:29 2023 +0800
<span style='display:block; white-space:pre;color:#404040;'> apache-arrow: fix build for ppc and older systems; various other changes
</span><span style='display:block; white-space:pre;color:#404040;'> - fix finding jemalloc
</span><span style='display:block; white-space:pre;color:#404040;'> - fix for missing MACH_TASK_BASIC_INFO_COUNT
</span><span style='display:block; white-space:pre;color:#404040;'> - use boost 1.81 with fixed intrinsics in multiprecision
</span><span style='display:block; white-space:pre;color:#404040;'> - remove spurious dependency on llvm for ppc
</span><span style='display:block; white-space:pre;color:#404040;'> - rapidjson should be path-style dep
</span><span style='display:block; white-space:pre;color:#404040;'> - enable extra components
</span>---
devel/apache-arrow/Portfile | 42 ++++++++++++++++++++++-------
devel/apache-arrow/files/patch-io_util.diff | 25 +++++++++++++++++
2 files changed, 57 insertions(+), 10 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/apache-arrow/Portfile b/devel/apache-arrow/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3cad0c44812..b326bb43e7f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/apache-arrow/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/apache-arrow/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,12 +5,13 @@ PortGroup cmake 1.1
</span> PortGroup github 1.0
PortGroup boost 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+boost.version 1.81
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> github.setup apache arrow 12.0.0 apache-arrow-
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> name ${github.author}-${github.project}
categories devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms {darwin >= 17}
</span> license Apache-2
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,12 +37,24 @@ cmake.build_type Release
</span> set cmake_build_type \
[string tolower ${cmake.build_type}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_version 14
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_prefix ${prefix}/libexec/llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_bin ${llvm_prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# LLVM only needed for Gandiva: https://github.com/apache/arrow/issues/34999
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# I.e. it is here for no reason: Gandiva is not built by default and not asked to be built in configure.args.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# At least remove a dependency on LLVM for PPC, where it is broken.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# If Gandiva is added to the build, please add it inside the clause below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} ni [list ppc ppc64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set llvm_version 14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set llvm_prefix ${prefix}/libexec/llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set llvm_bin ${llvm_prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cmake.module_path-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${llvm_prefix}/lib/cmake/llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DLLVM_ROOT:PATH=${llvm_prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
cmake.module_path-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ${llvm_prefix}/lib/cmake/llvm \
</span> ${prefix}/lib/cmake/grpc/modules
depends_build-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,11 +71,10 @@ depends_lib-append \
</span> path:lib/libglog.dylib:google-glog \
port:jemalloc \
port:libutf8proc \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:llvm-${llvm_version} \
</span> port:lz4 \
port:ninja \
port:protobuf3-cpp \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:rapidjson \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/RapidJSON.pc:rapidjson \
</span> port:re2 \
port:snappy \
port:thrift \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,6 +82,9 @@ depends_lib-append \
</span> port:zlib \
port:zstd
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/apache/arrow/pull/35046
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-io_util.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Remove incorrect make dependency on SDK that cmake adds on some systems
# See https://github.com/grpc/grpc/issues/24902
post-configure {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,17 +111,24 @@ post-configure {
</span>
# macOS wheel:
# https://github.com/apache/arrow/blob/main/ci/scripts/python_wheel_macos_build.sh
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Re rpath see: https://arrow.apache.org/docs/r/articles/developers/setup.html#rpath-issues
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also: https://github.com/apache/arrow/issues/35045
</span> configure.args-append \
-DARROW_ACERO:BOOL=OFF \
-DARROW_BUILD_SHARED:BOOL=ON \
-DARROW_BUILD_STATIC:BOOL=OFF \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_COMPUTE:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_CSV:BOOL=ON \
</span> -DARROW_DATASET:BOOL=ON \
-DARROW_DEPENDENCY_USE_SHARED:BOOL=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_EXTRA_ERROR_CONTEXT:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_FILESYSTEM:BOOL=ON \
</span> -DARROW_FLIGHT:BOOL=ON \
-DARROW_GCS:BOOL=ON \
-DARROW_HDFS:BOOL=ON \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DARROW_JSON:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_INSTALL_NAME_RPATH:BOOL=OFF \
</span> -DARROW_JEMALLOC:BOOL=ON \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DARROW_JSON:BOOL=ON \
</span> -DARROW_MIMALLOC:BOOL=ON \
-DARROW_ORC:BOOL=ON \
-DARROW_PACKAGE_KIND="python-wheel-macos" \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -128,7 +150,7 @@ configure.args-append \
</span> -DARROW_WITH_ZSTD:BOOL=ON \
-Dc-ares_INCLUDE_DIR:PATH=${prefix}/include \
-DgRPC_ROOT:PATH=${prefix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DLLVM_ROOT:PATH=${llvm_prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Djemalloc_SOURCE:STRING=SYSTEM \
</span> -DRE2_SOURCE:STRING=SYSTEM
# Build auto-detects cache if it is installed and a part of it attempts
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/apache-arrow/files/patch-io_util.diff b/devel/apache-arrow/files/patch-io_util.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8373dcb3a00
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/apache-arrow/files/patch-io_util.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cpp/src/arrow/util/io_util.cc.orig 2023-01-18 16:38:47.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cpp/src/arrow/util/io_util.cc 2023-04-11 07:44:03.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2138,6 +2138,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // OSX ------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #ifdef MACH_TASK_BASIC_INFO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct mach_task_basic_info info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mach_msg_type_number_t infoCount = MACH_TASK_BASIC_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &infoCount) !=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2145,6 +2146,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARROW_LOG(WARNING) << "Can't resolve RSS value";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct task_basic_info info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &infoCount) != KERN_SUCCESS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ARROW_LOG(WARNING) << "Can't resolve RSS value";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return static_cast<int64_t>(info.resident_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__linux__)
</span></pre><pre style='margin:0'>
</pre>