X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/cc076adbc750300a457496624b26f27a576f4487..b8d327eef33a67e667d1ac11533ec5fd8b932581:/packages/mpv/build.sh diff --git a/packages/mpv/build.sh b/packages/mpv/build.sh index 95216b52..1dc1b7bc 100644 --- a/packages/mpv/build.sh +++ b/packages/mpv/build.sh @@ -1,24 +1,18 @@ -# Does not work with libjpeg-turbo or libpng installed, since -# linking against libOpenSLES causes indirect linkage against -# libskia.so, which links against the platform libjpeg.so and -# libpng.so, which are not compatible with the Termux ones. -# -# On Android N also liblzma seems to conflict. TERMUX_PKG_HOMEPAGE=https://mpv.io/ TERMUX_PKG_DESCRIPTION="Command-line media player" -TERMUX_PKG_VERSION=0.19.0 -TERMUX_PKG_BUILD_REVISION=2 +TERMUX_PKG_VERSION=0.27.0 +TERMUX_PKG_SHA256=341d8bf18b75c1f78d5b681480b5b7f5c8b87d97a0d4f53a5648ede9c219a49c TERMUX_PKG_SRCURL=https://github.com/mpv-player/mpv/archive/v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_FOLDERNAME=mpv-${TERMUX_PKG_VERSION} -TERMUX_PKG_DEPENDS="ffmpeg, openal-soft" +TERMUX_PKG_DEPENDS="ffmpeg, openal-soft, libandroid-glob" +TERMUX_PKG_RM_AFTER_INSTALL="share/icons share/applications" + +termux_step_pre_configure() { + LDFLAGS+=" -landroid-glob" +} termux_step_make_install () { cd $TERMUX_PKG_SRCDIR - # Setup rst2man for man page generation of mpv.1: - pip install docutils - export RST2MAN=$HOME/.local/bin/rst2man.py - ./bootstrap.py ./waf configure \ @@ -27,21 +21,45 @@ termux_step_make_install () { --disable-jpeg \ --disable-lcms2 \ --disable-libass \ - --enable-openal + --disable-lua \ + --disable-pulse \ + --enable-openal \ + --disable-caca \ + --disable-alsa \ + --disable-x11 ./waf install # Use opensles audio out be default: mkdir -p $TERMUX_PREFIX/etc/mpv - echo "ao=opensles" > $TERMUX_PREFIX/etc/mpv/mpv.conf + cp $TERMUX_PKG_BUILDER_DIR/mpv.conf $TERMUX_PREFIX/etc/mpv/mpv.conf # Try to work around OpenSL ES library clashes: + # Linking against libOpenSLES causes indirect linkage against + # libskia.so, which links against the platform libjpeg.so and + # libpng.so, which are not compatible with the Termux ones. + # + # On Android N also liblzma seems to conflict. mkdir -p $TERMUX_PREFIX/libexec mv $TERMUX_PREFIX/bin/mpv $TERMUX_PREFIX/libexec local SYSTEM_LIBFOLDER=lib64 if [ $TERMUX_ARCH_BITS = 32 ]; then SYSTEM_LIBFOLDER=lib; fi + echo "#!/bin/sh" > $TERMUX_PREFIX/bin/mpv - echo "LD_LIBRARY_PATH=/system/$SYSTEM_LIBFOLDER:$TERMUX_PREFIX/lib $TERMUX_PREFIX/libexec/mpv \"\$@\"" >> $TERMUX_PREFIX/bin/mpv + + # Work around issues on devices having ffmpeg libraries + # in a system vendor dir, reported by live_the_dream on #termux: + local FFMPEG_LIBS="" lib + for lib in avcodec avfilter avformat avutil postproc swresample swscale; do + if [ -n "$FFMPEG_LIBS" ]; then FFMPEG_LIBS+=":"; fi + FFMPEG_LIBS+="$TERMUX_PREFIX/lib/lib${lib}.so" + done + echo "export LD_PRELOAD=$FFMPEG_LIBS" >> $TERMUX_PREFIX/bin/mpv + + # /system/vendor/lib(64) needed for libqc-opt.so on + # a xperia z5 c, reported by BrainDamage on #termux: + echo "LD_LIBRARY_PATH=/system/$SYSTEM_LIBFOLDER:/system/vendor/$SYSTEM_LIBFOLDER:$TERMUX_PREFIX/lib $TERMUX_PREFIX/libexec/mpv \"\$@\"" >> $TERMUX_PREFIX/bin/mpv + chmod +x $TERMUX_PREFIX/bin/mpv }