python-scikit-build/python-scikit-build.spec

97 lines
3.5 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-scikit-build
#
Accepting request 951777 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.13.0 * If you are using scikit-build via pyproject.toml, please remember to include setuptools and wheel. A future version of scikit-build may remove the setuptools install-time hard requirement. * CMake module /cmake-modules/Cython now uses Cython default arguments. This no longer adds --no-docstrings in Release and MinSizeRel builds, so Cython docstrings are now retained by default. Additionally, --embed-positions is no longer added to Debug and RelWithDebInfo builds. Users can enable these and other Cython arguments via the option CYTHON_FLAGS. See #518 and #519, thanks to @bdice for the improvement. * Experimental support for ARM64 on Windows. Thanks to @gaborkertesz-linaro in #612. * Support for MSVC 2022. Thanks to @tttapa for the contribution in #627. * Support the modern form of target_link_libraries, via SKBUILD_LINK_LIBRARIES_KEYWORD (somewhat experimental). Thanks to @maxbachmann in #611. * Update the Ninja path if using the ninja package. This fixes repeated isolated builds. Further path inspection and updates for isolated builds may be considered in the future. #631, thanks to @RUrlus and @segevfiner for help in tracking this down. * Allow OpenBSD to pass the platform check (untested). See #586. * Avoid forcing the min macOS version. Behaviour is now inline with setuptools. Users should set MACOSX_DEPLOYMENT_TARGET when building (automatic with cibuildwheel), otherwise you will get the same value Python was compiled with. Note: This may seem like a regression for PyPy until the next release (7.3.8), OBS-URL: https://build.opensuse.org/request/show/951777 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-scikit-build?expand=0&rev=13
2022-02-05 19:26:11 +01:00
# Copyright (c) 2022 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/
#
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-scikit-build
Version: 0.13.1
Release: 0
Summary: Improved build system generator for Python C/C++/Fortran/Cython extensions
License: MIT
URL: https://github.com/scikit-build/scikit-build
Source: https://files.pythonhosted.org/packages/source/s/scikit-build/scikit-build-%{version}.tar.gz
Source99: sample-setup.cfg
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools >= 28.0.0}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: cmake
Requires: python-distro
Requires: python-packaging
Requires: python-setuptools >= 28.0.0
Requires: python-wheel >= 0.29.0
# SECTION test requirements
BuildRequires: %{python_module Cython >= 0.25.1}
Accepting request 951777 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.13.0 * If you are using scikit-build via pyproject.toml, please remember to include setuptools and wheel. A future version of scikit-build may remove the setuptools install-time hard requirement. * CMake module /cmake-modules/Cython now uses Cython default arguments. This no longer adds --no-docstrings in Release and MinSizeRel builds, so Cython docstrings are now retained by default. Additionally, --embed-positions is no longer added to Debug and RelWithDebInfo builds. Users can enable these and other Cython arguments via the option CYTHON_FLAGS. See #518 and #519, thanks to @bdice for the improvement. * Experimental support for ARM64 on Windows. Thanks to @gaborkertesz-linaro in #612. * Support for MSVC 2022. Thanks to @tttapa for the contribution in #627. * Support the modern form of target_link_libraries, via SKBUILD_LINK_LIBRARIES_KEYWORD (somewhat experimental). Thanks to @maxbachmann in #611. * Update the Ninja path if using the ninja package. This fixes repeated isolated builds. Further path inspection and updates for isolated builds may be considered in the future. #631, thanks to @RUrlus and @segevfiner for help in tracking this down. * Allow OpenBSD to pass the platform check (untested). See #586. * Avoid forcing the min macOS version. Behaviour is now inline with setuptools. Users should set MACOSX_DEPLOYMENT_TARGET when building (automatic with cibuildwheel), otherwise you will get the same value Python was compiled with. Note: This may seem like a regression for PyPy until the next release (7.3.8), OBS-URL: https://build.opensuse.org/request/show/951777 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-scikit-build?expand=0&rev=13
2022-02-05 19:26:11 +01:00
BuildRequires: %{python_module build}
BuildRequires: %{python_module distro}
BuildRequires: %{python_module flake8 >= 3.0.4}
BuildRequires: %{python_module path.py >= 11.5.0}
BuildRequires: %{python_module pytest >= 4.5.0}
BuildRequires: %{python_module pytest-mock >= 1.10.4}
BuildRequires: %{python_module pytest-virtualenv >= 1.2.5}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module six >= 1.10.0}
BuildRequires: %{python_module virtualenv}
BuildRequires: %{python_module wheel >= 0.29.0}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: git-core
BuildRequires: ninja
# /SECTION
%python_subpackages
%description
Improved build system generator for Python C/C++/Fortran/Cython extensions
%prep
%setup -q -n scikit-build-%{version}
# some tests call setup.py develop|install|test, which by default write to /usr
# This is not allowed in OBS
# gh#scikit-build/scikit-build#469
%python_expand mkdir -p /tmp/fakepythonroot%{$python_sitelib}
cp %{S:99} tests/samples/hello-cpp/setup.cfg
sed -i "/hello-1.2.3\/setup.py/ a \ 'hello-1.2.3/setup.cfg'," tests/test_hello_cpp.py
cp %{S:99} tests/samples/cython-flags/setup.cfg
cp %{S:99} tests/samples/issue-274-support-default-package-dir/setup.cfg
cp %{S:99} tests/samples/issue-274-support-one-package-without-package-dir/setup.cfg
cp %{S:99} tests/samples/issue-334-configure-cmakelist-non-cp1252-encoding/setup.cfg
sed -i 's/from mock import/from unittest.mock import/' tests/*.py
# remove coverage flags
sed -i '/addopts/ d' setup.cfg
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
Accepting request 951777 from home:bnavigator:branches:devel:languages:python:numeric - Update to 0.13.0 * If you are using scikit-build via pyproject.toml, please remember to include setuptools and wheel. A future version of scikit-build may remove the setuptools install-time hard requirement. * CMake module /cmake-modules/Cython now uses Cython default arguments. This no longer adds --no-docstrings in Release and MinSizeRel builds, so Cython docstrings are now retained by default. Additionally, --embed-positions is no longer added to Debug and RelWithDebInfo builds. Users can enable these and other Cython arguments via the option CYTHON_FLAGS. See #518 and #519, thanks to @bdice for the improvement. * Experimental support for ARM64 on Windows. Thanks to @gaborkertesz-linaro in #612. * Support for MSVC 2022. Thanks to @tttapa for the contribution in #627. * Support the modern form of target_link_libraries, via SKBUILD_LINK_LIBRARIES_KEYWORD (somewhat experimental). Thanks to @maxbachmann in #611. * Update the Ninja path if using the ninja package. This fixes repeated isolated builds. Further path inspection and updates for isolated builds may be considered in the future. #631, thanks to @RUrlus and @segevfiner for help in tracking this down. * Allow OpenBSD to pass the platform check (untested). See #586. * Avoid forcing the min macOS version. Behaviour is now inline with setuptools. Users should set MACOSX_DEPLOYMENT_TARGET when building (automatic with cibuildwheel), otherwise you will get the same value Python was compiled with. Note: This may seem like a regression for PyPy until the next release (7.3.8), OBS-URL: https://build.opensuse.org/request/show/951777 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-scikit-build?expand=0&rev=13
2022-02-05 19:26:11 +01:00
export PYTHONPATH=/tmp/fakepythonroot%{$python_sitelib}
# test_pep518 needs a wheelhouse with downloaded wheels including platform dependent cmake
%pytest -k "not test_pep518"
%files %{python_files}
%doc AUTHORS.rst README.rst CONTRIBUTING.rst HISTORY.rst docs/
%license LICENSE
%{python_sitelib}/skbuild
%{python_sitelib}/scikit_build-%{version}*-info
%changelog