diff --git a/mingw-w64-ffmpeg-git/PKGBUILD b/mingw-w64-ffmpeg-git/PKGBUILD new file mode 100644 index 0000000000..59dc47c3f8 --- /dev/null +++ b/mingw-w64-ffmpeg-git/PKGBUILD @@ -0,0 +1,150 @@ +# Maintainer: Luciano Morand +# Based on ffmpeg PKGBUILD by: +# --Maintainer: Alexey Pavlov +# --Contributer: Zach Bacon <11doctorwhocanada@gmail.com> +# --Contributer: wirx6 + +_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" {} \; +}