autossh: Update from 1.4e to 1.4f
[termux-packages] / packages / ffmpeg / build.sh
index e16898d..f92d4c2 100644 (file)
@@ -1,40 +1,68 @@
-TERMUX_PKG_HOMEPAGE=https://www.ffmpeg.org/
+TERMUX_PKG_HOMEPAGE=https://ffmpeg.org
 TERMUX_PKG_DESCRIPTION="Tools and libraries to manipulate a wide range of multimedia formats and protocols"
-TERMUX_PKG_VERSION=3.0
-TERMUX_PKG_SRCURL=https://github.com/FFmpeg/FFmpeg/releases/download/n${TERMUX_PKG_VERSION}/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz
-TERMUX_PKG_FOLDERNAME=ffmpeg-$TERMUX_PKG_VERSION
+# NOTE: mpv has to be rebuilt and version bumped after updating ffmpeg.
+TERMUX_PKG_VERSION=3.4.2
+TERMUX_PKG_SHA256=2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740
+TERMUX_PKG_SRCURL=https://www.ffmpeg.org/releases/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz
 # libbz2 is used by matroska decoder:
-TERMUX_PKG_DEPENDS="openssl, libbz2, libx264, xvidcore, libvorbis, libfaac, liblzma"
+# libvpx is the VP8 & VP9 video encoder for WebM, see
+# https://trac.ffmpeg.org/wiki/Encode/VP8 and https://trac.ffmpeg.org/wiki/Encode/VP9
+TERMUX_PKG_DEPENDS="libbz2, libsoxr, libx264, libx265, xvidcore, libvorbis, libmp3lame, libopus, libvpx, libgnutls, libandroid-glob"
 TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/ffmpeg/examples"
 TERMUX_PKG_CONFLICTS="libav"
 
 termux_step_configure () {
        cd $TERMUX_PKG_BUILDDIR
+
+       export ASFLAGS="-no-integrated-as"
+
+       local _EXTRA_CONFIGURE_FLAGS=""
        if [ $TERMUX_ARCH = "arm" ]; then
                _ARCH="armeabi-v7a"
+               _EXTRA_CONFIGURE_FLAGS="--enable-neon"
        elif [ $TERMUX_ARCH = "i686" ]; then
                _ARCH="x86"
-       else
+               # Specify --disable-asm to prevent text relocations on i686,
+               # see https://trac.ffmpeg.org/ticket/4928
+               _EXTRA_CONFIGURE_FLAGS="--disable-asm"
+       elif [ $TERMUX_ARCH = "x86_64" ]; then
+               _ARCH="x86_64"
+       elif [ $TERMUX_ARCH = "aarch64" ]; then
                _ARCH=$TERMUX_ARCH
+               _EXTRA_CONFIGURE_FLAGS="--enable-neon"
+       else
+               termux_error_exit "Unsupported arch: $TERMUX_ARCH"
        fi
-        # --disable-asm to prevent text relocations
+
+       # --disable-lzma to avoid problem with shared library clashes, see
+       # https://github.com/termux/termux-packages/issues/511
+       # Only used for LZMA compression support for tiff decoder.
        $TERMUX_PKG_SRCDIR/configure \
                --arch=${_ARCH} \
+               --as=$AS \
+               --cc=$CC \
+               --cxx=$CXX \
                --cross-prefix=${TERMUX_HOST_PLATFORM}- \
-                --disable-asm \
+               --disable-avdevice \
                --disable-ffserver \
                --disable-static \
-                --disable-symver \
+               --disable-symver \
+               --disable-lzma \
                --enable-cross-compile \
+               --enable-gnutls \
                --enable-gpl \
-               --enable-libfaac \
+               --enable-libmp3lame \
                --enable-libvorbis \
+               --enable-libopus \
                --enable-libx264 \
+               --enable-libx265 \
                --enable-libxvid \
-               --enable-nonfree \
-               --enable-openssl \
+               --enable-libvpx \
                --enable-shared \
+               --enable-libsoxr \
                --prefix=$TERMUX_PREFIX \
-               --target-os=linux
+               --target-os=android \
+               --extra-libs="-landroid-glob" \
+               $_EXTRA_CONFIGURE_FLAGS
 }