Files
python-Cython/python-Cython.spec
Dirk Mueller 9d6d9196fe - Update top 3.1.2
* Attribute lookups failed on the ``bool`` builtin type.
    (Github issue :issue:`6905`)
  * Type checks on or-ed union types could incorrectly return false.
    (Github issue :issue:`6420`)
  * Negative list indexing could accidentally wrap around twice in PyPy and the Limited API.
  * Iterating over literal sequences with starred (unpacked) items could infer a wrong
    type for the loop variable and fail to assign the values.
    (Github issue :issue:`6924`)
  * Calls to C functions taking exception types failed to check for a `None` argument.
    (Github issue :issue:`6420`)
  * Fused functions had an incorrect ``__module__`` attribute.
    (Github issue :issue:`6897`)
  * The type of Cython implemented functions had an incorrect ``__module__`` attribute.
    (Github issue :issue:`6841`)
  * Errors while indexing into ``bytearray`` or ``str`` in ``nogil`` sections could crash.
    (Github issue :issue:`6947`)
  * ``bytearray.append()`` could silently accept some invalid character numbers.
  * The C++11 ``<type_traits>`` header was included regardless of the C++ version.
    (Github issue :issue:`6896`)
  * ``PyDict_GetItemStringRef()`` was accidentally used in older Limited API versions.
    (Github issue :issue:`6914`)
  * ``abort()`` was used but not always available in the Limited API.
    (Github issue :issue:`6918`)
  * Some dependencies were missing from the ``depfile``.
    (Github issue :issue:`6938`)
  * Embedded function signatures were not always separated from the existing docstring.
    (Github issue :issue:`6904`)
  * ``numpy.math`` was missing from ``Cython/Includes/`` and could not be cimported.
    (Github issue :issue:`6859`)
  * Some tests were adapted for NumPy 2.x.
    (Github issue :issue:`6898`)
  * Some C compiler warnings were fixed.
    (Github issue :issue:`6870`)
  * ``Cython.Build`` was not officially exposing the ``cythonize`` function.
    (Github issue :issue:`6934`)
- Changes from 3.1.1
  * A reference leak in the async delegation code was fixed.
    (Github issues :issue:`6850`, :issue:`6878`)
  * Conditional if-else expressions mixing Python and C (numeric) types could end up
    inferring an overly tight result type, thus leading to unexpected type conversions,
    runtime exceptions on assignment, or incorrect "temporary assignment" compile errors.
    (Github issue :issue:`6854`)
  * Some Limited API issues were resolved.
    (Github issue :issue:`6862`)
  * Large C ``long long`` values could be truncated when passed into PyPy.
    (Github issue :issue:`6890`)
  * ``callable()`` incorrectly reported ``False`` in PyPy for classes with metaclasses.
    Patch by Anatolii Aniskovych. (Github issue :issue:`6892`)
  * The signature of fused functions was no longer introspectable in Cython 3.1.0.
    (Github issue :issue:`6855`)
  * Coroutines could generate invalid C with line tracing enabled.
    (Github issue :issue:`6865`)
  * Code using ``complex()`` could generate invalid C code missing type declarations.
    (Github issue :issue:`6860`)
  * Code using e.g. ``list[int | None]``  outside of variable/argument annotations failed to compile.
    (Github issue :issue:`6856`)
  * Code using ctuples in a ``const`` context could generate invalid C.
    (Github issue :issue:`6864`)
  * Accessing special methods on cpdef enums failed to compile.
  * Some C compiler warnings were resolved.
    Patches by Daniel Larraz.  (Github issues :issue:`6876`, :issue:`3172`, :issue:`6873`, :issue:`6877`)
  * Re-establish support for PyPy 3.8.
    (Github issue :issue:`6867`)
- Changes from 3.1.0
  - See https://github.com/cython/cython/releases/tag/3.1.0-1

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=207
2025-07-17 08:35:43 +00:00

103 lines
3.5 KiB
RPMSpec

#
# spec file for package python-Cython
#
# Copyright (c) 2025 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 test
%{?sle15_python_module_pythons}
Name: python-Cython
Version: 3.1.2
Release: 0
Summary: The Cython compiler for writing C extensions for the Python language
License: Apache-2.0
URL: https://cython.org/
# SourceRepository: https://github.com/cython/cython
Source: https://files.pythonhosted.org/packages/source/C/Cython/cython-%{version}.tar.gz
Source1: python-Cython-rpmlintrc
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
Requires: python-devel >= 3.8
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: python-Cython < 3
Provides: python-Cython3 = %{version}
Obsoletes: python-Cython3 < %{version}
%python_subpackages
%description
The Cython language allows for writing C extensions for the Python
language. Cython is a source code translator based on Pyrex, but
supports more cutting edge functionality and optimizations.
The Cython language is very close to the Python language (and most Python
code is also valid Cython code), but Cython additionally supports calling C
functions and declaring C types on variables and class attributes. This
allows the compiler to generate very efficient C code from Cython code.
%prep
%setup -q -n cython-%{version}
# Fix non-executable scripts
sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
%pyproject_wheel
%install
%pyproject_install
for p in cython cythonize cygdb ; do
%python_clone -a %{buildroot}%{_bindir}/$p
done
%{python_expand chmod a+x %{buildroot}%{$python_sitearch}/Cython/Build/Cythonize.py
sed -i "s|^#!%{_bindir}/env python$|#!%{__$python}|" %{buildroot}%{$python_sitearch}/Cython/Build/Cythonize.py
$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/Cython/Build/
$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/Cython/Build/
%fdupes %{buildroot}%{$python_sitearch}
}
%check
%if %{with test}
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch} PYTHONDONTWRITEBYTECODE=1
$python runtests.py -v
}
%endif
%post
%python_install_alternative cython cythonize cygdb
%postun
%python_uninstall_alternative cython
%files %{python_files}
%license LICENSE.txt COPYING.txt
%doc README.rst ToDo.txt USAGE.txt
%python_alternative %{_bindir}/cygdb
%python_alternative %{_bindir}/cython
%python_alternative %{_bindir}/cythonize
%{python_sitearch}/Cython/
%{python_sitearch}/[cC]ython-%{version}.dist-info
%{python_sitearch}/cython.py*
%pycache_only %{python_sitearch}/__pycache__/cython*.py*
%{python_sitearch}/pyximport/
%changelog