128 lines
3.5 KiB
Bash
128 lines
3.5 KiB
Bash
# Template file for 'ffmpeg'
|
|
pkgname=ffmpeg
|
|
version=2.7.1
|
|
revision=1
|
|
short_desc="Decoding, encoding and streaming software"
|
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
|
license="GPL-3"
|
|
homepage="http://www.ffmpeg.org"
|
|
distfiles="${homepage}/releases/ffmpeg-${version}.tar.bz2"
|
|
checksum=7e07b97d2415feeae9c9b5595e35e7b7aab33207e81bf9f8c0d1eece43f7f720
|
|
|
|
hostmakedepends="pkg-config perl yasm"
|
|
makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
|
|
libXext-devel libXvMC-devel faad2-devel lame-devel libtheora-devel gnutls-devel
|
|
libvorbis-devel x264-devel xvidcore-devel jack-devel SDL-devel
|
|
libcdio-paranoia-devel libvpx-devel librtmp-devel freetype-devel libmodplug-devel
|
|
speex-devel celt-devel harfbuzz-devel libass-devel opus-devel pulseaudio-devel"
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
# XXX x265 cannot be cross compiled
|
|
i686*|x86_64*) makedepends+=" x265-devel libva-devel libvdpau-devel";;
|
|
esac
|
|
|
|
do_configure() {
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*) _args="--enable-libx265 --enable-vdpau --enable-vaapi";;
|
|
esac
|
|
if [ "$CROSS_BUILD" ]; then
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
arm*) _arch="arm";;
|
|
mips*) _arch="mips";;
|
|
*) _arch="$XBPS_TARGET_MACHINE";;
|
|
esac
|
|
|
|
_args+=" --enable-cross-compile
|
|
--sysroot=$XBPS_CROSS_BASE
|
|
--cross-prefix=${XBPS_CROSS_TRIPLET}-
|
|
--target-os=linux --arch=${_arch}"
|
|
fi
|
|
|
|
./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \
|
|
--enable-libcdio --enable-version3 --enable-runtime-cpudetect \
|
|
--enable-libmp3lame --enable-libvorbis --enable-libxvid \
|
|
--enable-libx264 --enable-libvpx --enable-libtheora \
|
|
--enable-shared --enable-static --enable-x11grab --enable-librtmp \
|
|
--enable-libpulse --enable-libfreetype --enable-libmodplug \
|
|
--enable-libspeex --enable-libcelt --enable-libass \
|
|
--disable-libopencore_amrnb --disable-libopencore_amrwb \
|
|
--disable-libschroedinger --disable-libopenjpeg \
|
|
--enable-postproc ${_args}
|
|
}
|
|
do_build() {
|
|
make ${makejobs}
|
|
make doc/ff{mpeg,play,server}.1
|
|
}
|
|
do_install() {
|
|
make DESTDIR=${DESTDIR} install install-man
|
|
}
|
|
|
|
libavcodec_package() {
|
|
short_desc="FFmpeg codec library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libavcodec.so.*"
|
|
}
|
|
}
|
|
libavdevice_package() {
|
|
short_desc="FFmpeg device handling library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libavdevice.so.*"
|
|
}
|
|
}
|
|
libavformat_package() {
|
|
short_desc="FFmpeg file format library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libavformat.so.*"
|
|
}
|
|
}
|
|
libavutil_package() {
|
|
short_desc="FFmpeg utility library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libavutil.so.*"
|
|
}
|
|
}
|
|
libavfilter_package() {
|
|
short_desc="FFmpeg audio/video filter library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libavfilter.so.*"
|
|
}
|
|
}
|
|
libpostproc_package() {
|
|
short_desc="FFmpeg video postprocessing library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libpostproc.so.*"
|
|
}
|
|
}
|
|
libswscale_package() {
|
|
short_desc="FFmpeg video scaling library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libswscale.so.*"
|
|
}
|
|
}
|
|
libswresample_package() {
|
|
short_desc="FFmpeg video resampling library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libswresample.so.*"
|
|
}
|
|
}
|
|
ffmpeg-devel_package() {
|
|
depends="
|
|
libavcodec>=${version}_${revision}
|
|
libavdevice>=${version}_${revision}
|
|
libavformat>=${version}_${revision}
|
|
libavutil>=${version}_${revision}
|
|
libavfilter>=${version}_${revision}
|
|
libpostproc>=${version}_${revision}
|
|
libswscale>=${version}_${revision}
|
|
libswresample>=${version}_${revision}"
|
|
short_desc+=" - development files"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove usr/lib/pkgconfig
|
|
vmove usr/lib/*.a
|
|
vmove usr/lib/*.so
|
|
vmove usr/share/ffmpeg/examples
|
|
vmove usr/share/man/man3
|
|
}
|
|
}
|