diff --git a/_multibuild b/_multibuild index 8cf2769..6d8cafe 100644 --- a/_multibuild +++ b/_multibuild @@ -1,5 +1,5 @@ - test-py39 test-py310 test-py311 + test-py312 diff --git a/python-pythran-rpmlintrc b/python-pythran-rpmlintrc index facea6d..e288f69 100644 --- a/python-pythran-rpmlintrc +++ b/python-pythran-rpmlintrc @@ -1,3 +1,6 @@ # SECTION This is a package that compiles code, the runtime requires devel packages addFilter('devel-file-in-non-devel-package .*/site-packages/pythran/.*') -addFilter('devel-dependency .*') \ No newline at end of file +addFilter('devel-dependency .*') +addFilter('python-leftover-require python.*-numpy-devel') +# these are "default" headers for packages +addFilter('hidden-file-or-dir .*/\.hpp') diff --git a/python-pythran.changes b/python-pythran.changes index 121f31d..06cba22 100644 --- a/python-pythran.changes +++ b/python-pythran.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Sat Feb 17 19:56:24 UTC 2024 - Ben Greiner + +- Yet another fix of the python39 test skip + +------------------------------------------------------------------- +Wed Feb 7 13:53:21 UTC 2024 - Ben Greiner + +- Fix python312 tests: Force linking to openblas with custom + pythranrc +- Remove test skips no longer needed +- Make test flavors future proof: Don't fail on empty buildset +- Skip python39 for all test flavors: The test-py39 multibuild has + already been removed but it is still in the build set, so don't + test it in the other multibuilds. +- Debundle xsimd + +------------------------------------------------------------------- +Tue Feb 6 11:05:29 UTC 2024 - Dirk Müller + +- update to 0.15.0: + * Use pyproject.toml to store setup and build configuration + * Upgrade xsimd to a48ab430d4b84ecd5449180ee1c6d2eed67c4191 + * Improve detection of non-overlapping memory area during gexpr + assignment + * Support python 3.12 + * Support list.clear + * Improve detection of methods uses as functions + +------------------------------------------------------------------- +Tue Feb 6 09:05:01 UTC 2024 - Dirk Müller + +- drop python39 from testing, add python312 + ------------------------------------------------------------------- Wed Nov 29 04:27:01 UTC 2023 - Steve Kowalik diff --git a/python-pythran.spec b/python-pythran.spec index 9fde9b9..dad86f6 100644 --- a/python-pythran.spec +++ b/python-pythran.spec @@ -1,7 +1,7 @@ # -# spec file +# spec file for package python-pythran # -# Copyright (c) 2023 SUSE LLC +# 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 @@ -17,31 +17,18 @@ %global flavor @BUILD_FLAVOR@%{nil} -%if "%{flavor}" == "test-py39" -%define psuffix -test-py39 -%define skip_python38 1 -%define skip_python310 1 -%define skip_python311 1 -%define skip_python312 1 -%endif %if "%{flavor}" == "test-py310" %define psuffix -test-py310 -%define skip_python38 1 -%define skip_python39 1 %define skip_python311 1 %define skip_python312 1 %endif %if "%{flavor}" == "test-py311" %define psuffix -test-py311 -%define skip_python38 1 -%define skip_python39 1 %define skip_python310 1 %define skip_python312 1 %endif %if "%{flavor}" == "test-py312" %define psuffix -test-py312 -%define skip_python38 1 -%define skip_python39 1 %define skip_python310 1 %define skip_python311 1 %endif @@ -50,16 +37,25 @@ %bcond_with test %else %bcond_without test +# global stop testing even when it is still in buildset (otherwise every test flavor would also test this one) +%define skip_python39 1 +# do nothing in a test flavor that is still around but has nothing in buildset anymore +# (The obs server-side interpreter cannot use lua or rpm shrink) +%if "%{pythons}" == "" || "%{pythons}" == " " || "%{pythons}" == " " || "%{pythons}" == " " || "%{pythons}" == " " +ExclusiveArch: donotbuild +%define python_module() %flavor-not-enabled-in-buildset +%else ExclusiveArch: x86_64 %endif +%endif %{?sle15_python_module_pythons} Name: python-pythran%{psuffix} -Version: 0.14.0 +Version: 0.15.0 Release: 0 Summary: Ahead of Time compiler for numeric kernels License: BSD-3-Clause URL: https://github.com/serge-sans-paille/pythran -# Tests are only availble in github archive +# Tests are only availble from the github archive Source0: https://github.com/serge-sans-paille/pythran/archive/refs/tags/%{version}.tar.gz#/pythran-%{version}-gh.tar.gz Source99: python-pythran-rpmlintrc BuildRequires: %{python_module pip} @@ -69,17 +65,17 @@ BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-beniget >= 0.4.0 Requires: python-gast >= 0.5.0 +Requires: python-numpy Requires: python-ply >= 3.4 +Requires: python-setuptools Requires(post): update-alternatives -Requires(postun):update-alternatives -# SECTION This is a package that compiles code, the runtime requires devel packages, inspired by fedora package +Requires(postun): update-alternatives +# SECTION This is a package that compiles code, the runtime requires devel packages Requires: boost-devel Requires: gcc-c++ -Requires: openblas-devel Requires: python-devel Requires: python-numpy-devel -# Not available, use bundled -# Requires: xsimd-devel >= 8 +Requires: xsimd-devel # /SECTION %if %{with test} BuildRequires: %{python_module ipython} @@ -88,7 +84,7 @@ BuildRequires: %{python_module pytest-xdist} BuildRequires: %{python_module pytest} BuildRequires: %{python_module pythran = %{version}} BuildRequires: %{python_module wheel} -BuildRequires: gcc-c++ +BuildRequires: openblas-devel BuildRequires: unzip %endif BuildArch: noarch @@ -103,30 +99,19 @@ Ahead of Time compiler for numeric kernels find -name '*.hpp' -exec chmod -x {} + sed -i '1{/env python/d}' pythran/run.py -# Remove bundled header libs and use the ones from system -rm -r third_party/boost -cat >> setup.cfg << EOF -[build_py] -no_boost=True -EOF +# remove embedded VIM swap files +find -type f -name "*.swp" -delete -# Register pytest.mark.module -cat >> pytest.ini << EOF -# https://github.com/serge-sans-paille/pythran/pull/286 -[pytest] -markers = - module: execute module annotate class -EOF -# The tests have some cflags in them -# We need to adapt the flags to play nicely with other obs flags -# E.g. fortify source implies at least -O1 -sed -i -e 's/-O0/-O1/g' -e 's/-Werror/-w/g' pythran/tests/__init__.py +# Remove bundled header libs and use the ones from system +rm -r pythran/boost pythran/xsimd %build -%pyproject_wheel - %if !%{with test} +%pyproject_wheel +%endif + %install +%if !%{with test} %pyproject_install %python_clone -a %{buildroot}%{_bindir}/pythran %python_clone -a %{buildroot}%{_bindir}/pythran-config @@ -136,11 +121,16 @@ sed -i -e 's/-O0/-O1/g' -e 's/-Werror/-w/g' pythran/tests/__init__.py %if %{with test} %check export CFLAGS="%{optflags}" -# crashes the xdist workers -donttest="test_operator_intersection" -# gh#serge-sans-paille/pythran#2044 NOT FIXED by gh#serge-sans-paille/pythran#2046 -donttest="$donttest or test_toolchain or test_cli" -%pytest %{?jobs:-n %jobs} -k "not ($donttest)" -m "not module" +# Force to link against openblas during tests because the update-alternatives setup +# for lapack/cblas/openblas might be inconsistent inside obs builds +cat > config.pythranrc <