File python-ply_3.11-1.spec of Package dabeaz-ply-3.11
# Copyright 2025 Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
%global debug_package %{nil}
%global source_date_epoch_from_changelog 0
Name: python-ply
Epoch: 100
Version: 3.11
Release: 1%{?dist}
BuildArch: noarch
Summary: Python Lex & Yacc
License: BSD-3-Clause
URL: https://github.com/dabeaz/ply/tags
Source0: %{name}_%{version}.orig.tar.gz
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-devel
BuildRequires: python3-pip
%description
PLY is yet another implementation of lex and yacc for Python. Some
notable features include the fact that its implemented entirely in
Python and it uses LALR(1) parsing which is efficient and well suited
for larger grammars.
%prep
%autosetup -T -c -n %{name}_%{version}-%{release}
tar -zx -f %{S:0} --strip-components=1 -C .
%build
pip wheel \
--no-deps \
--no-build-isolation \
--wheel-dir=dist \
.
%install
pip install \
--no-deps \
--ignore-installed \
--root=%{buildroot} \
--prefix=%{_prefix} \
dist/*.whl
find %{buildroot}%{python3_sitelib} -type f -name '*.pyc' -exec rm -rf {} \;
fdupes -qnrps %{buildroot}%{python3_sitelib}
%check
%if 0%{?suse_version} > 1500
%package -n python%{python3_version_nodots}-ply
Summary: Python Lex & Yacc
Requires: python3
Provides: python3-ply = %{epoch}:%{version}-%{release}
Provides: python3dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(ply) = %{epoch}:%{version}-%{release}
%description -n python%{python3_version_nodots}-ply
PLY is yet another implementation of lex and yacc for Python. Some
notable features include the fact that its implemented entirely in
Python and it uses LALR(1) parsing which is efficient and well suited
for larger grammars.
%files -n python%{python3_version_nodots}-ply
%license README.md
%{python3_sitelib}/*
%endif
%if 0%{?sle_version} > 150000
%package -n python3-ply
Summary: Python Lex & Yacc
Requires: python3
Provides: python3-ply = %{epoch}:%{version}-%{release}
Provides: python3dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(ply) = %{epoch}:%{version}-%{release}
%description -n python3-ply
PLY is yet another implementation of lex and yacc for Python. Some
notable features include the fact that its implemented entirely in
Python and it uses LALR(1) parsing which is efficient and well suited
for larger grammars.
%files -n python3-ply
%license README.md
%{python3_sitelib}/*
%endif
%if !(0%{?suse_version} > 1500) && !(0%{?sle_version} > 150000)
%package -n python3-ply
Summary: Python Lex & Yacc
Requires: python3
Provides: python3-ply = %{epoch}:%{version}-%{release}
Provides: python3dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version}dist(ply) = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}-ply = %{epoch}:%{version}-%{release}
Provides: python%{python3_version_nodots}dist(ply) = %{epoch}:%{version}-%{release}
%description -n python3-ply
PLY is yet another implementation of lex and yacc for Python. Some
notable features include the fact that its implemented entirely in
Python and it uses LALR(1) parsing which is efficient and well suited
for larger grammars.
%files -n python3-ply
%license README.md
%{python3_sitelib}/*
%endif
%changelog