%global debug_package %{nil} %global gituser yt-dlp %global gitname yt-dlp %global foldername yt_dlp %global commit 52f9729c9a92ad4656d746ff0b1acecb87b3e96d %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global gitcounter 2 Name: yt-dlp Version: 2025.05.22.git.%{gitcounter} Release: %{shortcommit}%{?dist} Summary: A feature-rich command-line audio/video downloader License: Unlicense URL: https://github.com/%{gituser}/%{gitname} Source0: %{url}/tarball/%{commit}#/%{gituser}-%{name}-%{shortcommit}.tar.gz # Patch1: %%{url}/pull/12779.patch#/WIP_fix_ZDF_website_redesign_12779.patch BuildRequires: pandoc BuildRequires: %{py3_dist pytest} BuildRequires: %{py3_dist urllib3} %{py3_dist requests} %{py3_dist brotli} %{py3_dist certifi} BuildRequires: %{py3_dist pycryptodomex} %{py3_dist mutagen} %{py3_dist secretstorage} BuildRequires: %{py3_dist websockets} Requires: %{py3_dist urllib3} %{py3_dist requests} %{py3_dist brotli} %{py3_dist certifi} Recommends: %{py3_dist pycryptodomex} %{py3_dist mutagen} %{py3_dist secretstorage} Recommends: %{py3_dist websockets} Obsoletes: yt-dlp-bash-completion < %{version} Obsoletes: yt-dlp-fish-completion < %{version} Obsoletes: yt-dlp-zsh-completion < %{version} BuildArch: noarch %description YT-DLP is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc. %prep %autosetup -p1 -n %{gituser}-%{gitname}-%{shortcommit} mv -f CONTRIBUTORS AUTHORS # Remove README.txt sed -i '/README.txt/d' pyproject.toml mkdir -p completions/{bash,zsh,fish} %{python3} devscripts/bash-completion.py %{python3} devscripts/fish-completion.py %{python3} devscripts/zsh-completion.py # Enable lazy-extractors %{python3} devscripts/make_lazy_extractors.py %{foldername}/extractor/lazy_extractors.py # Setup version info sed -i '/RELEASE_GIT_HEAD/d' %{foldername}/version.py echo "RELEASE_GIT_HEAD = '"%{commit}"'" >> %{foldername}/version.py # make docs (from Makefile) MARKDOWN="markdown-smart" %{python3} devscripts/prepare_manpage.py %{name}.1.temp pandoc -s -f "$MARKDOWN" -t man %{name}.1.temp -o %{name}.1 mv -f README.md README.md.temp pandoc -f "$MARKDOWN" -t plain README.md.temp -o README.md mv -f Changelog.md Changelog.md.temp pandoc -f "$MARKDOWN" -t plain Changelog.md.temp -o Changelog.md rm -f %{name}.1.temp README.md.temp Changelog.md.temp supportedsites.md %{python3} devscripts/make_supportedsites.py supportedsites.md # Remove interpreter shebang from module files find %{foldername} -type f -exec sed -i -e '1{/^\#!\/usr\/bin\/env python$/d;};' {} + %generate_buildrequires %pyproject_buildrequires -r %build %pyproject_wheel %install %pyproject_install %pyproject_save_files %{foldername} mkdir -p %{buildroot}%{_sysconfdir} cat > %{buildroot}%{_sysconfdir}/%{name}.conf << EOF # Default configuration for yt-dlp. --prefer-free-formats --hls-prefer-native EOF %check %pytest -k "not download" # AUTHORS and LICENSE already in dist-info %files -f %{pyproject_files} %doc Changelog.md README.md supportedsites.md %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* %config(noreplace) %{_sysconfdir}/%{name}.conf %{bash_completions_dir}/%{name} %{zsh_completions_dir}/_%{name} %{fish_completions_dir}/%{name}.fish %changelog * Thu May 22 2025 samoht0 git-master - spec and history cleanup