-
Notifications
You must be signed in to change notification settings - Fork 0
/
apache-arrow@9.0.0.rb
95 lines (87 loc) · 3.11 KB
/
apache-arrow@9.0.0.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
class ApacheArrowAT900 < Formula
desc "Columnar in-memory analytics layer designed to accelerate big data"
homepage "https://arrow.apache.org/"
url "https://archive.apache.org/dist/arrow/arrow-9.0.0/apache-arrow-9.0.0.tar.gz"
sha256 "a9a033f0a3490289998f458680d19579cf07911717ba65afde6cb80070f7a9b5"
license "Apache-2.0"
revision 5
head "https://github.com/apache/arrow.git", branch: "master"
bottle do
# sha256 cellar: :any, arm64_ventura: "5afb5c2776ab7af0eb81fb024ceb38a757391de897ba293e425f2f6f02e1e84d"
# sha256 cellar: :any, arm64_monterey: "cc26e599d5be1978f825e51ff314c987a4d381087cde7eb0908db7a1bf44c342"
# sha256 cellar: :any, arm64_big_sur: "fdc290b1cb63ecd16ea7ced20334b59b74450ef2aa1f4eb52c3ab4d840deadf7"
# sha256 cellar: :any, ventura: "2431c602d0eb3dc430fcc07d71df523668061d0ec873b9e4520e4887d6773402"
# sha256 cellar: :any, monterey: "a4286b3f8ad741b018760c6fc9b8e387df57524b4f0e2fcf819f5ef7903d60a1"
# sha256 cellar: :any, big_sur: "b61c9c4c8b4905b15db680b27c9f78a2a27fed1a5faf1196fae24ec8e73d6b6d"
# sha256 x86_64_linux: "50141f865ab994211b665d80c2540e6293044430d83311574023d2b52625ea7b"
end
depends_on "boost" => :build
depends_on "cmake" => :build
depends_on "llvm" => :build
depends_on "aws-sdk-cpp"
depends_on "brotli"
depends_on "bzip2"
depends_on "glog"
depends_on "grpc"
depends_on "lz4"
depends_on "openssl@1.1"
depends_on "protobuf"
depends_on "rapidjson"
depends_on "re2"
depends_on "snappy"
depends_on "thrift"
depends_on "utf8proc"
depends_on "z3"
depends_on "zstd"
fails_with gcc: "5"
def install
# https://github.com/Homebrew/homebrew-core/issues/76537
ENV.runtime_cpu_detection if Hardware::CPU.intel?
args = %W[
# -DLLVM_ROOT=/opt/homebrew/opt/llvm@14
# -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@14/bin/clang
# -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@14/bin/clang++
-DCMAKE_CXX_STANDARD=17
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=TRUE
-DCMAKE_INSTALL_RPATH=#{rpath}
-DARROW_COMPUTE=ON
-DARROW_CSV=ON
-DARROW_DATASET=ON
-DARROW_FILESYSTEM=ON
-DARROW_FLIGHT=ON
-DARROW_FLIGHT_SQL=ON
-DARROW_GANDIVA=ON
-DARROW_HDFS=ON
-DARROW_JSON=ON
-DARROW_ORC=ON
-DARROW_PARQUET=ON
-DARROW_PLASMA=ON
-DARROW_PYTHON=ON
-DARROW_PROTOBUF_USE_SHARED=ON
-DARROW_S3=ON
-DARROW_WITH_BZ2=ON
-DARROW_WITH_ZLIB=ON
-DARROW_WITH_ZSTD=ON
-DARROW_WITH_LZ4=ON
-DARROW_WITH_SNAPPY=ON
-DARROW_WITH_BROTLI=ON
-DARROW_WITH_UTF8PROC=ON
-DARROW_INSTALL_NAME_RPATH=OFF
]
args << "-DARROW_MIMALLOC=ON" unless Hardware::CPU.arm?
system "cmake", "-S", "cpp", "-B", "build", *args, *std_cmake_args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
(testpath/"test.cpp").write <<~EOS
#include "arrow/api.h"
int main(void) {
arrow::int64();
return 0;
}
EOS
system ENV.cxx, "test.cpp", "-std=c++17", "-I#{include}", "-L#{lib}", "-larrow", "-o", "test"
system "./test"
end
end