From 3c386600f1dbd33afc3ba7e5858f040e0bfaec98 Mon Sep 17 00:00:00 2001 From: Shenglong Zhu Date: Wed, 17 Apr 2024 11:24:55 +0800 Subject: [PATCH] init package from upstream --- python-tomesd.spec | 55 ++++++++++++++++++++++++++++++++++++++++++++ tomesd-0.1.3.tar.gz | Bin 0 -> 14032 bytes 2 files changed, 55 insertions(+) create mode 100644 python-tomesd.spec create mode 100644 tomesd-0.1.3.tar.gz diff --git a/python-tomesd.spec b/python-tomesd.spec new file mode 100644 index 0000000..418a366 --- /dev/null +++ b/python-tomesd.spec @@ -0,0 +1,55 @@ +%define anolis_release 1 +%global pypi_name tomesd +%global pypi_version 0.1.3 + +Name: python-%{pypi_name} +Version: %{pypi_version} +Release: %{anolis_release}%{?dist} +Summary: Token Merging for Stable Diffusion + +License: MIT +URL: https://github.com/dbolya/tomesd +Source0: %{pypi_source} +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3dist(setuptools) + +# Since we don't provide torch from yum source +# BuildRequires: python3dist(torch) >= 1.12.1 +# Requires: python3dist(torch) >= 1.12.1 + +%description +Using nothing but pure python and pytorch, ToMe for SD speeds up diffusion by +merging redundant tokens. + +%package -n python3-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{pypi_name}} + +%description -n python3-%{pypi_name} +Using nothing but pure python and pytorch, ToMe for SD speeds up diffusion by +merging redundant tokens. + + +%prep +%autosetup -n %{pypi_name}-%{pypi_version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info + +%build +%py3_build + +%install +%py3_install + +%files -n python3-%{pypi_name} +%license LICENSE +%doc README.md +%{python3_sitelib}/%{pypi_name} +%{python3_sitelib}/%{pypi_name}-%{pypi_version}-py%{python3_version}.egg-info + + +%changelog +* Wed Apr 17 2024 Shenglong Zhu - 0.1.3-1 +- Initial package. diff --git a/tomesd-0.1.3.tar.gz b/tomesd-0.1.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..72f5345774a50b4861944faefa1097a9183888ca GIT binary patch literal 14032 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 literal 0 HcmV?d00001 -- Gitee