Am 30.09.2014 um 10:35 schrieb Moritz Barsnick: > On Mon, Sep 29, 2014 at 22:50:38 +0200, Reindl Harald wrote: >> instead learn to use rpmbuild > > While I _totally_ advocate this, ffmpeg is the one tool which I don't > do this for. I use the rpmfusion repository for various tools, and they > tend to depend upon the ffmpeg-libs package or its dependencies. I try > not to open this can of worms of changing versions and APIs. I just > leave those ffmpeg* packages untouched, and build a "newer" and more > customized ffmpeg into a different location. > > For ffmpeg, there are good instructions on how to build it and its > dependencies into a "private" directory, and actually make it work > without shuffling libs into other locations
i do the same - ffmpeg under /usr/local/bin with static linked
x264 but packed as RPM - it don't collide with the rpmfuison
ffmpeg-libs package that way
[builduser@buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec
%global debug_package %{nil}
%global snapshot 20140927
Summary: Audio/Video-Encoder (static build)
Name: ffmpeg-latest
Version: 2.4.1
Release: 1%{?dist}
License: GPLv3+
Group: Applications/Multimedia
URL: http://ffmpeg.org/
Source0: ffmpeg-%{snapshot}.tar.bz2
Source1: ffmpeg-snapshot-latest.sh
BuildRequires: bzip2-devel
BuildRequires: imlib2-devel
BuildRequires: lame-devel
BuildRequires: libtheora-devel
BuildRequires: x264-latest
BuildRequires: zlib-devel
BuildRequires: libvpx-devel
BuildRequires: openssl-devel
BuildRequires: yasm
Requires: sh-utils
Requires(preun): systemd-units
Requires(postun): systemd-units
Provides: ffmpeg
Obsoletes: ffmpeg
%description
FFMpeg is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash
%package manpages
Group: Manpages
Summary: Manpages for ffmpeg-latest
BuildArch: noarch
%description manpages
%prep
%setup -q -n ffmpeg-%{snapshot}
%build
mkdir generic
pushd generic
../configure \
--prefix=%{_prefix}/local \
--bindir=%{_prefix}/local/bin \
--datadir=%{_prefix}/local/share/ffmpeg \
--incdir=%{_prefix}/local/include/ffmpeg \
--libdir=%{_prefix}/local/lib64 \
--shlibdir=%{_prefix}/local/lib64 \
--mandir=%{_prefix}/local/man \
--arch=x86_64 \
--cpu=corei7 \
--extra-cflags="-I%{_prefix}/local/x264 %{optflags} -O3 -ffast-math
-fomit-frame-pointer -floop-interchange
-floop-block -ftree-loop-distribution -fno-strict-aliasing" \
--extra-ldflags="-I%{_prefix}/local/x264 -L%{_prefix}/local/x264 -ldl
-Wl,-z,now -Wl,-z,relro,-z,noexecstack" \
--enable-nonfree \
--enable-gpl \
--enable-version3 \
--enable-libmp3lame \
--enable-libtheora \
--enable-libx264 \
--enable-libvpx \
--enable-openssl \
--enable-static \
--enable-runtime-cpudetect \
--enable-bzlib \
--enable-zlib \
--disable-amd3dnow \
--disable-avdevice \
--disable-debug \
--disable-devices \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-htmlpages \
--disable-hwaccels \
--disable-iconv \
--disable-libdc1394 \
--disable-libfaac \
--disable-libfreetype \
--disable-libgsm \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \
--disable-libopencv \
--disable-libopenjpeg \
--disable-libopus \
--disable-librtmp \
--disable-libschroedinger \
--disable-libspeex \
--disable-libvorbis \
--disable-libxvid \
--disable-podpages \
--disable-postproc \
--disable-protocols \
--enable-protocol=cache \
--enable-protocol=concat \
--enable-protocol=crypto \
--enable-protocol=data \
--enable-protocol=file \
--enable-protocol=http \
--enable-protocol=https \
--enable-protocol=md5 \
--enable-protocol=mmsh \
--enable-protocol=mmst \
--enable-protocol=pipe \
--enable-protocol=rtp \
--enable-protocol=srtp \
--enable-protocol=rtmp \
--enable-protocol=rtmps \
--enable-protocol=tcp \
--enable-protocol=udp \
--enable-protocol=unix \
--enable-protocol=tls \
--disable-shared \
--disable-txtpages
%{__make} %{?_smp_mflags}
make documentation
popd
# build 'qt_faststart' standalone binary
CURRENT_DIR=`pwd`
mkdir -p %{buildroot}%{_prefix}/local/bin/
gcc -fPIC -fPIE -pie -Wl,-z,now -Wl,-z,relro,-z,noexecstack
$CURRENT_DIR/tools/qt-faststart.c -o qt-faststart
%install
pushd generic
make install DESTDIR=%{buildroot}
popd
install -D -m0755 qt-faststart "%{buildroot}%{_prefix}/local/bin/qt-faststart"
mkdir %{buildroot}%{_bindir}
ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg
rm -rf %{buildroot}%{_prefix}/local/include/ffmpeg/
%{buildroot}%{_prefix}/local/lib64/
%{buildroot}%{_prefix}/local/share/ffmpeg
strip -s %{buildroot}%{_prefix}/local/bin/qt-faststart
%{buildroot}%{_prefix}/local/bin/ffmpeg
%files
%{_prefix}/local/bin/ffmpeg
%{_prefix}/local/bin/qt-faststart
%{_bindir}/ffmpeg
%files manpages
%{_prefix}/local/man/man1/*
%{_prefix}/local/man/man3/*
%changelog
* Sat Sep 27 2014 Reindl Harald <[email protected]>
- update to 2.4.1
signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
