forked from pool/python-resolvelib
* Add ``backtrack_causes`` to ``get_preference``, which contains information about the requirements involved in the most recent backtrack. This allows the provider to utilise this information to tweak the ordering as well as for recording/reporting conflicts. * When merging a candidate's dependencies, make sure the merge target is up-to-date within the loop, so the merge does not lose information when a candidate returns multiple dependency specifications under one identifier (e.g. specifyiung two dependencies ``a>1`` and ``a<2``, instead of one single ``a>1,<2`` dependency). `#80 <https://github.com/sarugaku/resolvelib/issues/80>`_ * Redesign ``get_preference()`` to include resolution state on dependencies other than the currently working one, to allow the provider to better take account of the global resolver knowledge and determine the best strategy. The provider now can, for example, correctly calculate how far a dependency is from the root node in the graph. `#74 <https://github.com/sarugaku/resolvelib/issues/74>`_ * A new argument ``incompatibilities`` is now passed to the ``find_matches()`` hook, which the provider must use to exclude matches from the return value. * Redesign ``find_matches()`` to include resolution state on dependencies other than the currently working one, to handle usages that need to return candidates based on non-local states. One such example is PEP 508 direct URLs specified on a package, which need to be available to the same package specified with extras (which would have a different identifier). * The resolver no longer relies on implicit candidate equality to detect incompatibilities. This is done by an additional ``find_matches()`` argument; see the *Features* section to learn more. * Provide type stubs for most classes. * Fix a state management bug that causes the resolver to enter an infinite loop in certain backtracking cases. * Fix a performance regression if ``find_matches()`` returns a non-built-in sequence instance. * ``find_matches()`` now may return a ``Callable[[], Iterator[Candidate]]`` to OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-resolvelib?expand=0&rev=7
57 lines
1.7 KiB
RPMSpec
57 lines
1.7 KiB
RPMSpec
#
|
|
# spec file for package python-resolvelib
|
|
#
|
|
# Copyright (c) 2021 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() python-%{**} python3-%{**}}
|
|
Name: python-resolvelib
|
|
Version: 0.8.0
|
|
Release: 0
|
|
Summary: Module to resolve abstract dependencies into concrete ones
|
|
License: ISC
|
|
Group: Development/Languages/Python
|
|
URL: https://github.com/sarugaku/resolvelib
|
|
Source: https://github.com/sarugaku/resolvelib/archive/%{version}.tar.gz#/resolvelib-%{version}.tar.gz
|
|
BuildRequires: %{python_module commentjson}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
A Python module to resolve abstract dependencies into concrete ones.
|
|
|
|
%prep
|
|
%setup -q -n resolvelib-%{version}
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%check
|
|
%pytest
|
|
|
|
%files %{python_files}
|
|
%doc README.rst
|
|
%{python_sitelib}/*
|
|
|
|
%changelog
|