1- { lib
2- , python3Packages
3- , fetchPypi
4- , ffmpeg-headless
5- , rtmpdump
6- , atomicparsley
7- , atomicparsleySupport ? true
8- , ffmpegSupport ? true
9- , rtmpSupport ? true
10- , withAlias ? false # Provides bin/youtube-dl for backcompat
11- , update-python-libraries
1+ {
2+ lib ,
3+ python3Packages ,
4+ fetchPypi ,
5+ ffmpeg-headless ,
6+ rtmpdump ,
7+ atomicparsley ,
8+ atomicparsleySupport ? true ,
9+ ffmpegSupport ? true ,
10+ rtmpSupport ? true ,
11+ withAlias ? false , # Provides bin/youtube-dl for backcompat
12+ update-python-libraries ,
1213} :
1314
1415python3Packages . buildPythonApplication rec {
1516 pname = "yt-dlp" ;
1617 # The websites yt-dlp deals with are a very moving target. That means that
1718 # downloads break constantly. Because of that, updates should always be backported
1819 # to the latest stable release.
19- version = "2024.8.6 " ;
20+ version = "2024.9.27 " ;
2021 pyproject = true ;
2122
2223 src = fetchPypi {
2324 inherit version ;
2425 pname = "yt_dlp" ;
25- hash = "sha256-6FUfJryL9nuZwSNzzIftIHNDbDQ35TKQh40PS0ux9mM =" ;
26+ hash = "sha256-hmBVQuF+LiOtIxRbY37DCBM3YqFaXe2sSuULeXMjcCY =" ;
2627 } ;
2728
2829 build-system = with python3Packages ; [
@@ -36,23 +37,28 @@ python3Packages.buildPythonApplication rec {
3637 mutagen
3738 pycryptodomex
3839 requests
39- secretstorage # "optional", as in not in requirements.txt, needed for `--cookies-from-browser`
40+ secretstorage # "optional", as in not in requirements.txt, needed for `--cookies-from-browser`
4041 urllib3
4142 websockets
4243 ] ;
4344
45+ pythonRelaxDeps = [ "websockets" ] ;
46+
4447 # Ensure these utilities are available in $PATH:
4548 # - ffmpeg: post-processing & transcoding support
4649 # - rtmpdump: download files over RTMP
4750 # - atomicparsley: embedding thumbnails
4851 makeWrapperArgs =
4952 let
50- packagesToBinPath = [ ]
53+ packagesToBinPath =
54+ [ ]
5155 ++ lib . optional atomicparsleySupport atomicparsley
5256 ++ lib . optional ffmpegSupport ffmpeg-headless
5357 ++ lib . optional rtmpSupport rtmpdump ;
54- in lib . optionals ( packagesToBinPath != [ ] )
55- [ ''--prefix PATH : "${ lib . makeBinPath packagesToBinPath } "'' ] ;
58+ in
59+ lib . optionals ( packagesToBinPath != [ ] ) [
60+ ''--prefix PATH : "${ lib . makeBinPath packagesToBinPath } "''
61+ ] ;
5662
5763 setupPyBuildFlags = [
5864 "build_lazy_extractors"
@@ -65,7 +71,10 @@ python3Packages.buildPythonApplication rec {
6571 ln -s "$out/bin/yt-dlp" "$out/bin/youtube-dl"
6672 '' ;
6773
68- passthru . updateScript = [ update-python-libraries ( toString ./. ) ] ;
74+ passthru . updateScript = [
75+ update-python-libraries
76+ ( toString ./. )
77+ ] ;
6978
7079 meta = with lib ; {
7180 homepage = "https://github.com/yt-dlp/yt-dlp/" ;
@@ -80,7 +89,10 @@ python3Packages.buildPythonApplication rec {
8089 '' ;
8190 changelog = "https://github.com/yt-dlp/yt-dlp/releases/tag/${ version } " ;
8291 license = licenses . unlicense ;
83- maintainers = with maintainers ; [ mkg20001 SuperSandro2000 ] ;
92+ maintainers = with maintainers ; [
93+ mkg20001
94+ SuperSandro2000
95+ ] ;
8496 mainProgram = "yt-dlp" ;
8597 } ;
8698}
0 commit comments