Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xtensor-python for openSUSE:Factory checked in at 2025-08-19 16:47:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xtensor-python (Old) and /work/SRC/openSUSE:Factory/.xtensor-python.new.1085 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xtensor-python" Tue Aug 19 16:47:18 2025 rev:5 rq:1299276 version:0.28.0 Changes: -------- --- /work/SRC/openSUSE:Factory/xtensor-python/xtensor-python.changes 2025-02-27 14:54:27.429297210 +0100 +++ /work/SRC/openSUSE:Factory/.xtensor-python.new.1085/xtensor-python.changes 2025-08-19 16:49:04.938265121 +0200 @@ -1,0 +2,10 @@ +Thu Jul 24 05:19:43 UTC 2025 - Christoph G <f...@grueninger.de> + +- Update to 0.28 + * Adjust xtensor includes + * Provide pkg-config file +- Adapt 0001-Install-as-arch-independent.patch +- Remove cxx-flags.patch as there is no longer a single place + to add compiler flags for tests. + +------------------------------------------------------------------- Old: ---- cxx-flags.patch xtensor-python-0.27.0.tar.gz New: ---- xtensor-python-0.28.0.tar.gz ----------(Old B)---------- Old:- Adapt 0001-Install-as-arch-independent.patch - Remove cxx-flags.patch as there is no longer a single place to add compiler flags for tests. ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xtensor-python.spec ++++++ --- /var/tmp/diff_new_pack.hL1VMm/_old 2025-08-19 16:49:05.442286107 +0200 +++ /var/tmp/diff_new_pack.hL1VMm/_new 2025-08-19 16:49:05.442286107 +0200 @@ -17,19 +17,18 @@ Name: xtensor-python -Version: 0.27.0 +Version: 0.28.0 Release: 0 Summary: Python bindings for the xtensor C++ multi-dimensional array library License: BSD-3-Clause URL: https://github.com/xtensor-stack/xtensor-python Source0: https://github.com/xtensor-stack/xtensor-python/archive/refs/tags/%{version}/%{name}-%{version}.tar.gz Patch0: 0001-Install-as-arch-independent.patch -Patch1: cxx-flags.patch BuildRequires: %{python_module breathe} BuildRequires: %{python_module numpy-devel} BuildRequires: %{python_module sphinx_rtd_theme} BuildRequires: %{pythons} -BuildRequires: cmake +BuildRequires: cmake >= 3.14 BuildRequires: doctest-devel BuildRequires: doxygen BuildRequires: fdupes @@ -37,7 +36,7 @@ BuildRequires: gtest BuildRequires: make BuildRequires: python-rpm-macros -BuildRequires: xtensor-devel >= 0.25.0 +BuildRequires: xtensor-devel >= 0.26 BuildRequires: cmake(pybind11) >= 2.6.1 Group: Development/Libraries/C and C++ @@ -123,4 +122,5 @@ %license LICENSE %{_includedir}/xtensor-python %{_datadir}/cmake/xtensor-python +%{_datadir}/pkgconfig/xtensor-python.pc ++++++ 0001-Install-as-arch-independent.patch ++++++ --- /var/tmp/diff_new_pack.hL1VMm/_old 2025-08-19 16:49:05.466287107 +0200 +++ /var/tmp/diff_new_pack.hL1VMm/_new 2025-08-19 16:49:05.470287273 +0200 @@ -16,9 +16,9 @@ index 6521c98..47af271 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -123,7 +123,7 @@ export(EXPORT ${PROJECT_NAME}-targets - install(FILES ${XTENSOR_PYTHON_HEADERS} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xtensor-python) +@@ -130,7 +130,7 @@ export(EXPORT ${PROJECT_NAME}-targets + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" + DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig/") -set(XTENSOR_PYTHON_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE +set(XTENSOR_PYTHON_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME}" CACHE ++++++ xtensor-python-0.27.0.tar.gz -> xtensor-python-0.28.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/.github/workflows/linux.yml new/xtensor-python-0.28.0/.github/workflows/linux.yml --- old/xtensor-python-0.27.0/.github/workflows/linux.yml 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/.github/workflows/linux.yml 2025-04-14 10:24:09.000000000 +0200 @@ -12,50 +12,42 @@ shell: bash -e -l {0} jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 name: ${{ matrix.sys.compiler }} ${{ matrix.sys.version }} strategy: fail-fast: false matrix: sys: - - {compiler: gcc, version: '8'} - - {compiler: gcc, version: '9'} - - {compiler: gcc, version: '10'} - {compiler: gcc, version: '11'} - - {compiler: clang, version: '15'} - - {compiler: clang, version: '16'} + - {compiler: gcc, version: '12'} + - {compiler: gcc, version: '13'} + - {compiler: gcc, version: '14'} + - {compiler: clang, version: '17'} + - {compiler: clang, version: '18'} + - {compiler: clang, version: '19'} + - {compiler: clang, version: '20'} steps: + - name: Install GCC + if: matrix.sys.compiler == 'gcc' + uses: egor-tensin/setup-gcc@v1 + with: + version: ${{matrix.sys.version}} + platform: x64 - - name: Setup GCC - if: ${{ matrix.sys.compiler == 'gcc' }} + - name: Install LLVM and Clang + if: matrix.sys.compiler == 'clang' run: | - GCC_VERSION=${{ matrix.sys.version }} - sudo apt-get update - sudo apt-get --no-install-suggests --no-install-recommends install g++-$GCC_VERSION - CC=gcc-$GCC_VERSION - echo "CC=$CC" >> $GITHUB_ENV - CXX=g++-$GCC_VERSION - echo "CXX=$CXX" >> $GITHUB_ENV - - - name: Setup clang - if: ${{ matrix.sys.compiler == 'clang' }} - run: | - LLVM_VERSION=${{ matrix.sys.version }} - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - || exit 1 - if [[ $LLVM_VERSION -ge 13 ]]; then - sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM_VERSION main" || exit 1 - else - sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main" || exit 1 - fi || exit 1 - sudo apt-get update || exit 1 - sudo apt-get --no-install-suggests --no-install-recommends install clang-$LLVM_VERSION || exit 1 - sudo apt-get --no-install-suggests --no-install-recommends install g++-9 g++-9-multilib || exit 1 - sudo ln -s /usr/include/asm-generic /usr/include/asm - CC=clang-$LLVM_VERSION - echo "CC=$CC" >> $GITHUB_ENV - CXX=clang++-$LLVM_VERSION - echo "CXX=$CXX" >> $GITHUB_ENV + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh ${{matrix.sys.version}} + sudo apt-get install -y clang-tools-${{matrix.sys.version}} + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{matrix.sys.version}} 200 + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{matrix.sys.version}} 200 + sudo update-alternatives --install /usr/bin/clang-scan-deps clang-scan-deps /usr/bin/clang-scan-deps-${{matrix.sys.version}} 200 + sudo update-alternatives --set clang /usr/bin/clang-${{matrix.sys.version}} + sudo update-alternatives --set clang++ /usr/bin/clang++-${{matrix.sys.version}} + sudo update-alternatives --set clang-scan-deps /usr/bin/clang-scan-deps-${{matrix.sys.version}} - name: Checkout code uses: actions/checkout@v3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/.github/workflows/osx.yml new/xtensor-python-0.28.0/.github/workflows/osx.yml --- old/xtensor-python-0.27.0/.github/workflows/osx.yml 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/.github/workflows/osx.yml 2025-04-14 10:24:09.000000000 +0200 @@ -18,8 +18,9 @@ fail-fast: false matrix: os: - - 11 - - 12 + - 13 + - 14 + - 15 steps: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/CMakeLists.txt new/xtensor-python-0.28.0/CMakeLists.txt --- old/xtensor-python-0.27.0/CMakeLists.txt 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/CMakeLists.txt 2025-04-14 10:24:09.000000000 +0200 @@ -7,7 +7,7 @@ # The full license is in the file LICENSE, distributed with this software. # ############################################################################ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.29) project(xtensor-python) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) @@ -25,14 +25,14 @@ set(XTENSOR_PYTHON_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "") endif() endforeach() -set(${PROJECT_NAME}_VERSION +set(${PROJECT_NAME}_VERSION ${XTENSOR_PYTHON_VERSION_MAJOR}.${XTENSOR_PYTHON_VERSION_MINOR}.${XTENSOR_PYTHON_VERSION_PATCH}) message(STATUS "xtensor-python v${${PROJECT_NAME}_VERSION}") # Dependencies # ============ -set(xtensor_REQUIRED_VERSION 0.25.0) +set(xtensor_REQUIRED_VERSION 0.26.0) if(TARGET xtensor) set(xtensor_VERSION ${XTENSOR_VERSION_MAJOR}.${XTENSOR_VERSION_MINOR}.${XTENSOR_VERSION_PATCH}) # Note: This is not SEMVER compatible comparison @@ -46,26 +46,27 @@ message(STATUS "Found xtensor: ${xtensor_INCLUDE_DIRS}/xtensor") endif() -# Running find_package(PythonInterp) to retrieve the Python version -# which is not exported by Pybind11's cmake. -# Cf. https://github.com/pybind/pybind11/issues/2268 -find_package(PythonInterp ${PythonLibsNew_FIND_VERSION} REQUIRED) +find_package(Python COMPONENTS Interpreter REQUIRED) set(pybind11_REQUIRED_VERSION 2.6.1) -if(TARGET pybind11 OR TARGET pybind11::headers) - # pybind11 has a variable that indicates its version already, so use that - message(STATUS "Found pybind11 v${pybind11_VERSION}") -else() +if (NOT TARGET pybind11::headers) + # Defaults to ON for cmake >= 3.18 + # https://github.com/pybind/pybind11/blob/35ff42b56e9d34d9a944266eb25f2c899dbdfed7/CMakeLists.txt#L96 + set(PYBIND11_FINDPYTHON OFF) find_package(pybind11 ${pybind11_REQUIRED_VERSION} REQUIRED) message(STATUS "Found pybind11: ${pybind11_INCLUDE_DIRS}/pybind11") -endif() +else () + # pybind11 has a variable that indicates its version already, so use that + message(STATUS "Found pybind11 v${pybind11_VERSION}") +endif () # Look for NumPy headers, except if NUMPY_INCLUDE_DIRS is passed, # which is required under some circumstances (such as wasm, where # there is no real python executable) if(NOT NUMPY_INCLUDE_DIRS) - find_package(Python REQUIRED COMPONENTS NumPy) + find_package(NumPy REQUIRED) endif() +message(STATUS "Found numpy: ${NUMPY_INCLUDE_DIRS}") # Build # ===== @@ -84,7 +85,7 @@ add_library(xtensor-python INTERFACE) target_include_directories(xtensor-python INTERFACE - "$<BUILD_INTERFACE:${XTENSOR_PYTHON_INCLUDE_DIR};${pybind11_INCLUDE_DIRS};${Python_NumPy_INCLUDE_DIRS}>" + "$<BUILD_INTERFACE:${XTENSOR_PYTHON_INCLUDE_DIR};${pybind11_INCLUDE_DIRS};${NUMPY_INCLUDE_DIRS}>" $<INSTALL_INTERFACE:include>) target_link_libraries(xtensor-python INTERFACE xtensor) get_target_property(inc_dir xtensor-python INTERFACE_INCLUDE_DIRECTORIES) @@ -123,6 +124,12 @@ install(FILES ${XTENSOR_PYTHON_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xtensor-python) +configure_file(${PROJECT_NAME}.pc.in + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" + @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" + DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig/") + set(XTENSOR_PYTHON_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE STRING "install path for xtensor-pythonConfig.cmake") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/README.md new/xtensor-python-0.28.0/README.md --- old/xtensor-python-0.27.0/README.md 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/README.md 2025-04-14 10:24:09.000000000 +0200 @@ -51,7 +51,7 @@ ```cpp #include <numeric> // Standard library import for std::accumulate #include <pybind11/pybind11.h> // Pybind11 import to define Python bindings -#include <xtensor/xmath.hpp> // xtensor import for the C++ universal functions +#include <xtensor/core/xmath.hpp> // xtensor import for the C++ universal functions #define FORCE_IMPORT_ARRAY #include <xtensor-python/pyarray.hpp> // Numpy bindings @@ -204,7 +204,8 @@ | `xtensor-python` | `xtensor` | `pybind11` | |------------------|-----------|------------------| -| master | ^0.25.0 | >=2.6.1,<3 | +| master | ^0.26.0 | >=2.6.1,<3 | +| 0.28.0 | ^0.26.0 | >=2.6.1,<3 | | 0.27.0 | ^0.25.0 | >=2.6.1,<3 | | 0.26.1 | ^0.24.0 | ~2.4.3 | | 0.26.0 | ^0.24.0 | ~2.4.3 | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/benchmark/main.cpp new/xtensor-python-0.28.0/benchmark/main.cpp --- old/xtensor-python-0.27.0/benchmark/main.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/benchmark/main.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -2,8 +2,8 @@ #include "pybind11/numpy.h" #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION #include "numpy/arrayobject.h" -#include "xtensor/xtensor.hpp" -#include "xtensor/xarray.hpp" +#include "xtensor/containers/xtensor.hpp" +#include "xtensor/containers/xarray.hpp" #include "xtensor-python/pyarray.hpp" #include "xtensor-python/pytensor.hpp" #include "xtensor-python/pyvectorize.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/cmake/FindNumPy.cmake new/xtensor-python-0.28.0/cmake/FindNumPy.cmake --- old/xtensor-python-0.27.0/cmake/FindNumPy.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/xtensor-python-0.28.0/cmake/FindNumPy.cmake 2025-04-14 10:24:09.000000000 +0200 @@ -0,0 +1,89 @@ +# - Find the NumPy libraries +# This module finds if NumPy is installed, and sets the following variables +# indicating where it is. +# +# TODO: Update to provide the libraries and paths for linking npymath lib. +# +# NUMPY_FOUND - was NumPy found +# NUMPY_VERSION - the version of NumPy found as a string +# NUMPY_VERSION_MAJOR - the major version number of NumPy +# NUMPY_VERSION_MINOR - the minor version number of NumPy +# NUMPY_VERSION_PATCH - the patch version number of NumPy +# NUMPY_VERSION_DECIMAL - e.g. version 1.6.1 is 10601 +# NUMPY_INCLUDE_DIRS - path to the NumPy include files + +#============================================================================ +# Copyright 2012 Continuum Analytics, Inc. +# +# MIT License +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +#============================================================================ + +# Finding NumPy involves calling the Python interpreter +if(NumPy_FIND_REQUIRED) + find_package(Python COMPONENTS Interpreter REQUIRED) +else() + find_package(Python COMPONENTS Interpreter) +endif() + +if(NOT PYTHONINTERP_FOUND) + set(NUMPY_FOUND FALSE) +endif() + +execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" + "import numpy as n; print(n.__version__); print(n.get_include());" + RESULT_VARIABLE _NUMPY_SEARCH_SUCCESS + OUTPUT_VARIABLE _NUMPY_VALUES + ERROR_VARIABLE _NUMPY_ERROR_VALUE + OUTPUT_STRIP_TRAILING_WHITESPACE) + +if(NOT _NUMPY_SEARCH_SUCCESS MATCHES 0) + if(NumPy_FIND_REQUIRED) + message(FATAL_ERROR + "NumPy import failure:\n${_NUMPY_ERROR_VALUE}") + endif() + set(NUMPY_FOUND FALSE) +endif() + +# Convert the process output into a list +string(REGEX REPLACE ";" "\\\\;" _NUMPY_VALUES ${_NUMPY_VALUES}) +string(REGEX REPLACE "\n" ";" _NUMPY_VALUES ${_NUMPY_VALUES}) +list(GET _NUMPY_VALUES 0 NUMPY_VERSION) +list(GET _NUMPY_VALUES 1 NUMPY_INCLUDE_DIRS) + +# Make sure all directory separators are '/' +string(REGEX REPLACE "\\\\" "/" NUMPY_INCLUDE_DIRS ${NUMPY_INCLUDE_DIRS}) + +# Get the major and minor version numbers +string(REGEX REPLACE "\\." ";" _NUMPY_VERSION_LIST ${NUMPY_VERSION}) +list(GET _NUMPY_VERSION_LIST 0 NUMPY_VERSION_MAJOR) +list(GET _NUMPY_VERSION_LIST 1 NUMPY_VERSION_MINOR) +list(GET _NUMPY_VERSION_LIST 2 NUMPY_VERSION_PATCH) +string(REGEX MATCH "[0-9]*" NUMPY_VERSION_PATCH ${NUMPY_VERSION_PATCH}) +math(EXPR NUMPY_VERSION_DECIMAL + "(${NUMPY_VERSION_MAJOR} * 10000) + (${NUMPY_VERSION_MINOR} * 100) + ${NUMPY_VERSION_PATCH}") + +find_package_message(NUMPY + "Found NumPy: version \"${NUMPY_VERSION}\" ${NUMPY_INCLUDE_DIRS}" + "${NUMPY_INCLUDE_DIRS}${NUMPY_VERSION}") + +set(NUMPY_FOUND TRUE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/basic_usage.rst new/xtensor-python-0.28.0/docs/source/basic_usage.rst --- old/xtensor-python-0.27.0/docs/source/basic_usage.rst 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/basic_usage.rst 2025-04-14 10:24:09.000000000 +0200 @@ -16,7 +16,7 @@ #include <numeric> // Standard library import for std::accumulate #include "pybind11/pybind11.h" // Pybind11 import to define Python bindings - #include "xtensor/xmath.hpp" // xtensor import for the C++ universal functions + #include "xtensor/core/xmath.hpp" // xtensor import for the C++ universal functions #define FORCE_IMPORT_ARRAY // numpy C api loading #include "xtensor-python/pyarray.hpp" // Numpy bindings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/examples/copy_cast/CMakeLists.txt new/xtensor-python-0.28.0/docs/source/examples/copy_cast/CMakeLists.txt --- old/xtensor-python-0.27.0/docs/source/examples/copy_cast/CMakeLists.txt 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/examples/copy_cast/CMakeLists.txt 2025-04-14 10:24:09.000000000 +0200 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1..3.19) +cmake_minimum_required(VERSION 3.29) project(mymodule) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/examples/readme_example_1/CMakeLists.txt new/xtensor-python-0.28.0/docs/source/examples/readme_example_1/CMakeLists.txt --- old/xtensor-python-0.27.0/docs/source/examples/readme_example_1/CMakeLists.txt 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/examples/readme_example_1/CMakeLists.txt 2025-04-14 10:24:09.000000000 +0200 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.18..3.20) +cmake_minimum_required(VERSION 3.29) project(mymodule) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/examples/sfinae/CMakeLists.txt new/xtensor-python-0.28.0/docs/source/examples/sfinae/CMakeLists.txt --- old/xtensor-python-0.27.0/docs/source/examples/sfinae/CMakeLists.txt 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/examples/sfinae/CMakeLists.txt 2025-04-14 10:24:09.000000000 +0200 @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.18..3.20) +cmake_minimum_required(VERSION 3.29) project(mymodule) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/examples/sfinae/main.cpp new/xtensor-python-0.28.0/docs/source/examples/sfinae/main.cpp --- old/xtensor-python-0.27.0/docs/source/examples/sfinae/main.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/examples/sfinae/main.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -1,5 +1,5 @@ #include "mymodule.hpp" -#include <xtensor/xio.hpp> +#include <xtensor/io/xio.hpp> int main() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/docs/source/examples/sfinae/mymodule.hpp new/xtensor-python-0.28.0/docs/source/examples/sfinae/mymodule.hpp --- old/xtensor-python-0.27.0/docs/source/examples/sfinae/mymodule.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/docs/source/examples/sfinae/mymodule.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -1,4 +1,4 @@ -#include <xtensor/xtensor.hpp> +#include <xtensor/containers/xtensor.hpp> namespace mymodule { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/environment-dev.yml new/xtensor-python-0.28.0/environment-dev.yml --- old/xtensor-python-0.27.0/environment-dev.yml 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/environment-dev.yml 2025-04-14 10:24:09.000000000 +0200 @@ -6,9 +6,10 @@ - cmake - ninja # Host dependencies - - xtensor>=0.25,<0.26 - - numpy - - pybind11>=2.6.1,<3 + - xtensor>=0.26,<0.27 + - numpy>=2.0 + - pybind11>=2.12.0,<3 # Test dependencies + - setuptools - pytest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/pyarray.hpp new/xtensor-python-0.28.0/include/xtensor-python/pyarray.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/pyarray.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/pyarray.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -14,9 +14,9 @@ #include <cstddef> #include <vector> -#include "xtensor/xbuffer_adaptor.hpp" -#include "xtensor/xiterator.hpp" -#include "xtensor/xsemantic.hpp" +#include "xtensor/containers/xbuffer_adaptor.hpp" +#include "xtensor/core/xiterator.hpp" +#include "xtensor/core/xsemantic.hpp" #include "pyarray_backstrides.hpp" #include "pycontainer.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/pycontainer.hpp new/xtensor-python-0.28.0/include/xtensor-python/pycontainer.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/pycontainer.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/pycontainer.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -32,7 +32,7 @@ #undef copysign #include <cmath> -#include "xtensor/xcontainer.hpp" +#include "xtensor/containers/xcontainer.hpp" #include "xtl/xsequence.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/pytensor.hpp new/xtensor-python-0.28.0/include/xtensor-python/pytensor.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/pytensor.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/pytensor.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -14,10 +14,10 @@ #include <array> #include <cstddef> -#include "xtensor/xbuffer_adaptor.hpp" -#include "xtensor/xiterator.hpp" -#include "xtensor/xsemantic.hpp" -#include "xtensor/xutils.hpp" +#include "xtensor/containers/xbuffer_adaptor.hpp" +#include "xtensor/core/xiterator.hpp" +#include "xtensor/core/xsemantic.hpp" +#include "xtensor/utils/xutils.hpp" #include "pycontainer.hpp" #include "pystrides_adaptor.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/pyvectorize.hpp new/xtensor-python-0.28.0/include/xtensor-python/pyvectorize.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/pyvectorize.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/pyvectorize.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -13,7 +13,7 @@ #include <type_traits> #include "pyarray.hpp" -#include "xtensor/xvectorize.hpp" +#include "xtensor/core/xvectorize.hpp" namespace xt { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/xtensor_python_config.hpp new/xtensor-python-0.28.0/include/xtensor-python/xtensor_python_config.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/xtensor_python_config.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/xtensor_python_config.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -11,7 +11,7 @@ #define XTENSOR_PYTHON_CONFIG_HPP #define XTENSOR_PYTHON_VERSION_MAJOR 0 -#define XTENSOR_PYTHON_VERSION_MINOR 27 +#define XTENSOR_PYTHON_VERSION_MINOR 28 #define XTENSOR_PYTHON_VERSION_PATCH 0 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/include/xtensor-python/xtensor_type_caster_base.hpp new/xtensor-python-0.28.0/include/xtensor-python/xtensor_type_caster_base.hpp --- old/xtensor-python-0.27.0/include/xtensor-python/xtensor_type_caster_base.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/include/xtensor-python/xtensor_type_caster_base.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -14,8 +14,8 @@ #include <algorithm> #include <vector> -#include "xtensor/xtensor.hpp" -#include "xtensor/xfixed.hpp" +#include "xtensor/containers/xtensor.hpp" +#include "xtensor/containers/xfixed.hpp" #include <pybind11/numpy.h> #include <pybind11/pybind11.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/readthedocs.yml new/xtensor-python-0.28.0/readthedocs.yml --- old/xtensor-python-0.27.0/readthedocs.yml 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/readthedocs.yml 2025-04-14 10:24:09.000000000 +0200 @@ -5,5 +5,9 @@ tools: python: "mambaforge-22.9" +sphinx: + # Path to Sphinx configuration file + configuration: docs/source/conf.py + conda: environment: docs/environment.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/CMakeLists.txt new/xtensor-python-0.28.0/test/CMakeLists.txt --- old/xtensor-python-0.27.0/test/CMakeLists.txt 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/CMakeLists.txt 2025-04-14 10:24:09.000000000 +0200 @@ -7,7 +7,7 @@ # The full license is in the file LICENSE, distributed with this software. # ############################################################################ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.29) if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) project(xtensor-python-test) @@ -29,16 +29,7 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" U_CMAKE_BUILD_TYPE) -if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wunused-parameter -Wextra -Wreorder -Wconversion -fvisibility=hidden") - CHECK_CXX_COMPILER_FLAG("-std=c++14" HAS_CPP14_FLAG) - - if (HAS_CPP14_FLAG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - else() - message(FATAL_ERROR "Unsupported compiler -- xtensor requires C++14 support!") - endif() -endif() +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/copyGTest.cmake.in new/xtensor-python-0.28.0/test/copyGTest.cmake.in --- old/xtensor-python-0.27.0/test/copyGTest.cmake.in 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/copyGTest.cmake.in 2025-04-14 10:24:09.000000000 +0200 @@ -7,7 +7,7 @@ # The full license is in the file LICENSE, distributed with this software. # ############################################################################ -cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.29) project(googletest-download NONE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/downloadGTest.cmake.in new/xtensor-python-0.28.0/test/downloadGTest.cmake.in --- old/xtensor-python-0.27.0/test/downloadGTest.cmake.in 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/downloadGTest.cmake.in 2025-04-14 10:24:09.000000000 +0200 @@ -7,14 +7,14 @@ # The full license is in the file LICENSE, distributed with this software. # ############################################################################ -cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.29) project(googletest-download NONE) include(ExternalProject) ExternalProject_Add(googletest GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG release-1.10.0 + GIT_TAG v1.16.0 SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build" CONFIGURE_COMMAND "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/test_common.hpp new/xtensor-python-0.28.0/test/test_common.hpp --- old/xtensor-python-0.27.0/test/test_common.hpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/test_common.hpp 2025-04-14 10:24:09.000000000 +0200 @@ -10,8 +10,8 @@ #ifndef TEST_COMMON_HPP #define TEST_COMMON_HPP -#include "xtensor/xlayout.hpp" -#include "xtensor/xmanipulation.hpp" +#include "xtensor/core/xlayout.hpp" +#include "xtensor/misc/xmanipulation.hpp" #include "xtl/xsequence.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/test_pyarray.cpp new/xtensor-python-0.28.0/test/test_pyarray.cpp --- old/xtensor-python-0.27.0/test/test_pyarray.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/test_pyarray.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -11,8 +11,8 @@ #include "xtensor-python/pyarray.hpp" -#include "xtensor/xarray.hpp" -#include "xtensor/xview.hpp" +#include "xtensor/containers/xarray.hpp" +#include "xtensor/views/xview.hpp" #include "test_common.hpp" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/test_pytensor.cpp new/xtensor-python-0.28.0/test/test_pytensor.cpp --- old/xtensor-python-0.27.0/test/test_pytensor.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/test_pytensor.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -11,8 +11,8 @@ #include "xtensor-python/pytensor.hpp" -#include "xtensor/xtensor.hpp" -#include "xtensor/xview.hpp" +#include "xtensor/containers/xtensor.hpp" +#include "xtensor/views/xview.hpp" #include "test_common.hpp" @@ -22,13 +22,13 @@ TEST(pytensor, initializer_constructor) { - pytensor<int, 3> t - {{{ 0, 1, 2}, - { 3, 4, 5}, - { 6, 7, 8}}, - {{ 9, 10, 11}, - {12, 13, 14}, - {15, 16, 17}}}; + pytensor<int, 3> t + {{{ 0, 1, 2}, + { 3, 4, 5}, + { 6, 7, 8}}, + {{ 9, 10, 11}, + {12, 13, 14}, + {15, 16, 17}}}; EXPECT_EQ(t.dimension(), 3); EXPECT_EQ(t(0, 0, 1), 1); EXPECT_EQ(t.shape()[0], 2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test/test_sfinae.cpp new/xtensor-python-0.28.0/test/test_sfinae.cpp --- old/xtensor-python-0.27.0/test/test_sfinae.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test/test_sfinae.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -12,8 +12,8 @@ #include "gtest/gtest.h" #include "xtensor-python/pytensor.hpp" #include "xtensor-python/pyarray.hpp" -#include "xtensor/xarray.hpp" -#include "xtensor/xtensor.hpp" +#include "xtensor/containers/xarray.hpp" +#include "xtensor/containers/xtensor.hpp" namespace xt { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test_python/main.cpp new/xtensor-python-0.28.0/test_python/main.cpp --- old/xtensor-python-0.27.0/test_python/main.cpp 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test_python/main.cpp 2025-04-14 10:24:09.000000000 +0200 @@ -9,15 +9,15 @@ #include <numeric> -#include "xtensor/xmath.hpp" -#include "xtensor/xarray.hpp" -#include "xtensor/xfixed.hpp" +#include "xtensor/core/xmath.hpp" +#include "xtensor/containers/xarray.hpp" +#include "xtensor/containers/xfixed.hpp" #define FORCE_IMPORT_ARRAY #include "xtensor-python/pyarray.hpp" #include "xtensor-python/pytensor.hpp" #include "xtensor-python/pyvectorize.hpp" -#include "xtensor/xadapt.hpp" -#include "xtensor/xstrided_view.hpp" +#include "xtensor/containers/xadapt.hpp" +#include "xtensor/views/xstrided_view.hpp" namespace py = pybind11; using complex_t = std::complex<double>; @@ -336,7 +336,7 @@ m.def("array_subtraction", array_subtraction); m.def("array_multiplication", array_multiplication); m.def("array_division", array_division); - + m.def("vectorize_example1", xt::pyvectorize(add)); m.def("rect_to_polar", xt::pyvectorize([](complex_t x) { return std::abs(x); })); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/test_python/setup.py new/xtensor-python-0.28.0/test_python/setup.py --- old/xtensor-python-0.27.0/test_python/setup.py 2024-01-29 23:29:40.000000000 +0100 +++ new/xtensor-python-0.28.0/test_python/setup.py 2025-04-14 10:24:09.000000000 +0200 @@ -75,13 +75,13 @@ def cpp_flag(compiler): - """Return the -std=c++14 compiler flag and errors when the flag is + """Return the -std=c++17 compiler flag and errors when the flag is no available. """ - if has_flag(compiler, '-std=c++14'): - return '-std=c++14' + if has_flag(compiler, '-std=c++17'): + return '-std=c++17' else: - raise RuntimeError('C++14 support is required by xtensor!') + raise RuntimeError('C++17 support is required by xtensor!') class BuildExt(build_ext): @@ -92,7 +92,7 @@ } if sys.platform == 'darwin': - c_opts['unix'] += ['-stdlib=libc++', '-mmacosx-version-min=10.7'] + c_opts['unix'] += ['-stdlib=libc++', '-mmacosx-version-min=10.13'] def build_extensions(self): ct = self.compiler.compiler_type @@ -104,6 +104,7 @@ opts.append('-fvisibility=hidden') elif ct == 'msvc': opts.append('/DVERSION_INFO=\\"%s\\"' % self.distribution.get_version()) + opts.append('/std:c++17') for ext in self.extensions: ext.extra_compile_args = opts build_ext.build_extensions(self) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtensor-python-0.27.0/xtensor-python.pc.in new/xtensor-python-0.28.0/xtensor-python.pc.in --- old/xtensor-python-0.27.0/xtensor-python.pc.in 1970-01-01 01:00:00.000000000 +0100 +++ new/xtensor-python-0.28.0/xtensor-python.pc.in 2025-04-14 10:24:09.000000000 +0200 @@ -0,0 +1,7 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +includedir=${prefix}/include + +Name: xtensor-python +Description: An extension to the xtensor library, offering Python bindings with enhanced NumPy support. +Version: @xtensor-python_VERSION@ +Cflags: -I${includedir}