Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2246909c39 | |||
| 9fab598d4c | |||
| a296315a12 | |||
| f7a28072ef | |||
| 9ab94fbf10 | |||
| 3c56ee0af3 | |||
| 7b1299607c | |||
| 0b1760abe6 | |||
| d35de8653f | |||
| 80416c604d | |||
| 383229d69f | |||
| 6448c33677 | |||
| aede73fbe2 | |||
| dc8c877840 | |||
| 6960c2d470 | |||
| 96424c216f | |||
| a958e2b58c | |||
| 4e4ffd80d6 | |||
| 8e9e061deb | |||
| bef7b2af65 | |||
| d811cf91ba | |||
| c7793d4462 | |||
| d1e1018a12 | |||
| 0d8ef94d06 | |||
| f55247ec9c |
@@ -1,2 +1,2 @@
|
||||
SHA512 (tomcli-0.1.1.tar.gz) = 4d35a2d1fea21f8a6040fa773a096c0f327d12d25e08a81498dd0fe4c1fc22192a7362bf1ab5cb2fbb4a7e29aa747dd80a3af4d321e1b66dc6e78f7bd12dfbb6
|
||||
SHA512 (tomcli-0.1.1.tar.gz.asc) = 1c7e0e1b8f790ac6c5003eea44aabb40c03617a90210b10451646b222060291dce53b5b0d566aaab2c3c11d8b64f8c23bf693e63dc14a9af74fe39bcca07d178
|
||||
SHA512 (tomcli-0.9.0.tar.gz) = 2004bb7950474376e620e14e5790726893b2d937d23e262609075e83ac94880e99716d88fba4cc4ecea8434f5c6a33ad8d2753a39d8e72472ea72679c70c8ca8
|
||||
SHA512 (tomcli-0.9.0.tar.gz.asc) = 2220f07834a5e41adc60eb905f2b720bc8ba93a0558ab18d53899e772b7a5eddf3de88464d7d6d6a310d2a2b4a14e5a66878667da08d501286ce64f79560ffa8
|
||||
|
||||
+114
-18
@@ -4,8 +4,33 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
# License text: https://spdx.org/licenses/MIT.html
|
||||
|
||||
# bconds:
|
||||
# tests
|
||||
# Run unit tests
|
||||
# tomlkit
|
||||
# Enable tomlkit and all extras
|
||||
# manpages
|
||||
# Build manpages using scdoc
|
||||
# bootstrap
|
||||
# Disable tomlkit dependencies and unit tests.
|
||||
# Add ~bootstrap to %%dist
|
||||
# Allows tomcli to be built early in the new Python bootstrap process.
|
||||
|
||||
%bcond bootstrap 0
|
||||
%bcond tomlkit %[%{without bootstrap} && (%{undefined rhel} || %{defined epel})]
|
||||
%bcond tests %{without bootstrap}
|
||||
%bcond manpages %[%{undefined rhel} || %{defined epel}]
|
||||
|
||||
# Add minimal py3_test_envvars for EPEL 9
|
||||
%if %{undefined py3_test_envvars}
|
||||
%define py3_test_envvars %{shrink:
|
||||
PYTHONPATH=%{buildroot}%{python3_sitelib}
|
||||
PATH=%{buildroot}%{_bindir}:${PATH}
|
||||
}
|
||||
%endif
|
||||
|
||||
Name: tomcli
|
||||
Version: 0.1.1
|
||||
Version: 0.9.0
|
||||
Release: 1%{?dist}
|
||||
Summary: CLI for working with TOML files. Pronounced "tom clee."
|
||||
|
||||
@@ -19,14 +44,18 @@ Source2: https://meta.sr.ht/~gotmax23.pgp
|
||||
BuildArch: noarch
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: %{py3_dist pytest}
|
||||
%if %{with manpages}
|
||||
BuildRequires: scdoc
|
||||
%endif
|
||||
|
||||
# One of the TOML backends is required
|
||||
Requires: (%{py3_dist tomcli[tomlkit]} or %{py3_dist tomcli[tomli]})
|
||||
%if %{with tomlkit}
|
||||
# Prefer the tomlkit backend
|
||||
Suggests: %{py3_dist tomcli[tomlkit]}
|
||||
# Recommend the 'all' extra
|
||||
Recommends: %{py3_dist tomcli[all]}
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
@@ -39,52 +68,119 @@ tomcli is a CLI for working with TOML files. Pronounced "tom clee."
|
||||
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -x all,tomlkit,tomli,test
|
||||
%{pyproject_buildrequires %{shrink:
|
||||
-x tomli
|
||||
%{?with_tomlkit:-x all,tomlkit}
|
||||
%{?with_tests:-x test}
|
||||
}}
|
||||
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%if %{with manpages}
|
||||
for page in doc/*.scd; do
|
||||
dest="${page%.scd}"
|
||||
scdoc <"${page}" >"${dest}"
|
||||
done
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files tomcli
|
||||
|
||||
mkdir -p %{buildroot}%{bash_completions_dir}
|
||||
mkdir -p %{buildroot}%{fish_completions_dir}
|
||||
mkdir -p %{buildroot}%{zsh_completions_dir}
|
||||
%if %{with manpages}
|
||||
# Install manpages
|
||||
install -Dpm 0644 doc/*.1 -t %{buildroot}%{_mandir}/man1
|
||||
%endif
|
||||
|
||||
# Install shell completions
|
||||
(
|
||||
export PYTHONPATH="%{buildroot}%{python3_sitelib}"
|
||||
export _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
|
||||
for command in %{buildroot}%{_bindir}/tomcli*; do
|
||||
$command --show-completion=bash > "%{buildroot}%{bash_completions_dir}/$(basename $command)"
|
||||
$command --show-completion=fish > "%{buildroot}%{fish_completions_dir}/$(basename $command).fish"
|
||||
$command --show-completion=zsh > "%{buildroot}%{zsh_completions_dir}/_$(basename $command)"
|
||||
done
|
||||
export %{py3_test_envvars}
|
||||
%{python3} compgen.py \
|
||||
--installroot %{buildroot} \
|
||||
--bash-dir %{bash_completions_dir} \
|
||||
--fish-dir %{fish_completions_dir} \
|
||||
--zsh-dir %{zsh_completions_dir}
|
||||
)
|
||||
|
||||
|
||||
%check
|
||||
# Smoke test
|
||||
(
|
||||
export %{py3_test_envvars}
|
||||
TOMCLI="%{buildroot}%{_bindir}/tomcli"
|
||||
cp pyproject.toml test.toml
|
||||
name="$($TOMCLI get test.toml project.name)"
|
||||
test "${name}" = "tomcli"
|
||||
|
||||
$TOMCLI set test.toml str project.name not-tomcli
|
||||
newname="$($TOMCLI get test.toml project.name)"
|
||||
test "${newname}" = "not-tomcli"
|
||||
)
|
||||
|
||||
%pyproject_check_import
|
||||
%if %{with tests}
|
||||
%pytest
|
||||
%endif
|
||||
|
||||
|
||||
%pyproject_extras_subpkg -n tomcli all tomli tomlkit
|
||||
%pyproject_extras_subpkg -n tomcli %{?with_tomlkit:all tomlkit} tomli
|
||||
|
||||
|
||||
%files -f %{pyproject_files}
|
||||
# I prefer not to rely on %%pyproject_save_files to mark files with %%license.
|
||||
# Also, Fedora's hatchling supports the current draft of PEP 639, but EPEL 9's
|
||||
# does not.
|
||||
%license LICENSES/*.txt
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%doc NEWS.md
|
||||
%{_bindir}/tomcli*
|
||||
%{bash_completions_dir}/tomcli*
|
||||
%{fish_completions_dir}/tomcli*.fish
|
||||
%{zsh_completions_dir}/_tomcli*
|
||||
%if %{with manpages}
|
||||
%{_mandir}/man1/tomcli*.1*
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Mar 02 2025 Maxwell G <maxwell@gtmx.me> - 0.9.0-1
|
||||
- Update to 0.9.0.
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Mon Sep 16 2024 Maxwell G <maxwell@gtmx.me> - 0.8.0-1
|
||||
- Update to 0.8.0.
|
||||
|
||||
* Wed Aug 28 2024 Maxwell G <maxwell@gtmx.me> - 0.7.0-1
|
||||
- Update to 0.7.0.
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 0.6.0-2
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Thu Mar 28 2024 Maxwell G <maxwell@gtmx.me> - 0.6.0-1
|
||||
- Update to 0.6.0.
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Dec 22 2023 Maxwell G <maxwell@gtmx.me> - 0.5.0-2
|
||||
- Fix installation of license files
|
||||
|
||||
* Thu Dec 14 2023 Maxwell G <maxwell@gtmx.me> - 0.5.0-1
|
||||
- Update to 0.5.0.
|
||||
|
||||
* Thu Sep 07 2023 Maxwell G <maxwell@gtmx.me> - 0.3.0-1
|
||||
- Update to 0.3.0.
|
||||
|
||||
* Fri Sep 01 2023 Maxwell G <maxwell@gtmx.me> - 0.2.0-1
|
||||
- Update to 0.2.0.
|
||||
|
||||
* Sat May 20 2023 Maxwell G <maxwell@gtmx.me> - 0.1.2-1
|
||||
- Update to 0.1.2.
|
||||
|
||||
* Wed May 03 2023 Maxwell G <maxwell@gtmx.me> - 0.1.1-1
|
||||
- Initial package. Closes rhbz#2186902.
|
||||
|
||||
Reference in New Issue
Block a user