14
0
Files
python-jsonschema/python-jsonschema.spec
Dirk Mueller 8a0b817756 - update to 4.19.0:
* Importing the |Validator| protocol directly from the package
    root is deprecated. Import it from
    |jsonschema.protocols.Validator| instead.
  * Automatic retrieval of remote references (which is still
    deprecated) now properly succeeds even if the retrieved
    resource does not declare which version of JSON Schema it uses.
    Such resources are assumed to be 2020-12 schemas. This more
    closely matches the pre-|referencing| library behavior.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-jsonschema?expand=0&rev=72
2023-09-21 08:12:28 +00:00

174 lines
5.1 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2023 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/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%{?sle15_python_module_pythons}
Name: python-jsonschema%{psuffix}
Version: 4.19.0
Release: 0
Summary: An implementation of JSON-Schema validation for Python
License: MIT
URL: https://github.com/python-jsonschema/jsonschema
Source: https://files.pythonhosted.org/packages/source/j/jsonschema/jsonschema-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module hatch-fancy-pypi-readme}
BuildRequires: %{python_module hatch_vcs}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: python-rpm-macros >= 20210929
%if %{with test}
BuildRequires: %{python_module jsonschema = %{version}}
BuildRequires: %{python_module jsonschema-format = %{version}}
BuildRequires: %{python_module jsonschema-format-nongpl = %{version}}
BuildRequires: %{python_module jsonschema-specifications}
BuildRequires: %{python_module rpds-py}
BuildRequires: %{python_module virtue}
BuildRequires: git-core
%endif
Requires: python-attrs >= 17.4.0
Requires: python-jsonschema-specifications
Requires: python-pyrsistent >= 0.14.0
Requires: python-referencing
Requires: python-rpds-py
%if 0%{python_version_nodots} < 38
Requires: python-importlib-metadata
Requires: python-typing-extensions
%endif
%if 0%{python_version_nodots} < 39
Requires: python-importlib-resources >= 1.4.0
Requires: python-pkgutil-resolve-name >= 1.3.10
%endif
%if %{with libalternatives}
Requires: alts
BuildRequires: alts
%else
Requires(post): update-alternatives
Requires(preun):update-alternatives
%endif
BuildArch: noarch
%python_subpackages
%description
jsonschema is an implementation of the JSON Schema specification for Python
The validator can be used as python module and from console:
$ jsonschema --instance sample.json sample.schema
%package format
Summary: An implementation of JSON-Schema validation for Python [format] extra
Requires: python-fqdn
Requires: python-idna
Requires: python-isoduration
Requires: python-jsonpointer > 1.13
Requires: python-jsonschema = %{version}
Requires: python-rfc3339-validator
Requires: python-rfc3987
Requires: python-uri_template
Requires: python-webcolors >= 1.11
%description format
jsonschema is an implementation of the JSON Schema specification for Python.
This subpackage provides the [format] extra
%package format-nongpl
Summary: An implementation of JSON-Schema validation for Python [format-nongpl] extra
Requires: python-fqdn
Requires: python-idna
Requires: python-isoduration
Requires: python-jsonpointer > 1.13
Requires: python-jsonschema = %{version}
Requires: python-rfc3339-validator
Requires: python-rfc3986-validator > 0.1.0
Requires: python-uri_template
Requires: python-webcolors >= 1.11
%description format-nongpl
jsonschema is an implementation of the JSON Schema specification for Python.
This subpackage provides the [format-nongpl] extra
%prep
%setup -q -n jsonschema-%{version}
%if !%{with test}
%build
%pyproject_wheel
%install
%pyproject_install
# Remove benchmark tests
%{python_expand rm -r %{buildroot}%{$python_sitelib}/jsonschema/benchmarks %{buildroot}%{$python_sitelib}/jsonschema/tests
%fdupes %{buildroot}%{$python_sitelib}
}
# Prepare for libalternatives/update-alternatives usage
%python_clone -a %{buildroot}%{_bindir}/jsonschema
%endif
%if %{with test}
%check
export JSON_SCHEMA_TEST_SUITE=$PWD/json
%{python_expand # see tox.ini
export PYTHONPATH=%{buildroot}%{$python_sitelib}
$python -B -m virtue jsonschema
}
%endif
%pre
# If libalternatives is used: Removing old update-alternatives entries.
%python_libalternatives_reset_alternative jsonschema
%post
%python_install_alternative jsonschema
%preun
%python_uninstall_alternative jsonschema
%if !%{with test}
%files %{python_files}
%license COPYING
%doc README.rst
%python_alternative %{_bindir}/jsonschema
%{python_sitelib}/jsonschema
%{python_sitelib}/jsonschema-%{version}*-info
%files %{python_files format}
%license COPYING
%files %{python_files format-nongpl}
%license COPYING
%endif
%changelog