termux-packages/packages/ffmpeg/build.sh

69 lines
2.2 KiB
Bash
Raw Normal View History

2016-11-30 18:47:03 +01:00
TERMUX_PKG_HOMEPAGE=https://ffmpeg.org
2015-12-10 12:57:56 +01:00
TERMUX_PKG_DESCRIPTION="Tools and libraries to manipulate a wide range of multimedia formats and protocols"
2016-11-30 18:47:03 +01:00
# NOTE: mpv has to be rebuilt and version bumped after updating ffmpeg.
2017-05-11 01:59:42 +02:00
TERMUX_PKG_VERSION=3.3
2016-05-03 13:45:59 +02:00
TERMUX_PKG_SRCURL=https://www.ffmpeg.org/releases/ffmpeg-${TERMUX_PKG_VERSION}.tar.xz
2017-05-11 01:59:42 +02:00
TERMUX_PKG_SHA256=599e7f7c017221c22011c4037b88bdcd1c47cd40c1e466838bc3c465f3e9569d
2016-03-08 01:34:01 +01:00
TERMUX_PKG_FOLDERNAME=ffmpeg-$TERMUX_PKG_VERSION
2015-12-10 12:57:56 +01:00
# libbz2 is used by matroska decoder:
2016-11-26 18:55:26 +01:00
# 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="openssl, libbz2, libx264, libx265, xvidcore, libvorbis, libmp3lame, libopus, libvpx"
2015-12-10 12:57:56 +01:00
TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/ffmpeg/examples"
2015-12-13 21:06:51 +01:00
TERMUX_PKG_CONFLICTS="libav"
2015-12-10 12:57:56 +01:00
termux_step_configure () {
cd $TERMUX_PKG_BUILDDIR
2017-02-12 23:12:29 +01:00
export ASFLAGS="-no-integrated-as"
local _EXTRA_CONFIGURE_FLAGS=""
2015-12-10 12:57:56 +01:00
if [ $TERMUX_ARCH = "arm" ]; then
_ARCH="armeabi-v7a"
_EXTRA_CONFIGURE_FLAGS="--enable-neon"
2015-12-10 12:57:56 +01:00
elif [ $TERMUX_ARCH = "i686" ]; then
_ARCH="x86"
# Specify --disable-asm to prevent text relocations on i686,
# see https://trac.ffmpeg.org/ticket/4928
_EXTRA_CONFIGURE_FLAGS="--disable-asm"
2016-06-17 22:50:36 +02:00
elif [ $TERMUX_ARCH = "x86_64" ]; then
_ARCH="x86_64"
elif [ $TERMUX_ARCH = "aarch64" ]; then
2015-12-10 12:57:56 +01:00
_ARCH=$TERMUX_ARCH
_EXTRA_CONFIGURE_FLAGS="--enable-neon"
else
termux_error_exit "Unsupported arch: $TERMUX_ARCH"
2015-12-10 12:57:56 +01:00
fi
# --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.
2015-12-10 12:57:56 +01:00
$TERMUX_PKG_SRCDIR/configure \
--arch=${_ARCH} \
2017-02-12 23:12:29 +01:00
--as=$AS \
--cc=$CC \
--cxx=$CXX \
2015-12-10 12:57:56 +01:00
--cross-prefix=${TERMUX_HOST_PLATFORM}- \
--disable-avdevice \
2015-12-10 12:57:56 +01:00
--disable-ffserver \
--disable-static \
--disable-symver \
--disable-lzma \
2015-12-10 12:57:56 +01:00
--enable-cross-compile \
--enable-gpl \
--enable-libmp3lame \
2015-12-10 12:57:56 +01:00
--enable-libvorbis \
--enable-libopus \
2015-12-10 12:57:56 +01:00
--enable-libx264 \
--enable-libx265 \
2015-12-10 12:57:56 +01:00
--enable-libxvid \
--enable-libvpx \
2015-12-10 12:57:56 +01:00
--enable-nonfree \
--enable-openssl \
--enable-shared \
--prefix=$TERMUX_PREFIX \
2016-08-27 18:15:14 +02:00
--target-os=android \
$_EXTRA_CONFIGURE_FLAGS
2015-12-10 12:57:56 +01:00
}