Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package apache-arrow for openSUSE:Factory 
checked in at 2024-03-01 23:36:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-arrow (Old)
 and      /work/SRC/openSUSE:Factory/.apache-arrow.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "apache-arrow"

Fri Mar  1 23:36:05 2024 rev:10 rq:1152982 version:15.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-arrow/apache-arrow.changes        
2024-02-25 14:06:31.589784755 +0100
+++ /work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes      
2024-03-01 23:36:14.274831294 +0100
@@ -1,0 +2,12 @@
+Wed Feb 28 08:08:44 UTC 2024 - Ben Greiner <[email protected]>
+
+- Reenable logging
+  * Add apache-arrow-pr40230-glog-0.7.patch
+  * Add apache-arrow-pr40275-glog-0.7-2.patch
+  * now requires glog devel files to be present for
+    apache-arrow-devel; ArrowConfig.cmake fails otherwise
+  * gh#apache/arrow#40181
+  * gh#apache/arrow#40230
+  * gh#apache/arrow#40275
+
+-------------------------------------------------------------------
New Changes file:

--- /dev/null   2024-02-23 01:05:26.335378226 +0100
+++ /work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes    
2024-03-01 23:36:14.290831873 +0100
@@ -0,0 +1,435 @@
+-------------------------------------------------------------------
+Wed Feb 28 12:12:36 UTC 2024 - Ben Greiner <[email protected]>
+
+- Move to science/apache-arrow as multibuild package
+- Also needs the cpp GLOG patches
+  * Add apache-arrow-pr40230-glog-0.7.patch
+  * Add apache-arrow-pr40275-glog-0.7-2.patch
+
+-------------------------------------------------------------------
+Fri Feb 23 17:35:37 UTC 2024 - Ben Greiner <[email protected]>
+
+- Update to 15.0.1
+  ## Bug Fixes
+  * [Python] Fix race condition in _pandas_api#_check_import
+    (#39314)
+  * [Python] Avoid leaking references to Numpy dtypes (#39636)
+  * [Release] Update platform tags for macOS wheels to macosx_10_15
+    (#39657)
+  * [Python][CI] Fix test failures with latest/nightly pandas
+    (#39760)
+  * [C#] Restore support for .NET 4.6.2 (#40008)
+  * [Python] Make capsule name check more lenient (#39977)
+  * [Python][FlightRPC] Release GIL in GeneratorStream (#40005)
+  ## New Features and Improvements
+  * [Python] Remove the use of pytest-lazy-fixture (#39850)
+  * [Python][CI] Pin moto<5 for dask integration tests (#39881)
+  * [Python] Fix tests for pandas with CoW / nightly integration
+    tests (#40000)
+- Release 15.0.0
+  ## Bug Fixes
+  * [C++][Python] Add a no-op kernel for
+    dictionary_encode(dictionary) (#38349)
+  * [Python] Fix S3FileSystem equals None segfault (#39276)
+  * Fix TestArrowReaderAdHoc.ReadFloat16Files to use new
+    uncompressed files (#38825)
+  * [Python] Fix spelling (#38945)
+  * [CI][Python] Update pandas tests failing on pandas nightly CI
+    build (#39498)
+  * [CI][JS] Force node 20 on JS build on arm64 to fix build issues
+    (#39499)
+  ##  New Features and Improvements
+  * [C++][Python] Add "Z" to the end of timestamp print string when
+    tz defined (#39272)
+  * [Python] Remove the legacy ParquetDataset custom python-based
+    implementation (#39112)
+  * [Python] add Table.to/from_struct_array (#38520)
+  * [C++][Python] DLPack implementation for Arrow Arrays (producer)
+    (#38472)
+  * [Python] FixedSizeListArray.from_arrays supports mask parameter
+    (#39396)
+  * [C++][Python][R] Allow users to adjust S3 log level by
+    environment variable (#38267)
+  * [Python] Expose Parquet sorting metadata (#37665)
+  * [C++][Python][Parquet] Implement Float16 logical type (#36073)
+  * [Python] Make CacheOptions configurable from Python (#36627)
+  * [Python][Parquet] Parquet Support write and validate Page CRC
+    (#38360)
+  * [Python][Dataset] Expose file size to python dataset (#37868)
+  * [R] Allow code() to return package name prefix. (#38144)
+  * [Python] Remove usage of pandas internals DatetimeTZBlock
+    (#38321)
+  * Add validation logic for offsets and values to
+    arrow.array.ListArray.fromArrays (#38531)
+  * [Python][Compute] Describe strptime format semantics (#38665)
+  * [Python] Remove dead code in _reconstruct_block (#38714)
+  * [Python] Fix append mode for cython 2 (#39027)
+  * [Python] Add append mode for pyarrow.OsFile (#38820)
+  * [Python] Extract libparquet requirements out of
+    libarrow_python.so to new libarrow_python_parquet_encryption.so
+    (#39316)
+  * Create module info compiler plugin (#39135)
+  * [Python] RecordBatchReader.from_stream constructor for objects
+    implementing the Arrow PyCapsule protocol (#39218)
+  * [Python] Pass in type to MapType.from_arrays (#39516)
+  * [Python][CI] Skip failing dask tests: test_describe_empty and
+    test_view (#39534)
+  * [Python] NumPy 2.0 compat: remove usage of np.core (#39535)
+  * [Packaging][Python] Add a numpy<2 pin to the install
+    requirements for the 15.x release branch (#39538)
+
+-------------------------------------------------------------------
+Mon Jan 15 20:42:25 UTC 2024 - Ben Greiner <[email protected]>
+
+- Update to 14.0.2
+  ## New Features and Improvements
+  * GH-38342 - [Python] Update to_pandas to use non-deprecated
+    DataFrame constructor (#38374)
+  * GH-38364 - [Python] Initialize S3 on first use (#38375)
+  ## Bug Fixes
+  * GH-38345 - [Release] Use local test data for verification if
+    possible (#38362)
+  * GH-38577 - Reading parquet file behavior change from 13.0.0 to
+    14.0.0
+  * GH-38626 - [Python] Fix segfault when PyArrow is imported at
+    shutdown (#38637)
+  * GH-38676 - [Python] Fix potential deadlock when CSV reading
+    errors out (#38713)
+  * GH-38984 - [Python][Packaging] Verification of wheels on
+    AlmaLinux 8 are failing due to missing pip (#38985)
+  * GH-39074 - [Release][Packaging] Use UTF-8 explicitly for KEYS
+    (#39082)
+
+-------------------------------------------------------------------
+Tue Nov 14 23:29:03 UTC 2023 - Ondřej Súkup <[email protected]>
+
+- Fix cve in changelog 
+
+-------------------------------------------------------------------
+Tue Nov 14 09:28:23 UTC 2023 - Ondřej Súkup <[email protected]>
+
+- Update to 14.0.1 
+- drop pyarrow-pr37481-pandas2.1.patch
+- fixes boo#1216991 CVE-2023-47248
+ * GH-38431 - [Python][CI] Update fs.type_name checks for s3fs tests
+ * GH-38607 - [Python] Disable PyExtensionType autoload
+- update to 14.0.0
+ * very long list of changes can be found here:
+ https://arrow.apache.org/release/14.0.0.html
+
+-------------------------------------------------------------------
+Thu Aug 31 18:43:55 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to 13.0.0
+  ## Compatibility notes:
+  * The default format version for Parquet has been bumped from 2.4
+    to 2.6 GH-35746. In practice, this means that nanosecond
+    timestamps now preserve its resolution instead of being
+    converted to microseconds.
+  * Support for Python 3.7 is dropped GH-34788
+  ## New features:
+  * Conversion to non-nano datetime64 for pandas >= 2.0 is now
+    supported GH-33321
+  * Write page index is now supported GH-36284
+  * Bindings for reading JSON format in Dataset are added GH-34216
+  * keys_sorted property of MapType is now exposed GH-35112
+  ## Other improvements:
+  * Common python functionality between Table and RecordBatch
+    classes has been consolidated ( GH-36129, GH-35415, GH-35390,
+    GH-34979, GH-34868, GH-31868)
+  * Some functionality for FixedShapeTensorType has been improved
+    (__reduce__ GH-36038, picklability GH-35599)
+  * Pyarrow scalars can now be accepted in the array constructor
+    GH-21761
+  * DataFrame Interchange Protocol implementation and usage is now
+    documented GH-33980
+  * Conversion between Arrow and Pandas for map/pydict now has
+    enhanced support GH-34729
+  * Usability of pc.map_lookup / MapLookupOptions is improved
+    GH-36045
+  * zero_copy_only keyword can now also be accepted in
+    ChunkedArray.to_numpy() GH-34787
+  * Python C++ codebase now has linter support in Archery and the
+    CI GH-35485
+  ## Relevant bug fixes:
+  * __array__ numpy conversion for Table and RecordBatch is now
+    corrected so that np.asarray(pa.Table) doesn’t return a
+    transposed result GH-34886
+  * parquet.write_to_dataset doesn’t create empty files for
+    non-observed dictionary (category) values anymore GH-23870
+  * Dataset writer now also correctly follows default Parquet
+    version of 2.6 GH-36537
+  * Comparing pyarrow.dataset.Partitioning with other type is now
+    correctly handled GH-36659
+  * Pickling of pyarrow.dataset PartitioningFactory objects is now
+    supported GH-34884
+  * None schema is now disallowed in parquet writer GH-35858
+  * pa.FixedShapeTensorArray.to_numpy_ndarray is not failing on
+    sliced arrays GH-35573
+  * Halffloat type is now supported in the conversion from Arrow
+    list to pandas GH-36168
+  * __from_arrow__ is now also implemented for Array.to_pandas for
+    pandas extension data types GH-36096
+- Add pyarrow-pr37481-pandas2.1.patch gh#apache/arrow#37481
+
+-------------------------------------------------------------------
+Fri Aug 25 12:52:17 UTC 2023 - Ben Greiner <[email protected]>
+
+- Limit to Cython < 3
+
+-------------------------------------------------------------------
+Mon Jun 12 12:22:31 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to 12.0.1
+  ## Bug Fixes
+  * [GH-35389] - [Python] Fix coalesce_keys=False option in join
+    operation (#35505)
+  * [GH-35821] - [Python][CI] Skip extension type test failing with
+    pandas 2.0.2 (#35822)
+  * [GH-35845] - [CI][Python] Fix usage of assert_frame_equal in
+    test_hdfs.py (#35842)
+  ## New Features and Improvements
+  * [GH-35329] - [Python] Address pandas.types.is_sparse deprecation
+    (#35366)
+- Drop pyarrow-pr35822-pandas2-extensiontype.patch
+
+-------------------------------------------------------------------
+Wed Jun  7 07:39:44 UTC 2023 - Ben Greiner <[email protected]>
+
+- Skip invalid pandas 2 test
+  * pyarrow-pr35822-pandas2-extensiontype.patch
+  * gh#apache/arrow#35822
+  * gh#apache/arrow#35839
+
+-------------------------------------------------------------------
+Thu May 18 07:28:28 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to 12.0.0
+  ## Compatibility notes:
+  * Plasma has been removed in this release (GH-33243). In
+    addition, the deprecated serialization module in PyArrow was
+    also removed (GH-29705). IPC (Inter-Process Communication)
+    functionality of pyarrow or the standard library pickle should
+    be used instead.
+  * The deprecated use_async keyword has been removed from the
+    dataset module (GH-30774)
+  * Minimum Cython version to build PyArrow from source has been
+    raised to 0.29.31 (GH-34933). In addition, PyArrow can now be
+    compiled using Cython 3 (GH-34564).
+  ## New features:
+  * A new pyarrow.acero module with initial bindings for the Acero
+    execution engine has been added (GH-33976)
+  * A new canonical extension type for fixed shaped tensor data has
+    been defined. This is exposed in PyArrow as the
+    FixedShapeTensorType (GH-34882, GH-34956)
+  * Run-End Encoded arrays binding has been implemented (GH-34686,
+    GH-34568)
+  * Method is_nan has been added to Array, ChunkedArray and
+    Expression (GH-34154)
+  * Dataframe interchange protocol has been implemented for
+    RecordBatch (GH-33926)
+  ## Other improvements:
+  * Extension arrays can now be concatenated (GH-31868)
+  * get_partition_keys helper function is implemented in the
+    dataset module to access the partitioning field’s key/value
+    from the partition expression of a certain dataset fragment
+    (GH-33825)
+  * PyArrow Array objects can now be accepted by the pa.array()
+    constructor (GH-34411)
+  * The default row group size when writing parquet files has been
+    changed (GH-34280)
+  * RecordBatch has the select() method implemented (GH-34359)
+  * New method drop_column on the pyarrow.Table supports passing a
+    single column as a string (GH-33377)
+  * User-defined tabular functions, which are a user-functions
+    implemented in Python that return a stateful stream of tabular
+    data, are now also supported (GH-32916)
+  * Arrow Archery tool now includes linting of the Cython files
+    (GH-31905)
+  * Breaking Change: Reorder output fields of “group_by” node so
+    that keys/segment keys come before aggregates (GH-33616)
+  ## Relevant bug fixes:
+  * Acero can now detect and raise an error in case a join
+    operation needs too much bytes of key data (GH-34474)
+  * Fix for converting non-sequence object in pa.array() (GH-34944)
+  * Fix erroneous table conversion to pandas if table includes an
+    extension array that does not implement to_pandas_dtype
+    (GH-34906)
+  * Reading from a closed ArrayStreamBatchReader now returns
+    invalid status instead of segfaulting (GH-34165)
+  * array() now returns pyarrow.Array and not pyarrow.ChunkedArray
+    for columns with __arrow_array__ method and only one chunk so
+    that the conversion of pandas dataframe with categorical column
+    of dtype string[pyarrow] does not fail (GH-33727)
+  * Custom type mapper in to_pandas now converts index dtypes
+    together with column dtypes (GH-34283)
+
+-------------------------------------------------------------------
+Wed Mar 29 13:25:55 UTC 2023 - Ben Greiner <[email protected]>
+
+- Fix tests expecting the jemalloc backend which was disabled in
+  the apache-arrow package
+
+-------------------------------------------------------------------
+Sun Mar 12 05:31:32 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to v11.0.0
+  * [Python][Doc] Add five more numpydoc checks to CI (#15214)
+  * [Python][CI][Doc] Enable numpydoc check PR03 (#13983)
+  * [Python] Expose flag to enable/disable storing Arrow schema in Parquet 
metadata (#13000)
+  * [Python] Add support for reading record batch custom metadata API (#13041)
+  * [Python] Add lazy Dataset.filter() method (#13409)
+  * [Python] ParquetDataset to still take legacy code path when old filesystem 
is passed (#15269)
+  * [Python] Switch default and deprecate use_legacy_dataset=True in 
ParquetDataset (#14052)
+  * [Python] Support lazy Dataset.filter
+  * [Python] Order of columns in pyarrow.feather.read_table (#14528)
+  * [Python] Construct MapArray from sequence of dicts (instead of list of 
tuples) (#14547)
+  * [Python] Unify CMakeLists.txt in python/ (#14925)
+  * [C++][Python] Implement list_slice kernel (#14395)
+  * [C++][Python] Enable struct_field kernel to accept string field names 
(#14495)
+  * [Python][C++] Add use\_threads to run\_substrait\_query
+  * [Python][Docs] adding info about TableGroupBy.aggregation with empty list 
(#14482)
+  * [Python] DataFrame Interchange Protocol for pyarrow Table
+  * [Python] Drop older versions of Pandas (<1.0) (#14631)
+  * [Python] Pass Cmake args to Python CPP 
+  * [Docs][Python] Improve docs for S3FileSystem (#14599)
+  * [Python] Add missing value accessor to temporal types (#14746)
+  * [Python] Expose time32/time64 scalar values (#14637)
++++ 138 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes

New:
----
  _multibuild
  apache-arrow-pr40230-glog-0.7.patch
  apache-arrow-pr40275-glog-0.7-2.patch
  python-pyarrow.changes
  python-pyarrow.rpmlintrc
  python-pyarrow.spec

BETA DEBUG BEGIN:
  New:/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes-- 
Reenable logging
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes:  * Add 
apache-arrow-pr40230-glog-0.7.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes-  * Add 
apache-arrow-pr40275-glog-0.7-2.patch
--
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes-- Also 
needs the cpp GLOG patches
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes:  * 
Add apache-arrow-pr40230-glog-0.7.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes-  * 
Add apache-arrow-pr40275-glog-0.7-2.patch
  New:/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes-  
* Add apache-arrow-pr40230-glog-0.7.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes:  * Add 
apache-arrow-pr40275-glog-0.7-2.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/apache-arrow.changes-  * now 
requires glog devel files to be present for
--
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes-  * 
Add apache-arrow-pr40230-glog-0.7.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes:  * 
Add apache-arrow-pr40275-glog-0.7-2.patch
/work/SRC/openSUSE:Factory/.apache-arrow.new.1770/python-pyarrow.changes-
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ apache-arrow.spec ++++++
--- /var/tmp/diff_new_pack.z1pvuw/_old  2024-03-01 23:36:15.050859360 +0100
+++ /var/tmp/diff_new_pack.z1pvuw/_new  2024-03-01 23:36:15.054859504 +0100
@@ -36,6 +36,10 @@
 Source0:        
https://github.com/apache/arrow/archive/apache-arrow-%{version}.tar.gz
 Source1:        
https://github.com/apache/arrow-testing/archive/%{arrow_testing_commit}.tar.gz#/arrow-testing-%{version}.tar.gz
 Source2:        
https://github.com/apache/parquet-testing/archive/%{parquet_testing_commit}.tar.gz#/parquet-testing-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM apache-arrow-pr40230-glog-0.7.patch gh#apache/arrow#40230
+Patch0:         
https://github.com/apache/arrow/pull/40230.patch#/apache-arrow-pr40230-glog-0.7.patch
+# PATCH-FIX-UPSTREAM apache-arrow-pr40275-glog-0.7-2.patch 
gh#apache/arrow#40275
+Patch1:         
https://github.com/apache/arrow/pull/40275.patch#/apache-arrow-pr40275-glog-0.7-2.patch
 BuildRequires:  bison
 BuildRequires:  cmake >= 3.16
 BuildRequires:  fdupes
@@ -60,7 +64,7 @@
 BuildRequires:  pkgconfig(libbrotlidec) >= 1.0.7
 BuildRequires:  pkgconfig(libbrotlienc) >= 1.0.7
 BuildRequires:  pkgconfig(libcares) >= 1.15.0
-#BuildRequires:  pkgconfig(libglog) >= 0.3.5
+BuildRequires:  pkgconfig(libglog) >= 0.3.5
 BuildRequires:  pkgconfig(liblz4) >= 1.8.3
 BuildRequires:  pkgconfig(libopenssl)
 BuildRequires:  pkgconfig(liburiparser) >= 0.9.3
@@ -249,6 +253,7 @@
 
 %prep
 %setup -q -n arrow-apache-arrow-%{version} -a1 -a2
+%autopatch -p1
 
 %build
 export CFLAGS="%{optflags} -ffat-lto-objects"
@@ -282,7 +287,7 @@
    -DARROW_JSON:BOOL=ON \
    -DARROW_ORC:BOOL=OFF \
    -DARROW_PARQUET:BOOL=ON \
-   -DARROW_USE_GLOG:BOOL=OFF \
+   -DARROW_USE_GLOG:BOOL=ON \
    -DARROW_USE_OPENSSL:BOOL=ON \
    -DARROW_WITH_BACKTRACE:BOOL=ON \
    -DARROW_WITH_BROTLI:BOOL=ON \

++++++ python-pyarrow.spec ++++++
#
# spec file for package python-pyarrow
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%bcond_with xsimd
%define plainpython python
Name:           python-pyarrow
Version:        15.0.1
Release:        0
Summary:        Python library for Apache Arrow
License:        Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause AND MIT
URL:            https://arrow.apache.org/
# SourceRepository: https://github.com/apache/arrow
Source0:        apache-arrow-%{version}.tar.gz
Source99:       python-pyarrow.rpmlintrc
# PATCH-FIX-UPSTREAM apache-arrow-pr40230-glog-0.7.patch gh#apache/arrow#40230
Patch0:         apache-arrow-pr40230-glog-0.7.patch
# PATCH-FIX-UPSTREAM apache-arrow-pr40275-glog-0.7-2.patch gh#apache/arrow#40275
Patch1:         apache-arrow-pr40275-glog-0.7-2.patch
BuildRequires:  %{python_module Cython >= 0.29.31}
BuildRequires:  %{python_module devel >= 3.8}
BuildRequires:  %{python_module numpy-devel >= 1.16.6 with %python-numpy-devel 
< 2}
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(bzip2) >= 1.0.8
BuildRequires:  pkgconfig(gmock) >= 1.10
BuildRequires:  pkgconfig(gtest) >= 1.10
Requires:       (python-numpy >= 1.16.6 with python-numpy < 2)
# SECTION test requirements
BuildRequires:  %{python_module hypothesis}
BuildRequires:  %{python_module pandas}
BuildRequires:  %{python_module pytest-lazy-fixture}
BuildRequires:  %{python_module pytest-xdist}
BuildRequires:  %{python_module pytest}
# /SECTION
%python_subpackages

%description
Python library for Apache Arrow.

Apache Arrow defines a language-independent columnar
memory format for flat and hierarchical data, organized
for efficient analytic operations on modern hardware like
CPUs and GPUs. The Arrow memory format also supports
zero-copy reads for lightning-fast data access without
serialization overhead.

Arrow's libraries implement the format and provide building
blocks for a range of use cases, including high performance
analytics. Many popular projects use Arrow to ship columnar
data efficiently or as the basis for analytic engines.

%package devel
Summary:        Python library for Apache Arrow - header files
Requires:       python-Cython
Requires:       python-pyarrow = %{version}
Requires:       %plainpython(abi) = %python_version
Supplements:    (python-devel and python-pyarrow)

%description devel
Python library for Apache Arrow.

This package provides the header files within the python
platlib for consuming modules using cythonization.

%prep
%autosetup -p1 -n arrow-apache-arrow-%{version}
# we disabled the jemalloc backend in apache-arrow
sed -i 's/should_have_jemalloc = sys.platform == "linux"/should_have_jemalloc = 
False/' python/pyarrow/tests/test_memory.py

%build
pushd python
export CFLAGS="%{optflags}"
export PYARROW_BUILD_TYPE=relwithdebinfo
export PYARROW_BUILD_VERBOSE=1
%{?_smp_build_ncpus:export PYARROW_PARALLEL=%{_smp_build_ncpus}}
export PYARROW_WITH_HDFS=1
export PYARROW_WITH_DATASET=1
export PYARROW_WITH_PARQUET=1
export PYARROW_WITH_PARQUET_ENCRYPTION=0
export PYARROW_PARQUET_USE_SHARED=1
# x86_64-v1 does not have the advanced SIMD instructions. TW is stuck on it, we 
can't have -v3 through hwcaps as non-lib.
export PYARROW_CMAKE_OPTIONS=" \
%ifarch aarch64
   -DARROW_SIMD_LEVEL:STRING=%{?with_xsimd:NEON}%{!?with_xsimd:NONE} \
%else
   -DARROW_SIMD_LEVEL:STRING="NONE" \
%endif
   -DARROW_RUNTIME_SIMD_LEVEL:STRING=%{?with_xsimd:MAX}%{!?with_xsimd:NONE} \
"
%pyproject_wheel
popd

%install
pushd python
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
popd

%check
# flaky
donttest="test_total_bytes_allocated"
%ifarch %{ix86} %{arm32}
# tests conversion to 64bit datatypes
donttest="$donttest or test_conversion"
donttest="$donttest or test_dictionary_to_numpy"
donttest="$donttest or test_foreign_buffer"
donttest="$donttest or test_from_numpy_nested"
donttest="$donttest or test_integer_limits"
donttest="$donttest or test_memory_map_large_seeks"
donttest="$donttest or test_primitive_serialization"
donttest="$donttest or test_python_file_large_seeks"
donttest="$donttest or test_schema_sizeof"
%endif
%pytest_arch --pyargs pyarrow -n auto -k "not ($donttest)"
%pytest_arch --pyargs pyarrow -n auto -k "$donttest" || :

%files %{python_files}
%doc README.md
%license LICENSE.txt NOTICE.txt
%{python_sitearch}/pyarrow
%exclude %{python_sitearch}/pyarrow/include
%exclude %{python_sitearch}/pyarrow/src
%exclude %{python_sitearch}/pyarrow/lib.h
%exclude %{python_sitearch}/pyarrow/lib_api.h
%{python_sitearch}/pyarrow-%{version}.dist-info

%files %{python_files devel}
%doc README.md
%license LICENSE.txt NOTICE.txt
%{python_sitearch}/pyarrow/include
%{python_sitearch}/pyarrow/src
%{python_sitearch}/pyarrow/lib.h
%{python_sitearch}/pyarrow/lib_api.h

%changelog

++++++ _multibuild ++++++
<multibuild>
  <flavor>python-pyarrow</flavor>
</multibuild>

++++++ apache-arrow-pr40230-glog-0.7.patch ++++++
>From 147504673e409fc5267f0422a58f170f442b5455 Mon Sep 17 00:00:00 2001
From: "Uwe L. Korn" <[email protected]>
Date: Mon, 26 Feb 2024 09:21:31 +0100
Subject: [PATCH] GH-40181: [C++] Support glog 0.7 build

---
 cpp/cmake_modules/FindGLOG.cmake | 8 +++++++-
 cpp/src/arrow/util/logging.cc    | 6 +++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/cpp/cmake_modules/FindGLOG.cmake b/cpp/cmake_modules/FindGLOG.cmake
index 61b7d0694efd4..62b235ee917ca 100644
--- a/cpp/cmake_modules/FindGLOG.cmake
+++ b/cpp/cmake_modules/FindGLOG.cmake
@@ -17,6 +17,11 @@
 #
 #  find_package(GLOG)
 
+find_package(glog CONFIG)
+if(glog_FOUND)
+  return()
+endif()
+
 if(GLOG_FOUND)
   return()
 endif()
@@ -56,5 +61,6 @@ if(GLOG_FOUND)
   add_library(glog::glog UNKNOWN IMPORTED)
   set_target_properties(glog::glog
                         PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}"
-                                   INTERFACE_INCLUDE_DIRECTORIES 
"${GLOG_INCLUDE_DIR}")
+                                   INTERFACE_INCLUDE_DIRECTORIES 
"${GLOG_INCLUDE_DIR}"
+                                   INTERFACE_COMPILE_DEFINITIONS 
"GLOG_USE_GLOG_EXPORT")
 endif()
diff --git a/cpp/src/arrow/util/logging.cc b/cpp/src/arrow/util/logging.cc
index d2931132372a7..25c336a6d2111 100644
--- a/cpp/src/arrow/util/logging.cc
+++ b/cpp/src/arrow/util/logging.cc
@@ -116,7 +116,7 @@ static std::unique_ptr<std::string> log_dir_;
 #ifdef ARROW_USE_GLOG
 
 // Glog's severity map.
-static int GetMappedSeverity(ArrowLogLevel severity) {
+static google::LogSeverity GetMappedSeverity(ArrowLogLevel severity) {
   switch (severity) {
     case ArrowLogLevel::ARROW_DEBUG:
       return google::GLOG_INFO;
@@ -148,7 +148,7 @@ void ArrowLog::StartArrowLog(const std::string& app_name,
   app_name_.reset(new std::string(app_name));
   log_dir_.reset(new std::string(log_dir));
 #ifdef ARROW_USE_GLOG
-  int mapped_severity_threshold = GetMappedSeverity(severity_threshold_);
+  google::LogSeverity mapped_severity_threshold = 
GetMappedSeverity(severity_threshold_);
   google::SetStderrLogging(mapped_severity_threshold);
   // Enable log file if log_dir is not empty.
   if (!log_dir.empty()) {
@@ -173,7 +173,7 @@ void ArrowLog::StartArrowLog(const std::string& app_name,
     google::SetLogFilenameExtension(app_name_without_path.c_str());
     for (int i = static_cast<int>(severity_threshold_);
          i <= static_cast<int>(ArrowLogLevel::ARROW_FATAL); ++i) {
-      int level = GetMappedSeverity(static_cast<ArrowLogLevel>(i));
+      google::LogSeverity level = 
GetMappedSeverity(static_cast<ArrowLogLevel>(i));
       google::SetLogDestination(level, dir_ends_with_slash.c_str());
     }
   }

++++++ apache-arrow-pr40275-glog-0.7-2.patch ++++++
>From 32c44949e1d15295d84bd3d6a964ed4a320c5e48 Mon Sep 17 00:00:00 2001
From: Sutou Kouhei <[email protected]>
Date: Wed, 28 Feb 2024 22:56:41 +0900
Subject: [PATCH] GH-40274: [C++] Add support for system glog 0.7

---
 .../{FindGLOG.cmake => FindglogAlt.cmake}     | 20 +++++++++++++------
 cpp/cmake_modules/ThirdpartyToolchain.cmake   | 18 ++++++++++++++---
 2 files changed, 29 insertions(+), 9 deletions(-)
 rename cpp/cmake_modules/{FindGLOG.cmake => FindglogAlt.cmake} (83%)

diff --git a/cpp/cmake_modules/FindGLOG.cmake 
b/cpp/cmake_modules/FindglogAlt.cmake
similarity index 83%
rename from cpp/cmake_modules/FindGLOG.cmake
rename to cpp/cmake_modules/FindglogAlt.cmake
index 62b235ee917ca..eb16636add958 100644
--- a/cpp/cmake_modules/FindGLOG.cmake
+++ b/cpp/cmake_modules/FindglogAlt.cmake
@@ -15,14 +15,22 @@
 #
 # Usage of this module as follows:
 #
-#  find_package(GLOG)
+#  find_package(glogAlt)
 
-find_package(glog CONFIG)
-if(glog_FOUND)
+if(glogAlt_FOUND)
   return()
 endif()
 
-if(GLOG_FOUND)
+set(find_package_args CONFIG)
+if(glogAlt_FIND_VERSION)
+  list(APPEND find_package_args ${glogAlt_FIND_VERSION})
+endif()
+if(glogAlt_FIND_QUIETLY)
+  list(APPEND find_package_args QUIET)
+endif()
+find_package(glog ${find_package_args})
+if(glog_FOUND)
+  set(glogAlt_FOUND TRUE)
   return()
 endif()
 
@@ -55,9 +63,9 @@ else()
             PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
 endif()
 
-find_package_handle_standard_args(GLOG REQUIRED_VARS GLOG_INCLUDE_DIR GLOG_LIB)
+find_package_handle_standard_args(glogAlt REQUIRED_VARS GLOG_INCLUDE_DIR 
GLOG_LIB)
 
-if(GLOG_FOUND)
+if(glogAlt_FOUND)
   add_library(glog::glog UNKNOWN IMPORTED)
   set_target_properties(glog::glog
                         PROPERTIES IMPORTED_LOCATION "${GLOG_LIB}"
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake 
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 951028b6994ad..1a63301ba2296 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -55,7 +55,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES
     BZip2
     c-ares
     gflags
-    GLOG
+    glog
     google_cloud_cpp_storage
     gRPC
     GTest
@@ -115,6 +115,14 @@ if("${lz4_SOURCE}" STREQUAL "" AND NOT "${Lz4_SOURCE}" 
STREQUAL "")
   set(lz4_SOURCE ${Lz4_SOURCE})
 endif()
 
+# For backward compatibility. We use "glog_SOURCE" if "GLOG_SOURCE"
+# isn't specified and "GLOG_SOURCE" is specified.
+# We renamed "GLOG" dependency name to "glog" in 16.0.0 because
+# upstream uses "glog" not "GLOG" as package name.
+if("${glog_SOURCE}" STREQUAL "" AND NOT "${GLOG_SOURCE}" STREQUAL "")
+  set(glog_SOURCE ${GLOG_SOURCE})
+endif()
+
 # For backward compatibility. We use bundled jemalloc by default.
 if("${jemalloc_SOURCE}" STREQUAL "")
   set(jemalloc_SOURCE "BUNDLED")
@@ -184,7 +192,7 @@ macro(build_dependency DEPENDENCY_NAME)
     build_cares()
   elseif("${DEPENDENCY_NAME}" STREQUAL "gflags")
     build_gflags()
-  elseif("${DEPENDENCY_NAME}" STREQUAL "GLOG")
+  elseif("${DEPENDENCY_NAME}" STREQUAL "glog")
     build_glog()
   elseif("${DEPENDENCY_NAME}" STREQUAL "google_cloud_cpp_storage")
     build_google_cloud_cpp_storage()
@@ -1533,7 +1541,11 @@ macro(build_glog)
 endmacro()
 
 if(ARROW_USE_GLOG)
-  resolve_dependency(GLOG PC_PACKAGE_NAMES libglog)
+  resolve_dependency(glog
+                     HAVE_ALT
+                     TRUE
+                     PC_PACKAGE_NAMES
+                     libglog)
 endif()
 
 # ----------------------------------------------------------------------

++++++ python-pyarrow.rpmlintrc ++++++
# empty but necessary module file
addFilter("zero-length .*__init__")

Reply via email to