From 79f1d1e3ef53dcbddc90c2ca64ffefad3317c07f Mon Sep 17 00:00:00 2001 From: Alexpux Date: Sun, 12 Jan 2014 13:27:53 +0400 Subject: [PATCH] Add ffmpeg package. --- mingw-w64-ffmpeg/PKGBUILD | 99 +++++++++++++++++++ mingw-w64-ffmpeg/ffmpeg-2.1.1-freetype2.patch | 72 ++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 mingw-w64-ffmpeg/PKGBUILD create mode 100644 mingw-w64-ffmpeg/ffmpeg-2.1.1-freetype2.patch diff --git a/mingw-w64-ffmpeg/PKGBUILD b/mingw-w64-ffmpeg/PKGBUILD new file mode 100644 index 0000000000..2cef442365 --- /dev/null +++ b/mingw-w64-ffmpeg/PKGBUILD @@ -0,0 +1,99 @@ +# Maintainer: Alexey Pavlov + +_realname=ffmpeg +_mingw_suff=mingw-w64-${CARCH} +pkgname=("${_mingw_suff}-${_realname}") +pkgver=2.1.1 +pkgrel=1 +pkgdesc="Complete and free Internet live audio and video broadcasting solution (mingw-w64)" +arch=('any') +url="http://ffmpeg.org/" +groups=("${_mingw_suff}") +license=('GPL') +options=('staticlibs' 'strip') +depends=( + "${_mingw_suff}-bzip2" + "${_mingw_suff}-fontconfig" + "${_mingw_suff}-gnutls" + "${_mingw_suff}-gsm" + "${_mingw_suff}-lame" + "${_mingw_suff}-libass" + "${_mingw_suff}-libbluray" + "${_mingw_suff}-libmodplug" + "${_mingw_suff}-libtheora" + "${_mingw_suff}-libvorbis" + "${_mingw_suff}-libvpx" + "${_mingw_suff}-opencore-amr" + "${_mingw_suff}-openjpeg" + "${_mingw_suff}-opus" + "${_mingw_suff}-rtmpdump" + "${_mingw_suff}-schroedinger" + "${_mingw_suff}-SDL" + "${_mingw_suff}-speex" + "${_mingw_suff}-x264" + "${_mingw_suff}-xvidcore" + "${_mingw_suff}-zlib" +) +makedepends=("yasm" "${_mingw_suff}-gcc" "${_mingw_suff}-pkg-config") +source=(http://ffmpeg.org/releases/$_realname-$pkgver.tar.bz2 + ffmpeg-2.1.1-freetype2.patch) +md5sums=('2719ab2b3311ac3775b9cdeb66c54849' + '71f67186f378bfbc2413f5433f21c32a') + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" + patch -p1 -i $srcdir/ffmpeg-2.1.1-freetype2.patch +} + +build() { + mkdir -p "${srcdir}/build-${MINGW_CHOST}" + cd "${srcdir}/build-${MINGW_CHOST}" + + ../${_realname}-${pkgver}/configure \ + --prefix=${MINGW_PREFIX} \ + --disable-debug \ + --disable-static \ + --enable-avresample \ + --enable-dxva2 \ + --enable-fontconfig \ + --enable-gnutls \ + --enable-gpl \ + --enable-libass \ + --enable-libbluray \ + --enable-libfreetype \ + --enable-libgsm \ + --enable-libmodplug \ + --enable-libmp3lame \ + --enable-libopencore_amrnb \ + --enable-libopencore_amrwb \ + --enable-libopenjpeg \ + --enable-libopus \ + --enable-librtmp \ + --enable-libschroedinger \ + --enable-libspeex \ + --enable-libtheora \ + --enable-libvorbis \ + --enable-libx264 \ + --enable-libxvid \ + --enable-libvpx \ + --enable-pic \ + --enable-postproc \ + --enable-runtime-cpudetect \ + --enable-shared \ + --enable-swresample \ + --enable-version3 \ + --enable-zlib \ + --disable-doc + make +} + +check() { + cd "${srcdir}/build-${MINGW_CHOST}" + make check +} + +package() { + cd "${srcdir}/build-${MINGW_CHOST}" + make DESTDIR="${pkgdir}" install + mv "${pkgdir}${MINGW_PREFIX}"/bin/*.lib "${pkgdir}${MINGW_PREFIX}"/lib/ +} diff --git a/mingw-w64-ffmpeg/ffmpeg-2.1.1-freetype2.patch b/mingw-w64-ffmpeg/ffmpeg-2.1.1-freetype2.patch new file mode 100644 index 0000000000..bce6642977 --- /dev/null +++ b/mingw-w64-ffmpeg/ffmpeg-2.1.1-freetype2.patch @@ -0,0 +1,72 @@ +From cea5812fa723c08b89d929eeba73462e05de2973 Mon Sep 17 00:00:00 2001 +From: Alexander Strasser +Date: Fri, 6 Dec 2013 17:20:26 +0100 +Subject: [PATCH] configure: Special case libfreetype test + +Include the freetype header, in-directly through a macro, like it +is done in the drawtext filter. Do not break if the header is moved. + +Unfortunately the drawtext filter included the file where the include +macros are defined in a wrong way. This is not needed and breaks the +build. Remove that #include line too. + +Signed-off-by: Alexander Strasser +--- + configure | 22 +++++++++++++++++++++- + libavfilter/vf_drawtext.c | 1 - + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 205cfc9..0b00684 100755 +--- a/configure ++++ b/configure +@@ -1128,6 +1128,26 @@ require_pkg_config(){ + add_extralibs $(get_safe ${pkg}_libs) + } + ++require_libfreetype(){ ++ log require_libfreetype "$@" ++ pkg="freetype2" ++ check_cmd $pkg_config --exists --print-errors $pkg \ ++ || die "ERROR: $pkg not found" ++ pkg_cflags=$($pkg_config --cflags $pkg) ++ pkg_libs=$($pkg_config --libs $pkg) ++ { ++ echo "#include " ++ echo "#include FT_FREETYPE_H" ++ echo "long check_func(void) { return (long) FT_Init_FreeType; }" ++ echo "int main(void) { return 0; }" ++ } | check_ld "cc" $pkg_cflags $pkg_libs \ ++ && set_safe ${pkg}_cflags $pkg_cflags \ ++ && set_safe ${pkg}_libs $pkg_libs \ ++ || die "ERROR: $pkg not found" ++ add_cflags $(get_safe ${pkg}_cflags) ++ add_extralibs $(get_safe ${pkg}_libs) ++} ++ + hostcc_o(){ + eval printf '%s\\n' $HOSTCC_O + } +@@ -4322,7 +4342,7 @@ enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersio + enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac + flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" + enabled libflite && require2 libflite "flite/flite.h" flite_init $flite_libs +-enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType ++enabled libfreetype && require_libfreetype + enabled libgme && require libgme gme/gme.h gme_new_emu -lgme -lstdc++ + enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do + check_lib "${gsm_hdr}" gsm_create -lgsm && break; +diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c +index dde3b0a..91b8218 100644 +--- a/libavfilter/vf_drawtext.c ++++ b/libavfilter/vf_drawtext.c +@@ -48,7 +48,6 @@ + #include "video.h" + + #include +-#include + #include FT_FREETYPE_H + #include FT_GLYPH_H + #if CONFIG_FONTCONFIG +-- +1.7.10.4