Try to make yt-dlp CI more robust
Directly call yt-dlp API rather than CLI
This allows greater flexibility (and hopefully efficiency), such as
in the case of YoutubeDL option extract_flat=in_playlist.
Also target Python 3.9 and PyInstaller on Debian 11 for better
Python, yt-dlp, and glibc compatibility across OS versions.
Fix Debian Stable manifest
- Rename since it no longer uses backports.
- Remove Emacs library header copypasta.
- Reduce list indentation.
Pipe processes are closed; do not reuse
Discard stderr
To ignore Python deprecation warnings from yt-dlp, for example.
Ignore video format errors when fetching metadata
Improve build and deployment
Rename build manifests from *.yml to *.yaml
As recommended by yaml.org and now supported by SourceHut.
Update default server and port
Replace youtube-dl with yt-dlp
The former no longer seems to work and is unmaintained.
Make YouTube timestamp tests more robust
Update YouTube URLs and titles in tests
Update YouTube playlist used in tests
The previous one is no longer publicly accessible.
Strip inline NL/CR characters from cURL titles
Stop providing bott-tests feature
ERT test suites are hardly ever loaded like Elisp libraries.
Remove unreliable Dailymotion tests
It is hard to find a channel, playlist, and video combination which
is not geo-restricted during GitLab CI and is reliably downloaded by
youtube-dl.
Adapt tests to avoid rcirc bug fixed in Emacs 26.2
A race in rcirc-filter before Emacs 26.2 might be causing
bott-url-functions to return in an unpredictable order on GitLab CI,
so test bott-url-ydl directly.
See https://debbugs.gnu.org/33145.