Drommer

yt-dlp-git

Nov 1st, 2025 (edited)
1,294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.74 KB | Software | 0 0
  1. # Maintainer: Antonio Rojas <[email protected]>
  2. # Contributor: Stefan Tatschner <[email protected]>
  3. # Contributor: katt <[email protected]>
  4.  
  5. pkgname=yt-dlp-git
  6. pkgver=2025.10.22.r14.g79f9232
  7. pkgrel=1
  8. pkgdesc='A feature-rich command-line audio/video downloader (Development version)'
  9. arch=('any')
  10. url="https://github.com/yt-dlp/yt-dlp"
  11. license=('Unlicense')
  12. depends=('python' 'python-certifi' 'python-requests' 'python-urllib3')
  13. makedepends=('git' 'python-build' 'python-hatch-vcs' 'python-hatchling' 'python-installer')
  14. optdepends=('aria2: for using aria2 as external downloader'
  15.             'deno: for solving JavaScript challenges using an external runtime (recommended)'
  16.             'ffmpeg: for video post-processing'
  17.             'rtmpdump: for rtmp streams support'
  18.             'atomicparsley: for embedding thumbnails into m4a files'
  19.             'bun: for solving JavaScript challenges using an external runtime'
  20.             'nodejs: for solving JavaScript challenges using an external runtime'
  21.             'python-mutagen: for embedding thumbnail in certain formats'
  22.             'python-pycryptodome: for decrypting AES-128 HLS streams and various other data'
  23.             'python-pycryptodomex: for decrypting AES-128 HLS streams and various other data'
  24.             'python-websockets: for downloading over websocket'
  25.             'python-brotli: brotli content encoding support'
  26.             'python-brotlicffi: brotli content encoding support'
  27.             'python-xattr: for writing xattr metadata'
  28.             'python-pyxattr: for writing xattr metadata (alternative option)'
  29.             'phantomjs: for extractors with javascript code'
  30.             'python-secretstorage: For -cookies-from-browser to access the GNOME keyring while decrypting cookies of Chromium-based browsers'
  31.             'python-curl-cffi: for impersonating browsers'
  32.             'quickjs-ng: for solving JavaScript challenges using an external runtime')
  33. provides=("${pkgname%-git}")
  34. conflicts=("${pkgname%-git}")
  35. source=("git+https://github.com/yt-dlp/yt-dlp.git"
  36.         "git+https://github.com/yt-dlp/ejs.git")
  37. sha256sums=('SKIP'
  38.             'SKIP')
  39.  
  40. pkgver() {
  41.     git -C "${pkgname%-git}" describe --long --tags --abbrev=7 --exclude=nightly | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
  42. }
  43.  
  44. prepare() {
  45.     # Clean out old wheels etc.
  46.     git -C "${srcdir}/${pkgname%-git}" clean -dfx
  47.     git -C "${srcdir}/ejs" clean -dfx
  48. }
  49.  
  50. build() {
  51.     cd "${srcdir}/${pkgname%-git}"
  52.     python -m build --wheel --no-isolation
  53.     cd "${srcdir}/ejs"
  54.     python -m build --wheel --no-isolation
  55. }
  56.  
  57. package() {
  58.     cd "${srcdir}/${pkgname%-git}"
  59.     python -m installer --destdir="$pkgdir" dist/*.whl
  60.     cd "${srcdir}/ejs"
  61.     python -m installer --destdir="$pkgdir" dist/*.whl
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment