Merge pull request #7011 from lmorand/ffmpeg-git

Add package: ffmpeg-git
This commit is contained in:
Christoph Reiter
2020-09-21 20:13:00 +02:00
committed by GitHub

View File

@@ -0,0 +1,150 @@
# Maintainer: Luciano Morand <lmorand97@gmail.com>
# Based on ffmpeg PKGBUILD by:
# --Maintainer: Alexey Pavlov <Alexpux@gmail.com>
# --Contributer: Zach Bacon <11doctorwhocanada@gmail.com>
# --Contributer: wirx6 <wirx654@gmail.com>
_realname=ffmpeg
pkgbase="mingw-w64-${_realname}-git"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-git"
pkgver=4.4.dev.r1200.gc7867b6
pkgrel=1
pkgdesc="Complete and free Internet live audio and video broadcasting solution (mingw-w64)"
arch=('any')
url="https://ffmpeg.org/"
license=('GPL3')
options=('staticlibs' 'strip')
provides=("${MINGW_PACKAGE_PREFIX}-${_realname}")
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}")
depends=("${MINGW_PACKAGE_PREFIX}-aom"
"${MINGW_PACKAGE_PREFIX}-bzip2"
"${MINGW_PACKAGE_PREFIX}-celt"
"${MINGW_PACKAGE_PREFIX}-fontconfig"
"${MINGW_PACKAGE_PREFIX}-dav1d"
"${MINGW_PACKAGE_PREFIX}-gnutls"
"${MINGW_PACKAGE_PREFIX}-gsm"
"${MINGW_PACKAGE_PREFIX}-lame"
"${MINGW_PACKAGE_PREFIX}-libass"
"${MINGW_PACKAGE_PREFIX}-libbluray"
"${MINGW_PACKAGE_PREFIX}-libcaca"
"${MINGW_PACKAGE_PREFIX}-libmfx"
"${MINGW_PACKAGE_PREFIX}-libmodplug"
"${MINGW_PACKAGE_PREFIX}-libtheora"
"${MINGW_PACKAGE_PREFIX}-libvorbis"
"${MINGW_PACKAGE_PREFIX}-libvpx"
"${MINGW_PACKAGE_PREFIX}-libwebp"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-openal"
"${MINGW_PACKAGE_PREFIX}-opencore-amr"
"${MINGW_PACKAGE_PREFIX}-openjpeg2"
"${MINGW_PACKAGE_PREFIX}-opus"
"${MINGW_PACKAGE_PREFIX}-rtmpdump"
"${MINGW_PACKAGE_PREFIX}-SDL2"
"${MINGW_PACKAGE_PREFIX}-speex"
"${MINGW_PACKAGE_PREFIX}-srt"
"${MINGW_PACKAGE_PREFIX}-vulkan"
"${MINGW_PACKAGE_PREFIX}-wavpack"
"${MINGW_PACKAGE_PREFIX}-x264"
"${MINGW_PACKAGE_PREFIX}-x265"
"${MINGW_PACKAGE_PREFIX}-xvidcore"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-yasm"
git)
source=("${_realname}"::"git+https://github.com/FFmpeg/FFmpeg.git")
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/${_realname}"
git describe --long --abbrev=7 | sed 's/^n//;s/[^-]*-g/r&/;s/-/./g'
}
build() {
[[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"
echo $pkgver > "${srcdir}/${_realname}/VERSION"
# Fix using SRT headers
CFLAGS+=" -DWIN32"
CXXFLAGS+=" -DWIN32"
CC=${MINGW_PREFIX}/bin/gcc \
CXX=${MINGW_PREFIX}/bin/g++ \
../${_realname}/configure \
--prefix=${MINGW_PREFIX} \
--target-os=mingw32 \
--arch=${CARCH%%-*} \
--disable-debug \
--disable-static \
--enable-dxva2 \
--enable-d3d11va \
--enable-fontconfig \
--enable-gnutls \
--enable-gpl \
--enable-libaom \
--enable-libass \
--enable-libbluray \
--enable-libcaca \
--enable-libcelt \
--enable-libdav1d \
--enable-libfreetype \
--enable-libgsm \
--enable-libmfx \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopenjpeg \
--enable-libopus \
--enable-librtmp \
--enable-libspeex \
--enable-libsrt \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
--enable-libvpx \
--enable-libwebp \
--enable-libxml2 \
--enable-openal \
--enable-libwavpack \
--enable-pic \
--enable-postproc \
--enable-runtime-cpudetect \
--enable-shared \
--enable-static \
--enable-swresample \
--enable-version3 \
--enable-vulkan \
--enable-zlib \
--disable-doc ||
#--enable-pthreads
{
find . -name "config.log" -exec cat {} +
exit 1
}
make
}
check() {
cd "${srcdir}/build-${MINGW_CHOST}"
# workaround for conflict with SDL main(), use it if you have SDL installed
#make check CC_C="-c -Umain"
make check || true
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR="${pkgdir}" install
mv "${pkgdir}${MINGW_PREFIX}"/bin/*.lib "${pkgdir}${MINGW_PREFIX}"/lib/
#find ${pkgdir}${MINGW_PREFIX}/bin -type f -name "*.exe" -exec objcopy --subsystem console {} \;
rm -f ${pkgdir}${MINGW_PREFIX}/lib/*.def
rm -f ${pkgdir}${MINGW_PREFIX}/lib/*.lib
local PREFIX_DEPS=$(cygpath -am ${MINGW_PREFIX})
find ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig -name *.pc -exec sed -i -e"s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" {} \;
}