[packages/arrow] - initial
qboosh
qboosh at pld-linux.org
Fri Jun 13 21:17:20 CEST 2025
commit bbdc0b979069d83df07786ce3b968c266a17ca42
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Jun 13 21:09:43 2025 +0200
- initial
arrow.spec | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 323 insertions(+)
---
diff --git a/arrow.spec b/arrow.spec
new file mode 100644
index 0000000..3f6047d
--- /dev/null
+++ b/arrow.spec
@@ -0,0 +1,323 @@
+# TODO:
+# - documentation (fulfill dependencies)
+# - more features, review options
+# - sensible split (arrow, arrow-flight, arrow-skyhook, gandiva, parquet?)
+# - pyarrow
+# - C glib API
+#
+# Conditional build:
+%bcond_with apidocs # API documentation
+%bcond_without static_libs # static libraries
+%bcond_without skyhook # skyhook libraries (requires ceph librados)
+%bcond_with sse42 # SSE4.2 instructions at compile time instead of runtime
+#
+Summary: Apache Arrow libraries
+Summary(pl.UTF-8): Biblioteki Apache Arrow
+Name: arrow
+Version: 20.0.0
+Release: 0.1
+License: Apache v2.0
+Group: Libraries
+Source0: https://downloads.apache.org/arrow/arrow-%{version}/apache-%{name}-%{version}.tar.gz
+# Source0-md5: 282c6ce90b055cba02fbc897a9929d86
+Source1: https://github.com/substrait-io/substrait/archive/v0.44.0/substrait-0.44.0.tar.gz
+# Source1-md5: 674cc178d60a3cccf5ced03472226834
+URL: https://arrow.apache.org/
+# for Flight RPC, GCS
+BuildRequires: abseil-cpp-devel >= 20211102
+BuildRequires: boost-devel >= 1.58
+BuildRequires: bzip2-devel
+# for Flight RPC
+BuildRequires: c-ares-devel
+%{?with_skyhook:BuildRequires: ceph-devel}
+BuildRequires: clang >= 7
+BuildRequires: cmake >= 3.25
+# for GCS
+BuildRequires: crc32c-devel
+# for GCS, opentelemetry
+BuildRequires: curl-devel
+# C11
+BuildRequires: gcc >= 6:4.7
+BuildRequires: gflags-devel >= 2.1.0
+BuildRequires: glog-devel
+# for GCS
+BuildRequires: google-cloud-cpp-devel
+# for Flight RPC
+BuildRequires: grpc-devel >= 1.30.0
+BuildRequires: libbrotli-devel
+BuildRequires: libedit-devel
+BuildRequires: liborc-devel
+BuildRequires: libstdc++-devel >= 6:7
+BuildRequires: libxml2-devel
+BuildRequires: llvm-devel >= 7
+BuildRequires: lz4-devel
+# for GCS
+BuildRequires: nlohmann-json-devel
+BuildRequires: openssl-devel >= 1.0.2
+BuildRequires: pkgconfig
+BuildRequires: protobuf-devel >= 3.12.0
+BuildRequires: python3 >= 1:3
+BuildRequires: rapidjson-devel >= 1.1.0
+BuildRequires: re2-devel
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: snappy-devel
+BuildRequires: thrift-devel >= 0.11.0
+BuildRequires: utf8proc-devel >= 2.2.0
+BuildRequires: xsimd-devel >= 8.1.0
+BuildRequires: zlib-devel
+BuildRequires: zstd-devel >= 1.4.0
+%if %{with apidocs}
+BuildRequires: python3-breathe
+BuildRequires: python3-docutils
+BuildRequires: python3-ipython
+# TODO
+BuildRequires: python3-linuxdoc
+BuildRequires: python3-myst_parser
+BuildRequires: python3-numpydoc
+BuildRequires: python3-pandas
+BuildRequires: python3-pydata_sphinx_theme
+# TODO
+BuildRequires: python3-sphinx_autobuild
+BuildRequires: python3-sphinx_copybutton
+BuildRequires: python3-sphinx_design
+# TODO
+BuildRequires: python3-sphinx_lint
+# TODO
+BuildRequires: python3-sphinxcontrib-mermaid
+BuildRequires: sphinx-pdg-3 >= 6.2
+%endif
+# for tests: gtest-devel >= 1.10.0, gmock-devel >= 1.10.0, google-benchmark-devel >= 1.6.1
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Apache Arrow is a universal columnar format and multi-language toolbox
+for fast data interchange and in-memory analytics. It contains a set
+of technologies that enable data systems to efficiently store,
+process, and move data.
+
+%description -l pl.UTF-8
+Apache Arrow to uniwersalny format kolumnowy i zestaw narzędzi dla
+wielu języków, służący do szybkiej wymiany danych i analityki w
+pamięci. Zawiera wiele technologii, pozwalających wydajnie
+przechowywać, przetwarzać i przenosić dane.
+
+%package devel
+Summary: Header files for Apache Arrow libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Apache Arrow
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+Header files for Apache Arrow libraries.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Apache Arrow.
+
+%package static
+Summary: Static Apache Arrow libraries
+Summary(pl.UTF-8): Statyczne biblioteki Apache Arrow
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static Apache Arrow libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki Apache Arrow.
+
+%package apidocs
+Summary: API documentation for Apache Arrow libraries
+Summary(pl.UTF-8): Dokumentacja API bibliotek Apache Arrow
+Group: Documentation
+BuildArch: noarch
+
+%description apidocs
+API documentation for Apache Arrow libraries.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API bibliotek Apache Arrow.
+
+%prep
+%setup -q -n apache-%{name}-%{version}
+
+%build
+export ARROW_SUBSTRAIT_URL="%{SOURCE1}"
+# PROTOBUF_HOME and SNAPPY_HOME required by liborc FindProtobuf and FindSnappy files
+%cmake -S cpp -B build-cpp \
+ -DARROW_ACERO=ON \
+ %{!?with_static_libs:-DARROW_BUILD_STATIC=OFF} \
+ -DARROW_BUILD_UTILITIES=ON \
+ -DARROW_COMPUTE=ON \
+ -DARROW_CSV=ON \
+ -DARROW_DATASET=ON \
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM \
+ -DARROW_FILESYSTEM=ON \
+ -DARROW_FLIGHT=ON \
+ -DARROW_FLIGHT_SQL=ON \
+ -DARROW_GANDIVA=ON \
+ -DARROW_GCS=ON \
+ -DARROW_INSTALL_NAME_RPATH=OFF \
+ -DARROW_JEMALLOC=OFF \
+ -DARROW_JSON=ON \
+ -DARROW_MIMALLOC=OFF \
+ -DARROW_ORC=ON \
+ -DARROW_PARQUET=ON \
+ -DARROW_RE2_LINKAGE=shared \
+ -DARROW_SIMD_LEVEL=%{!?with_sse42:NONE}%{?with_sse42:SSE4_2} \
+ %{?with_skyhook:-DARROW_SKYHOOK=ON} \
+ -DARROW_SUBSTRAIT=ON \
+ -DARROW_USE_CCACHE=OFF \
+ -DARROW_USE_GLOG=ON \
+ -DARROW_USE_SCCACHE=OFF \
+ -DARROW_WITH_BROTLI=ON \
+ -DARROW_WITH_BZ2=ON \
+ -DARROW_WITH_LZ4=ON \
+ -DARROW_WITH_SNAPPY=ON \
+ -DARROW_WITH_ZLIB=ON \
+ -DARROW_WITH_ZSTD=ON \
+ %{?with_static_libs:-DPARQUET_BUILD_EXECUTABLES=ON} \
+ -DPARQUET_REQUIRE_ENCRYPTION=ON \
+ -DPROTOBUF_HOME=/usr \
+ -DSNAPPY_HOME=/usr
+
+# -DARROW_SIMD_LEVEL=NONE| SSE4_2| (x86,x86_64) AVX2|AVX512 (x86_64) |NEON (arm,aarch64) |SVE|SVE128|SVE256|SVE512 (aarch64)
+# -DARROW_AZURE=ON? (requires Azure SDK for C++ >= 1.10.2)
+# -DARROW_CUDA=ON (on bcond)
+# -DARROW_HDFS=ON
+# -DARROW_PYTHON=ON (requires ARROW_HDFS)
+# -DARROW_S3=ON (requires AWS SDK for C++)
+# -DARROW_TENSORFLOW=ON
+# -DARROW_WITH_OPENTELEMETRY=ON ?
+# -DPARQUET_BUILD_EXECUTABLES=ON (requires static libraries to be built - why???)
+
+%{__make} -C build-cpp
+
+%if %{with apidocs}
+%{__make} -C docs html \
+ SPHINXBUILD=sphinx-build-3 \
+ SPHINXOPTS=-j%{__jobs}
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C build-cpp install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc CHANGELOG.md NOTICE.txt README.md
+
+# R: all external compression/format/transport libs (incl. liborc and google-cloud)
+%attr(755,root,root) %{_bindir}/arrow-file-to-stream
+%attr(755,root,root) %{_bindir}/arrow-stream-to-file
+# R: libarrow, libparquet
+%attr(755,root,root) %{_bindir}/parquet-dump-arrow-statistics
+%attr(755,root,root) %{_bindir}/parquet-dump-footer
+%attr(755,root,root) %{_bindir}/parquet-dump-schema
+%attr(755,root,root) %{_bindir}/parquet-reader
+%attr(755,root,root) %{_bindir}/parquet-scan
+
+%attr(755,root,root) %{_libdir}/libarrow.so.*.*.*
+%{_libdir}/libarrow.so.2000
+%attr(755,root,root) %{_libdir}/libarrow_acero.so.*.*.*
+%{_libdir}/libarrow_acero.so.2000
+%attr(755,root,root) %{_libdir}/libarrow_dataset.so.*.*.*
+%{_libdir}/libarrow_dataset.so.2000
+%attr(755,root,root) %{_libdir}/libarrow_flight.so.*.*.*
+%{_libdir}/libarrow_flight.so.2000
+%attr(755,root,root) %{_libdir}/libarrow_flight_sql.so.*.*.*
+%{_libdir}/libarrow_flight_sql.so.2000
+%attr(755,root,root) %{_libdir}/libarrow_substrait.so.*.*.*
+%{_libdir}/libarrow_substrait.so.2000
+%attr(755,root,root) %{_libdir}/libgandiva.so.*.*.*
+%{_libdir}/libgandiva.so.2000
+%attr(755,root,root) %{_libdir}/libparquet.so.*.*.*
+%{_libdir}/libparquet.so.2000
+%if %{with skyhook}
+%attr(755,root,root) %{_libdir}/libarrow_skyhook.so.*.*.*
+%{_libdir}/libarrow_skyhook.so.2000
+%attr(755,root,root) %{_libdir}/libcls_skyhook.so.*.*.*
+%{_libdir}/libcls_skyhook.so.2000
+%endif
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/libarrow.so
+%{_libdir}/libarrow_acero.so
+%{_libdir}/libarrow_dataset.so
+%{_libdir}/libarrow_flight.so
+%{_libdir}/libarrow_flight_sql.so
+%{_libdir}/libarrow_substrait.so
+%{_libdir}/libgandiva.so
+%{_libdir}/libparquet.so
+%if %{with skyhook}
+%{_libdir}/libarrow_skyhook.so
+%{_libdir}/libcls_skyhook.so
+%endif
+%{_libdir}/libarrow_bundled_dependencies.a
+%{_includedir}/arrow
+%{_includedir}/gandiva
+%{_includedir}/parquet
+%if %{with skyhook}
+%{_includedir}/skyhook
+%endif
+%{_pkgconfigdir}/arrow.pc
+%{_pkgconfigdir}/arrow-acero.pc
+%{_pkgconfigdir}/arrow-compute.pc
+%{_pkgconfigdir}/arrow-csv.pc
+%{_pkgconfigdir}/arrow-dataset.pc
+%{_pkgconfigdir}/arrow-filesystem.pc
+%{_pkgconfigdir}/arrow-flight.pc
+%{_pkgconfigdir}/arrow-flight-sql.pc
+%{_pkgconfigdir}/arrow-json.pc
+%{_pkgconfigdir}/arrow-orc.pc
+%{_pkgconfigdir}/arrow-substrait.pc
+%{_pkgconfigdir}/gandiva.pc
+%{_pkgconfigdir}/parquet.pc
+%if %{with skyhook}
+%{_pkgconfigdir}/skyhook.pc
+%endif
+%{_libdir}/cmake/Arrow
+%{_libdir}/cmake/ArrowAcero
+%{_libdir}/cmake/ArrowDataset
+%{_libdir}/cmake/ArrowFlight
+%{_libdir}/cmake/ArrowFlightSql
+%{_libdir}/cmake/ArrowSubstrait
+%{_libdir}/cmake/Gandiva
+%{_libdir}/cmake/Parquet
+
+# -gdb?
+%dir %{_datadir}/arrow
+%{_datadir}/arrow/gdb
+%{_datadir}/gdb/auto-load/usr/lib/libarrow.so.2000.0.0-gdb.py
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libarrow.a
+%{_libdir}/libarrow_acero.a
+%{_libdir}/libarrow_dataset.a
+%{_libdir}/libarrow_flight.a
+%{_libdir}/libarrow_flight_sql.a
+%{_libdir}/libarrow_substrait.a
+%{_libdir}/libgandiva.a
+%{_libdir}/libparquet.a
+%if %{with skyhook}
+%{_libdir}/libarrow_skyhook.a
+%{_libdir}/libcls_skyhook.a
+%endif
+%endif
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc docs/_build/html/...
+%endif
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/arrow.git/commitdiff/bbdc0b979069d83df07786ce3b968c266a17ca42
More information about the pld-cvs-commit
mailing list