python-jsonschema/python-jsonschema.spec
Your Name 8bcf21d000
All checks were successful
Run CI/CD... / main (push) Successful in 5m24s
2.6.0
2025-02-19 15:53:47 +00:00

132 lines
3.5 KiB
RPMSpec

%define oname jsonschema
%define py38 1
Name: python-%{oname}
Version: 2.6.0
Release: 1
Summary: An implementation of JSON Schema validation for Python
URL: https://github.com/Julian/jsonschema
Source0: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz
License: MIT
Group: Development/Python
BuildArch: noarch
BuildRequires: pkgconfig(python)
BuildRequires: pythonegg(nose)
BuildRequires: pythonegg(mock)
BuildRequires: pythonegg(setuptools)
BuildRequires: pkgconfig(python3)
BuildRequires: python3egg(nose)
BuildRequires: python3egg(mock)
BuildRequires: python3egg(setuptools)
%if %{py38}
BuildRequires: pkgconfig(python-3.8)
BuildRequires: python38-nose
BuildRequires: python38-mock
BuildRequires: python38-setuptools
%endif
#Requires: python3-%{oname}
%description
jsonschema is JSON Schema validator currently based on
http://tools.ietf.org/html/draft-zyp-json-schema-03
#------------------------------------------------------------------
%package -n python3-%{oname}
Group: Development/Python
%description -n python3-%{oname}
Python 3.5 introduced official support for enumerations. This is a
backport of that feature to Python 3.3, 3.2, 3.1, 2.7, 2.5, 2.5, and 2.4.
An enumeration is a set of symbolic names (members) bound to unique,
constant values. Within an enumeration, the members can be compared by
identity, and the enumeration itself can be iterated over.
This module defines two enumeration classes that can be used to define
unique sets of names and values: Enum and IntEnum. It also defines one
decorator, unique, that ensures only unique member names are present
in an enumeration.
%files -n python3-%{oname}
%doc CHANGELOG.rst COPYING README.rst
%{_bindir}/jsonschema3
%{py3_puresitedir}/jsonschema/*
%{py3_puresitedir}/jsonschema*.egg-info
#------------------------------------------------------------------
%if %{py38}
%package -n python38-%{oname}
Group: Development/Python
%description -n python38-%{oname}
Python 3.8 introduced official support for enumerations. This is a
backport of that feature to Python 3.3, 3.2, 3.1, 2.7, 2.5, 2.5, and 2.4.
An enumeration is a set of symbolic names (members) bound to unique,
constant values. Within an enumeration, the members can be compared by
identity, and the enumeration itself can be iterated over.
This module defines two enumeration classes that can be used to define
unique sets of names and values: Enum and IntEnum. It also defines one
decorator, unique, that ensures only unique member names are present
in an enumeration.
%files -n python38-%{oname}
%doc CHANGELOG.rst COPYING README.rst
%{_bindir}/jsonschema
%{py38_puresitedir}/jsonschema/*
%{py38_puresitedir}/jsonschema*.egg-info
%endif
#------------------------------------------------------------------
%prep
%setup -qn %{oname}-%{version}
#echo "'__version__ = '2.6.0'" > jsonschema/_version.py
sed -i -e '/setup_requires=/d' -e '/vcversioner=/d' setup.py
cp -a . %{py3dir}
cp -a . %{py38dir}
%build
%py_build
pushd %{py3dir}
%py3_build
popd
%if %{py38}
pushd %{py38dir}
%py38_build
popd
%endif
%install
%py_install
mv %{buildroot}%{_bindir}/jsonschema %{buildroot}%{_bindir}/jsonschema2
pushd %{py3dir}
%py3_install
mv %{buildroot}%{_bindir}/jsonschema %{buildroot}%{_bindir}/jsonschema3
popd
%if %{py38}
pushd %{py38dir}
%py38_install
popd
%endif
%check
#{_bindir}/nosetests-2* -v || :
%files
%doc CHANGELOG.rst COPYING README.rst
%{_bindir}/jsonschema2
%{py_puresitedir}/jsonschema/*.py*
%{py_puresitedir}/jsonschema/tests/*.py*
%{py_puresitedir}/jsonschema*.egg-info
%{py_puresitedir}/jsonschema/schemas/draft*.json