Use local variables in bash functions
[termux-packages] / packages / mpv / build.sh
CommitLineData
e03d7675
FF
1TERMUX_PKG_HOMEPAGE=https://mpv.io/
2TERMUX_PKG_DESCRIPTION="Command-line media player"
cfa043f9 3TERMUX_PKG_VERSION=0.24.0
8ad708ec 4TERMUX_PKG_REVISION=4
e03d7675 5TERMUX_PKG_SRCURL=https://github.com/mpv-player/mpv/archive/v${TERMUX_PKG_VERSION}.tar.gz
cfa043f9 6TERMUX_PKG_SHA256=a41854fa0ac35b9c309ad692aaee67c8d4495c3546f11cb4cdd0a124195d3f15
e03d7675 7TERMUX_PKG_FOLDERNAME=mpv-${TERMUX_PKG_VERSION}
f53cdcbe 8TERMUX_PKG_DEPENDS="ffmpeg, openal-soft"
744d3c50 9TERMUX_PKG_RM_AFTER_INSTALL="share/icons share/applications"
e03d7675
FF
10
11termux_step_make_install () {
12 cd $TERMUX_PKG_SRCDIR
13
e03d7675
FF
14 ./bootstrap.py
15
16 ./waf configure \
17 --prefix=$TERMUX_PREFIX \
18 --disable-gl \
19 --disable-jpeg \
20 --disable-lcms2 \
8d90dd47 21 --disable-libass \
f53cdcbe 22 --disable-lua \
c864741f 23 --disable-pulse \
b4bcd8ff 24 --enable-openal \
cfa043f9 25 --disable-caca \
4493b981 26 --disable-alsa \
cfa043f9 27 --disable-x11
e03d7675
FF
28
29 ./waf install
a64fd6b1 30
cc076adb
FF
31 # Use opensles audio out be default:
32 mkdir -p $TERMUX_PREFIX/etc/mpv
33 echo "ao=opensles" > $TERMUX_PREFIX/etc/mpv/mpv.conf
34
a64fd6b1 35 # Try to work around OpenSL ES library clashes:
7ce56385
FF
36 # Linking against libOpenSLES causes indirect linkage against
37 # libskia.so, which links against the platform libjpeg.so and
38 # libpng.so, which are not compatible with the Termux ones.
39 #
40 # On Android N also liblzma seems to conflict.
a64fd6b1
FF
41 mkdir -p $TERMUX_PREFIX/libexec
42 mv $TERMUX_PREFIX/bin/mpv $TERMUX_PREFIX/libexec
43
44 local SYSTEM_LIBFOLDER=lib64
45 if [ $TERMUX_ARCH_BITS = 32 ]; then SYSTEM_LIBFOLDER=lib; fi
6635b731 46
a64fd6b1 47 echo "#!/bin/sh" > $TERMUX_PREFIX/bin/mpv
6635b731
FF
48
49 # Work around issues on devices having ffmpeg libraries
50 # in a system vendor dir, reported by live_the_dream on #termux:
51 local FFMPEG_LIBS="" lib
52 for lib in avcodec avfilter avformat avutil postproc swresample swscale; do
53 if [ -n "$FFMPEG_LIBS" ]; then FFMPEG_LIBS+=":"; fi
54 FFMPEG_LIBS+="$TERMUX_PREFIX/lib/lib${lib}.so"
55 done
2b887b1c 56 echo "export LD_PRELOAD=$FFMPEG_LIBS" >> $TERMUX_PREFIX/bin/mpv
6635b731 57
8c7007fa 58 # /system/vendor/lib(64) needed for libqc-opt.so on
6635b731 59 # a xperia z5 c, reported by BrainDamage on #termux:
8c7007fa 60 echo "LD_LIBRARY_PATH=/system/$SYSTEM_LIBFOLDER:/system/vendor/$SYSTEM_LIBFOLDER:$TERMUX_PREFIX/lib $TERMUX_PREFIX/libexec/mpv \"\$@\"" >> $TERMUX_PREFIX/bin/mpv
6635b731 61
a64fd6b1 62 chmod +x $TERMUX_PREFIX/bin/mpv
e03d7675 63}