PORTNAME= arrow DISTVERSION= 6.0.1 PORTREVISION= 3 CATEGORIES= databases MASTER_SITES= APACHE/${PORTNAME}/${PORTNAME}-${DISTVERSION} \ https://github.com/apache/orc/archive/rel/:orc DISTNAME= apache-${PORTNAME}-${DISTVERSION} DISTFILES= apache-${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} release-1.6.6${EXTRACT_SUFX}:orc EXTRACT_ONLY= apache-${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} MAINTAINER= yuri@FreeBSD.org COMMENT= Columnar in-memory analytics layer for big data LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/../LICENSE.txt LIB_DEPENDS= libboost_system.so:devel/boost-libs USES= cmake compiler:c++11-lang localbase pkgconfig python:build USE_LDCONFIG= yes WRKSRC_SUBDIR= cpp CMAKE_ARGS= -DARROW_SIMD_LEVEL=NONE -DARROW_RUNTIME_SIMD_LEVEL=NONE CMAKE_OFF= ARROW_BUILD_STATIC ARROW_WITH_BACKTRACE ARROW_BUILD_TESTS ARROW_BUILD_BENCHMARKS OPTIONS_GROUP= COMPRESSION COMPONENTS # components are listed in cpp/cmake_modules/DefineOptions.cmake OPTIONS_GROUP_COMPRESSION= BROTLI BZ2 LZ4 SNAPPY ZLIB ZSTD OPTIONS_GROUP_COMPONENTS= COMPUTE CSV DATASET FILESYSTEM FLIGHT GANDIVA HDFS HIVESERVER2 IPC JSON MIMALLOC PARQUET ORC PLASMA PYTHON S3 BUILD_UTILITIES TESTING OPTIONS_SUB= yes COMPRESSION_DESC= Compression support: COMPONENTS_DESC= Build components: ## Compression options BROTLI_CMAKE_BOOL= ARROW_WITH_BROTLI BROTLI_LIB_DEPENDS= libbrotlicommon.so:archivers/brotli BZ2_DESC= bz2 compression support BZ2_CMAKE_BOOL= ARROW_WITH_BZ2 LZ4_CMAKE_BOOL= ARROW_WITH_LZ4 LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4 SNAPPY_CMAKE_BOOL= ARROW_WITH_SNAPPY SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy ZLIB_CMAKE_BOOL= ARROW_WITH_ZLIB ZSTD_DESC= zstd compression support ZSTD_CMAKE_BOOL= ARROW_WITH_ZSTD ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd ## Component options COMPUTE_DESC= Arrow Compute Modules COMPUTE_CMAKE_BOOL= ARROW_COMPUTE COMPUTE_LIB_DEPENDS= libre2.so:devel/re2 \ libutf8proc.so:textproc/utf8proc CSV_DESC= Arrow CSV Parser Module CSV_CMAKE_BOOL= ARROW_CSV DATASET_DESC= Arrow Dataset Modules DATASET_CMAKE_BOOL= ARROW_DATASET DATASET_IMPLIES= COMPUTE FILESYSTEM FILESYSTEM_DESC= Arrow Filesystem Layer FILESYSTEM_CMAKE_BOOL= ARROW_FILESYSTEM FLIGHT_DESC= Arrow Flight RPC System FLIGHT_USES= ssl FLIGHT_CMAKE_BOOL= ARROW_FLIGHT FLIGHT_LIB_DEPENDS= libgflags.so:devel/gflags \ libprotobuf.so:devel/protobuf \ libabsl_base.so:devel/abseil \ libcares.so:dns/c-ares \ libgrpc.so:devel/grpc \ libre2.so:devel/re2 FLIGHT_IMPLIES= IPC FLIGHT_BROKEN= configure breaks: Could not find a package configuration file provided by "re2" GANDIVA_DESC= Gandiva libraries GANDIVA_USES= ssl GANDIVA_CMAKE_BOOL= ARROW_GANDIVA GANDIVA_BUILD_DEPENDS= ${LOCALBASE}/bin/clang12:devel/llvm12 # explicitly requires llvm-12 GANDIVA_LIB_DEPENDS= libgrpc.so:devel/grpc \ libprotobuf.so:devel/protobuf \ libre2.so:devel/re2 \ libutf8proc.so:textproc/utf8proc HDFS_DESC= Arrow HDFS bridge HDFS_CMAKE_BOOL= ARROW_HDFS HIVESERVER2_DESC= HiveServer2 client and Arrow adapter HIVESERVER2_USES= python:build HIVESERVER2_VARS= BINARY_ALIAS=python=${PYTHON_CMD} HIVESERVER2_BUILD_DEPENDS= thrift:devel/thrift HIVESERVER2_CMAKE_BOOL= ARROW_HIVESERVER2 HIVESERVER2_BROKEN= Pending conflict fix in thrift ports in bug#255538 IPC_DESC= Arrow IPC extensions IPC_CMAKE_BOOL= ARROW_IPC JSON_DESC= JSON support JSON_CMAKE_BOOL= ARROW_JSON JSON_BUILD_DEPENDS= ${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson MIMALLOC_DESC= Arrow mimalloc-based allocato MIMALLOC_CMAKE_BOOL= ARROW_MIMALLOC MIMALLOC_LIB_DEPENDS= libmimalloc.so:devel/mimalloc MIMALLOC_BROKEN= Pending paths fix in bug#255537 PARQUET_DESC= Parquet libraries PARQUET_CMAKE_BOOL= ARROW_PARQUET PARQUET_REQUIRE_ENCRYPTION PARQUET_USES= ssl PARQUET_LIB_DEPENDS= libthrift.so:devel/thrift-cpp PARQUET_IMPLIES= COMPUTE ORC_DESC= Arrow ORC adapter ORC_CMAKE_BOOL= ARROW_ORC ORC_LIB_DEPENDS= libprotobuf.so:devel/protobuf ORC_CONFIGURE_ENV= ARROW_ORC_URL=file://${DISTDIR}/${DIST_SUBDIR}/release-1.6.6${EXTRACT_SUFX} ORC_IMPLIES= LZ4 SNAPPY ZLIB ZSTD # cpp/CMakeLists.txt ORC_BROKEN= fatal error: 'orc/OrcFile.hh' file not found: https://issues.apache.org/jira/browse/ARROW-12624 PLASMA_DESC= Plasma object store PLASMA_CMAKE_BOOL= ARROW_PLASMA PLASMA_LIB_DEPENDS= libaws-c-auth.so:security/aws-c-auth \ libaws-c-compression.so:devel/aws-c-compression \ libaws-c-http.so:devel/aws-c-http \ libaws-c-mqtt.so:devel/aws-c-mqtt \ libaws-c-s3.so:devel/aws-c-s3 \ libaws-c-sdkutils.so:devel/aws-c-sdkutils \ libaws-crt-cpp.so:devel/aws-crt-cpp \ libgflags.so:devel/gflags BUILD_UTILITIES_DESC= build Arrow commandline utilities BUILD_UTILITIES_CMAKE_BOOL= ARROW_BUILD_UTILITIES PYTHON_DESC= build the Arrow CPython extensions PYTHON_CMAKE_BOOL= ARROW_PYTHON PYTHON_USES= python:3.9 PYTHON_BUILD_DEPENDS= ${PY_NUMPY} \ ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR} PYTHON_LIB_DEPENDS= libutf8proc.so:textproc/utf8proc PYTHON_RUN_DEPENDS= ${PY_NUMPY} PYTHON_IMPLIES= COMPUTE CSV DATASET FILESYSTEM HDFS JSON PYTHON_BROKEN= py39-setuptools_scm-4.1.2_1 Unknown flavor 'py39', possible flavors: py38 PYTHON_VARS= PLIST_SUB=PYTHON_SUFFIX=${PYTHON_SUFFIX} S3_DESC= S3 support S3_CMAKE_BOOL= ARROW_S3 S3_USES= ssl S3_LIB_DEPENDS= \ libaws-c-cal.so:security/aws-c-cal \ libaws-c-common.so:devel/aws-c-common \ libaws-c-event-stream.so:devel/aws-c-event-stream \ libaws-c-io.so:devel/aws-c-io \ libaws-checksums.so:devel/aws-checksums \ libaws-cpp-sdk-s3.so:devel/aws-sdk-cpp \ libs2n.so:security/s2n S3_IMPLIES= ZLIB TESTING_DESC= Arrow testing libraries TESTING_CMAKE_BOOL= ARROW_TESTING TESTING_LIB_DEPENDS= libgtest.so:devel/googletest .for opt in ${OPTIONS_GROUP_COMPRESSION} ${OPTIONS_GROUP_COMPONENTS} . if "${${opt}_BROKEN}" == "" OPTIONS_DEFAULT+= ${opt} . endif .endfor .include .if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD LLVM_VER= 10 # clang-11 crashes on FreeBSD 14: https://bugs.llvm.org/show_bug.cgi?id=50277 BUILD_DEPENDS+= clang${LLVM_VER}:devel/llvm${LLVM_VER} CC= ${LOCALBASE}/bin/clang${LLVM_VER} CXX= ${LOCALBASE}/bin/clang++${LLVM_VER} .endif pre-configure-PYTHON-on: @${REINPLACE_CMD} -e ' \ s|arrow_python|arrow_python${PYTHON_SUFFIX}|g; \ s|arrow-python|arrow-python${PYTHON_SUFFIX}|g \ ' \ ${WRKSRC}/../ci/appveyor-cpp-build.bat \ ${WRKSRC}/../cpp/cmake_modules/FindArrowPython.cmake \ ${WRKSRC}/../cpp/cmake_modules/FindArrowPythonFlight.cmake \ ${WRKSRC}/../cpp/src/arrow/python/arrow-python-flight.pc.in \ ${WRKSRC}/../cpp/src/arrow/python/arrow-python.pc.in \ ${WRKSRC}/../cpp/src/arrow/python/ArrowPythonConfig.cmake.in \ ${WRKSRC}/../cpp/src/arrow/python/ArrowPythonFlightConfig.cmake.in \ ${WRKSRC}/../cpp/src/arrow/python/CMakeLists.txt \ ${WRKSRC}/../dev/release/rat_exclude_files.txt \ ${WRKSRC}/../dev/release/verify-apt.sh \ ${WRKSRC}/../dev/release/verify-yum.sh \ ${WRKSRC}/../dev/tasks/conda-recipes/arrow-cpp/meta.yaml \ ${WRKSRC}/../dev/tasks/tasks.yml \ ${WRKSRC}/../docs/source/developers/python.rst \ ${WRKSRC}/../python/cmake_modules/FindArrowPython.cmake \ ${WRKSRC}/../python/cmake_modules/FindArrowPythonFlight.cmake \ ${WRKSRC}/../python/CMakeLists.txt \ ${WRKSRC}/../python/pyarrow/__init__.py \ ${WRKSRC}/../python/pyarrow/plasma.py \ ${WRKSRC}/../python/setup.py @${MV} ${WRKSRC}/src/arrow/python/arrow-python.pc.in ${WRKSRC}/src/arrow/python/arrow-python${PYTHON_SUFFIX}.pc.in @${MV} ${WRKSRC}/src/arrow/python/arrow-python-flight.pc.in ${WRKSRC}/src/arrow/python/arrow-python${PYTHON_SUFFIX}-flight.pc.in .include .if ${PORT_OPTIONS:MCOMPUTE} || ${PORT_OPTIONS:MFLIGHT} || ${PORT_OPTIONS:MGANDIVA} PLIST_FILES+= lib/cmake/arrow/Findre2Alt.cmake .endif .if ${PORT_OPTIONS:MPYTHON} == "PYTHON" && ${PORT_OPTIONS:MFLIGHT} == "FLIGHT" PLIST_SUB+= PYTHONFLIGHT="" .else PLIST_SUB+= PYTHONFLIGHT="@comment " .endif .if ${PORT_OPTIONS:MTESTING} && ${PORT_OPTIONS:MFLIGHT} == "FLIGHT" PLIST_SUB+= TESTINGFLIGHT="" .else PLIST_SUB+= TESTINGFLIGHT="@comment " .endif do-test: # tests fail to compile: https://issues.apache.org/jira/browse/ARROW-12625 @cd ${BUILD_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DARROW_BUILD_TESTS:BOOL=ON ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test .include