Blame libarrow.spec

5fc951b
# -*- sh-shell: rpm -*-
5fc951b
#
5fc951b
# Licensed to the Apache Software Foundation (ASF) under one
5fc951b
# or more contributor license agreements.  See the NOTICE file
5fc951b
# distributed with this work for additional information
5fc951b
# regarding copyright ownership.  The ASF licenses this file
5fc951b
# to you under the Apache License, Version 2.0 (the
5fc951b
# "License"); you may not use this file except in compliance
5fc951b
# with the License.  You may obtain a copy of the License at
5fc951b
#
5fc951b
#   http://www.apache.org/licenses/LICENSE-2.0
5fc951b
#
5fc951b
# Unless required by applicable law or agreed to in writing,
5fc951b
# software distributed under the License is distributed on an
5fc951b
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
5fc951b
# KIND, either express or implied.  See the License for the
5fc951b
# specific language governing permissions and limitations
5fc951b
# under the License.
5fc951b
5fc951b
%bcond_without use_flight
5fc951b
%bcond_with use_plasma
5fc951b
%bcond_with use_gandiva
5fc951b
%bcond_with use_mimalloc
5fc951b
%bcond_without use_ninja
5fc951b
# TODO: Enable this. This works on local but is fragile on GitHub Actions and
5fc951b
# Travis CI.
5fc951b
%bcond_with use_s3
5fc951b
%bcond_without have_rapidjson
5fc951b
%bcond_without have_re2
5fc951b
%bcond_without have_utf8proc
5fc951b
5fc951b
Name:		libarrow
cfe30fe
Version:	9.0.0
f826fb4
Release:	2%{?dist}
5fc951b
Summary:	A toolbox for accelerated data interchange and in-memory processing
5fc951b
License:	ASL 2.0
5fc951b
URL:		https://arrow.apache.org/
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
Source0:	https://dist.apache.org/repos/dist/release/arrow/arrow-%{version}/apache-arrow-%{version}.tar.gz
5fc951b
# Apache ORC (liborc) has numerous compile errors and apparently assumes
5fc951b
# a 64-bit build and runtime environment. This is only consumer of the liborc
5fc951b
# package, and in turn the only consumer of this and liborc is Ceph, which
5fc951b
# is also 64-bit only
5fc951b
ExcludeArch:	%{ix86} %{arm}
5fc951b
BuildRequires:	bison
5fc951b
BuildRequires:	boost-devel
5fc951b
BuildRequires:	brotli-devel
5fc951b
BuildRequires:	bzip2-devel
5fc951b
BuildRequires:	cmake
5fc951b
%if %{with use_ninja}
5fc951b
BuildRequires:	ninja-build
5fc951b
%endif
5fc951b
BuildRequires:	meson
5fc951b
%if %{with use_s3}
5fc951b
BuildRequires:	curl-devel
5fc951b
%endif
5fc951b
BuildRequires:	flex
5fc951b
BuildRequires:	gcc-c++
5fc951b
BuildRequires:	gflags-devel
5fc951b
BuildRequires:	glog-devel
5fc951b
BuildRequires:	grpc-devel
5fc951b
BuildRequires:	grpc-plugins
5fc951b
BuildRequires:	libzstd-devel
5fc951b
BuildRequires:	lz4-devel
5fc951b
BuildRequires:	openssl-devel
5fc951b
BuildRequires:	pkgconfig
5fc951b
BuildRequires:	python3-devel
5fc951b
BuildRequires:	python3-numpy
5fc951b
BuildRequires:	xsimd-devel
5fc951b
BuildRequires:	abseil-cpp-devel
5fc951b
BuildRequires:	c-ares-devel
5fc951b
BuildRequires:	thrift-devel
5fc951b
%if %{with have_rapidjson}
5fc951b
BuildRequires:	rapidjson-devel
5fc951b
%endif
5fc951b
%if %{with have_re2}
5fc951b
BuildRequires:	re2-devel
5fc951b
%endif
5fc951b
BuildRequires:	snappy-devel
5fc951b
%if %{with have_utf8proc}
5fc951b
BuildRequires:	utf8proc-devel
5fc951b
%endif
5fc951b
BuildRequires:	zlib-devel
5fc951b
BuildRequires:	liborc-devel
5fc951b
%if %{with use_gandiva}
5fc951b
BuildRequires:	llvm-devel
5fc951b
BuildRequires:	ncurses-devel
5fc951b
%endif
5fc951b
BuildRequires:	gobject-introspection-devel
5fc951b
BuildRequires:	gtk-doc
5fc951b
f826fb4
# Additional pyarrow build requirements
f826fb4
BuildRequires:  python3-pip
f826fb4
BuildRequires:  python3-setuptools
f826fb4
BuildRequires:  python3dist(cffi)
f826fb4
BuildRequires:  python3dist(cython)
f826fb4
BuildRequires:  python3dist(wheel)
f826fb4
5fc951b
%description
5fc951b
Apache Arrow defines a language-independent columnar memory
5fc951b
format for flat and hierarchical data, organized for efficient
5fc951b
analytic operations on modern hardware like CPUs and GPUs. The
5fc951b
Arrow memory format also supports zero-copy reads for lightning-
5fc951b
fast data access without serialization overhead
5fc951b
5fc951b
%files
5fc951b
%{_libdir}/libarrow.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package doc
5fc951b
Summary:	Documentation files for Apache Arrow C++
5fc951b
BuildArch:	noarch
5fc951b
5fc951b
%description doc
5fc951b
Documentation files for Apache Arrow C++.
5fc951b
5fc951b
%files doc
5fc951b
%license LICENSE.txt
5fc951b
%doc README.md NOTICE.txt
5fc951b
%exclude %{_docdir}/arrow/
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package devel
5fc951b
Summary:	Libraries and header files for Apache Arrow C++
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	brotli-devel
5fc951b
Requires:	bzip2-devel
5fc951b
Requires:	libzstd-devel
5fc951b
Requires:	lz4-devel
5fc951b
Requires:	openssl-devel
5fc951b
%if %{with have_rapidjson}
5fc951b
Requires:	rapidjson-devel
5fc951b
%endif
5fc951b
%if %{with have_re2}
5fc951b
Requires:	re2-devel
5fc951b
%endif
5fc951b
Requires:	snappy-devel
5fc951b
%if %{with have_utf8proc}
5fc951b
Requires:	utf8proc-devel
5fc951b
%endif
5fc951b
Requires:	zlib-devel
5fc951b
5fc951b
%description devel
5fc951b
Libraries and header files for Apache Arrow C++.
5fc951b
5fc951b
%files devel
5fc951b
%dir %{_includedir}/arrow/
5fc951b
     %{_includedir}/arrow/*
5fc951b
%exclude %{_includedir}/arrow/dataset/
5fc951b
%if %{with use_flight}
5fc951b
%exclude %{_includedir}/arrow/flight/
5fc951b
%exclude %{_includedir}/arrow-flight-glib
5fc951b
%endif
5fc951b
%exclude %{_includedir}/arrow/python/
5fc951b
%exclude %{_libdir}/cmake/arrow/FindBrotli.cmake
cfe30fe
%exclude %{_libdir}/cmake/arrow/Findlz4Alt.cmake
5fc951b
%exclude %{_libdir}/cmake/arrow/FindORC.cmake
cfe30fe
%exclude %{_libdir}/cmake/arrow/FindSnappyAlt.cmake
5fc951b
%exclude %{_libdir}/cmake/arrow/FindgRPCAlt.cmake
5fc951b
%exclude %{_libdir}/cmake/arrow/Findre2Alt.cmake
5fc951b
%exclude %{_libdir}/cmake/arrow/Findutf8proc.cmake
5fc951b
%exclude %{_libdir}/cmake/arrow/Findzstd.cmake
cfe30fe
%exclude %{_libdir}/cmake/arrow/FindThrift.cmake
5fc951b
%dir %{_libdir}/cmake/arrow/
5fc951b
     %{_libdir}/cmake/arrow/ArrowConfig*.cmake
5fc951b
     %{_libdir}/cmake/arrow/ArrowOptions.cmake
5fc951b
     %{_libdir}/cmake/arrow/ArrowTargets*.cmake
5fc951b
     %{_libdir}/cmake/arrow/FindArrow.cmake
5fc951b
     %{_libdir}/cmake/arrow/arrow-config.cmake
5fc951b
%{_libdir}/libarrow.so
5fc951b
%{_libdir}/pkgconfig/arrow-compute.pc
5fc951b
%{_libdir}/pkgconfig/arrow-csv.pc
5fc951b
%{_libdir}/pkgconfig/arrow-filesystem.pc
5fc951b
%{_libdir}/pkgconfig/arrow-json.pc
5fc951b
%{_libdir}/pkgconfig/arrow-orc.pc
5fc951b
%{_libdir}/pkgconfig/arrow.pc
cfe30fe
%{_datadir}/arrow/gdb/gdb_arrow.py
cfe30fe
%{_datadir}/gdb/auto-load/usr/lib64/libarrow.so.*-gdb.py
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package dataset-libs
5fc951b
Summary:	C++ library to read and write semantic datasets
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description dataset-libs
5fc951b
This package contains the libraries for Apache Arrow dataset.
5fc951b
5fc951b
%files dataset-libs
5fc951b
%{_libdir}/libarrow_dataset.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package dataset-devel
5fc951b
Summary:	Libraries and header files for Apache Arrow dataset
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-dataset-libs%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description dataset-devel
5fc951b
Libraries and header files for Apache Arrow dataset.
5fc951b
5fc951b
%files dataset-devel
5fc951b
%dir %{_includedir}/arrow/dataset/
5fc951b
     %{_includedir}/arrow/dataset/*
5fc951b
%{_libdir}/cmake/arrow/ArrowDatasetConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/ArrowDatasetTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindArrowDataset.cmake
5fc951b
%{_libdir}/libarrow_dataset.so
5fc951b
%{_libdir}/pkgconfig/arrow-dataset.pc
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%if %{with use_flight}
5fc951b
%package flight-libs
5fc951b
Summary:	C++ library for fast data transport
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
Requires:	openssl
5fc951b
5fc951b
%description flight-libs
5fc951b
This package contains the libraries for Apache Arrow Flight.
5fc951b
5fc951b
%files flight-libs
5fc951b
%{_libdir}/libarrow_flight.so.*
5fc951b
%{_libdir}/libarrow-flight-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/ArrowFlight-1.0.typelib
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package flight-devel
5fc951b
Summary:	Libraries and header files for Apache Arrow Flight
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-flight-libs%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description flight-devel
5fc951b
Libraries and header files for Apache Arrow Flight.
5fc951b
5fc951b
%files flight-devel
5fc951b
%dir %{_includedir}/arrow/flight/
5fc951b
     %{_includedir}/arrow/flight/*
5fc951b
%dir %{_includedir}/arrow-flight-glib/
5fc951b
     %{_includedir}/arrow-flight-glib/*
5fc951b
%{_libdir}/cmake/arrow/ArrowFlightConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/ArrowFlightTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindArrowFlight.cmake
5fc951b
%{_libdir}/libarrow_flight.so
5fc951b
%{_libdir}/libarrow-flight-glib.so
5fc951b
%{_libdir}/pkgconfig/arrow-flight.pc
5fc951b
%{_libdir}/pkgconfig/arrow-flight-glib.pc
5fc951b
%endif
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%if %{with use_gandiva}
5fc951b
%package -n gandiva-libs
5fc951b
Summary:	C++ library for compiling and evaluating expressions
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
Requires:	ncurses-libs
5fc951b
5fc951b
%description -n gandiva-libs
5fc951b
This package contains the libraries for Gandiva.
5fc951b
5fc951b
%files -n gandiva-libs
5fc951b
%{_libdir}/libgandiva.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n gandiva-devel
5fc951b
Summary:	Libraries and header files for Gandiva
5fc951b
Requires:	gandiva-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	llvm-devel
5fc951b
5fc951b
%description -n gandiva-devel
5fc951b
Libraries and header files for Gandiva.
5fc951b
5fc951b
%files -n gandiva-devel
5fc951b
%dir %{_includedir}/gandiva/
5fc951b
     %{_includedir}/gandiva/
5fc951b
%{_libdir}/cmake/arrow/GandivaConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/GandivaTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindGandiva.cmake
5fc951b
%{_libdir}/libgandiva.so
5fc951b
%{_libdir}/pkgconfig/gandiva.pc
5fc951b
%endif
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package python-libs
5fc951b
Summary:	Python integration library for Apache Arrow
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	python3-numpy
5fc951b
5fc951b
%description python-libs
5fc951b
This package contains the Python integration library for Apache Arrow.
5fc951b
5fc951b
%files python-libs
5fc951b
%{_libdir}/libarrow_python.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package python-devel
5fc951b
Summary:	Libraries and header files for Python integration library
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-python-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	python3-devel
5fc951b
5fc951b
%description python-devel
5fc951b
Libraries and header files for Python integration library for Apache Arrow.
5fc951b
5fc951b
%files python-devel
5fc951b
%dir %{_includedir}/arrow/python/
5fc951b
     %{_includedir}/arrow/python/*
5fc951b
%exclude %{_includedir}/arrow/python/flight.h
5fc951b
%{_libdir}/cmake/arrow/ArrowPythonConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/ArrowPythonTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindArrowPython.cmake
5fc951b
%{_libdir}/libarrow_python.so
5fc951b
%{_libdir}/pkgconfig/arrow-python.pc
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%if %{with use_flight}
5fc951b
%package python-flight-libs
5fc951b
Summary:	Python integration library for Apache Arrow Flight
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-flight-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-python-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description python-flight-libs
5fc951b
This package contains the Python integration library for Apache Arrow Flight.
5fc951b
5fc951b
%files python-flight-libs
5fc951b
%{_libdir}/libarrow_python_flight.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package python-flight-devel
5fc951b
Summary:	Libraries and header files for Python integration
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-flight-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-python-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-python-flight-libs%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description python-flight-devel
5fc951b
Libraries and header files for Python integration library for
5fc951b
Apache Arrow Flight.
5fc951b
5fc951b
%files python-flight-devel
5fc951b
%{_includedir}/arrow/python/flight.h
5fc951b
%{_libdir}/cmake/arrow/ArrowPythonFlightConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/ArrowPythonFlightTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindArrowPythonFlight.cmake
5fc951b
%{_libdir}/libarrow_python_flight.so
5fc951b
%{_libdir}/pkgconfig/arrow-python-flight.pc
5fc951b
%endif
5fc951b
5fc951b
%if %{with use_plasma}
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-libs
5fc951b
Summary:	Runtime libraries for Plasma in-memory object store
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description -n plasma-libs
5fc951b
This package contains the libraries for Plasma in-memory object store.
5fc951b
5fc951b
%files -n plasma-libs
5fc951b
%{_libdir}/libplasma.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-store-server
5fc951b
Summary:	Server for Plasma in-memory object store
5fc951b
Requires:	plasma-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description -n plasma-store-server
5fc951b
This package contains the server for Plasma in-memory object store.
5fc951b
5fc951b
%files -n plasma-store-server
5fc951b
%{_bindir}/plasma-store-server
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-libs-devel
5fc951b
Summary:	Libraries and header files for Plasma in-memory object store
5fc951b
Requires:	plasma-libs%{?_isa} = %{version}-%{release}
5fc951b
# plasma-devel a.k.a. kdelibs-devel provides
5fc951b
# conflicts with all versions of plasma-devel %%{_libdir}/libplasma.so
f826fb4
BuildConflicts: plasma-devel
5fc951b
# conflicts with all versions of plasma-workspace-devel %%{_includedir}/*
5fc951b
BuildConflicts: plasma-workspace-devel
5fc951b
5fc951b
%description -n plasma-libs-devel
5fc951b
Libraries and header files for Plasma in-memory object store.
5fc951b
5fc951b
%files -n plasma-libs-devel
5fc951b
%dir %{_includedir}/plasma/
5fc951b
     %{_includedir}/plasma/*
5fc951b
%{_libdir}/cmake/arrow/PlasmaConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/PlasmaTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindPlasma.cmake
5fc951b
%{_libdir}/libplasma.so
5fc951b
%{_libdir}/pkgconfig/plasma*.pc
5fc951b
5fc951b
%endif
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n parquet-libs
5fc951b
Summary:	Runtime libraries for Apache Parquet C++
5fc951b
Requires:	boost-program-options
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
Requires:	openssl
5fc951b
5fc951b
%description -n parquet-libs
5fc951b
This package contains the libraries for Apache Parquet C++.
5fc951b
5fc951b
%files -n parquet-libs
5fc951b
%{_libdir}/libparquet.so.*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n parquet-libs-devel
5fc951b
Summary:	Libraries and header files for Apache Parquet C++
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	parquet-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	zlib-devel
5fc951b
5fc951b
%description -n parquet-libs-devel
5fc951b
Libraries and header files for Apache Parquet C++.
5fc951b
5fc951b
%files -n parquet-libs-devel
5fc951b
%dir %{_includedir}/parquet/
5fc951b
     %{_includedir}/parquet/*
5fc951b
%{_libdir}/cmake/arrow/ParquetConfig*.cmake
5fc951b
%{_libdir}/cmake/arrow/ParquetTargets*.cmake
5fc951b
%{_libdir}/cmake/arrow/FindParquet.cmake
5fc951b
%{_libdir}/libparquet.so
5fc951b
%{_libdir}/pkgconfig/parquet*.pc
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package glib-libs
5fc951b
Summary:	Runtime libraries for Apache Arrow GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description glib-libs
5fc951b
This package contains the libraries for Apache Arrow GLib.
5fc951b
5fc951b
%files glib-libs
5fc951b
%{_libdir}/libarrow-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/Arrow-1.0.typelib
5fc951b
%exclude %{_datadir}/doc/arrow-glib/*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package glib-devel
5fc951b
Summary:	Libraries and header files for Apache Arrow GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	glib2-devel
5fc951b
Requires:	gobject-introspection-devel
5fc951b
5fc951b
%description glib-devel
5fc951b
Libraries and header files for Apache Arrow GLib.
5fc951b
5fc951b
%files glib-devel
5fc951b
%dir %{_includedir}/arrow-glib/
5fc951b
     %{_includedir}/arrow-glib/*
5fc951b
%{_libdir}/libarrow-glib.so
5fc951b
%{_libdir}/pkgconfig/arrow-glib.pc
5fc951b
%{_libdir}/pkgconfig/arrow-orc-glib.pc
5fc951b
%dir %{_datadir}/arrow-glib/
5fc951b
     %{_datadir}/arrow-glib/example/*
5fc951b
%dir %{_datadir}/gir-1.0/
5fc951b
     %{_datadir}/gir-1.0/Arrow-1.0.gir
5fc951b
     %{_datadir}/gir-1.0/ArrowFlight-1.0.gir
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package glib-doc
5fc951b
Summary:	Documentation for Apache Arrow GLib
5fc951b
5fc951b
%description glib-doc
5fc951b
Documentation for Apache Arrow GLib.
5fc951b
5fc951b
%files glib-doc
5fc951b
%dir %{_datadir}/gtk-doc/
5fc951b
%dir %{_datadir}/gtk-doc/html/
5fc951b
%dir %{_datadir}/gtk-doc/html/arrow-glib/
5fc951b
     %{_datadir}/gtk-doc/html/arrow-glib/*
5fc951b
%dir %{_datadir}/gtk-doc/html/arrow-flight-glib/
5fc951b
     %{_datadir}/gtk-doc/html/arrow-flight-glib/*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package dataset-glib-libs
5fc951b
Summary:	Runtime libraries for Apache Arrow dataset GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-dataset-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description dataset-glib-libs
5fc951b
This package contains the libraries for Apache Arrow dataset GLib.
5fc951b
5fc951b
%files dataset-glib-libs
5fc951b
%{_libdir}/libarrow-dataset-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/ArrowDataset-1.0.typelib
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package dataset-glib-devel
5fc951b
Summary:	Libraries and header files for Apache Arrow dataset GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-dataset-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-dataset-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description dataset-glib-devel
5fc951b
Libraries and header files for Apache Arrow dataset GLib.
5fc951b
5fc951b
%files dataset-glib-devel
5fc951b
%dir %{_includedir}/arrow-dataset-glib/
5fc951b
     %{_includedir}/arrow-dataset-glib/*
5fc951b
%{_libdir}/libarrow-dataset-glib.so
5fc951b
%{_libdir}/pkgconfig/arrow-dataset-glib.pc
5fc951b
%dir %{_datadir}/gir-1.0/
5fc951b
     %{_datadir}/gir-1.0/ArrowDataset-1.0.gir
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package dataset-glib-doc
5fc951b
Summary:	Documentation for Apache Arrow dataset GLib
5fc951b
5fc951b
%description dataset-glib-doc
5fc951b
Documentation for Apache Arrow dataset GLib.
5fc951b
5fc951b
%files dataset-glib-doc
5fc951b
%dir %{_datadir}/gtk-doc/html/arrow-dataset-glib/
5fc951b
     %{_datadir}/gtk-doc/html/arrow-dataset-glib/*
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%if %{with use_gandiva}
5fc951b
%package -n gandiva-glib-libs
5fc951b
Summary:	Runtime libraries for Gandiva GLib
5fc951b
Requires:	gandiva-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description -n gandiva-glib-libs
5fc951b
This package contains the libraries for Gandiva GLib.
5fc951b
5fc951b
%files -n gandiva-glib-libs
5fc951b
%{_libdir}/libgandiva-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/Gandiva-1.0.typelib
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n gandiva-glib-devel
5fc951b
Summary:	Libraries and header files for Gandiva GLib
5fc951b
Requires:	gandiva-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-devel%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description -n gandiva-glib-devel
5fc951b
Libraries and header files for Gandiva GLib.
5fc951b
5fc951b
%files -n gandiva-glib-devel
5fc951b
%dir %{_includedir}/gandiva-glib/
5fc951b
     %{_includedir}/gandiva-glib/*
5fc951b
%{_libdir}/libgandiva-glib.so
5fc951b
%{_libdir}/pkgconfig/gandiva-glib.pc
5fc951b
%dir %{_datadir}/gir-1.0/
5fc951b
     %{_datadir}/gir-1.0/Gandiva-1.0.gir
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n gandiva-glib-doc
5fc951b
Summary:	Documentation for Gandiva GLib
5fc951b
5fc951b
%description -n gandiva-glib-doc
5fc951b
Documentation for Gandiva GLib.
5fc951b
5fc951b
%files -n gandiva-glib-doc
5fc951b
%dir %{_datadir}/gtk-doc/html/gandiva-glib/
5fc951b
     %{_datadir}/gtk-doc/html/gandiva-glib/*
5fc951b
%endif
5fc951b
5fc951b
%if %{with use_plasma}
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-glib-libs
5fc951b
Summary:	Runtime libraries for Plasma GLib
5fc951b
Requires:	plasma-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description -n plasma-glib-libs
5fc951b
This package contains the libraries for Plasma GLib.
5fc951b
5fc951b
%files -n plasma-glib-libs
5fc951b
%{_libdir}/libplasma-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/Plasma-1.0.typelib
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-glib-devel
5fc951b
Summary:	Libraries and header files for Plasma GLib
5fc951b
Requires:	plasma-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	plasma-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-devel%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description -n plasma-glib-devel
5fc951b
Libraries and header files for Plasma GLib.
5fc951b
5fc951b
%files -n plasma-glib-devel
5fc951b
%dir %{_includedir}/plasma-glib/
5fc951b
     %{_includedir}/plasma-glib/*
5fc951b
%{_libdir}/libplasma-glib.so
5fc951b
%{_libdir}/pkgconfig/plasma-glib.pc
5fc951b
%dir %{_datadir}/gir-1.0/
5fc951b
     %{_datadir}/gir-1.0/Plasma-1.0.gir
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n plasma-glib-doc
5fc951b
Summary:	Documentation for Plasma GLib
5fc951b
5fc951b
%description -n plasma-glib-doc
5fc951b
Documentation for Plasma GLib.
5fc951b
5fc951b
%files -n plasma-glib-doc
5fc951b
%dir %{_datadir}/gtk-doc/html/plasma-glib/
5fc951b
     %{_datadir}/gtk-doc/html/plasma-glib/*
5fc951b
%endif
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n parquet-glib-libs
5fc951b
Summary:	Runtime libraries for Apache Parquet GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	parquet-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-doc = %{version}-%{release}
5fc951b
5fc951b
%description -n parquet-glib-libs
5fc951b
This package contains the libraries for Apache Parquet GLib.
5fc951b
5fc951b
%files -n parquet-glib-libs
5fc951b
%{_libdir}/libparquet-glib.so.*
5fc951b
%dir %{_libdir}/girepository-1.0/
5fc951b
     %{_libdir}/girepository-1.0/Parquet-1.0.typelib
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n parquet-glib-devel
5fc951b
Summary:	Libraries and header files for Apache Parquet GLib
5fc951b
Requires:	%{name}%{?_isa} = %{version}-%{release}
5fc951b
Requires:	parquet-libs-devel%{?_isa} = %{version}-%{release}
5fc951b
Requires:	parquet-glib-libs%{?_isa} = %{version}-%{release}
5fc951b
Requires:	%{name}-glib-devel%{?_isa} = %{version}-%{release}
5fc951b
5fc951b
%description -n parquet-glib-devel
5fc951b
Libraries and header files for Apache Parquet GLib.
5fc951b
5fc951b
%files -n parquet-glib-devel
5fc951b
%dir %{_includedir}/parquet-glib/
5fc951b
     %{_includedir}/parquet-glib/*
5fc951b
%{_libdir}/libparquet-glib.so
5fc951b
%{_libdir}/pkgconfig/parquet-glib.pc
5fc951b
%dir %{_datadir}/gir-1.0/
5fc951b
     %{_datadir}/gir-1.0/Parquet-1.0.gir
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%package -n parquet-glib-doc
5fc951b
Summary:	Documentation for Apache Parquet GLib
5fc951b
5fc951b
%description -n parquet-glib-doc
5fc951b
Documentation for Apache Parquet GLib.
5fc951b
5fc951b
%files -n parquet-glib-doc
5fc951b
%dir %{_datadir}/gtk-doc/html/parquet-glib/
5fc951b
     %{_datadir}/gtk-doc/html/parquet-glib/*
5fc951b
f826fb4
%package -n python3-pyarrow
f826fb4
Summary: Python library for Apache Arrow
f826fb4
f826fb4
%description -n python3-pyarrow
f826fb4
Python library for Apache Arrow
f826fb4
f826fb4
%files -n python3-pyarrow
f826fb4
%{_bindir}/plasma_store
f826fb4
%dir %{python3_sitearch}/pyarrow
f826fb4
     %{python3_sitearch}/pyarrow/*.so
f826fb4
%exclude %{python3_sitearch}/pyarrow/lib_api.h
f826fb4
%exclude %{python3_sitearch}/pyarrow/include
f826fb4
f826fb4
#--------------------------------------------------------------------
f826fb4
f826fb4
%package -n python3-pyarrow-devel
f826fb4
Summary: Development files for python3-pyarrow
f826fb4
f826fb4
%description -n python3-pyarrow-devel
f826fb4
Development files for python3-pyarrow
f826fb4
f826fb4
%files -n python3-pyarrow-devel -f %{_pyproject_ghost_distinfo}
f826fb4
%exclude %{python3_sitearch}/pyarrow/*.so
f826fb4
%{python3_sitearch}/pyarrow/*
f826fb4
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%prep
5fc951b
%autosetup -p1 -n apache-arrow-%{version}
5fc951b
5fc951b
%build
5fc951b
pushd cpp
5fc951b
%cmake \
5fc951b
%if %{with use_flight}
5fc951b
  -DARROW_FLIGHT:BOOL=ON \
5fc951b
%endif
5fc951b
%if %{with use_gandiva}
5fc951b
  -DARROW_GANDIVA:BOOL=ON \
5fc951b
%endif
5fc951b
%if %{with use_mimalloc}
5fc951b
  -DARROW_MIMALLOC:BOOL=ON \
5fc951b
%endif
5fc951b
  -DARROW_ORC=ON \
5fc951b
  -DARROW_PARQUET:BOOL=ON \
5fc951b
%if %{with use_plasma}
5fc951b
  -DARROW_PLASMA:BOOL=ON \
5fc951b
%endif
5fc951b
  -DARROW_PYTHON:BOOL=ON \
5fc951b
  -DARROW_JEMALLOC:BOOL=OFF \
5fc951b
  -DGRPC_SOURCE="SYSTEM" \
5fc951b
  -Dxsimd_SOURCE="SYSTEM" \
5fc951b
%if %{with use_s3}
5fc951b
  -DARROW_S3:BOOL=ON \
5fc951b
%endif
5fc951b
  -DARROW_WITH_BROTLI:BOOL=ON \
5fc951b
  -DARROW_WITH_BZ2:BOOL=ON \
5fc951b
  -DARROW_WITH_LZ4:BOOL=ON \
5fc951b
  -DARROW_WITH_SNAPPY:BOOL=ON \
5fc951b
  -DARROW_WITH_ZLIB:BOOL=ON \
5fc951b
  -DARROW_WITH_ZSTD:BOOL=ON \
5fc951b
  -DARROW_WITH_XSIMD:BOOL=ON \
5fc951b
  -DARROW_BUILD_STATIC:BOOL=OFF \
5fc951b
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
5fc951b
  -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \
5fc951b
  -DARROW_USE_CCACHE:BOOL=OFF \
5fc951b
  -DCMAKE_UNITY_BUILD:BOOL=ON \
5fc951b
  -DPARQUET_REQUIRE_ENCRYPTION:BOOL=ON \
5fc951b
  -DPythonInterp_FIND_VERSION:BOOL=ON \
5fc951b
  -DPythonInterp_FIND_VERSION_MAJOR=3 \
5fc951b
%if %{with use_ninja}
5fc951b
  -GNinja
5fc951b
%endif
5fc951b
5fc951b
export VERBOSE=1
5fc951b
export GCC_COLORS=
5fc951b
%cmake_build
5fc951b
popd
5fc951b
5fc951b
pushd c_glib
5fc951b
%meson \
5fc951b
  -Darrow_cpp_build_dir=../cpp/%{_vpath_builddir} \
5fc951b
  -Darrow_cpp_build_type=relwithdebinfo \
5fc951b
  -Dgtk_doc=true
5fc951b
%meson_build
f826fb4
popd
f826fb4
f826fb4
# hack alert. install libarrow somewhere (temporary) so that python
f826fb4
# (i.e. pyarrow) can build against it. If someone knows how to invoke
f826fb4
# cmake or # pyproject_wheel using the bits in ../cpp instead, that
f826fb4
# would be preferable to this.
f826fb4
pushd cpp
f826fb4
DESTDIR="/tmp" %__cmake --install "%{__cmake_builddir}"
f826fb4
popd
f826fb4
pushd python
f826fb4
export \
f826fb4
  ARROW_HOME=/tmp/usr \
f826fb4
  PYARROW_BUNDLE_ARROW_CPP_HEADERS=1 \
f826fb4
  PYARROW_BUNDLE_PLASMA_EXECUTABLE=0 \
f826fb4
  PYARROW_WITH_DATASET=1 \
f826fb4
  PYARROW_WITH_FLIGHT=1 \
f826fb4
  PYARROW_WITH_PARQUET=1 \
f826fb4
  PYARROW_PARALLEL=%{_smp_build_ncpus} \
f826fb4
  PYARROW_INSTALL_TESTS=0
f826fb4
%pyproject_wheel
f826fb4
popd
f826fb4
rm -rf /tmp/usr
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%install
f826fb4
f826fb4
pushd python
f826fb4
%pyproject_install
f826fb4
popd
f826fb4
5fc951b
pushd c_glib
5fc951b
%meson_install
5fc951b
popd
5fc951b
5fc951b
pushd cpp
5fc951b
%cmake_install
5fc951b
popd
5fc951b
5fc951b
#--------------------------------------------------------------------
5fc951b
5fc951b
%changelog
f826fb4
* Wed Aug 10 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 9.0.0-2
f826fb4
- Arrow 9.0.0, enable python, i.e. python3-pyarrow, subpackage
f826fb4
cfe30fe
* Wed Aug 3 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 9.0.0-1
cfe30fe
- Arrow 9.0.0 GA
cfe30fe
3bd1aa6
* Thu Jul 21 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 8.0.1-1
3bd1aa6
- Arrow 8.0.1 GA
3bd1aa6
884ecf0
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-4
884ecf0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
884ecf0
c10bfd6
* Wed May 18 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 8.0.0-3
c10bfd6
- rebuild with xsimd-8.1.0
c10bfd6
432b38c
* Mon May 16 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 8.0.0-2
c10bfd6
- rebuild with grpc-1.46.1
432b38c
f8781f7
* Sun May 8 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 8.0.0-1
f8781f7
- Arrow 8.0.0 GA
f8781f7
5fc951b
* Thu Jan 13 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 7.0.0-1
5fc951b
- New upstream release.
5fc951b