%global pypi_name caelestia %global pkgname python3-%{pypi_name}-cli %global _version 1.0.1 %global commit0 f9acac8fb2f6faaa5065b2d6cc30043a4f4bef0f %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global bumpver 50 %global pypi_version %{_version}%{?bumpver:.dev%{bumpver}+g%{shortcommit0}} Name: %{pypi_name}-cli Version: %{_version}%{?bumpver:^%{bumpver}.git%{shortcommit0}} Release: %autorelease -b3 Summary: The main CLI for the Caelestia dotfiles License: GPL-3.0-only URL: https://github.com/caelestia-dots/cli %if 0%{?bumpver} < 1 Source0: %{url}/releases/download/v%{_version}/%{pypi_name}-%{_version}.tar.gz %else Source0: https://codeload.github.com/caelestia-dots/cli/tar.gz/%{commit0}#/%{name}-%{shortcommit0}.tar.gz %endif BuildArch: noarch BuildRequires: python-rpm-macros BuildRequires: fdupes Requires: python3 Requires: %{py3_dist pillow} Requires: python3dist(materialyoucolor) Requires: libnotify Requires: swappy Requires: grim Requires: dart-sass Requires: app2unit Requires: wl-clipboard Requires: slurp # 这是一个私有的包,不在github等公开平台发布 # Requires: gpu-screen-recorder Requires: dconf Requires: glib2 Requires: pulseaudio-libs Requires: cliphist Requires: fuzzel # OptDepends Recommends: python3-caelestia-shell # Makedepends BuildRequires: python3-devel BuildRequires: python3-build BuildRequires: python3-installer BuildRequires: python3dist(hatchling) BuildRequires: python3dist(hatch-vcs) BuildRequires: %{py3_dist pillow} BuildRequires: %{py3_dist materialyoucolor} # PKGBUILD Provides: %{pkgname} = %{version}-%{release} Conflicts: %{pypi_name}-cli-git %global common_description %{expand: The main CLI for the Caelestia dotfiles, providing utilities for dotfiles management, screenshots, screen recording, clipboard handling, and integration with Caelestia ecosystem tools. } %description %{common_description} %package -n %{pkgname} Summary: %{summary} Recommends: %{name} %description -n %{pkgname} %{common_description} %prep %if !0%{?bumpver} %setup -n %{pypi_name}-%{_version} -q %else # export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_CAELESTIA=1.0.2.dev50+gf9acac8fb %setup -n cli-%{commit0} -q %endif %generate_buildrequires export SETUPTOOLS_SCM_PRETEND_VERSION=%{pypi_version} %pyproject_buildrequires %build %if 0%{?bumpver} export SETUPTOOLS_SCM_PRETEND_VERSION=%{pypi_version} %endif #python3 -m build --wheel --no-isolation %pyproject_wheel %install #python3 -m installer --destdir=%%{buildroot} dist/*.whl %pyproject_install %pyproject_save_files %{pypi_name} %fdupes %{buildroot}%{python3_sitearch}/%{pypi_name}/ install -Dm 0644 ./completions/caelestia.fish \ %{buildroot}%{_datadir}/fish/vendor_completions.d/caelestia.fish %check %py3_check_import %{pypi_name} # %%pytest -m "not network" %files %{_bindir}/caelestia # fish 补全文件 %{fish_completions_dir}/caelestia.fish %license LICENSE* %doc README* %files -n %{pkgname} -f %{pyproject_files} %changelog %autochangelog