-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
addpkg(main/yt-dlp-ejs): 0.3.1 #27211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
checked the uploaded artifact and the files seem to be in the wrong place |
|
Oh, yeah sorry, I forgot about that, termux_step_make_install() {
local _whl="yt_dlp_ejs-$TERMUX_PKG_VERSION-py3-none-any.whl"
pip install --no-deps --prefix="$TERMUX_PREFIX" "$TERMUX_PKG_SRCDIR/dist/$_whl"
}that will fix that. |
|
I think, as well, that this package can be |
|
the path looks correct now :) |
|
squashed commits |
TomJo2000
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably be added as a TERMUX_PKG_DEPENDS (hard dependency)
or TERMUX_PKG_RECOMMENDS (soft dependency, installed with the package by default)
to python-yt-dlp.
If I understand this correctly only the yt-dlp-ejs part of yt-dlp depends on a JS runtime (e.g. deno | node | node-lts)?
If that is the case it should be sufficient to make this package depend on one of those.
yt-dlp does work without ejs but the number of formats you can download is limited, and if you want to download non youtube videos ejs is not necessary
yes, archlinux also did it this way https://gitlab.archlinux.org/archlinux/packaging/packages/yt-dlp/-/commit/944dbe853ef51e04224a1b54c2ef9eb0cd015cf0 |
|
It's not much of a |
|
test-buildorder-random doesnt seem to fallback to nodejs, should we just use nodejs on every architecture? |
ohers said it should be optional here but i'm happy to add it as hard dependency as i originally planned |
|
Well deno or node should be a depends for ejs. Does that make sense? |
yup 👍 |
now there are no dependencies for ejs and for
|
|
I still think the dependency chain should be: |
Either way can probably work, but there is some conflicting information and confusion about this between AUR <-> Arch Linux <-> upstream yt-dlp documentation, so I suggest waiting a while to see what happens in Arch Linux and other distros and inspecting the situation then to compare multiple distros with each other. |
|
Can I get like 6-10 hours of sleep before we do anything on this PR? |
This comment was marked as resolved.
This comment was marked as resolved.
We currently think that this block Does that look right to you? Other than that, |
|
I see. I checked the wrong PR🤦♂️ and your linked changes look good. Sorry for the mistake. |
|
It is, when I take a look, likely that we will need to patch this absolute path inside yt-dlp to change |
|
Okay... I now have the mental bandwidth for looking at this. To recap:
I've just reconfirmed the dependency chain in Arch. |
We tested using this way of depending in |
|
Excerpt from # yt-dlp
Depends On : python python-certifi python-requests python-urllib3
Optional Deps : ffmpeg: for video post-processing [installed]
rtmpdump: for rtmp streams support
atomicparsley: for embedding thumbnails into m4a files
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 [installed]
yt-dlp-ejs: non-deprecated YouTube support [installed]
# [...]
# yt-dlp-ejs
Depends On : deno python
Optional Deps : None
Required By : None
Optional For : yt-dlp |
|
Yes, Arch Linux is a 64-bit-only operating system. |
|
If we translate that to Termux that should be possible to express as: # yt-dlp build script
TERMUX_PKG_RECOMMENDS='ffmpeg, yt-dlp-ejs'# yt-dlp-ejs build script
TERMUX_PKG_DEPENDS='nodejs | nodejs-lts, python'
if (( TERMUX_ARCH_BITS == 64 )); then
TERMUX_PKG_DEPENDS='deno | nodejs | nodejs-lts, python'
fi
# Install config file
if [[ "$TERMUX_ARCH_BITS" == "32" ]]; then
mkdir -p "$TERMUX_PREFIX/etc/yt-dlp"
cat <<- EOF > "$TERMUX_PREFIX/etc/yt-dlp/yt-dlp.conf"
--js-runtimes node
EOF
fi |
TomJo2000
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems to satisfy the buildorder check, so this should be good for merge after squashing.
Co-authored-by: Robert Kirkman <rkirkman@termux.dev>
ejs is a newly introduced dependency for yt-dlp
#26714
this currently skips 32bit systems because they dont have deno support but npm should also work fine for building ejs