From fc9cf6cfea29a2764ddf7fddc26f9ac148baa3f61d7ab75b49a7def302948228 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 6 Feb 2024 09:05:17 +0000 Subject: [PATCH 1/5] - drop python39 from testing, add python312 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pythran?expand=0&rev=34 --- _multibuild | 2 +- python-pythran.changes | 5 +++++ python-pythran.spec | 13 +++---------- 3 files changed, 9 insertions(+), 11 deletions(-) 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.changes b/python-pythran.changes index 121f31d..0cec89e 100644 --- a/python-pythran.changes +++ b/python-pythran.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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..8a9c793 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,13 +17,6 @@ %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 @@ -71,7 +64,7 @@ Requires: python-beniget >= 0.4.0 Requires: python-gast >= 0.5.0 Requires: python-ply >= 3.4 Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives # SECTION This is a package that compiles code, the runtime requires devel packages, inspired by fedora package Requires: boost-devel Requires: gcc-c++ From 94c4bccce5f7f9bfc79916193f4ee419266404d129c5c53c4a27e4db8af02a7a Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 6 Feb 2024 11:27:16 +0000 Subject: [PATCH 2/5] - 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 - drop python39 from testing, add python312 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pythran?expand=0&rev=35 --- python-pythran.changes | 14 +++++++++++++- python-pythran.spec | 17 +++++------------ pythran-0.14.0-gh.tar.gz | 3 --- pythran-0.15.0-gh.tar.gz | 3 +++ 4 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 pythran-0.14.0-gh.tar.gz create mode 100644 pythran-0.15.0-gh.tar.gz diff --git a/python-pythran.changes b/python-pythran.changes index 0cec89e..8803d86 100644 --- a/python-pythran.changes +++ b/python-pythran.changes @@ -1,7 +1,19 @@ +------------------------------------------------------------------- +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 +- 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 8a9c793..7cea1f8 100644 --- a/python-pythran.spec +++ b/python-pythran.spec @@ -19,22 +19,16 @@ %global flavor @BUILD_FLAVOR@%{nil} %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 @@ -47,7 +41,7 @@ ExclusiveArch: x86_64 %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 @@ -96,12 +90,11 @@ Ahead of Time compiler for numeric kernels find -name '*.hpp' -exec chmod -x {} + sed -i '1{/env python/d}' pythran/run.py +# remove embedded VIM swap files +find -type f -name "*.swp" -delete + # 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 +rm -r pythran/boost # Register pytest.mark.module cat >> pytest.ini << EOF diff --git a/pythran-0.14.0-gh.tar.gz b/pythran-0.14.0-gh.tar.gz deleted file mode 100644 index 2bd1eb8..0000000 --- a/pythran-0.14.0-gh.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c476c50bc7b27c06805c479720f807205e0000585d5e195e11f99cf6af9abf5b -size 3642431 diff --git a/pythran-0.15.0-gh.tar.gz b/pythran-0.15.0-gh.tar.gz new file mode 100644 index 0000000..7f5ab28 --- /dev/null +++ b/pythran-0.15.0-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:082b80649a014e75dbdcde2220be47f5446d649362cc8cf9b14f611117a01550 +size 3676474 From 3a1f027049c63583b9c163a11329a73e8ccf0a164140a5a2a5b58a800d8c142c Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 7 Feb 2024 09:36:41 +0000 Subject: [PATCH 3/5] OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pythran?expand=0&rev=36 --- _multibuild | 2 +- python-pythran.spec | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/_multibuild b/_multibuild index 6d8cafe..1dda6f2 100644 --- a/_multibuild +++ b/_multibuild @@ -1,5 +1,5 @@ test-py310 test-py311 - test-py312 + diff --git a/python-pythran.spec b/python-pythran.spec index 7cea1f8..6e8cb45 100644 --- a/python-pythran.spec +++ b/python-pythran.spec @@ -39,6 +39,8 @@ %bcond_without test ExclusiveArch: x86_64 %endif +# ImportError: /home/abuild/rpmbuild/BUILD/pythran-0.15.0/test_np_dot9.cpython-312-x86_64-linux-gnu.so: undefined symbol: cblas_dgemv +%global skip_python312 1 %{?sle15_python_module_pythons} Name: python-pythran%{psuffix} Version: 0.15.0 From fabf7106e6b6b120249ba4ef18bb3a2361a3202934d739fe649c22568b82881f Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Mon, 12 Feb 2024 22:30:05 +0000 Subject: [PATCH 4/5] Accepting request 1146276 from home:bnavigator:branches:devel:languages:python:numeric - 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 OBS-URL: https://build.opensuse.org/request/show/1146276 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pythran?expand=0&rev=37 --- _multibuild | 2 +- python-pythran-rpmlintrc | 5 +++- python-pythran.changes | 12 +++++++++ python-pythran.spec | 58 +++++++++++++++++++++------------------- 4 files changed, 47 insertions(+), 30 deletions(-) diff --git a/_multibuild b/_multibuild index 1dda6f2..6d8cafe 100644 --- a/_multibuild +++ b/_multibuild @@ -1,5 +1,5 @@ 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 8803d86..e1a85bc 100644 --- a/python-pythran.changes +++ b/python-pythran.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +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 diff --git a/python-pythran.spec b/python-pythran.spec index 6e8cb45..6051071 100644 --- a/python-pythran.spec +++ b/python-pythran.spec @@ -17,6 +17,8 @@ %global flavor @BUILD_FLAVOR@%{nil} +# global stop testing even when it is still in buildset (otherwise every test flavor would also test this one) +%define skip_python39 1 %if "%{flavor}" == "test-py310" %define psuffix -test-py310 %define skip_python311 1 @@ -37,10 +39,15 @@ %bcond_with test %else %bcond_without test +# 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 -# ImportError: /home/abuild/rpmbuild/BUILD/pythran-0.15.0/test_np_dot9.cpython-312-x86_64-linux-gnu.so: undefined symbol: cblas_dgemv -%global skip_python312 1 +%endif %{?sle15_python_module_pythons} Name: python-pythran%{psuffix} Version: 0.15.0 @@ -48,7 +55,7 @@ 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} @@ -58,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 +# 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} @@ -77,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 @@ -96,25 +103,15 @@ sed -i '1{/env python/d}' pythran/run.py find -type f -name "*.swp" -delete # Remove bundled header libs and use the ones from system -rm -r pythran/boost - -# 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 +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 @@ -124,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 < Date: Sun, 18 Feb 2024 00:09:28 +0000 Subject: [PATCH 5/5] Accepting request 1147360 from home:bnavigator:branches:devel:languages:python:numeric - Yet another fix of the python39 test skip OBS-URL: https://build.opensuse.org/request/show/1147360 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pythran?expand=0&rev=38 --- python-pythran.changes | 5 +++++ python-pythran.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/python-pythran.changes b/python-pythran.changes index e1a85bc..06cba22 100644 --- a/python-pythran.changes +++ b/python-pythran.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 diff --git a/python-pythran.spec b/python-pythran.spec index 6051071..dad86f6 100644 --- a/python-pythran.spec +++ b/python-pythran.spec @@ -17,8 +17,6 @@ %global flavor @BUILD_FLAVOR@%{nil} -# global stop testing even when it is still in buildset (otherwise every test flavor would also test this one) -%define skip_python39 1 %if "%{flavor}" == "test-py310" %define psuffix -test-py310 %define skip_python311 1 @@ -39,6 +37,8 @@ %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}" == " "