10
0
forked from pool/apache-arrow

Accepting request 1163690 from home:shanipribadi

I would like to have apache flight and apache flight sql library built.

also disabling the static build because the generated CMake Targets includes them, making builds against libarrow requiring not just apache-arrow-devel but also all of the devel-static packages.

note: flight and flight-sql are packaged separately.
in upstream rpm and fedora repo, flight-sql is included in libarrow-flight-libs.

OBS-URL: https://build.opensuse.org/request/show/1163690
OBS-URL: https://build.opensuse.org/package/show/science/apache-arrow?expand=0&rev=29
This commit is contained in:
2024-03-30 15:01:58 +00:00
committed by Git OBS Bridge
parent 8d99637b3c
commit 525207619b
2 changed files with 118 additions and 11 deletions
+114 -4
View File
@@ -16,6 +16,8 @@
#
# Remove static build due to devel-static packages being required by the generated CMake Targets
%bcond_with static
%bcond_without tests
# Required for runtime dispatch, not yet packaged
%bcond_with xsimd
@@ -47,8 +49,9 @@ BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_system-devel >= 1.64.0
%if %{with static}
BuildRequires: libzstd-devel-static
BuildRequires: llvm-devel >= 7
%endif
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: python3-base
@@ -71,6 +74,7 @@ BuildRequires: pkgconfig(liburiparser) >= 0.9.3
BuildRequires: pkgconfig(libutf8proc)
BuildRequires: pkgconfig(libzstd) >= 1.4.3
BuildRequires: pkgconfig(protobuf) >= 3.7.1
BuildRequires: pkgconfig(sqlite3) >= 3.45.2
BuildRequires: pkgconfig(thrift) >= 0.11.0
BuildRequires: pkgconfig(zlib) >= 1.2.11
%if %{with tests}
@@ -115,6 +119,34 @@ communication.
This package provides the shared library for the Acero streaming execution engine
%package -n libarrow_flight%{sonum}
Summary: Development platform for in-memory data - shared library
Group: System/Libraries
%description -n libarrow_flight%{sonum}
Apache Arrow is a cross-language development platform for in-memory
data. It specifies a standardized language-independent columnar memory
format for flat and hierarchical data, organized for efficient
analytic operations on modern hardware. It also provides computational
libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the shared library for Arrow Flight
%package -n libarrow_flight_sql%{sonum}
Summary: Development platform for in-memory data - shared library
Group: System/Libraries
%description -n libarrow_flight_sql%{sonum}
Apache Arrow is a cross-language development platform for in-memory
data. It specifies a standardized language-independent columnar memory
format for flat and hierarchical data, organized for efficient
analytic operations on modern hardware. It also provides computational
libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the shared library for Arrow Flight SQL
%package -n libarrow_dataset%{sonum}
Summary: Development platform for in-memory data - shared library
Group: System/Libraries
@@ -149,6 +181,15 @@ Group: Development/Libraries/C and C++
Requires: libarrow%{sonum} = %{version}
Requires: libarrow_acero%{sonum} = %{version}
Requires: libarrow_dataset%{sonum} = %{version}
Requires: libarrow_flight%{sonum} = %{version}
Requires: libarrow_flight_sql%{sonum} = %{version}
%if %{with static}
Suggests: %{name}-devel-static = %{version}
Suggests: %{name}-acero-devel-static = %{version}
Suggests: %{name}-dataset-devel-static = %{version}
Suggests: %{name}-flight-devel-static = %{version}
Suggests: %{name}-flight-sql-devel-static = %{version}
%endif
%description devel
Apache Arrow is a cross-language development platform for in-memory
@@ -161,6 +202,7 @@ communication.
This package provides the development libraries and headers for
Apache Arrow.
%if %{with static}
%package devel-static
Summary: Development platform for in-memory data - development files
Group: Development/Libraries/C and C++
@@ -191,6 +233,36 @@ communication.
This package provides the static library for the Acero streaming execution engine
%package flight-devel-static
Summary: Development platform for in-memory data - development files
Group: Development/Libraries/C and C++
Requires: %{name}-devel = %{version}
%description flight-devel-static
Apache Arrow is a cross-language development platform for in-memory
data. It specifies a standardized language-independent columnar memory
format for flat and hierarchical data, organized for efficient
analytic operations on modern hardware. It also provides computational
libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the static library for Arrow Flight
%package flight-sql-devel-static
Summary: Development platform for in-memory data - development files
Group: Development/Libraries/C and C++
Requires: %{name}-devel = %{version}
%description flight-sql-devel-static
Apache Arrow is a cross-language development platform for in-memory
data. It specifies a standardized language-independent columnar memory
format for flat and hierarchical data, organized for efficient
analytic operations on modern hardware. It also provides computational
libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the static library for Arrow Flight SQL
%package dataset-devel-static
Summary: Development platform for in-memory data - development files
Group: Development/Libraries/C and C++
@@ -205,6 +277,7 @@ libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the static library for Dataset API support
%endif
%package -n apache-parquet-devel
Summary: Development platform for in-memory data - development files
@@ -222,6 +295,7 @@ communication.
This package provides the development libraries and headers for
the Parquet format.
%if %{with static}
%package -n apache-parquet-devel-static
Summary: Development platform for in-memory data - development files
Group: Development/Libraries/C and C++
@@ -236,6 +310,7 @@ libraries and zero-copy streaming messaging and interprocess
communication.
This package provides the static library for the Parquet format.
%endif
%package -n apache-parquet-utils
Summary: Development platform for in-memory data - development files
@@ -263,7 +338,7 @@ pushd cpp
%cmake \
-DARROW_BUILD_EXAMPLES:BOOL=ON \
-DARROW_BUILD_SHARED:BOOL=ON \
-DARROW_BUILD_STATIC:BOOL=ON \
-DARROW_BUILD_STATIC:BOOL=%{?with_static:ON}%{!?with_static:OFF} \
-DARROW_BUILD_TESTS:BOOL=%{?with_tests:ON}%{!?with_tests:OFF} \
-DARROW_BUILD_UTILITIES:BOOL=ON \
-DARROW_DEPENDENCY_SOURCE=SYSTEM \
@@ -278,8 +353,10 @@ pushd cpp
-DARROW_CSV:BOOL=ON \
-DARROW_DATASET:BOOL=ON \
-DARROW_FILESYSTEM:BOOL=ON \
-DARROW_FLIGHT:BOOL=OFF \
-DARROW_FLIGHT:BOOL=ON \
-DARROW_FLIGHT_SQL:BOOL=ON \
-DARROW_GANDIVA:BOOL=OFF \
-DARROW_SKYHOOK:BOOL=OFF \
-DARROW_HDFS:BOOL=ON \
-DARROW_HIVESERVER2:BOOL=OFF \
-DARROW_IPC:BOOL=ON \
@@ -312,8 +389,15 @@ pushd cpp
popd
%if %{with tests}
rm %{buildroot}%{_libdir}/libarrow_testing.so*
rm %{buildroot}%{_libdir}/libarrow_testing.a
rm %{buildroot}%{_libdir}/libarrow_flight_testing.so*
rm %{buildroot}%{_libdir}/pkgconfig/arrow-testing.pc
rm %{buildroot}%{_libdir}/pkgconfig/arrow-flight-testing.pc
%if %{with static}
rm %{buildroot}%{_libdir}/libarrow_testing.a
rm %{buildroot}%{_libdir}/libarrow_flight_testing.a
%endif
rm -Rf %{buildroot}%{_libdir}/cmake/ArrowTesting
rm -Rf %{buildroot}%{_libdir}/cmake/ArrowFlightTesting
rm -Rf %{buildroot}%{_includedir}/arrow/testing
%endif
rm -r %{buildroot}%{_datadir}/doc/arrow/
@@ -349,6 +433,10 @@ popd
%postun -n libarrow%{sonum} -p /sbin/ldconfig
%post -n libarrow_acero%{sonum} -p /sbin/ldconfig
%postun -n libarrow_acero%{sonum} -p /sbin/ldconfig
%post -n libarrow_flight%{sonum} -p /sbin/ldconfig
%postun -n libarrow_flight%{sonum} -p /sbin/ldconfig
%post -n libarrow_flight_sql%{sonum} -p /sbin/ldconfig
%postun -n libarrow_flight_sql%{sonum} -p /sbin/ldconfig
%post -n libarrow_dataset%{sonum} -p /sbin/ldconfig
%postun -n libarrow_dataset%{sonum} -p /sbin/ldconfig
%post -n libparquet%{sonum} -p /sbin/ldconfig
@@ -367,6 +455,14 @@ popd
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_acero.so.*
%files -n libarrow_flight%{sonum}
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_flight.so.*
%files -n libarrow_flight_sql%{sonum}
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_flight_sql.so.*
%files -n libarrow_dataset%{sonum}
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_dataset.so.*
@@ -383,6 +479,8 @@ popd
%{_libdir}/libarrow.so
%{_libdir}/libarrow_acero.so
%{_libdir}/libarrow_dataset.so
%{_libdir}/libarrow_flight.so
%{_libdir}/libarrow_flight_sql.so
%{_libdir}/pkgconfig/arrow*.pc
%dir %{_datadir}/arrow
%{_datadir}/arrow/gdb
@@ -392,6 +490,7 @@ popd
%dir %{_datadir}/gdb/auto-load/%{_libdir}
%{_datadir}/gdb/auto-load/%{_libdir}/libarrow.so.*.py
%if %{with static}
%files devel-static
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow.a
@@ -404,6 +503,15 @@ popd
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_dataset.a
%files flight-devel-static
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_flight.a
%files flight-sql-devel-static
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libarrow_flight_sql.a
%endif
%files -n apache-parquet-devel
%doc README.md
%license LICENSE.txt NOTICE.txt header
@@ -412,9 +520,11 @@ popd
%{_libdir}/libparquet.so
%{_libdir}/pkgconfig/parquet.pc
%if %{with static}
%files -n apache-parquet-devel-static
%license LICENSE.txt NOTICE.txt header
%{_libdir}/libparquet.a
%endif
%files -n apache-parquet-utils
%doc README.md
+4 -7
View File
@@ -38,23 +38,20 @@ BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: apache-arrow-acero-devel-static = %{version}
BuildRequires: apache-arrow-dataset-devel-static = %{version}
BuildRequires: apache-arrow-devel = %{version}
BuildRequires: apache-arrow-devel-static = %{version}
BuildRequires: apache-parquet-devel = %{version}
BuildRequires: apache-parquet-devel-static = %{version}
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libzstd-devel-static
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: cmake(re2)
BuildRequires: pkgconfig(arrow) = %{version}
BuildRequires: pkgconfig(arrow-acero) = %{version}
BuildRequires: pkgconfig(arrow-dataset) = %{version}
BuildRequires: pkgconfig(bzip2) >= 1.0.8
BuildRequires: pkgconfig(gmock) >= 1.10
BuildRequires: pkgconfig(gtest) >= 1.10
BuildRequires: pkgconfig(parquet) = %{version}
Requires: (python-numpy >= 1.16.6 with python-numpy < 2)
# SECTION test requirements
BuildRequires: %{python_module hypothesis}