Hello community, here is the log from the commit of package python-traits for openSUSE:Factory checked in at 2020-07-24 09:53:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-traits (Old) and /work/SRC/openSUSE:Factory/.python-traits.new.3592 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-traits" Fri Jul 24 09:53:46 2020 rev:7 rq:820887 version:6.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-traits/python-traits.changes 2020-02-03 11:13:24.077847449 +0100 +++ /work/SRC/openSUSE:Factory/.python-traits.new.3592/python-traits.changes 2020-07-24 09:54:48.141331996 +0200 @@ -1,0 +2,53 @@ +Mon Jul 13 10:56:08 UTC 2020 - Marketa Calabkova <mcalabk...@suse.com> + +- Update to 6.1.0 + * A new :mod:`observation <traits.observation>` framework for observing traited + attributes and other observable objects has been introduced. This is intended + to provide a full replacement for the existing :func:`on_trait_change` + mechanism, and aims to fix a number of fundamental flaws and limitations of + that mechanism. See the :ref:`observe-notification` section of + the user manual for an introduction to this framework. + * New :class:`~traits.trait_list_object.TraitList`, + :class:`~traits.trait_dict_object.TraitDict` and + :class:`~traits.trait_set_object.TraitSet` classes have been added, + subclassing Python's built-in :class:`python:list`, :class:`python:dict` and + :class:`python:set` (respectively). Instances of these classes are observable + objects in their own right, and it's possible to attach observers to them + directly. These classes were primarily introduced to support the new + observation framework, and are not expected to be used directly. The API for + these objects and their notification system is provisional, and may change in + a future Traits release. + * A new :class:`.Union` trait type has been added. This is intended as a + simpler replacement for the existing :class:`.Either` trait type, which + will eventually be deprecated. + * New :class:`.PrefixList`, :class:`.PrefixMap` and :class:`.Map` trait types + have been added. These replace the existing :class:`.TraitPrefixList`, + :class:`.TraitPrefixMap` and :class:`.TraitMap` subclasses of + :class:`.TraitHandler`, which are deprecated. + * Typing stubs for the Traits library have been added in a + ``traits-stubs`` package, which will be released separately to PyPI. This + should help support Traits-using projects that want to make use of type + annotations and type checkers like `mypy <http://mypy-lang.org/>`_. + * Python 2.7 is no longer supported; Traits 6.0 requires Python 3.5 or later. + * Trait types related to Python 2 (for example ``Unicode`` and ``Long``) have + been deprecated in favour of their Python 3 equivalents (for example ``Str`` + and ``Int``). + * Many little-used historical features of Traits have been deprecated, and + are scheduled for removal in Traits 7.0. + * Some historical features of Traits that had no evidence of external usage + were removed in Traits 6.0. + * Introspection of ``CTrait`` and ``HasTraits`` objects is greatly improved. + All of the internal state that was previously hidden within the C extension + is now accessible from Python. + * The Traits codebase has undergone some significant reorganizations, + reformattings and style cleanups to make it easier to work with, and + to improve the separation between Traits and TraitsUI. + * This release was focused mainly on cleanup and bugfixing. Nevertheless, + it contains a sprinkling of new features. There's a new ``Datetime`` + trait type. The ``Enum`` trait type now supports Python enumerations. + The ``File`` trait type supports path-like objects. + * And many more... see upstream changelog +- Convert to multibuild to break build cycle with pyface +- Add patch fix-test.patch to make the tests pass + +------------------------------------------------------------------- Old: ---- traits-5.2.0.tar.gz New: ---- _multibuild fix-test.patch traits-6.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-traits.spec ++++++ --- /var/tmp/diff_new_pack.bR8T2z/_old 2020-07-24 09:54:54.705338766 +0200 +++ /var/tmp/diff_new_pack.bR8T2z/_new 2020-07-24 09:54:54.709338770 +0200 @@ -17,9 +17,18 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define oldpython python -Name: python-traits -Version: 5.2.0 +%define skip_python2 1 +# cycle with pyface +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +Name: python-traits%{psuffix} +Version: 6.1.0 Release: 0 Summary: Explicitly typed attributes for Python # Images have different licenses. For image license breakdown check @@ -30,23 +39,24 @@ Group: Development/Libraries/Python URL: https://github.com/enthought/traits Source: https://files.pythonhosted.org/packages/source/t/traits/traits-%{version}.tar.gz +# Import of pyface.toolkit mysteriously fails. But it is needed by only one test, which needs traitsui, +# but we cannot have traitsui, because the tests invocation segfaults with traitsui installed (why?!). +# So the test would be skipped anyway, so let us just skip the import as if pyface was not there. +Patch0: fix-test.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module numpy} BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module six} BuildRequires: fdupes BuildRequires: python-rpm-macros # SECTION test requirements -BuildRequires: %{python_module mock} +%if %{with test} +BuildRequires: %{python_module Cython} BuildRequires: %{python_module nose} +BuildRequires: %{python_module pyface} +%endif # /SECTION Requires: python-numpy -Requires: python-six -Recommends: python-traitsui -%ifpython2 -Provides: %{oldpython}-Traits = %{version} -Obsoletes: %{oldpython}-Traits < %{version} -%endif +Recommends: python-traitsui >= 7.0.0 %python_subpackages @@ -73,23 +83,31 @@ # file not utf-8 iconv -f iso8859-1 -t utf-8 image_LICENSE_Eclipse.txt > image_LICENSE_Eclipse.txt.conv mv -f image_LICENSE_Eclipse.txt.conv image_LICENSE_Eclipse.txt +%patch0 -p1 %build +%if %{without test} export CFLAGS="%{optflags} -fno-strict-aliasing" %python_build +%endif %install +%if %{without test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitearch} +%endif %check +%if %{with test} %{python_expand mkdir tester_%{$python_bin_suffix} pushd tester_%{$python_bin_suffix} export PYTHONPATH=%{buildroot}%{$python_sitearch} -$python -m nose.core -v traits +$python -m unittest discover -v traits popd } +%endif +%if %{without test} %files %{python_files} %defattr(-,root,root,-) %doc CHANGES.rst README.rst @@ -97,5 +115,6 @@ %license LICENSE.txt image_LICENSE*.txt %{python_sitearch}/traits/ %{python_sitearch}/traits-%{version}-py*.egg-info +%endif %changelog ++++++ _multibuild ++++++ <multibuild> <package>test</package> </multibuild> ++++++ fix-test.patch ++++++ Index: traits-6.1.0/traits/tests/test_enum.py =================================================================== --- traits-6.1.0.orig/traits/tests/test_enum.py +++ traits-6.1.0/traits/tests/test_enum.py @@ -15,12 +15,8 @@ from traits.api import ( Any, BaseEnum, Enum, HasTraits, List, Property, TraitError) from traits.testing.optional_dependencies import pyface, requires_traitsui -if pyface is not None: - GuiTestAssistant = pyface.toolkit.toolkit_object( - "util.gui_test_assistant:GuiTestAssistant") -else: - class GuiTestAssistant: - pass +class GuiTestAssistant: + pass class FooEnum(enum.Enum): ++++++ traits-5.2.0.tar.gz -> traits-6.1.0.tar.gz ++++++ ++++ 71736 lines of diff (skipped)