summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD39
2 files changed, 46 insertions, 19 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 070ef8155449..d922e5eda17c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,22 +1,34 @@
pkgbase = yt-dlp-git
pkgdesc = A youtube-dl fork with additional features and fixes (git)
- pkgver = 2021.08.02.r38.gb6a35ad83
+ pkgver = 2024.03.10.r9.g86d2f4d
pkgrel = 1
url = https://github.com/yt-dlp/yt-dlp
arch = any
license = Unlicense
- makedepends = git
- makedepends = glibc
+ checkdepends = python-pytest
makedepends = pandoc
- makedepends = python-setuptools
+ makedepends = python-build
+ makedepends = python-hatchling
+ makedepends = python-installer
+ makedepends = git
depends = python
- depends = python-mutagen
- depends = python-pycryptodome
- depends = python-websockets
+ depends = python-certifi
+ depends = python-requests
+ depends = python-urllib3
optdepends = ffmpeg: for video post-processing
optdepends = rtmpdump: for rtmp streams support
optdepends = atomicparsley: for embedding thumbnails into m4a files
optdepends = aria2: for using aria2 as external downloader
+ optdepends = python-mutagen: for embedding thumbnail in certain formats
+ optdepends = python-pycryptodome: for decrypting AES-128 HLS streams and various other data
+ optdepends = python-pycryptodomex: for decrypting AES-128 HLS streams and various other data
+ optdepends = python-websockets: for downloading over websocket
+ optdepends = python-brotli: brotli content encoding support
+ optdepends = python-brotlicffi: brotli content encoding support
+ optdepends = python-xattr: for writing xattr metadata
+ optdepends = python-pyxattr: for writing xattr metadata (alternative option)
+ optdepends = phantomjs: for extractors with javascript code
+ optdepends = python-secretstorage: For -cookies-from-browser to access the GNOME keyring while decrypting cookies of Chromium-based browsers
provides = yt-dlp
conflicts = yt-dlp
source = git+https://github.com/yt-dlp/yt-dlp.git
diff --git a/PKGBUILD b/PKGBUILD
index c5daa96c797f..face84187590 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,41 +1,56 @@
# Maintainer: katt <magunasu.b97@gmail.com>
pkgname=yt-dlp-git
-pkgver=2021.08.02.r38.gb6a35ad83
+pkgver=2024.03.10.r9.g86d2f4d
pkgrel=1
pkgdesc='A youtube-dl fork with additional features and fixes (git)'
arch=(any)
url=https://github.com/yt-dlp/yt-dlp
license=(Unlicense)
-depends=(python python-mutagen python-pycryptodome python-websockets)
-makedepends=(git glibc pandoc python-setuptools)
+depends=(python python-certifi python-requests python-urllib3)
+makedepends=(pandoc python-build python-hatchling python-installer git)
+checkdepends=(python-pytest)
optdepends=('ffmpeg: for video post-processing'
'rtmpdump: for rtmp streams support'
'atomicparsley: for embedding thumbnails into m4a files'
- 'aria2: for using aria2 as external downloader')
+ 'aria2: for using aria2 as external downloader'
+ 'python-mutagen: for embedding thumbnail in certain formats'
+ 'python-pycryptodome: for decrypting AES-128 HLS streams and various other data'
+ 'python-pycryptodomex: for decrypting AES-128 HLS streams and various other data'
+ 'python-websockets: for downloading over websocket'
+ 'python-brotli: brotli content encoding support'
+ 'python-brotlicffi: brotli content encoding support'
+ 'python-xattr: for writing xattr metadata'
+ 'python-pyxattr: for writing xattr metadata (alternative option)'
+ 'phantomjs: for extractors with javascript code'
+ 'python-secretstorage: For -cookies-from-browser to access the GNOME keyring while decrypting cookies of Chromium-based browsers')
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=(git+"${url}".git)
sha256sums=('SKIP')
pkgver() {
- git -C "${pkgname%-git}" describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
+ git -C "${pkgname%-git}" describe --long --tags --abbrev=7 --exclude=nightly | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
- cd "${pkgname%-git}"
- sed -i 's|etc/bash_completion.d|share/bash-completion/completions|' setup.py
- sed -i 's|etc/fish/completions|share/fish/vendor_completions.d|' setup.py
+ # Clean out old wheels etc.
+ git -C "${pkgname%-git}" clean -dfx
}
build() {
cd "${pkgname%-git}"
- make PREFIX="${pkgdir}/usr" README.txt yt-dlp.1 completion-bash completion-zsh completion-fish
- export PYTHONHASHSEED=0
- python setup.py build
+ make pypi-files
+ python devscripts/make_lazy_extractors.py
+ python -m build --wheel --no-isolation
+}
+
+check() {
+ cd "${pkgname%-git}"
+ pytest -v -m "not download"
}
package() {
cd "${pkgname%-git}"
- python setup.py install --root="${pkgdir}/" --optimize=1 --skip-build
+ python -m installer --destdir="$pkgdir" dist/*.whl
}