Repository: terrapkg/packages
Pull request #4821: add: Modern Colorthief
Author: login: GildedRoach
Labels: name: sync-el10
name: sync-f42
Created: 2025-05-13T22:59:08Z | Merged: 2025-05-17T16:06:11Z

This is, as far as I can tell, the last dep of `pywal16` which is why I started adding this crap.

I can confirm the docs do build! However this is, well, a self dep in order to build them which is a tad annoying.


Diff:
diff --git a/anda/tools/modern-colorthief/anda.hcl b/anda/tools/modern-colorthief/anda.hcl
new file mode 100644
index 00000000000..d0611838310
--- /dev/null
+++ b/anda/tools/modern-colorthief/anda.hcl
@@ -0,0 +1,5 @@
+project pkg {
+	rpm {
+		spec = "modern-colorthief.spec"
+	}
+}
diff --git a/anda/tools/modern-colorthief/modern-colorthief.spec b/anda/tools/modern-colorthief/modern-colorthief.spec
new file mode 100644
index 00000000000..9d7e624e53a
--- /dev/null
+++ b/anda/tools/modern-colorthief/modern-colorthief.spec
@@ -0,0 +1,108 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+%if 0%{?fedora} <= 42 
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+BuildRequires: python3dist(colorthief)
+BuildRequires: python3dist(poetry)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
+sphinx-build docs html/$l -D language=$l
+# Remove the sphinx-build leftovers
+rm -rf html/$l/.{doctrees,buildinfo}
+done
+%endif
+
+%install
+%pyproject_install
+
+%{cargo_license_online} > LICENSE.dependencies
+
+%if %{with test}
+%check
+%pytest tests/*.py
+# Poetry Pytests will fail on Rawhide due to original Colorthief being missing
+%if 0%{?fedora} <= 42
+# This is in the wrong spot in pyproject.toml and Poetry hates it
+# May seem like defeating the purpose of testing but the other tests can be useful
+sed -iE 's/python = ">=3.9,<3.14"//' pyproject.toml
+poetry run pytest
+%endif
+%endif
+
+%files -n python3-%{name}
+%doc DIFFERENCES.md
+%doc PKG-INFO
+%doc README.md
+%license LICENSE
+%license LICENSE.dependencies
+%{python3_sitearch}/%{pypi_name}
+%{python3_sitearch}/%{pypi_name}-%{version}.dist-info
+
+%if %{with docs}
+%files -n python3-%{name}-doc
+%doc html/*
+%endif
+
+%changelog
+* Tue May 13 2025 Gilver E. <rockgrub@disroot.org> - 0.1.7-1
+- Initial package
diff --git a/anda/tools/modern-colorthief/update.rhai b/anda/tools/modern-colorthief/update.rhai
new file mode 100644
index 00000000000..ee3328258f8
--- /dev/null
+++ b/anda/tools/modern-colorthief/update.rhai
@@ -0,0 +1 @@
+rpm.version(pypi("modern-colorthief"));


Reviews:
user: login: madonuko
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T05:17:25Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T07:29:49Z
user: login: madonuko
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T12:46:33Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T13:58:44Z
user: login: madonuko
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T15:16:36Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T15:20:40Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T15:27:59Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T17:07:59Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T17:20:36Z
user: login: madonuko
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-17T16:06:09Z
user: login: GildedRoach
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-17T16:18:52Z

Review comments:
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: madonuko
body: can you generate this during build time?
created_at: 2025-05-14T05:16:23Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: WDYM? This is during the build section.

It can't be done with the pyproject macros because Sphinx is a separate Python program.
created_at: 2025-05-14T07:29:48Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: madonuko
body: I mean generate the lang list without hardcoding
created_at: 2025-05-14T12:46:33Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: Oh. Unfortunately no, Sphinx doesn't really have a way to detect AFAIK.
created_at: 2025-05-14T13:58:44Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: madonuko
body: can't you just list out the files in `html/`?
created_at: 2025-05-14T15:16:36Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: Sphinx actually builds and translates them from the input files in `docs/`.
created_at: 2025-05-14T15:20:40Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: These are the files from Docs. The main input files are in English without a specific language set in the `conf.py`. https://github.com/baseplate-admin/modern_colorthief/tree/master/docs

Sphinx is generating extra HTML pages from these in various languages. It's unfortunately not very sophisticated, and I originally ran this through every possible locale Sphinx can do, some didn't translate at all so I manually sorted out the ones that were useless.
created_at: 2025-05-14T15:27:58Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: Resulting build files (taken from en folder): 
![image](https://github.com/user-attachments/assets/58aa4405-0db3-4cd6-a0cd-5edc42e03827)
![image](https://github.com/user-attachments/assets/3793aedd-0651-4d22-a899-843542a47ce1)
![image](https://github.com/user-attachments/assets/c0a9a396-e9cd-4369-8bc6-e10fc0e9283d)
![image](https://github.com/user-attachments/assets/8f3006e0-75ac-4e47-bcbd-bf9094f6da1c)

Actually may not need to include the original `.md` files since they're converted to these text files.


created_at: 2025-05-14T17:07:58Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: Translated API doc file (German/de): 
![image](https://github.com/user-attachments/assets/aa9410ee-6822-45eb-8cea-e8743d10de98)
Sphinx is clearly far from perfect in many ways but it's the tool a lot of these Sphinx related projects use for localization (Shibuya probably uses it the best since it uses it through Pybabel but that requires additional config files).
created_at: 2025-05-14T17:20:36Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: madonuko
body: I'm confusion
created_at: 2025-05-17T16:06:05Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,109 @@
+%global pypi_name modern_colorthief
+%bcond docs 0
+%bcond test 1
+
+# The srcrpm is not prefixed with Python because the source is mostly Rust
+Name:          modern-colorthief
+Version:       0.1.7
+Release:       1%{?dist}
+Summary:       ColorThief reimagined
+SourceLicense: MIT
+License:       (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND BSD-2-Clause AND (CC0-1.0 OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
+URL:           https://modern-colorthief.readthedocs.io
+Source0:       %{pypi_source}
+BuildRequires: anda-srpm-macros
+BuildRequires: cargo
+BuildRequires: cargo-rpm-macros
+BuildRequires: maturin
+BuildRequires: mold
+BuildRequires: python3-devel
+BuildRequires: python3dist(pip)
+BuildRequires: python3dist(setuptools)
+%if %{with docs}
+BuildRequires: python3dist(modern-colorthief)
+BuildRequires: python3dist(myst-parser)
+BuildRequires: python3dist(shibuya)
+BuildRequires: python3dist(sphinx)
+%endif
+%if %{with test}
+BuildRequires: poetry
+# Colorthief does not exist on Rawhide?
+%if 0%{?fedora} <= 42
+BuildRequires: python3dist(colorthief)
+%endif
+BuildRequires: python3dist(fast-colorthief)
+BuildRequires: python3dist(poetry)
+BuildRequires: python3dist(pytest)
+%endif
+
+%description
+Colorthief but with modern code.
+
+%package -n      python3-%{name}
+Summary:         %{summary}
+License:         MIT
+
+%description -n python3-%{name}
+Colorthief but with modern code.
+
+%if %{with docs}
+%package -n      python3-%{name}-doc
+Summary:         Doc files for Modern Colorthief
+License:         MIT
+BuildArch:       noarch
+
+%description -n python3-%{name}-doc
+Documentation for Modern Colorthief.
+%endif
+
+%prep
+%autosetup -n %{pypi_name}-%{version}
+%cargo_prep_online
+
+%build
+%pyproject_wheel
+
+%if %{with docs}
+# Generates the docs in all languages Sphinx can translate most or all of the docs for this project in
+for l in ca cs cy da de el en es et eu fa fr he hi hi_IN hr hu id it ja ko lt lv nb_NO nl pl pt pt_BR pt_PT ro ru sk sq sv tr zh_CN zh_TW; do
path: anda/tools/modern-colorthief/modern-colorthief.spec
user: login: GildedRoach
body: Long story short, Sphinx has a set number of languages it can translate into.

It can be used on its own as an automated tool to attempt to translate docs into supported languages, which is what is happening here.

The project itself has no official translations, but since it's a Sphinx related project Sphinx can be used to attempt to translate it. The results range from kinda useful to useless. I just removed the useless ones. 
created_at: 2025-05-17T16:18:52Z
author_association: MEMBER

PR comments:
user: login: raboneko
created_at: 2025-05-17T16:06:36Z
body: ## 💚 All backports created successfully

| Status | Branch | Result |
|:------:|:------:|:------|
|✅|f40|[<img src="https://img.shields.io/github/pulls/detail/state/terrapkg/packages/4862">](https://github.com/terrapkg/packages/pull/4862)|
|✅|f41|[<img src="https://img.shields.io/github/pulls/detail/state/terrapkg/packages/4863">](https://github.com/terrapkg/packages/pull/4863)|
|✅|el10|[<img src="https://img.shields.io/github/pulls/detail/state/terrapkg/packages/4864">](https://github.com/terrapkg/packages/pull/4864)|
|✅|f42|[<img src="https://img.shields.io/github/pulls/detail/state/terrapkg/packages/4865">](https://github.com/terrapkg/packages/pull/4865)|

### Questions ?
Please refer to the [Backport tool documentation](https://github.com/sqren/backport) and see the [Github Action logs](https://github.com/terrapkg/packages/actions/runs/15086876392) for details

<!--- Backport version: 9.3.0 -->
author_association: MEMBER
user: login: GildedRoach
created_at: 2025-05-17T16:26:22Z
body: Guess who set up a bcond for a reason then forgot to disable the tests until the package was actually in the repos!!
author_association: MEMBER