## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: beets Version: 2.5.0 Release: %autorelease Summary: Music library manager and MusicBrainz tagger License: MIT and ISC URL: http://pypi.org/project/beets/ Source0: %{pypi_source beets} BuildRequires: python3-devel BuildRequires: python3-sphinx BuildRequires: python3-pydata-sphinx-theme BuildRequires: python3dist(poetry-core) >= 1 # Helpful Sphinx extras on some builders BuildRequires: python3dist(sphinxcontrib-htmlhelp) BuildRequires: python3dist(sphinxcontrib-serializinghtml) # Tests BuildRequires: python3-jellyfish BuildRequires: gstreamer1-plugins-good BuildRequires: python3-responses BuildRequires: python3-mock BuildRequires: pytest BuildRequires: python3-pytest-timeout BuildRequires: make BuildArch: noarch Provides: beets-plugins = %{version}-%{release} Obsoletes: beets-plugins < %{version} BuildSystem: pyproject BuildOption(install): -l beets %description The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its meta-data as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music. Because beets is designed as a library, it can do almost anything you can imagine for your music collection. Via plugins, beets becomes a panacea: - Fetch or calculate all the meta-data you could possibly need: album art, lyrics, genres, tempos, ReplayGain levels, or acoustic fingerprints. - Get meta-data from MusicBrainz, Discogs, or Beatport. Or guess meta-data using songs' file names or their acoustic fingerprints. - Transcode audio to any format you like. - Check your library for duplicate tracks and albums or for albums that are missing tracks. - Browse your music library graphically through a Web browser and play it in any browser that supports HTML5 Audio. %package doc Summary: Documentation for beets %description doc The beets-doc package provides useful information on the beets Music Library Manager. Documentation is shipped in both text and html formats. %prep # Tarball has wrong basedir https://github.com/beetbox/beets/issues/5284 %autosetup -p1 -n beets-%{version} # --- Make builds deterministic: change backend + tighten [build-system] only --- # 1) Switch backend away from poetry_dynamic_versioning sed -i 's/^build-backend *= *"poetry_dynamic_versioning\.backend"/build-backend = "poetry.core.masonry.api"/' pyproject.toml # 2) Force [build-system].requires to poetry-core only (don’t delete any other tables) awk ' BEGIN{inbs=0} /^\[build-system\]/{inbs=1; print; next} /^\[.*\]/{inbs=0; print; next} inbs && /^requires *=/ {print "requires = [\"poetry-core>=1.0.0\"]"; next} {print} ' pyproject.toml > pyproject.toml.tmp && mv pyproject.toml.tmp pyproject.toml # ------------------------------------------------------------------------------ %generate_buildrequires # Already in BUILD/beets-%%{version} %pyproject_buildrequires -r %build %pyproject_wheel pushd docs env PYTHONPATH=.. sphinx-build-3 -b man -d _build/doctrees . _build/man env PYTHONPATH=.. sphinx-build-3 -b html -d _build/doctrees . _build/html env PYTHONPATH=.. sphinx-build-3 -b text -d _build/doctrees . _build/text popd %check %pytest \ --deselect test/test_importer.py::ImportDuplicateAlbumTest::test_merge_duplicate_album %install %pyproject_install %pyproject_save_files -l beets beetsplug -L install -Dm0644 docs/_build/man/beet.1 \ %{buildroot}%{_mandir}/man1/beet.1 install -Dm0644 docs/_build/man/beetsconfig.5 \ %{buildroot}%{_mandir}/man5/beetsconfig.5 # Copy only HTML docs mkdir -p %{buildroot}%{_docdir}/%{name} cp -a docs/_build/html %{buildroot}%{_docdir}/%{name}/html rm -f %{buildroot}%{_docdir}/%{name}/html/.buildinfo %files -n beets -f %{pyproject_files} %{_bindir}/beet %{_mandir}/man1/beet.1* %{_mandir}/man5/beetsconfig.5* %license LICENSE %doc README.rst %files doc %doc %{_docdir}/%{name}/html %license LICENSE %changelog ## START: Generated by rpmautospec * Sat Oct 11 2025 Gerald B Cox - 2.5.0-1 - rhbz#2403274 * Fri Sep 19 2025 Python Maint - 2.4.0-2 - Rebuilt for Python 3.14.0rc3 bytecode * Sat Sep 13 2025 Gerald B Cox - 2.4.0-1 - rhbz#2394969 * Fri Aug 15 2025 Python Maint - 2.3.1-4 - Rebuilt for Python 3.14.0rc2 bytecode * Wed Jul 23 2025 Fedora Release Engineering - 2.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Fri Jul 11 2025 Gerald B Cox - 2.3.1-2 - rhbz#2283970 * Thu Jul 10 2025 Gerald B Cox - 2.3.1-1 - rhbz#2283970 * Tue Jun 03 2025 Python Maint - 2.0.0-3 - Rebuilt for Python 3.14 * Thu Jan 16 2025 Fedora Release Engineering - 2.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Sun Nov 03 2024 Michele Baldessari - 2.0.0-1 - New upstream * Wed Jul 17 2024 Fedora Release Engineering - 1.6.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sat Jun 08 2024 Python Maint - 1.6.0-9 - Rebuilt for Python 3.13 * Tue Jan 23 2024 Fedora Release Engineering - 1.6.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 1.6.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 1.6.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Jun 15 2023 Python Maint - 1.6.0-5 - Rebuilt for Python 3.12 * Mon Mar 27 2023 Michele Baldessari - 1.6.0-4 - Fix doc build with sphinx > 6.0.0 (rhbz#2180464) * Wed Jan 18 2023 Fedora Release Engineering - 1.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Nov 11 2022 Michele Baldessari - 1.6.0-2 - Fix buildrequires typo * Fri Aug 26 2022 Michele Baldessari - 1.6.0-1 - RPMAUTOSPEC: unresolvable merge ## END: Generated by rpmautospec