From d1a4faaf802b811bd697ebdbe6b6c0fbb8676d17 Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Jan 13 2022 23:01:27 +0000 Subject: rebuild from lookaside --- diff --git a/.libarrow.metadata b/.libarrow.metadata new file mode 100644 index 0000000..0ef6523 --- /dev/null +++ b/.libarrow.metadata @@ -0,0 +1 @@ +d5963ea5e7ebcf40f1c4e4d548e71dd408f53a05 SOURCES/apache-arrow-4.0.1.tar.gz diff --git a/SOURCES/0001-cpp.patch b/SOURCES/0001-cpp.patch new file mode 100644 index 0000000..0fcde92 --- /dev/null +++ b/SOURCES/0001-cpp.patch @@ -0,0 +1,147 @@ +--- apache-arrow-4.0.1/cpp/thirdparty/versions.txt.orig 2021-08-24 17:49:59.451872173 -0400 ++++ apache-arrow-4.0.1/cpp/thirdparty/versions.txt 2021-08-24 17:50:08.734720962 -0400 +@@ -36,7 +36,7 @@ + ARROW_GBENCHMARK_BUILD_VERSION=v1.5.2 + ARROW_GFLAGS_BUILD_VERSION=v2.2.2 + ARROW_GLOG_BUILD_VERSION=v0.4.0 +-ARROW_GRPC_BUILD_VERSION=v1.35.0 ++ARROW_GRPC_BUILD_VERSION=v1.26.0 + ARROW_GTEST_BUILD_VERSION=1.10.0 + ARROW_JEMALLOC_BUILD_VERSION=5.2.1 + ARROW_LZ4_BUILD_VERSION=v1.9.3 +--- apache-arrow-4.0.1/cpp/cmake_modules/ThirdpartyToolchain.cmake.orig 2021-05-18 23:53:20.000000000 -0400 ++++ apache-arrow-4.0.1/cpp/cmake_modules/ThirdpartyToolchain.cmake 2021-09-16 07:20:52.776270833 -0400 +@@ -1104,8 +1104,8 @@ + set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") + set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC") + if(Threads::Threads) +- set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread") +- set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC -pthread") ++ set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread -lpthread") ++ set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC -pthread -lpthread") + endif() + + if(APPLE) +@@ -1920,29 +1920,82 @@ + endif() + + macro(build_xsimd) +- message(STATUS "Building xsimd from source") +- set(XSIMD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep/src/xsimd_ep-install") +- set(XSIMD_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}") ++ message(STATUS "Building xsimdxx from source") ++ set(ZSTD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep-install") ++ ++ set(XSIMD_CMAKE_ARGS ++ ${EP_COMMON_TOOLCHAIN} ++ "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}" ++ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ++ -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} ++ -DXSIMD_BUILD_PROGRAMS=off ++ -DXSIMD_BUILD_SHARED=off ++ -DXSIMD_BUILD_STATIC=on ++ -DXSIMD_MULTITHREAD_SUPPORT=off) ++ ++ if(MSVC) ++ set(XSIMD_STATIC_LIB "${XSIMD_PREFIX}/${CMAKE_INSTALL_LIBDIR}/xsimd_static.lib") ++ if(ARROW_USE_STATIC_CRT) ++ set(XSIMD_CMAKE_ARGS ${XSIMD_CMAKE_ARGS} "-DXSIMD_USE_STATIC_RUNTIME=on") ++ endif() ++ else() ++ # Only pass our C flags on Unix as on MSVC it leads to a ++ # "incompatible command-line options" error ++ set(XSIMD_CMAKE_ARGS ++ ${XSIMD_CMAKE_ARGS} ++ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} ++ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} ++ -DCMAKE_C_FLAGS=${EP_C_FLAGS} ++ -DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}) ++ endif() ++ ++ if(CMAKE_VERSION VERSION_LESS 3.7) ++ message(FATAL_ERROR "Building xsimd using ExternalProject requires at least CMake 3.7") ++ endif() + + externalproject_add(xsimd_ep + ${EP_LOG_OPTIONS} +- PREFIX "${CMAKE_BINARY_DIR}" ++ CMAKE_ARGS ${XSIMD_CMAKE_ARGS} ++ SOURCE_SUBDIR "build/cmake" ++ INSTALL_DIR ${XSIMD_PREFIX} + URL ${XSIMD_SOURCE_URL} +- CMAKE_ARGS ${XSIMD_CMAKE_ARGS}) ++ BUILD_BYPRODUCTS "${XSIMD_STATIC_LIB}") + +- set(XSIMD_INCLUDE_DIR "${XSIMD_PREFIX}/include") ++ file(MAKE_DIRECTORY "${XSIMD_PREFIX}/include") ++ ++ add_library(xsimd::libxsimd STATIC IMPORTED) ++ set_target_properties(xsimd::libxsimd ++ PROPERTIES IMPORTED_LOCATION "${XSIMD_STATIC_LIB}" ++ INTERFACE_INCLUDE_DIRECTORIES "${XSIMD_PREFIX}/include") + + add_dependencies(toolchain xsimd_ep) +- add_dependencies(toolchain-tests xsimd_ep) ++ add_dependencies(xsimd::libxsimd xsimd_ep) + +- set(XSIMD_VENDORED TRUE) ++ list(APPEND ARROW_BUNDLED_STATIC_LIBS xsimd::libxsimd) + endmacro() + +-if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") +- OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE")) +- set(xsimd_SOURCE "BUNDLED") ++if(ARROW_WITH_XSIMD) + resolve_dependency(xsimd) ++ ++ if(TARGET xsimd::libxsimd) ++ set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd) ++ else() ++ # "SYSTEM" source will prioritize cmake config, which exports ++ # xsimd::libxsimd_{static,shared} ++ if(ARROW_XSIMD_USE_SHARED) ++ if(TARGET xsimd::libxsimd_shared) ++ set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd_shared) ++ endif() ++ else() ++ if(TARGET xsimd::libxsimd_static) ++ set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd_static) ++ endif() ++ endif() ++ endif() ++ + # TODO: Don't use global includes but rather target_include_directories ++ get_target_property(XSIMD_INCLUDE_DIR ${ARROW_XSIMD_LIBXSIMD} ++ INTERFACE_INCLUDE_DIRECTORIES) + include_directories(SYSTEM ${XSIMD_INCLUDE_DIR}) + endif() + +@@ -2612,12 +2665,7 @@ + endmacro() + + if(ARROW_WITH_GRPC) +- set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") +- resolve_dependency(gRPC +- HAVE_ALT +- TRUE +- REQUIRED_VERSION +- ${ARROW_GRPC_REQUIRED_VERSION}) ++ resolve_dependency(gRPC REQUIRED_VERSION 1.17.0) + + # TODO: Don't use global includes but rather target_include_directories + get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) +--- apache-arrow-4.0.1/cpp/CMakeLists.txt.orig 2021-08-26 14:32:40.450321244 -0400 ++++ apache-arrow-4.0.1/cpp/CMakeLists.txt 2021-08-26 14:33:52.822138398 -0400 +@@ -751,6 +751,12 @@ + endif() + endif() + ++if(ARROW_WITH_XSIMD) ++ if(xsimd_SOURCE STREQUAL "SYSTEM") ++ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS xsimd::xsimd) ++ endif() ++endif() ++ + add_custom_target(arrow_dependencies) + add_custom_target(arrow_benchmark_dependencies) + add_custom_target(arrow_test_dependencies) diff --git a/SOURCES/0002-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch b/SOURCES/0002-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch new file mode 100644 index 0000000..49c074c --- /dev/null +++ b/SOURCES/0002-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch @@ -0,0 +1,541 @@ +--- apache-arrow-4.0.1/cpp/cmake_modules/ThirdpartyToolchain.cmake.orig 2022-01-13 08:22:59.432680621 -0500 ++++ apache-arrow-4.0.1/cpp/cmake_modules/ThirdpartyToolchain.cmake 2022-01-13 11:11:47.280058819 -0500 +@@ -333,14 +333,6 @@ + set(${_VARIABLE_NAME} ${_VARIABLE_VALUE}) + endforeach() + +-if(DEFINED ENV{ARROW_ABSL_URL}) +- set(ABSL_SOURCE_URL "$ENV{ARROW_ABSL_URL}") +-else() +- set_urls( +- ABSL_SOURCE_URL +- "https://github.com/abseil/abseil-cpp/archive/${ARROW_ABSL_BUILD_VERSION}.tar.gz") +-endif() +- + if(DEFINED ENV{ARROW_AWS_C_COMMON_URL}) + set(AWS_C_COMMON_SOURCE_URL "$ENV{ARROW_AWS_C_COMMON_URL}") + else() +@@ -415,16 +407,6 @@ + ) + endif() + +-if(DEFINED ENV{ARROW_CARES_URL}) +- set(CARES_SOURCE_URL "$ENV{ARROW_CARES_URL}") +-else() +- set_urls( +- CARES_SOURCE_URL +- "https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz" +- "https://github.com/ursa-labs/thirdparty/releases/download/latest/cares-${ARROW_CARES_BUILD_VERSION}.tar.gz" +- ) +-endif() +- + if(DEFINED ENV{ARROW_GBENCHMARK_URL}) + set(GBENCHMARK_SOURCE_URL "$ENV{ARROW_GBENCHMARK_URL}") + else() +@@ -455,16 +437,6 @@ + ) + endif() + +-if(DEFINED ENV{ARROW_GRPC_URL}) +- set(GRPC_SOURCE_URL "$ENV{ARROW_GRPC_URL}") +-else() +- set_urls( +- GRPC_SOURCE_URL +- "https://github.com/grpc/grpc/archive/${ARROW_GRPC_BUILD_VERSION}.tar.gz" +- "https://github.com/ursa-labs/thirdparty/releases/download/latest/grpc-${ARROW_GRPC_BUILD_VERSION}.tar.gz" +- ) +-endif() +- + if(DEFINED ENV{ARROW_GTEST_URL}) + set(GTEST_SOURCE_URL "$ENV{ARROW_GTEST_URL}") + else() +@@ -558,29 +530,6 @@ + ) + endif() + +-if(DEFINED ENV{ARROW_THRIFT_URL}) +- set(THRIFT_SOURCE_URL "$ENV{ARROW_THRIFT_URL}") +-else() +- set_urls( +- THRIFT_SOURCE_URL +- "http://www.apache.org/dyn/closer.cgi?action=download&filename=/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://downloads.apache.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://github.com/apache/thrift/archive/v${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://apache.claz.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://apache.cs.utah.edu/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://apache.mirrors.lucidnetworks.net/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://apache.osuosl.org/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://ftp.wayne.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://mirror.olnevhost.net/pub/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://mirrors.gigenet.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://mirrors.koehn.com/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://mirrors.ocf.berkeley.edu/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://mirrors.sonic.net/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://us.mirrors.quenda.co/apache/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- "https://github.com/ursa-labs/thirdparty/releases/download/latest/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" +- ) +-endif() +- + if(DEFINED ENV{ARROW_UTF8PROC_URL}) + set(ARROW_UTF8PROC_SOURCE_URL "$ENV{ARROW_UTF8PROC_URL}") + else() +@@ -590,14 +539,6 @@ + ) + endif() + +-if(DEFINED ENV{ARROW_XSIMD_URL}) +- set(XSIMD_SOURCE_URL "$ENV{ARROW_XSIMD_URL}") +-else() +- set_urls( +- XSIMD_SOURCE_URL +- "https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz") +-endif() +- + if(DEFINED ENV{ARROW_ZLIB_URL}) + set(ZLIB_SOURCE_URL "$ENV{ARROW_ZLIB_URL}") + else() +@@ -1104,8 +1045,8 @@ + set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") + set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC") + if(Threads::Threads) +- set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread -lpthread") +- set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC -pthread -lpthread") ++ set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread") ++ set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC -pthread") + endif() + + if(APPLE) +@@ -1240,28 +1181,6 @@ + message( + FATAL_ERROR "Building thrift using ExternalProject requires at least CMake 3.10") + endif() +- message("Building Apache Thrift from source") +- set(THRIFT_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/thrift_ep-install") +- set(THRIFT_INCLUDE_DIR "${THRIFT_PREFIX}/include") +- set(THRIFT_CMAKE_ARGS +- ${EP_COMMON_CMAKE_ARGS} +- "-DCMAKE_INSTALL_PREFIX=${THRIFT_PREFIX}" +- "-DCMAKE_INSTALL_RPATH=${THRIFT_PREFIX}/lib" +- -DBUILD_COMPILER=OFF +- -DBUILD_SHARED_LIBS=OFF +- -DBUILD_TESTING=OFF +- -DBUILD_EXAMPLES=OFF +- -DBUILD_TUTORIALS=OFF +- -DWITH_QT4=OFF +- -DWITH_C_GLIB=OFF +- -DWITH_JAVA=OFF +- -DWITH_PYTHON=OFF +- -DWITH_HASKELL=OFF +- -DWITH_CPP=ON +- -DWITH_STATIC_LIB=ON +- -DWITH_LIBEVENT=OFF +- # Work around https://gitlab.kitware.com/cmake/cmake/issues/18865 +- -DBoost_NO_BOOST_CMAKE=ON) + + # Thrift also uses boost. Forward important boost settings if there were ones passed. + if(DEFINED BOOST_ROOT) +@@ -1271,57 +1190,10 @@ + list(APPEND THRIFT_CMAKE_ARGS "-DBoost_NAMESPACE=${Boost_NAMESPACE}") + endif() + +- set(THRIFT_STATIC_LIB_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}thrift") +- if(MSVC) +- if(ARROW_USE_STATIC_CRT) +- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}mt") +- list(APPEND THRIFT_CMAKE_ARGS "-DWITH_MT=ON") +- else() +- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}md") +- list(APPEND THRIFT_CMAKE_ARGS "-DWITH_MT=OFF") +- endif() +- endif() +- if(${UPPERCASE_BUILD_TYPE} STREQUAL "DEBUG") +- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}d") +- endif() +- set(THRIFT_STATIC_LIB +- "${THRIFT_PREFIX}/lib/${THRIFT_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") +- +- if(BOOST_VENDORED) +- set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} boost_ep) +- endif() +- +- externalproject_add(thrift_ep +- URL ${THRIFT_SOURCE_URL} +- URL_HASH "MD5=${ARROW_THRIFT_BUILD_MD5_CHECKSUM}" +- BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" +- CMAKE_ARGS ${THRIFT_CMAKE_ARGS} +- DEPENDS ${THRIFT_DEPENDENCIES} ${EP_LOG_OPTIONS}) +- +- add_library(thrift::thrift STATIC IMPORTED) +- # The include directory must exist before it is referenced by a target. +- file(MAKE_DIRECTORY "${THRIFT_INCLUDE_DIR}") +- set_target_properties(thrift::thrift +- PROPERTIES IMPORTED_LOCATION "${THRIFT_STATIC_LIB}" +- INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}") +- add_dependencies(toolchain thrift_ep) +- add_dependencies(thrift::thrift thrift_ep) +- set(THRIFT_VERSION ${ARROW_THRIFT_BUILD_VERSION}) ++ add_library(thrift INTERFACE IMPORTED) + +- list(APPEND ARROW_BUNDLED_STATIC_LIBS thrift::thrift) + endmacro() + +-if(ARROW_WITH_THRIFT) +- # We already may have looked for Thrift earlier, when considering whether +- # to build Boost, so don't look again if already found. +- if(NOT Thrift_FOUND AND NOT THRIFT_FOUND) +- # Thrift c++ code generated by 0.13 requires 0.11 or greater +- resolve_dependency(Thrift REQUIRED_VERSION 0.11.0) +- endif() +- # TODO: Don't use global includes but rather target_include_directories +- include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) +-endif() +- + # ---------------------------------------------------------------------- + # Protocol Buffers (required for ORC and Flight and Gandiva libraries) + +@@ -1920,85 +1792,10 @@ + endif() + + macro(build_xsimd) +- message(STATUS "Building xsimdxx from source") +- set(ZSTD_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/xsimd_ep-install") +- +- set(XSIMD_CMAKE_ARGS +- ${EP_COMMON_TOOLCHAIN} +- "-DCMAKE_INSTALL_PREFIX=${XSIMD_PREFIX}" +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} +- -DXSIMD_BUILD_PROGRAMS=off +- -DXSIMD_BUILD_SHARED=off +- -DXSIMD_BUILD_STATIC=on +- -DXSIMD_MULTITHREAD_SUPPORT=off) +- +- if(MSVC) +- set(XSIMD_STATIC_LIB "${XSIMD_PREFIX}/${CMAKE_INSTALL_LIBDIR}/xsimd_static.lib") +- if(ARROW_USE_STATIC_CRT) +- set(XSIMD_CMAKE_ARGS ${XSIMD_CMAKE_ARGS} "-DXSIMD_USE_STATIC_RUNTIME=on") +- endif() +- else() +- # Only pass our C flags on Unix as on MSVC it leads to a +- # "incompatible command-line options" error +- set(XSIMD_CMAKE_ARGS +- ${XSIMD_CMAKE_ARGS} +- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} +- -DCMAKE_C_FLAGS=${EP_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}) +- endif() +- +- if(CMAKE_VERSION VERSION_LESS 3.7) +- message(FATAL_ERROR "Building xsimd using ExternalProject requires at least CMake 3.7") +- endif() +- +- externalproject_add(xsimd_ep +- ${EP_LOG_OPTIONS} +- CMAKE_ARGS ${XSIMD_CMAKE_ARGS} +- SOURCE_SUBDIR "build/cmake" +- INSTALL_DIR ${XSIMD_PREFIX} +- URL ${XSIMD_SOURCE_URL} +- BUILD_BYPRODUCTS "${XSIMD_STATIC_LIB}") +- +- file(MAKE_DIRECTORY "${XSIMD_PREFIX}/include") +- +- add_library(xsimd::libxsimd STATIC IMPORTED) +- set_target_properties(xsimd::libxsimd +- PROPERTIES IMPORTED_LOCATION "${XSIMD_STATIC_LIB}" +- INTERFACE_INCLUDE_DIRECTORIES "${XSIMD_PREFIX}/include") +- +- add_dependencies(toolchain xsimd_ep) +- add_dependencies(xsimd::libxsimd xsimd_ep) ++ message(STATUS "Building xsimd from source") + +- list(APPEND ARROW_BUNDLED_STATIC_LIBS xsimd::libxsimd) + endmacro() + +-if(ARROW_WITH_XSIMD) +- resolve_dependency(xsimd) +- +- if(TARGET xsimd::libxsimd) +- set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd) +- else() +- # "SYSTEM" source will prioritize cmake config, which exports +- # xsimd::libxsimd_{static,shared} +- if(ARROW_XSIMD_USE_SHARED) +- if(TARGET xsimd::libxsimd_shared) +- set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd_shared) +- endif() +- else() +- if(TARGET xsimd::libxsimd_static) +- set(ARROW_XSIMD_LIBXSIMD xsimd::libxsimd_static) +- endif() +- endif() +- endif() +- +- # TODO: Don't use global includes but rather target_include_directories +- get_target_property(XSIMD_INCLUDE_DIR ${ARROW_XSIMD_LIBXSIMD} +- INTERFACE_INCLUDE_DIRECTORIES) +- include_directories(SYSTEM ${XSIMD_INCLUDE_DIR}) +-endif() +- + macro(build_zlib) + message(STATUS "Building ZLIB from source") + set(ZLIB_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/zlib_ep/src/zlib_ep-install") +@@ -2347,37 +2144,8 @@ + + macro(build_cares) + message(STATUS "Building c-ares from source") +- set(CARES_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/cares_ep-install") +- set(CARES_INCLUDE_DIR "${CARES_PREFIX}/include") + +- # If you set -DCARES_SHARED=ON then the build system names the library +- # libcares_static.a +- set( +- CARES_STATIC_LIB +- "${CARES_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cares${CMAKE_STATIC_LIBRARY_SUFFIX}" +- ) +- +- set(CARES_CMAKE_ARGS +- "${EP_COMMON_CMAKE_ARGS}" +- -DCARES_STATIC=ON +- -DCARES_SHARED=OFF +- -DCMAKE_INSTALL_LIBDIR=lib +- "-DCMAKE_INSTALL_PREFIX=${CARES_PREFIX}") +- +- externalproject_add(cares_ep +- ${EP_LOG_OPTIONS} +- URL ${CARES_SOURCE_URL} +- CMAKE_ARGS ${CARES_CMAKE_ARGS} +- BUILD_BYPRODUCTS "${CARES_STATIC_LIB}") +- +- file(MAKE_DIRECTORY ${CARES_INCLUDE_DIR}) +- +- add_dependencies(toolchain cares_ep) +- add_library(c-ares::cares STATIC IMPORTED) +- set_target_properties(c-ares::cares +- PROPERTIES IMPORTED_LOCATION "${CARES_STATIC_LIB}" +- INTERFACE_INCLUDE_DIRECTORIES "${CARES_INCLUDE_DIR}") +- add_dependencies(c-ares::cares cares_ep) ++ add_library(cares INTERFACE IMPORTED) + + if(APPLE) + # libresolv must be linked from c-ares version 1.16.1 +@@ -2386,8 +2154,6 @@ + PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBRESOLV_LIBRARY}") + endif() + +- set(CARES_VENDORED TRUE) +- + list(APPEND ARROW_BUNDLED_STATIC_LIBS c-ares::cares) + endmacro() + +@@ -2402,17 +2168,6 @@ + + message(STATUS "Building gRPC from source") + +- # First need to build Abseil +- set(ABSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/absl_ep-install") +- set(ABSL_CMAKE_ARGS +- "${EP_COMMON_CMAKE_ARGS}" +- -DABSL_RUN_TESTS=OFF +- -DCMAKE_CXX_STANDARD=11 +- -DCMAKE_INSTALL_LIBDIR=lib +- "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") +- set(ABSL_BUILD_BYPRODUCTS) +- set(ABSL_LIBRARIES) +- + # Abseil libraries gRPC depends on + # Follows grpc++ package config template for link order of libraries + # https://github.com/grpc/grpc/blob/v1.35.0/CMakeLists.txt#L16361 +@@ -2440,23 +2195,10 @@ + raw_logging_internal) + + foreach(_ABSL_LIB ${_ABSL_LIBS}) +- set( +- _ABSL_STATIC_LIBRARY +- "${ABSL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}absl_${_ABSL_LIB}${CMAKE_STATIC_LIBRARY_SUFFIX}" +- ) +- add_library(absl::${_ABSL_LIB} STATIC IMPORTED) +- set_target_properties(absl::${_ABSL_LIB} +- PROPERTIES IMPORTED_LOCATION ${_ABSL_STATIC_LIBRARY}) +- list(APPEND ABSL_BUILD_BYPRODUCTS ${_ABSL_STATIC_LIBRARY}) +- list(APPEND ABSL_LIBRARIES absl::${_ABSL_LIB}) ++ add_library(absl_${_ABSL_LIB} INTERFACE IMPORTED) ++ list(APPEND ABSL_LIBRARIES absl_${_ABSL_LIB}) + endforeach() + +- externalproject_add(absl_ep +- ${EP_LOG_OPTIONS} +- URL ${ABSL_SOURCE_URL} +- CMAKE_ARGS ${ABSL_CMAKE_ARGS} +- BUILD_BYPRODUCTS ${ABSL_BUILD_BYPRODUCTS}) +- + set(GRPC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-prefix/src/grpc_ep-build") + set(GRPC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-install") + set(GRPC_HOME "${GRPC_PREFIX}") +@@ -2485,7 +2227,6 @@ + + add_custom_target(grpc_dependencies) + +- add_dependencies(grpc_dependencies absl_ep) + if(CARES_VENDORED) + add_dependencies(grpc_dependencies cares_ep) + endif() +@@ -2577,58 +2318,30 @@ + # Work around https://gitlab.kitware.com/cmake/cmake/issues/15052 + file(MAKE_DIRECTORY ${GRPC_INCLUDE_DIR}) + +- add_library(gRPC::upb STATIC IMPORTED) +- set_target_properties(gRPC::upb +- PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_UPB}" +- INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") +- +- add_library(gRPC::gpr STATIC IMPORTED) +- set_target_properties(gRPC::gpr +- PROPERTIES IMPORTED_LOCATION "${GRPC_STATIC_LIBRARY_GPR}" +- INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") ++ add_library(upb INTERFACE IMPORTED) + +- add_library(gRPC::address_sorting STATIC IMPORTED) +- set_target_properties(gRPC::address_sorting +- PROPERTIES IMPORTED_LOCATION +- "${GRPC_STATIC_LIBRARY_ADDRESS_SORTING}" +- INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}") ++ add_library(gpr INTERFACE IMPORTED) + +- add_library(gRPC::grpc STATIC IMPORTED) ++ add_library(address_sorting INTERFACE IMPORTED) ++ ++ add_library(grpc INTERFACE IMPORTED) + set(GRPC_LINK_LIBRARIES +- gRPC::gpr +- gRPC::upb +- gRPC::address_sorting ++ gpr ++ upb ++ address_sorting + ${ABSL_LIBRARIES} +- c-ares::cares ++ cares + ZLIB::ZLIB + Threads::Threads) +- set_target_properties(gRPC::grpc +- PROPERTIES IMPORTED_LOCATION +- "${GRPC_STATIC_LIBRARY_GRPC}" +- INTERFACE_INCLUDE_DIRECTORIES +- "${GRPC_INCLUDE_DIR}" +- INTERFACE_LINK_LIBRARIES +- "${GRPC_LINK_LIBRARIES}") +- +- add_library(gRPC::grpc++ STATIC IMPORTED) +- set(GRPCPP_LINK_LIBRARIES gRPC::grpc ${ARROW_PROTOBUF_LIBPROTOBUF}) +- set_target_properties(gRPC::grpc++ +- PROPERTIES IMPORTED_LOCATION +- "${GRPC_STATIC_LIBRARY_GRPCPP}" +- INTERFACE_INCLUDE_DIRECTORIES +- "${GRPC_INCLUDE_DIR}" +- INTERFACE_LINK_LIBRARIES +- "${GRPCPP_LINK_LIBRARIES}") +- +- add_executable(gRPC::grpc_cpp_plugin IMPORTED) +- set_target_properties(gRPC::grpc_cpp_plugin +- PROPERTIES IMPORTED_LOCATION ${GRPC_CPP_PLUGIN}) +- +- add_dependencies(grpc_ep grpc_dependencies) +- add_dependencies(toolchain grpc_ep) +- add_dependencies(gRPC::grpc++ grpc_ep) +- add_dependencies(gRPC::grpc_cpp_plugin grpc_ep) +- set(GRPC_VENDORED TRUE) ++ ++ add_library(grpc++ INTERFACE IMPORTED) ++ ++# add_executable(gRPC::grpc_cpp_plugin IMPORTED) ++# set_target_properties(gRPC::grpc_cpp_plugin ++# PROPERTIES IMPORTED_LOCATION ${GRPC_CPP_PLUGIN}) ++ ++# add_dependencies(gRPC::grpc_cpp_plugin grpc_ep) ++# set(GRPC_VENDORED TRUE) + + # ar -M rejects with the "libgrpc++.a" filename because "+" is a line + # continuation character in these scripts, so we have to create a copy of the +@@ -2656,7 +2369,6 @@ + add_dependencies(gRPC::grpcpp_for_bundling grpc_copy_grpc++) + + list(APPEND ARROW_BUNDLED_STATIC_LIBS +- ${ABSL_LIBRARIES} + gRPC::address_sorting + gRPC::gpr + gRPC::grpc +@@ -2665,7 +2377,12 @@ + endmacro() + + if(ARROW_WITH_GRPC) +- resolve_dependency(gRPC REQUIRED_VERSION 1.17.0) ++ set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") ++ resolve_dependency(gRPC ++ HAVE_ALT ++ TRUE ++ REQUIRED_VERSION ++ ${ARROW_GRPC_REQUIRED_VERSION}) + + # TODO: Don't use global includes but rather target_include_directories + get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) +--- apache-arrow-4.0.1/cpp/thirdparty/versions.txt.orig 2022-01-13 08:22:59.431680640 -0500 ++++ apache-arrow-4.0.1/cpp/thirdparty/versions.txt 2022-01-13 11:12:24.990372196 -0500 +@@ -24,7 +24,6 @@ + # format). + + # Abseil LTS branch, Sept 2020, Patch 2 +-ARROW_ABSL_BUILD_VERSION=0f3bb466b868b523cf1dc9b2aaaed65c77b28862 + ARROW_AWSSDK_BUILD_VERSION=1.8.133 + ARROW_AWS_CHECKSUMS_BUILD_VERSION=v0.1.10 + ARROW_AWS_C_COMMON_BUILD_VERSION=v0.4.59 +@@ -32,11 +31,9 @@ + ARROW_BOOST_BUILD_VERSION=1.75.0 + ARROW_BROTLI_BUILD_VERSION=v1.0.9 + ARROW_BZIP2_BUILD_VERSION=1.0.8 +-ARROW_CARES_BUILD_VERSION=1.17.1 + ARROW_GBENCHMARK_BUILD_VERSION=v1.5.2 + ARROW_GFLAGS_BUILD_VERSION=v2.2.2 + ARROW_GLOG_BUILD_VERSION=v0.4.0 +-ARROW_GRPC_BUILD_VERSION=v1.26.0 + ARROW_GTEST_BUILD_VERSION=1.10.0 + ARROW_JEMALLOC_BUILD_VERSION=5.2.1 + ARROW_LZ4_BUILD_VERSION=v1.9.3 +@@ -51,10 +48,7 @@ + ARROW_RAPIDJSON_BUILD_VERSION=1a803826f1197b5e30703afe4b9c0e7dd48074f5 + ARROW_RE2_BUILD_VERSION=2021-02-02 + ARROW_SNAPPY_BUILD_VERSION=1.1.8 +-ARROW_THRIFT_BUILD_VERSION=0.13.0 +-ARROW_THRIFT_BUILD_MD5_CHECKSUM=38a27d391a2b03214b444cb13d5664f1 + ARROW_UTF8PROC_BUILD_VERSION=v2.6.1 +-ARROW_XSIMD_BUILD_VERSION=e9234cd6e6f4428fc260073b2c34ffe86fda1f34 + ARROW_ZLIB_BUILD_VERSION=1.2.11 + ARROW_ZSTD_BUILD_VERSION=v1.4.8 + +@@ -63,16 +57,13 @@ + # generated archive file. The third field is the url of the project for the + # given version. + DEPENDENCIES=( +- "ARROW_ABSL_URL absl-${ARROW_ABSL_BUILD_VERSION}.tar.gz https://github.com/abseil/abseil-cpp/archive/${ARROW_ABSL_BUILD_VERSION}.tar.gz" + "ARROW_AWSSDK_URL aws-sdk-cpp-${ARROW_AWSSDK_BUILD_VERSION}.tar.gz https://github.com/aws/aws-sdk-cpp/archive/${ARROW_AWSSDK_BUILD_VERSION}.tar.gz" + "ARROW_BOOST_URL boost-${ARROW_BOOST_BUILD_VERSION}.tar.gz https://github.com/ursa-labs/thirdparty/releases/download/latest/boost_${ARROW_BOOST_BUILD_VERSION//./_}.tar.gz" + "ARROW_BROTLI_URL brotli-${ARROW_BROTLI_BUILD_VERSION}.tar.gz https://github.com/google/brotli/archive/${ARROW_BROTLI_BUILD_VERSION}.tar.gz" + "ARROW_BZIP2_URL bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz https://sourceware.org/pub/bzip2/bzip2-${ARROW_BZIP2_BUILD_VERSION}.tar.gz" +- "ARROW_CARES_URL cares-${ARROW_CARES_BUILD_VERSION}.tar.gz https://c-ares.haxx.se/download/c-ares-${ARROW_CARES_BUILD_VERSION}.tar.gz" + "ARROW_GBENCHMARK_URL gbenchmark-${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz https://github.com/google/benchmark/archive/${ARROW_GBENCHMARK_BUILD_VERSION}.tar.gz" + "ARROW_GFLAGS_URL gflags-${ARROW_GFLAGS_BUILD_VERSION}.tar.gz https://github.com/gflags/gflags/archive/${ARROW_GFLAGS_BUILD_VERSION}.tar.gz" + "ARROW_GLOG_URL glog-${ARROW_GLOG_BUILD_VERSION}.tar.gz https://github.com/google/glog/archive/${ARROW_GLOG_BUILD_VERSION}.tar.gz" +- "ARROW_GRPC_URL grpc-${ARROW_GRPC_BUILD_VERSION}.tar.gz https://github.com/grpc/grpc/archive/${ARROW_GRPC_BUILD_VERSION}.tar.gz" + "ARROW_GTEST_URL gtest-${ARROW_GTEST_BUILD_VERSION}.tar.gz https://github.com/google/googletest/archive/release-${ARROW_GTEST_BUILD_VERSION}.tar.gz" + "ARROW_JEMALLOC_URL jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2 https://github.com/jemalloc/jemalloc/releases/download/${ARROW_JEMALLOC_BUILD_VERSION}/jemalloc-${ARROW_JEMALLOC_BUILD_VERSION}.tar.bz2" + "ARROW_LZ4_URL lz4-${ARROW_LZ4_BUILD_VERSION}.tar.gz https://github.com/lz4/lz4/archive/${ARROW_LZ4_BUILD_VERSION}.tar.gz" +@@ -82,9 +73,7 @@ + "ARROW_RAPIDJSON_URL rapidjson-${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz https://github.com/miloyip/rapidjson/archive/${ARROW_RAPIDJSON_BUILD_VERSION}.tar.gz" + "ARROW_RE2_URL re2-${ARROW_RE2_BUILD_VERSION}.tar.gz https://github.com/google/re2/archive/${ARROW_RE2_BUILD_VERSION}.tar.gz" + "ARROW_SNAPPY_URL snappy-${ARROW_SNAPPY_BUILD_VERSION}.tar.gz https://github.com/google/snappy/archive/${ARROW_SNAPPY_BUILD_VERSION}.tar.gz" +- "ARROW_THRIFT_URL thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz https://archive.apache.org/dist/thrift/${ARROW_THRIFT_BUILD_VERSION}/thrift-${ARROW_THRIFT_BUILD_VERSION}.tar.gz" + "ARROW_UTF8PROC_URL utf8proc-${ARROW_UTF8PROC_BUILD_VERSION}.tar.gz https://github.com/JuliaStrings/utf8proc/archive/${ARROW_UTF8PROC_BUILD_VERSION}.tar.gz" +- "ARROW_XSIMD_URL xsimd-${ARROW_XSIMD_BUILD_VERSION}.tar.gz https://github.com/xtensor-stack/xsimd/archive/${ARROW_XSIMD_BUILD_VERSION}.tar.gz" + "ARROW_ZLIB_URL zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz https://zlib.net/fossils/zlib-${ARROW_ZLIB_BUILD_VERSION}.tar.gz" + "ARROW_ZSTD_URL zstd-${ARROW_ZSTD_BUILD_VERSION}.tar.gz https://github.com/facebook/zstd/archive/${ARROW_ZSTD_BUILD_VERSION}.tar.gz" + ) diff --git a/SPECS/libarrow.spec b/SPECS/libarrow.spec new file mode 100644 index 0000000..656911b --- /dev/null +++ b/SPECS/libarrow.spec @@ -0,0 +1,754 @@ +# -*- sh-shell: rpm -*- +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +%global use_flight 1 +%global use_gandiva 0 +%global use_mimalloc 0 +%global use_ninja 1 +# TODO: Enable this. This works on local but is fragile on GitHub Actions and +# Travis CI. +%global use_s3 0 +%global have_rapidjson 1 +%global have_re2 1 +%global have_utf8proc 1 + +Name: libarrow +Version: 4.0.1 +Release: 2%{?dist} +Summary: Apache Arrow is a data processing library for analysis + +License: ASL 2.0 +URL: https://arrow.apache.org/ +Source0: https://dist.apache.org/repos/dist/release/arrow/arrow-%{version}/apache-arrow-%{version}.tar.gz +Patch0001: 0001-cpp.patch +Patch0002: 0002-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch +# Apache ORC (liborc) has numerous compile errors and apparently assumes +# a 64-bit build and runtime environment. This is only consumer of the liborc +# package, and in turn the only consumer of this and liborc is Ceph, which +# is also 64-bit only +ExcludeArch: i686 armv7hl +BuildRequires: bison +BuildRequires: boost-devel +BuildRequires: brotli-devel +BuildRequires: bzip2-devel +BuildRequires: cmake +%if %{use_ninja} +BuildRequires: ninja-build +%endif +BuildRequires: meson +%if %{use_s3} +BuildRequires: curl-devel +%endif +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: gflags-devel +BuildRequires: glog-devel +BuildRequires: grpc-devel +BuildRequires: grpc-plugins +BuildRequires: libzstd-devel +BuildRequires: lz4-devel +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-numpy +BuildRequires: xsimd-devel +BuildRequires: abseil-cpp-devel +BuildRequires: c-ares-devel +BuildRequires: thrift-devel +%if %{have_rapidjson} +BuildRequires: rapidjson-devel +%endif +%if %{have_re2} +BuildRequires: re2-devel +%endif +BuildRequires: snappy-devel +%if %{have_utf8proc} +BuildRequires: utf8proc-devel +%endif +BuildRequires: zlib-devel +BuildRequires: liborc-devel + +%if %{use_gandiva} +BuildRequires: llvm-devel +BuildRequires: ncurses-devel +%endif + +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc + +Requires: boost-system +Requires: boost-filesystem +Requires: brotli + +%description +Apache Arrow is a data processing library for analysis. + + +%prep +%setup -q -n apache-arrow-%{version} +%patch0001 -p1 +%patch0002 -p1 + +%build +mkdir cpp/build +pushd cpp/build +%cmake .. \ +%if %{use_flight} + -DARROW_FLIGHT=ON \ +%endif +%if %{use_gandiva} + -DARROW_GANDIVA=ON \ +%endif +%if %{use_mimalloc} + -DARROW_MIMALLOC=ON \ +%endif + -DARROW_ORC=ON \ + -DARROW_PARQUET=ON \ + -DARROW_PLASMA=ON \ + -DARROW_PYTHON=ON \ + -DARROW_JEMALLOC=OFF \ + -DGRPC_SOURCE="SYSTEM" \ +%if %{use_s3} + -DARROW_S3=ON \ +%endif + -DARROW_WITH_BROTLI=ON \ + -DARROW_WITH_BZ2=ON \ + -DARROW_WITH_LZ4=ON \ + -DARROW_WITH_SNAPPY=ON \ + -DARROW_WITH_ZLIB=ON \ + -DARROW_WITH_ZSTD=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ + -DARROW_USE_CCACHE=OFF \ + -DCMAKE_UNITY_BUILD=ON \ + -DPARQUET_REQUIRE_ENCRYPTION=ON \ + -DPythonInterp_FIND_VERSION=ON \ + -DPythonInterp_FIND_VERSION_MAJOR=3 \ +%if %{use_ninja} + -GNinja +%endif + +export VERBOSE=1 +export GCC_COLORS= +%cmake_build + +popd +pushd c_glib +meson setup build \ + --default-library=both \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + -Darrow_cpp_build_dir=../cpp/build/redhat-linux-build \ + -Darrow_cpp_build_type=relwithdebinfo \ + -Dgtk_doc=true +cd build && %ninja_build + +%install +echo install + +pushd c_glib/build +DESTDIR=$RPM_BUILD_ROOT %ninja_install + +popd +pushd cpp/build +%cmake_install + + +%files +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_docdir}/arrow/ +%{_libdir}/libarrow.so.* + +%package devel +Summary: Libraries and header files for Apache Arrow C++ +Requires: %{name} = %{version}-%{release} +Requires: brotli-devel +Requires: bzip2-devel +Requires: libzstd-devel +Requires: lz4-devel +Requires: openssl-devel +%if %{have_rapidjson} +Requires: rapidjson-devel +%endif +%if %{have_re2} +Requires: re2-devel +%endif +Requires: snappy-devel +%if %{have_utf8proc} +Requires: utf8proc-devel +%endif +Requires: zlib-devel + +%description devel +Libraries and header files for Apache Arrow C++. + +%files devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow/ +%exclude %{_includedir}/arrow/dataset/ +%if %{use_flight} +%exclude %{_includedir}/arrow/flight/ +%endif +%exclude %{_includedir}/arrow/python/ +%{_libdir}/cmake/arrow/ArrowConfig*.cmake +%{_libdir}/cmake/arrow/ArrowOptions.cmake +%{_libdir}/cmake/arrow/ArrowTargets*.cmake +%{_libdir}/cmake/arrow/FindArrow.cmake +%exclude %{_libdir}/cmake/arrow/FindBrotli.cmake +%exclude %{_libdir}/cmake/arrow/FindgRPCAlt.cmake +%exclude %{_libdir}/cmake/arrow/FindLz4.cmake +%exclude %{_libdir}/cmake/arrow/FindORC.cmake +%exclude %{_libdir}/cmake/arrow/FindSnappy.cmake +%if %{have_re2} +%exclude %{_libdir}/cmake/arrow/Findre2Alt.cmake +%endif +%if %{have_utf8proc} +%exclude %{_libdir}/cmake/arrow/Findutf8proc.cmake +%endif +%exclude %{_libdir}/cmake/arrow/Findzstd.cmake +%{_libdir}/cmake/arrow/arrow-config.cmake +%{_libdir}/libarrow.a +%{_libdir}/libarrow.so +%{_libdir}/pkgconfig/arrow-compute.pc +%{_libdir}/pkgconfig/arrow-csv.pc +%{_libdir}/pkgconfig/arrow-filesystem.pc +%{_libdir}/pkgconfig/arrow-json.pc +%{_libdir}/pkgconfig/arrow-orc.pc +%{_libdir}/pkgconfig/arrow.pc + +%package dataset-libs +Summary: C++ library to read and write semantic datasets stored in different locations and formats +Requires: %{name} = %{version}-%{release} + +%description dataset-libs +This package contains the libraries for Apache Arrow dataset. + +%files dataset-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow_dataset.so.* + +%package dataset-devel +Summary: Libraries and header files for Apache Arrow dataset. +Requires: %{name}-dataset-libs = %{version}-%{release} + +%description dataset-devel +Libraries and header files for Apache Arrow dataset. + +%files dataset-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow/dataset/ +%{_libdir}/cmake/arrow/ArrowDatasetConfig*.cmake +%{_libdir}/cmake/arrow/ArrowDatasetTargets*.cmake +%{_libdir}/cmake/arrow/FindArrowDataset.cmake +%{_libdir}/libarrow_dataset.a +%{_libdir}/libarrow_dataset.so +%{_libdir}/pkgconfig/arrow-dataset.pc + +%if %{use_flight} +%package flight-libs +Summary: C++ library for fast data transport. +Requires: %{name} = %{version}-%{release} +Requires: openssl + +%description flight-libs +This package contains the libraries for Apache Arrow Flight. + +%files flight-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow_flight.so.* + +%package flight-devel +Summary: Libraries and header files for Apache Arrow Flight. +Requires: %{name}-flight-libs = %{version}-%{release} + +%description flight-devel +Libraries and header files for Apache Arrow Flight. + +%files flight-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow/flight/ +%{_libdir}/cmake/arrow/ArrowFlightConfig*.cmake +%{_libdir}/cmake/arrow/ArrowFlightTargets*.cmake +%{_libdir}/cmake/arrow/FindArrowFlight.cmake +%{_libdir}/libarrow_flight.a +%{_libdir}/libarrow_flight.so +%{_libdir}/pkgconfig/arrow-flight.pc +%endif + +%if %{use_gandiva} +%package -n gandiva-libs +Summary: C++ library for compiling and evaluating expressions on Apache Arrow data. +Requires: %{name} = %{version}-%{release} +Requires: ncurses-libs + +%description -n gandiva-libs +This package contains the libraries for Gandiva. + +%files -n gandiva-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libgandiva.so.* + +%package -n gandiva-devel +Summary: Libraries and header files for Gandiva. +Requires: gandiva-libs = %{version}-%{release} +Requires: llvm-devel + +%description -n gandiva-devel +Libraries and header files for Gandiva. + +%files -n gandiva-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/gandiva/ +%{_libdir}/cmake/arrow/GandivaConfig*.cmake +%{_libdir}/cmake/arrow/GandivaTargets*.cmake +%{_libdir}/cmake/arrow/FindGandiva.cmake +%{_libdir}/libgandiva.a +%{_libdir}/libgandiva.so +%{_libdir}/pkgconfig/gandiva.pc +%endif + +%package python-libs +Summary: Python integration library for Apache Arrow +Requires: %{name} = %{version}-%{release} +Requires: python3-numpy + +%description python-libs +This package contains the Python integration library for Apache Arrow. + +%files python-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow_python.so.* + +%package python-devel +Summary: Libraries and header files for Python integration library for Apache Arrow +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Requires: python3-devel + +%description python-devel +Libraries and header files for Python integration library for Apache Arrow. + +%files python-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow/python/ +%exclude %{_includedir}/arrow/python/flight.h +%{_libdir}/cmake/arrow/ArrowPythonConfig*.cmake +%{_libdir}/cmake/arrow/ArrowPythonTargets*.cmake +%{_libdir}/cmake/arrow/FindArrowPython.cmake +%{_libdir}/libarrow_python.a +%{_libdir}/libarrow_python.so +%{_libdir}/pkgconfig/arrow-python.pc + +%if %{use_flight} +%package python-flight-libs +Summary: Python integration library for Apache Arrow Flight +Requires: %{name}-flight-libs = %{version}-%{release} +Requires: %{name}-python-libs = %{version}-%{release} + +%description python-flight-libs +This package contains the Python integration library for Apache Arrow Flight. + +%files python-flight-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow_python_flight.so.* + +%package python-flight-devel +Summary: Libraries and header files for Python integration library for Apache Arrow Flight. +Requires: %{name}-flight-devel = %{version}-%{release} +Requires: %{name}-python-devel = %{version}-%{release} +Requires: %{name}-python-flight-libs = %{version}-%{release} + +%description python-flight-devel +Libraries and header files for Python integration library for +Apache Arrow Flight. + +%files python-flight-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow/python/flight.h +%{_libdir}/cmake/arrow/ArrowPythonFlightConfig*.cmake +%{_libdir}/cmake/arrow/ArrowPythonFlightTargets*.cmake +%{_libdir}/cmake/arrow/FindArrowPythonFlight.cmake +%{_libdir}/libarrow_python_flight.a +%{_libdir}/libarrow_python_flight.so +%{_libdir}/pkgconfig/arrow-python-flight.pc +%endif + +%package -n plasma-libs +Summary: Runtime libraries for Plasma in-memory object store +Requires: %{name} = %{version}-%{release} + +%description -n plasma-libs +This package contains the libraries for Plasma in-memory object store. + +%files -n plasma-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libplasma.so.* + +%package -n plasma-store-server +Summary: Server for Plasma in-memory object store +Requires: plasma-libs = %{version}-%{release} + +%description -n plasma-store-server +This package contains the server for Plasma in-memory object store. + +%files -n plasma-store-server +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_bindir}/plasma-store-server + +%package -n plasma-devel +Summary: Libraries and header files for Plasma in-memory object store +Requires: plasma-libs = %{version}-%{release} + +%description -n plasma-devel +Libraries and header files for Plasma in-memory object store. + +%files -n plasma-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/plasma/ +%{_libdir}/cmake/arrow/PlasmaConfig*.cmake +%{_libdir}/cmake/arrow/PlasmaTargets*.cmake +%{_libdir}/cmake/arrow/FindPlasma.cmake +%{_libdir}/libplasma.a +%{_libdir}/libplasma.so +%{_libdir}/pkgconfig/plasma*.pc + +%package -n parquet-libs +Summary: Runtime libraries for Apache Parquet C++ +Requires: boost-program-options +Requires: %{name} = %{version}-%{release} +Requires: openssl + +%description -n parquet-libs +This package contains the libraries for Apache Parquet C++. + +%files -n parquet-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libparquet.so.* + +%package -n parquet-devel +Summary: Libraries and header files for Apache Parquet C++ +Requires: parquet-libs = %{version}-%{release} +Requires: zlib-devel + +%description -n parquet-devel +Libraries and header files for Apache Parquet C++. + +%files -n parquet-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/parquet/ +%{_libdir}/cmake/arrow/ParquetConfig*.cmake +%{_libdir}/cmake/arrow/ParquetTargets*.cmake +%{_libdir}/cmake/arrow/FindParquet.cmake +%{_libdir}/libparquet.a +%{_libdir}/libparquet.so +%{_libdir}/pkgconfig/parquet*.pc + +%package glib-libs +Summary: Runtime libraries for Apache Arrow GLib +Requires: %{name} = %{version}-%{release} +Requires: glib2 + +%description glib-libs +This package contains the libraries for Apache Arrow GLib. + +%files glib-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow-glib.so.* +%{_datadir}/gir-1.0/Arrow-1.0.gir + +%package glib-devel +Summary: Libraries and header files for Apache Arrow GLib +Requires: %{name}-devel = %{version}-%{release} +Requires: glib2-devel +Requires: gobject-introspection-devel + +%description glib-devel +Libraries and header files for Apache Arrow GLib. + +%files glib-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow-glib/ +%{_libdir}/libarrow-glib.a +%{_libdir}/libarrow-glib.so +%{_libdir}/pkgconfig/arrow-glib.pc +%{_libdir}/pkgconfig/arrow-orc-glib.pc +%{_libdir}/girepository-1.0/Arrow-1.0.typelib +%{_datadir}/arrow-glib/example/ + +%package glib-doc +Summary: Documentation for Apache Arrow GLib + +%description glib-doc +Documentation for Apache Arrow GLib. + +%files glib-doc +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_docdir}/arrow-glib/ +%{_datadir}/gtk-doc/html/arrow-glib/ + +%package dataset-glib-libs +Summary: Runtime libraries for Apache Arrow dataset GLib +Requires: %{name}-dataset-libs = %{version}-%{release} +Requires: %{name}-glib-libs = %{version}-%{release} + +%description dataset-glib-libs +This package contains the libraries for Apache Arrow dataset GLib. + +%files dataset-glib-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libarrow-dataset-glib.so.* +%{_datadir}/gir-1.0/ArrowDataset-1.0.gir + +%package dataset-glib-devel +Summary: Libraries and header files for Apache Arrow dataset GLib +Requires: %{name}-dataset-devel = %{version}-%{release} +Requires: %{name}-glib-devel = %{version}-%{release} + +%description dataset-glib-devel +Libraries and header files for Apache Arrow dataset GLib. + +%files dataset-glib-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/arrow-dataset-glib/ +%{_libdir}/libarrow-dataset-glib.a +%{_libdir}/libarrow-dataset-glib.so +%{_libdir}/pkgconfig/arrow-dataset-glib.pc +%{_libdir}/girepository-1.0/ArrowDataset-1.0.typelib + +%package dataset-glib-doc +Summary: Documentation for Apache Arrow dataset GLib + +%description dataset-glib-doc +Documentation for Apache Arrow dataset GLib. + +%files dataset-glib-doc +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_datadir}/gtk-doc/html/arrow-dataset-glib/ + +%if %{use_gandiva} +%package -n gandiva-glib-libs +Summary: Runtime libraries for Gandiva GLib +Requires: gandiva-libs = %{version}-%{release} +Requires: %{name}-glib-libs = %{version}-%{release} + +%description -n gandiva-glib-libs +This package contains the libraries for Gandiva GLib. + +%files -n gandiva-glib-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libgandiva-glib.so.* +%{_datadir}/gir-1.0/Gandiva-1.0.gir + +%package -n gandiva-glib-devel +Summary: Libraries and header files for Gandiva GLib +Requires: gandiva-devel = %{version}-%{release} +Requires: %{name}-glib-devel = %{version}-%{release} + +%description -n gandiva-glib-devel +Libraries and header files for Gandiva GLib. + +%files -n gandiva-glib-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/gandiva-glib/ +%{_libdir}/libgandiva-glib.a +%{_libdir}/libgandiva-glib.so +%{_libdir}/pkgconfig/gandiva-glib.pc +%{_libdir}/girepository-1.0/Gandiva-1.0.typelib + +%package -n gandiva-glib-doc +Summary: Documentation for Gandiva GLib + +%description -n gandiva-glib-doc +Documentation for Gandiva GLib. + +%files -n gandiva-glib-doc +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_datadir}/gtk-doc/html/gandiva-glib/ +%endif + +%package -n plasma-glib-libs +Summary: Runtime libraries for Plasma GLib +Requires: plasma-libs = %{version}-%{release} +Requires: %{name}-glib-libs = %{version}-%{release} + +%description -n plasma-glib-libs +This package contains the libraries for Plasma GLib. + +%files -n plasma-glib-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libplasma-glib.so.* +%{_datadir}/gir-1.0/Plasma-1.0.gir + +%package -n plasma-glib-devel +Summary: Libraries and header files for Plasma GLib +Requires: plasma-devel = %{version}-%{release} +Requires: %{name}-glib-devel = %{version}-%{release} + +%description -n plasma-glib-devel +Libraries and header files for Plasma GLib. + +%files -n plasma-glib-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/plasma-glib/ +%{_libdir}/libplasma-glib.a +%{_libdir}/libplasma-glib.so +%{_libdir}/pkgconfig/plasma-glib.pc +%{_libdir}/girepository-1.0/Plasma-1.0.typelib + +%package -n plasma-glib-doc +Summary: Documentation for Plasma GLib + +%description -n plasma-glib-doc +Documentation for Plasma GLib. + +%files -n plasma-glib-doc +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_datadir}/gtk-doc/html/plasma-glib/ + +%package -n parquet-glib-libs +Summary: Runtime libraries for Apache Parquet GLib +Requires: parquet-libs = %{version}-%{release} +Requires: %{name}-glib-libs = %{version}-%{release} + +%description -n parquet-glib-libs +This package contains the libraries for Apache Parquet GLib. + +%files -n parquet-glib-libs +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_libdir}/libparquet-glib.so.* +%{_datadir}/gir-1.0/Parquet-1.0.gir + +%package -n parquet-glib-devel +Summary: Libraries and header files for Apache Parquet GLib +Requires: parquet-devel = %{version}-%{release} +Requires: %{name}-glib-devel = %{version}-%{release} + +%description -n parquet-glib-devel +Libraries and header files for Apache Parquet GLib. + +%files -n parquet-glib-devel +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_includedir}/parquet-glib/ +%{_libdir}/libparquet-glib.a +%{_libdir}/libparquet-glib.so +%{_libdir}/pkgconfig/parquet-glib.pc +%{_libdir}/girepository-1.0/Parquet-1.0.typelib + +%package -n parquet-glib-doc +Summary: Documentation for Apache Parquet GLib + +%description -n parquet-glib-doc +Documentation for Apache Parquet GLib. + +%files -n parquet-glib-doc +%defattr(-,root,root,-) +%doc README.md LICENSE.txt NOTICE.txt +%{_datadir}/gtk-doc/html/parquet-glib/ + +%changelog +* Thu Jan 13 2022 Kaleb S. KEITHLEY - 4.0.1-2 +- rebuild from lookaside + +* Wed May 19 2021 Jorge C. Leitao - 4.0.1-1 +- New upstream release. + +* Wed Apr 21 2021 Krisztián Szűcs - 4.0.0-1 +- New upstream release. + +* Mon Jan 18 2021 Krisztián Szűcs - 3.0.0-1 +- New upstream release. + +* Mon Oct 12 2020 Krisztián Szűcs - 2.0.0-1 +- New upstream release. + +* Mon Jul 20 2020 Krisztián Szűcs - 1.0.0-1 +- New upstream release. + +* Thu Apr 16 2020 Krisztián Szűcs - 0.17.0-1 +- New upstream release. + +* Thu Jan 30 2020 Krisztián Szűcs - 0.16.0-1 +- New upstream release. + +* Mon Sep 30 2019 Krisztián Szűcs - 0.15.0-1 +- New upstream release. + +* Fri Jun 28 2019 Sutou Kouhei - 0.14.0-1 +- New upstream release. + +* Thu Mar 28 2019 Kouhei Sutou - 0.13.0-1 +- New upstream release. + +* Wed Jan 16 2019 Krisztián Szűcs - 0.12.0-1 +- New upstream release. + +* Thu Oct 04 2018 Kouhei Sutou - 0.11.0-1 +- New upstream release. + +* Thu Aug 02 2018 Phillip Cloud - 0.10.0-1 +- New upstream release. + +* Fri Mar 16 2018 Kouhei Sutou - 0.9.0-1 +- New upstream release. + +* Sun Dec 17 2017 Uwe Korn - 0.8.0-1 +- New upstream release. + +* Wed Sep 27 2017 Kouhei Sutou - 0.7.1-1 +- New upstream release. + +* Tue Sep 12 2017 Wes McKinney - 0.7.0-1 +- New upstream release. + +* Fri Aug 11 2017 Kouhei Sutou - 0.6.0-1 +- New upstream release. + +* Wed Aug 02 2017 Kouhei Sutou - 0.6.0.20170802-1 +- New upstream release.