summaryrefslogtreecommitdiff
path: root/cmd2.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-28 07:41:02 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-28 07:41:02 +0000
commitc063a937df87669995dbc0cdd316f771209caec6 (patch)
tree583321203b3d23ac06f807ee234f71235f44d5f2 /cmd2.spec
parentc8b6bdb701a7c6e0ae5f3d7c225a25b2cf8284c2 (diff)
automatic import of python-cmd2
Diffstat (limited to 'cmd2.spec')
-rw-r--r--cmd2.spec100
1 files changed, 100 insertions, 0 deletions
diff --git a/cmd2.spec b/cmd2.spec
new file mode 100644
index 0000000..44bd7a9
--- /dev/null
+++ b/cmd2.spec
@@ -0,0 +1,100 @@
+# Build scheme: pyproject (setuptools backend, openEuler 24.03 LTS SP4)
+# pyproject.toml build-backend = "setuptools.build_meta"
+# Pure Python noarch package; runtime deps mirrored to BuildRequires for import test.
+#
+# Adaptations for openEuler 24.03 LTS SP4 build environment (setuptools 68.0.0 < 77):
+# 1. setuptools-scm not in repos (register-dep blocks toolchain registration):
+# patch pyproject.toml to pin static version, remove setuptools-scm from
+# [build-system].requires, drop [tool.setuptools_scm] section.
+# 2. PEP 639 SPDX license string ("license = "MIT"") needs setuptools >= 77:
+# convert to PEP 621 table form {text = "MIT"} and remove license-files field.
+%global pypi_name cmd2
+
+Name: python-%{pypi_name}
+Version: 4.3.1
+Release: 1%{?dist}
+Summary: Tool for building powerful command-line applications in Python
+License: MIT
+URL: https://github.com/python-cmd2/cmd2
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+BuildArch: noarch
+
+%description
+cmd2 is a tool for building powerful command-line applications in Python. It
+extends the Python Standard Library's cmd module to provide a rich set of
+features including tab completion, command history, scripting, aliases, and
+more, making it easy to build feature-rich and user-friendly CLI apps.
+
+
+%package -n python3-%{pypi_name}
+Summary: Tool for building powerful command-line applications in Python
+Provides: python-%{pypi_name}
+Provides: python3dist(%{pypi_name}) = %{version}
+BuildRequires: python3-devel
+BuildRequires: python3-pip
+BuildRequires: pyproject-rpm-macros
+BuildRequires: python3-setuptools
+# Runtime deps mirrored as BuildRequires to support %check import test
+BuildRequires: python3-prompt-toolkit >= 3.0.53
+BuildRequires: python3-pyperclip >= 1.8.2
+BuildRequires: python3-rich >= 15.0.0
+BuildRequires: python3-rich-argparse >= 1.7.2
+Requires: python3-prompt-toolkit >= 3.0.53
+Requires: python3-pyperclip >= 1.8.2
+Requires: python3-rich >= 15.0.0
+Requires: python3-rich-argparse >= 1.7.2
+
+%description -n python3-%{pypi_name}
+cmd2 is a tool for building powerful command-line applications in Python. It
+extends the Python Standard Library's cmd module to provide a rich set of
+features including tab completion, command history, scripting, aliases, and
+more, making it easy to build feature-rich and user-friendly CLI apps.
+
+
+%package help
+Summary: Development documents and examples for %{pypi_name}
+Provides: python3-%{pypi_name}-doc
+Requires: python3-%{pypi_name}
+%description help
+cmd2 is a tool for building powerful command-line applications in Python.
+This package provides documentation and examples for %{pypi_name}.
+
+
+%prep
+%autosetup -n %{name}-%{version}
+# Adapt pyproject.toml for openEuler 24.03 LTS SP4 (setuptools 68.0.0 < 77):
+# 1. setuptools-scm not in repos -> pin static version, drop setuptools-scm
+sed -i 's/^dynamic = \["version"\]/version = "%{version}"/' pyproject.toml
+sed -i 's/, "setuptools-scm>=9.2.1"//' pyproject.toml
+sed -i '/^\[tool.setuptools_scm\]$/d' pyproject.toml
+# 2. PEP 639 SPDX license string needs setuptools >= 77 -> PEP 621 table form
+sed -i 's/^license = "MIT"/license = {text = "MIT"}/' pyproject.toml
+sed -i '/^license-files/d' pyproject.toml
+
+
+%build
+%pyproject_build
+
+
+%install
+%pyproject_install
+
+
+%check
+# Use bare python3 command; the python3 rpm macro is undefined on openEuler 24.03 LTS SP4.
+python3 -c "import cmd2; print(cmd2.__file__)"
+
+
+%files -n python3-%{pypi_name}
+%license LICENSE
+%{python3_sitelib}/cmd2/
+%{python3_sitelib}/cmd2-%{version}*.dist-info/
+
+%files help
+%doc README.md
+%doc CHANGELOG.md
+
+
+%changelog
+* Wed Oct 28 2026 Python_Bot <Python_Bot@openeuler.org> - 4.3.1-1
+- Initial package