Merge pull request #2937 from stefansaraev/ffmpeg-mess

ffmpeg mess
This commit is contained in:
Stefan Saraev 2014-02-17 22:04:55 +02:00
commit ad913ecbe2
9 changed files with 11473 additions and 21797 deletions

View File

@ -17,7 +17,7 @@
################################################################################ ################################################################################
PKG_NAME="xbmc-theme-Confluence" PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="13.alpha-73371a9" PKG_VERSION="13.alpha-18cebf0"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"

View File

@ -17,13 +17,13 @@
################################################################################ ################################################################################
PKG_NAME="xbmc" PKG_NAME="xbmc"
PKG_VERSION="13.alpha-73371a9" PKG_VERSION="13.alpha-18cebf0"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org" PKG_SITE="http://www.xbmc.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg" PKG_DEPENDS_TARGET="toolchain boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis"
PKG_PRIORITY="optional" PKG_PRIORITY="optional"
PKG_SECTION="mediacenter" PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc: XBMC Mediacenter" PKG_SHORTDESC="xbmc: XBMC Mediacenter"
@ -344,6 +344,7 @@ PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
$XBMC_AFP \ $XBMC_AFP \
--enable-libvorbisenc \ --enable-libvorbisenc \
--disable-libcap \ --disable-libcap \
--enable-ffmpeg-libvorbis \
$XBMC_LAMEENC \ $XBMC_LAMEENC \
$XBMC_DVDCSS \ $XBMC_DVDCSS \
--disable-mid \ --disable-mid \

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
diff -Naur xbmc-13.alpha-65ad3ae/configure.in xbmc-13.alpha-65ad3ae.patch/configure.in
--- xbmc-13.alpha-65ad3ae/configure.in 2014-02-03 16:36:26.000000000 +0100
+++ xbmc-13.alpha-65ad3ae.patch/configure.in 2014-02-05 02:38:47.233903531 +0100
@@ -622,24 +622,22 @@
use_sdl=no
use_x11=no
build_shared_lib=yes
- ;;
+ ;;
i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
ARCH="i486-linux"
if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then
use_arch="x86"
use_cpu="i686"
- else
- target_platform=target_linux
fi
+ use_static_ffmpeg=yes
;;
x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
ARCH="x86_64-linux"
if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then
use_arch="x86_64"
use_cpu="x86_64"
- else
- target_platform=target_linux
fi
+ use_static_ffmpeg=yes
;;
i386-*-freebsd*)
ARCH="x86-freebsd"
@@ -695,6 +693,7 @@
use_sdl=no
use_x11=no
use_wayland=no
+ use_static_ffmpeg=yes
;;
arm*-*linux-android*)
target_platform=target_android
@@ -872,9 +871,8 @@
fi
fi
fi
-if test "$target_platform" = "target_linux"; then
+if test "$use_static_ffmpeg" = "yes"; then
USE_STATIC_FFMPEG=1
- use_static_ffmpeg=yes
AC_DEFINE([USE_STATIC_FFMPEG], [1], [link ffmpeg statically])
# ffmpeg may depend on gnutls and vorbisenc, we add those libs at the end of linker
# command in order to resolve any missing symbols
@@ -2795,7 +2793,6 @@
LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \
./configure \
--extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
- --disable-static \
`if test "$use_debug" = "no"; then echo --disable-debug; fi` \
`if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \
`if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
@@ -2819,7 +2816,7 @@
--disable-ffserver \
--disable-ffmpeg \
--disable-crystalhd \
- `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static; else echo --enable-shared; fi` \
+ `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \
--disable-doc \
--enable-postproc \
--enable-gpl \

View File

@ -0,0 +1,11 @@
diff -Naur xbmc-13.alpha-fc8358e/configure.in xbmc-13.alpha-fc8358e.patch/configure.in
--- xbmc-13.alpha-fc8358e/configure.in 2014-02-02 04:41:09.000000000 +0100
+++ xbmc-13.alpha-fc8358e.patch/configure.in 2014-02-03 15:47:44.591058586 +0100
@@ -2794,6 +2794,7 @@
CXXFLAGS="" \
LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \
./configure \
+ --prefix="${prefix}" \
--extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
--disable-static \
`if test "$use_debug" = "no"; then echo --disable-debug; fi` \

View File

@ -1,59 +0,0 @@
diff -Naur xbmc-13.alpha-73371a9/configure.in xbmc-13.alpha-73371a9.patch/configure.in
--- xbmc-13.alpha-73371a9/configure.in 2014-02-12 00:22:27.303734884 +0100
+++ xbmc-13.alpha-73371a9.patch/configure.in 2014-02-12 00:27:15.390961157 +0100
@@ -1746,21 +1746,25 @@
AC_MSG_NOTICE("using ffmpeg: ${with_ffmpeg}")
export PKG_CONFIG_PATH="${with_ffmpeg}/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
-fi
-if test "$FFMPEG_FOUND" != "true"; then
+ # get the libdir for static linking
+ FFMPEG_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --variable=libdir libavcodec)
+ GNUTLS_ALL_LIBS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls)
+ VORBISENC_ALL_LIBS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc)
+
+ if test "$FFMPEG_FOUND" != "true"; then
+ PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
+ [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"],
+ [AC_MSG_ERROR("ffmpeg not found")])
+ fi
+else
PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
- [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"],
+ [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"; FFMPEG_FOUND="true"],
[AC_MSG_ERROR("ffmpeg not found")])
fi
-# get the libdir for static linking
-FFMPEG_LIBDIR=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --variable=libdir libavcodec)
-GNUTLS_ALL_LIBS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls)
-VORBISENC_ALL_LIBS=$(PKG_CONFIG_SYSROOT_DIR="" ${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc)
-
# TODO: make this conditional
-USE_STATIC_FFMPEG=1
+USE_STATIC_FFMPEG=1
echo "Checking for SWIG installation"
AC_PATH_PROG(SWIG_EXE, swig, "none")
diff -Naur xbmc-13.alpha-73371a9/Makefile.in xbmc-13.alpha-73371a9.patch/Makefile.in
--- xbmc-13.alpha-73371a9/Makefile.in 2014-02-11 22:25:40.000000000 +0100
+++ xbmc-13.alpha-73371a9.patch/Makefile.in 2014-02-12 00:21:17.374681719 +0100
@@ -488,17 +488,6 @@
DYNOBJSXBMC+= xbmc/freebsd/freebsd.a
endif
-ifeq (@USE_STATIC_FFMPEG@,1)
-DYNOBJSXBMC += @FFMPEG_LIBDIR@/libavcodec.a \
- @FFMPEG_LIBDIR@/libavfilter.a \
- @FFMPEG_LIBDIR@/libswresample.a \
- @FFMPEG_LIBDIR@/libavformat.a \
- @FFMPEG_LIBDIR@/libavutil.a \
- @FFMPEG_LIBDIR@/libpostproc.a \
- @FFMPEG_LIBDIR@/libswscale.a
-
-LIBS+= @GNUTLS_ALL_LIBS@ @VORBISENC_ALL_LIBS@
-endif
OBJSXBMC:=$(filter-out $(DYNOBJSXBMC), $(OBJSXBMC))
MAINOBJS=xbmc/xbmc.o

View File

@ -1,234 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="ffmpeg"
PKG_VERSION="fm-11086c5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="LGPL"
PKG_SITE="http://ffmpeg.org"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain yasm:host zlib bzip2 libvorbis gnutls"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video."
PKG_LONGDESC="FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
if [ "$VAAPI" = yes ]; then
# configure GPU drivers and dependencies:
get_graphicdrivers
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $LIBVA"
FFMPEG_VAAPI="--enable-vaapi"
else
FFMPEG_VAAPI="--disable-vaapi"
fi
if [ "$VDPAU" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
FFMPEG_VDPAU="--enable-vdpau"
else
FFMPEG_VDPAU="--disable-vdpau"
fi
if [ "$DEBUG" = yes ]; then
FFMPEG_DEBUG="--enable-debug --disable-stripping"
else
FFMPEG_DEBUG="--disable-debug --enable-stripping"
fi
if [ "$OPTIMIZATIONS" = size ]; then
FFMPEG_OPTIM="--disable-small"
else
FFMPEG_OPTIM="--disable-small"
fi
if [ "$CRYSTALHD" = yes ]; then
# disabled, we use XBMC's internal solution
FFMPEG_CRYSTALHD="--disable-crystalhd"
else
FFMPEG_CRYSTALHD="--disable-crystalhd"
fi
case "$TARGET_ARCH" in
arm)
FFMPEG_CPU=""
FFMPEG_TABLES="--enable-hardcoded-tables"
FFMPEG_PIC="--enable-pic"
;;
i?86)
FFMPEG_CPU=""
FFMPEG_TABLES="--disable-hardcoded-tables"
FFMPEG_PIC="--disable-pic"
;;
x86_64)
FFMPEG_CPU=""
FFMPEG_TABLES="--disable-hardcoded-tables"
FFMPEG_PIC="--enable-pic"
;;
esac
case "$TARGET_FPU" in
neon*)
FFMPEG_FPU="--enable-neon"
;;
vfp*)
FFMPEG_FPU=""
;;
*)
FFMPEG_FPU=""
;;
esac
pre_configure_target() {
cd $ROOT/$PKG_BUILD
rm -rf .$TARGET_NAME
export pkg_config="$ROOT/$TOOLCHAIN/bin/pkg-config"
# ffmpeg fails building with LTO support
strip_lto
# ffmpeg fails running with GOLD support
strip_gold
}
configure_target() {
./configure --prefix=/usr \
--cpu=$TARGET_CPU \
--arch=$TARGET_ARCH \
--enable-cross-compile \
--cross-prefix=$TARGET_PREFIX \
--sysroot=$SYSROOT_PREFIX \
--sysinclude="$SYSROOT_PREFIX/usr/include" \
--target-os="linux" \
--nm="$NM" \
--ar="$AR" \
--as="$CC" \
--cc="$CC" \
--ld="$CC" \
--host-cc="$HOST_CC" \
--host-cflags="$HOST_CFLAGS" \
--host-ldflags="$HOST_LDFLAGS" \
--host-libs="-lm" \
--extra-cflags="$CFLAGS" \
--extra-ldflags="$LDFLAGS" \
--extra-libs="" \
--extra-version="" \
--build-suffix="" \
--enable-static \
--disable-shared \
--enable-gpl \
--disable-version3 \
--disable-nonfree \
--enable-logging \
--disable-doc \
$FFMPEG_DEBUG \
$FFMPEG_PIC \
--enable-optimizations \
--disable-extra-warnings \
--disable-ffprobe \
--disable-ffplay \
--disable-ffserver \
--enable-ffmpeg \
--enable-avdevice \
--enable-avcodec \
--enable-avformat \
--enable-swscale \
--enable-postproc \
--enable-avfilter \
--disable-devices \
--enable-pthreads \
--disable-w32threads \
--disable-x11grab \
--enable-network \
--enable-gnutls \
--disable-gray \
--enable-swscale-alpha \
$FFMPEG_OPTIM \
--enable-dct \
--enable-fft \
--enable-mdct \
--enable-rdft \
$FFMPEG_CRYSTALHD \
$FFMPEG_VAAPI \
$FFMPEG_VDPAU \
--disable-dxva2 \
--enable-runtime-cpudetect \
$FFMPEG_TABLES \
--disable-memalign-hack \
--disable-encoders \
--enable-encoder=ac3 \
--enable-encoder=aac \
--enable-encoder=wmav2 \
--disable-decoder=mpeg_xvmc \
--enable-hwaccels \
--disable-muxers \
--enable-muxer=spdif \
--enable-muxer=adts \
--enable-muxer=asf \
--enable-muxer=ipod \
--enable-demuxers \
--enable-parsers \
--enable-bsfs \
--enable-protocol=http \
--disable-indevs \
--disable-outdevs \
--enable-filters \
--disable-avisynth \
--enable-bzlib \
--disable-frei0r \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \
--disable-libopencv \
--disable-libdc1394 \
--disable-libfaac \
--disable-libfreetype \
--disable-libgsm \
--disable-libmp3lame \
--disable-libnut \
--disable-libopenjpeg \
--disable-librtmp \
--disable-libschroedinger \
--disable-libspeex \
--disable-libtheora \
--disable-libvo-aacenc \
--disable-libvo-amrwbenc \
--enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis \
--disable-libvpx \
--disable-libx264 \
--disable-libxavs \
--disable-libxvid \
--enable-zlib \
--enable-asm \
--disable-altivec \
$FFMPEG_CPU \
$FFMPEG_FPU \
--disable-vis \
--enable-yasm \
--disable-sram \
--disable-symver
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin
rm -rf $INSTALL/usr/share/ffmpeg/examples
}

View File

@ -1,43 +0,0 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
echo "getting sources..."
if [ ! -d ffmpeg-fm.git ]; then
git clone git@github.com:FernetMenta/FFmpeg.git -b xbmc-master ffmpeg-fm.git
fi
cd ffmpeg-fm.git
git pull
GIT_REV=`git log -n1 --format=%h`
cd ..
echo "copying sources..."
rm -rf ffmpeg-fm-$GIT_REV
cp -R ffmpeg-fm.git ffmpeg-fm-$GIT_REV
echo "cleaning sources..."
rm -rf ffmpeg-fm-$GIT_REV/.git
echo "packing sources..."
tar cvJf ffmpeg-fm-$GIT_REV.tar.xz ffmpeg-fm-$GIT_REV
echo "remove temporary sourcedir..."
rm -rf ffmpeg-fm-$GIT_REV