-# It's sick.
#
# Conditional build:
-# _without_qt - disables QT support
-# _with_divx - enables divx4linux support (proprietary, binary-only
-# lib) note: if disabled, divx is decoded by ffmpeg
+%bcond_without qt # disables QT support
+%bcond_with divx # enables divx4linux support (proprietary, binary-only
+ # lib) note: if disabled, divx is decoded by ffmpeg
+%bcond_with nas # enables nas support
#
-%define _snapver 20030219
-%define _snap %{_snapver}
Summary: Library for playing AVI files
Summary(pl): Biblioteka do odtwarzania plików AVI
Summary(pt_BR): Biblioteca para reproduzir formatos de áudio e vídeo usando binários win32
Name: avifile
-Version: 0.7.32
-Release: 0.%{_snap}%{?_with_divx:+divx}
+Version: 0.7.38
+Release: 2%{?_with_divx:+divx}
Epoch: 3
License: GPL
Group: X11/Libraries
-Source0: http://avifile.sourceforge.net/%{name}-%{version}-%{_snap}.tgz
+Source0: http://dl.sourceforge.net/sourceforge/%{name}/%{name}-0.7-%{version}.tar.gz
+# Source0-md5: db90c4bc0a8a8182b1ec084feca86bbb
Source1: %{name}.desktop
Patch0: %{name}-shareware.patch
-Patch1: %{name}-no_libnsl.patch
-Patch2: %{name}-fix-keys.patch
+Patch1: %{name}-fix-keys.patch
+Patch2: %{name}-etc_dir.patch
+Patch3: %{name}-aviplay_h.patch
+Patch4: %{name}-without_qt.patch
+Patch5: %{name}-no_aux_dir.patch
+Patch6: %{name}-link_shared.patch
+Patch7: %{name}-avifile_config_fix.patch
+Patch8: %{name}-no_libnsl.patch
+Patch9: %{name}-system-libmad.patch
+Patch10: %{name}-ffmpeg-alpha.patch
+Patch11: %{name}-opt.patch
URL: http://avifile.sourceforge.net/
BuildRequires: SDL-devel >= 1.2.0
BuildRequires: XFree86-devel
BuildRequires: audiofile-devel
BuildRequires: autoconf
BuildRequires: automake
-%{?_with_divx:BuildRequires: divx4linux-devel}
+%{?with_divx:BuildRequires: divx4linux-devel}
+BuildRequires: faad2-devel
BuildRequires: lame-libs-devel
BuildRequires: libjpeg-devel
+BuildRequires: libmad-devel
BuildRequires: libogg-devel
-BuildRequires: libtool >= 0:1.4.2-9
+BuildRequires: libtool >= 1:1.4.3
BuildRequires: libvorbis-devel >= 1:1.0
-BuildRequires: nas-devel
-%{?!_without_qt:BuildRequires: qt-devel >= 2.0.0}
+%{?with_nas:BuildRequires: nas-devel}
+BuildRequires: pkgconfig
+%{?with_qt:BuildRequires: qt-devel >= 2.0.0}
BuildRequires: unzip
-%ifarch %{ix86} ppc
+BuildRequires: xft-devel
BuildRequires: xvid-devel
-%endif
BuildConflicts: wine-devel
+Obsoletes: avifile-vidix-nvidia
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl): Pliki nag³ówkowe wymagane przez programy u¿ywaj±ce libavifile
Summary(pt_BR): Componentes para desenvolvimento com a avifile
Group: X11/Development/Libraries
+Requires: %{name} = %{epoch}:%{version}
Requires: XFree86-devel
-Requires: %{name} = %{version}
+Requires: xft-devel
+Requires: zlib-devel
%description devel
Header files required to build programs using libavifile.
Summary: Player for AVI/ASF/WMF files
Summary(pl): Odtwarzacz plików AVI/ASF/WMF
Group: X11/Applications/Multimedia
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description aviplay
Sample player for AVI, ASF, WFM (with straming support) files.
Summary: Sample programs using the avifile library
Summary(pl): Przyk³adowe programy u¿ywaj±ce biblioteki avifile
Group: X11/Applications/Multimedia
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description utils
Qt-based AVI utilities with few other useful supporting tools for TV
Summary: Win32 audio/video plugin
Summary(pl): Plugin audio/video win32
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
Requires: w32codec
%description win32
Summary: GPL MPEG4 codec
Summary(pl): Kodek MPEG4 na licencji GPL
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description ffmpeg
ffmpeg is a hyper fast realtime audio/video encoder, a streaming
Summary: Fast MPEG4 codec
Summary(pl): Szybki kodek MPEG4
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
Requires: divx4linux
Obsoletes: avifile-divx4
Summary: Vorbis audio plugin
Summary(pl): Plugin vorbis audio
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vorbis
Plugin for decompression of Vorbis audio streams.
Summary: MAD - MPEG audio plugin
Summary(pl): MAD - plugin MPEG audio
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description mad
Plugin for decompression of MPEG-1 Layer I/II/III audio streams.
Summary: MP3 audio encoder plugin
Summary(pl): Plugin enkoduj±cy d¼wiêk w formacie MP3
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
+# this library is dlopened
+Requires: libmp3lame.so.0
+Requires: lame-libs
%description lame_audioenc
Plugin for mp3 encoding capability of avirecompress tool.
Summary: XVID codec
Summary(pl): Kodek XVID
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
Requires: xvid
%description xvid
Summary: VIDIX driver for generic FrameBuffer
Summary(pl): Sterownik VIDIX dla zwyk³ego FrameBuffera
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-fb
VIDIX driver for generic FrameBuffer.
Summary: VIDIX driver for ATI Mach64 video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych ATI Mach64
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-mach64
VIDIX driver for ATI Mach64 adapters.
Summary: VIDIX driver for ATI Rage128 video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych ATI Rage128
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-rage128
VIDIX driver for ATI Rage128 video adapters.
Summary: VIDIX driver for ATI Radeon video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych ATI Radeon
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-radeon
VIDIX driver for ATI Radeon video adapters.
Summary: VIDIX driver for MGA (Matrox) video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych MGA (Matrox)
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-mga
VIDIX driver for MGA (Matrox) video adapters.
Summary: VIDIX driver for NVidia video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych NVidia
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-nvidia
VIDIX driver for NVidia video adapters.
Summary: VIDIX driver for Permedia video adapters
Summary(pl): Sterownik VIDIX dla kart graficznych Permedia
Group: X11/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description vidix-driver-permedia
VIDIX driver for Permedia video adapters.
Sterownik VIDIX dla kart graficznych Permedia.
%prep
-%setup -q -n avifile0.7-%{version}
+%setup -q -n avifile-0.7-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
%build
+%{__libtoolize}
+%{__aclocal}
%{__autoconf}
-
-cd plugins/libmad/libmad
-%{__autoconf}
-cd ../../..
+%{__autoheader}
+%{__automake}
# This is The WRONG Way (tm)
-%if %{!?_without_qt:1}%{?_without_qt:0}
+%if %{with qt}
GEN_MOC="`grep -Rl '^ *Q_OBJECT$' *`"
for f in $GEN_MOC; do moc -o "${f%.[!.]*}.moc" "$f"; done
%endif
%configure \
- CPPFLAGS="-I/usr/include/divx -I/usr/include/xvid -I/usr/include/freetype2" \
- AS="%{__cc}" \
- FFMPEG_CFLAGS="%{rpmcflags} -ffast-math %{!?debug:-fomit-frame-pointer}" \
+ CPPFLAGS="-I/usr/include/divx" \
--with-qt-includes=%{_includedir}/qt \
--with-qt-libraries=%{_libdir} \
--enable-a52 \
- --enable-release \
+ %{?with_divx:--enable-divx4} \
--enable-ffmpeg \
--enable-ffmpeg-a52 \
- %{?_with_divx:--enable-divx4} \
+ --enable-lamebin \
+ --disable-lame \
+ --enable-libmad \
+ --enable-release \
%ifarch i586 i686 athlon
--enable-x86opt \
%else
--disable-x86opt \
%endif
- %{?_without_qt:--without-qt} \
- %{?_without_qt:--disable-samples}
+ %{!?with_qt:--without-qt} \
+ %{!?with_qt:--disable-samples}
touch lib/dummy.cpp
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},/usr/lib/win32,%{_pixmapsdir},%{_applnkdir}/Multimedia}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir}/%{name},%{_libdir},/usr/lib/win32,%{_pixmapsdir},%{_desktopdir}}
%{__make} install \
- DESTDIR="$RPM_BUILD_ROOT" \
+ DESTDIR=$RPM_BUILD_ROOT \
m4datadir="%{_aclocaldir}"
-cp -f include/fourcc.h $RPM_BUILD_ROOT/%{_includedir}/%{name}
+cp -f include/fourcc.h $RPM_BUILD_ROOT%{_includedir}/%{name}
+
+mv -f $RPM_BUILD_ROOT%{_includedir}/%{name}-0.7/* $RPM_BUILD_ROOT%{_includedir}/%{name}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_applnkdir}/Multimedia
+install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
install bin/test.png $RPM_BUILD_ROOT%{_pixmapsdir}/avifile.png
+# avifile dlopens *.so
+rm -f $RPM_BUILD_ROOT%{_libdir}/avifile*/{,vidix/}*.la
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/lib*.so.*.*
%dir %{_libdir}/avifile*
%attr(755,root,root) %{_libdir}/avifile*/audiodec.so*
-%{_libdir}/avifile*/audiodec.la
%attr(755,root,root) %{_libdir}/avifile*/mpeg_audiodec.so*
-%{_libdir}/avifile*/mpeg_audiodec.la
%attr(755,root,root) %{_libdir}/avifile*/ac3pass.so*
-%{_libdir}/avifile*/ac3pass.la
%attr(755,root,root) %{_libdir}/avifile*/mjpeg.so*
-%{_libdir}/avifile*/mjpeg.la
-%ifarch %{ix86} ppc
+%ifarch %{ix86}
%dir %{_libdir}/avifile*/vidix
%endif
%defattr(644,root,root,755)
%doc doc/README-DEVEL*
%attr(755,root,root) %{_bindir}/avifile-config
+%attr(755,root,root) %{_libdir}/lib*.so
%{_libdir}/lib*.la
-%{_libdir}/lib*.so
%{_includedir}/%{name}
%{_aclocaldir}/*.m4
%{_pkgconfigdir}/%{name}.pc
%{_mandir}/man1/avifile-config.1*
-%if %{?_without_qt:0}%{!?_without_qt:1}
+%if %{with qt}
%files aviplay
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/aviplay
%{_mandir}/man1/aviplay.1*
%{_datadir}/%{name}*
-%{_applnkdir}/Multimedia/*
+%{_desktopdir}/*
%{_pixmapsdir}/*
%endif
%files utils
%defattr(644,root,root,755)
-%{?!_without_qt:%attr(755,root,root) %{_bindir}/avicap}
-%{?!_without_qt:%attr(755,root,root) %{_bindir}/avirecompress}
+%{?with_qt:%attr(755,root,root) %{_bindir}/avicap}
+%{?with_qt:%attr(755,root,root) %{_bindir}/avirecompress}
%attr(755,root,root) %{_bindir}/avibench
%attr(755,root,root) %{_bindir}/avicat
%attr(755,root,root) %{_bindir}/avimake
-%attr(755,root,root) %{_bindir}/avirec
+%{?with_qt:%attr(755,root,root) %{_bindir}/avirec}
%attr(755,root,root) %{_bindir}/avitype
%attr(755,root,root) %{_bindir}/kv4lsetup
-%{?!_without_qt:%{_mandir}/man1/avicap.1*}
-%{?!_without_qt:%{_mandir}/man1/avirecompress.1*}
+%{?with_qt:%{_mandir}/man1/avicap.1*}
+%{?with_qt:%{_mandir}/man1/avirecompress.1*}
%{_mandir}/man1/avibench.1*
%{_mandir}/man1/avicat.1*
%{_mandir}/man1/avimake.1*
-%{_mandir}/man1/avirec.1*
+%{?with_qt:%{_mandir}/man1/avirec.1*}
%{_mandir}/man1/avitype.1*
%{_mandir}/man1/kv4lsetup.1*
%files win32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/win32.so*
-%{_libdir}/avifile*/win32.la
%endif
%files ffmpeg
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/ffmpeg.so*
-%{_libdir}/avifile*/ffmpeg.la
-%if %{?_with_divx:1}%{!?_with_divx:0}
+%if %{with divx}
%files divx
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/divx*.so*
-%{_libdir}/avifile*/divx*.la
%endif
%files vorbis
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vorbis*.so*
-%{_libdir}/avifile*/vorbis*.la
%files mad
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/mad*.so*
-%{_libdir}/avifile*/mad*.la
%files lame_audioenc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/mp3lamebin_audioenc.so*
-%attr(755,root,root) %{_libdir}/avifile*/mp3lame_audioenc.so*
-%{_libdir}/avifile*/mp3lamebin_audioenc.la
-%{_libdir}/avifile*/mp3lame_audioenc.la
+#%attr(755,root,root) %{_libdir}/avifile*/mp3lame_audioenc.so*
-%ifarch %{ix86} ppc
%files xvid
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/xvid.so*
-%{_libdir}/avifile*/xvid.la
-%endif
-%ifnarch ppc
+%ifarch %{ix86}
%files vidix-driver-fb
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/libgenfb.so*
-%{_libdir}/avifile*/vidix/libgenfb.la
%files vidix-driver-mach64
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/libmach64.so*
-%{_libdir}/avifile*/vidix/libmach64.la
%files vidix-driver-rage128
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/librage128.so*
-%{_libdir}/avifile*/vidix/librage128.la
%files vidix-driver-radeon
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/libradeon.so*
-%{_libdir}/avifile*/vidix/libradeon.la
%files vidix-driver-mga
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/libmga*.so*
-%{_libdir}/avifile*/vidix/libmga*.la
-
-%files vidix-driver-nvidia
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/avifile*/vidix/libnvidia.so*
-%{_libdir}/avifile*/vidix/libnvidia.la
%files vidix-driver-permedia
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vidix/libpm3.so*
-%{_libdir}/avifile*/vidix/libpm3.la
%endif