autossh: Update from 1.4e to 1.4f
[termux-packages] / packages / mpv / build.sh
index f0c7a34..9d29fca 100644 (file)
@@ -1,23 +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.20.0
+TERMUX_PKG_VERSION=0.27.2
+TERMUX_PKG_SHA256=2ad104d83fd3b2b9457716615acad57e479fd1537b8fc5e37bfe9065359b50be
 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 \
@@ -26,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
 }