# Maintainer: Karl-Felix Glatzer <karl.glatzer@gmx.de>
# Contributor: Martchus <martchus@gmx.net>

# This version includes the programs and supports libfdk-aac in contrast to the
# version found in the AUR.

_name=ffmpeg
pkgname=mingw-w64-ffmpeg
pkgver=4.0
pkgrel=1
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video (mingw-w64)'
arch=('any')
url='https://ffmpeg.org/'
license=('GPL3' 'custom:libfdk-aac')
depends=('mingw-w64-crt' 'mingw-w64-bzip2' 'mingw-w64-fontconfig' 'mingw-w64-fribidi' 'mingw-w64-gmp' 'mingw-w64-gnutls'
         'mingw-w64-gsm' 'mingw-w64-lame' 'mingw-w64-libass' 'mingw-w64-dcadec' 'mingw-w64-libbluray' 'mingw-w64-libmodplug'
         'mingw-w64-libsoxr' 'mingw-w64-libtheora' 'mingw-w64-vid.stab' 'mingw-w64-libwebp' 'mingw-w64-libvorbis'
         'mingw-w64-libvpx' 'mingw-w64-libxml2' 'mingw-w64-opencore-amr' 'mingw-w64-openjpeg2' 'mingw-w64-opus' 'mingw-w64-libssh'
         'mingw-w64-schroedinger' 'mingw-w64-libfdk-aac' 'mingw-w64-sdl2' 'mingw-w64-speex' 'mingw-w64-x264' 'mingw-w64-xvidcore'
         'mingw-w64-zlib' 'mingw-w64-x265')
options=(!strip !buildflags staticlibs)
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'yasm')
source=(https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz{,.asc})
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') # ffmpeg-devel
sha256sums=('ed945daf40b124e77a685893cc025d086f638bc703183460aff49508edb3a43f'
            'SKIP')
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'

build() {
  for _arch in ${_architectures}; do
    mkdir -p "${srcdir}"/build-${_arch} && cd "${srcdir}"/build-${_arch}
    "${srcdir}"/${_name}-${pkgver}/configure \
        --prefix="/usr/${_arch}" \
        --enable-cross-compile \
        --cross-prefix="${_arch}-" \
        --target-os=mingw32 \
        --arch=${_arch%%-*} \
        --disable-debug \
        --enable-static \
        --disable-stripping \
        --enable-avisynth \
        --enable-fontconfig \
        --enable-gmp \
        --enable-gnutls \
        --enable-gpl \
        --enable-libass \
        --enable-libbluray \
        --enable-libfreetype \
        --enable-libfribidi \
        --enable-libgsm \
        --enable-libmodplug \
        --enable-libmp3lame \
        --enable-libopencore_amrnb \
        --enable-libopencore_amrwb \
        --enable-libopenjpeg \
        --enable-libopus \
        --enable-libsoxr \
        --enable-libspeex \
        --enable-libssh \
        --enable-libtheora \
        --enable-libvidstab \
        --enable-libvorbis \
        --enable-libvpx \
        --enable-libwebp \
        --enable-libxml2 \
        --enable-libx264 \
        --enable-libx265 \
        --enable-libxvid \
        --enable-zlib \
        --enable-shared \
        --enable-version3 \
        --enable-libfdk_aac \
        --enable-nonfree \
        --disable-doc \
        --x86asmexe=yasm
    make
  done
}

package() {
  for _arch in ${_architectures}; do
    cd "${srcdir}"/build-${_arch}
    make DESTDIR="$pkgdir" install
    ${_arch}-strip --strip-all "${pkgdir}"/usr/${_arch}/bin/*.exe
    ${_arch}-strip --strip-unneeded "${pkgdir}"/usr/${_arch}/bin/*.dll
    ${_arch}-strip -g "${pkgdir}"/usr/${_arch}/lib/*.a
    mv "${pkgdir}"/usr/${_arch}/bin/*.lib "${pkgdir}"/usr/${_arch}/lib/
  done
}

# vim:set ts=2 sw=2 et:
