-# It's sick.
#
# Conditional build:
-# _without_qt - disables QT support
-# _with_divx4 - enables divx4linux support (proprietary, binary-only lib)
+%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 20020913
-%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.16
-Release: 0.%{_snap}.3
+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}-vidix.patch
-Patch3: %{name}-configure.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_divx4: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 >= 3.0.5}
+%{?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)
-%define _prefix /usr/X11R6
-%define _mandir %{_prefix}/man
-
%description
Avifile is a library that allow programs to read and write compressed
AVI files (Indeo Video, DivX :-), etc.) under x86 Linux.
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
%package vorbis
Summary: Vorbis audio plugin
-Summary(pl): Plugin vorbis audio.
+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
%description xvid -l pl
Dekoder i koder XVID.
+%package vidix-driver-fb
+Summary: VIDIX driver for generic FrameBuffer
+Summary(pl): Sterownik VIDIX dla zwyk³ego FrameBuffera
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-fb
+VIDIX driver for generic FrameBuffer.
+
+%description vidix-driver-fb -l pl
+Sterownik VIDIX dla zwyk³ego FrameBuffera.
+
+%package vidix-driver-mach64
+Summary: VIDIX driver for ATI Mach64 video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych ATI Mach64
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-mach64
+VIDIX driver for ATI Mach64 adapters.
+
+%description vidix-driver-mach64 -l pl
+Sterownik vidix dla kart graficznych ATI Mach64.
+
+%package vidix-driver-rage128
+Summary: VIDIX driver for ATI Rage128 video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych ATI Rage128
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-rage128
+VIDIX driver for ATI Rage128 video adapters.
+
+%description vidix-driver-rage128 -l pl
+Sterownik VIDIX dla kart graficznych ATI Rage128.
+
+%package vidix-driver-radeon
+Summary: VIDIX driver for ATI Radeon video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych ATI Radeon
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-radeon
+VIDIX driver for ATI Radeon video adapters.
+
+%description vidix-driver-radeon -l pl
+Sterownik VIDIX dla kart graficznych ATI Radeon.
+
+%package vidix-driver-mga
+Summary: VIDIX driver for MGA (Matrox) video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych MGA (Matrox)
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-mga
+VIDIX driver for MGA (Matrox) video adapters.
+
+%description vidix-driver-mga -l pl
+Sterownik VIDIX dla kart graficznych MGA (Matrox).
+
+%package vidix-driver-nvidia
+Summary: VIDIX driver for NVidia video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych NVidia
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-nvidia
+VIDIX driver for NVidia video adapters.
+
+%description vidix-driver-nvidia -l pl
+Sterownik VIDIX dla kart graficznych NVidia.
+
+%package vidix-driver-permedia
+Summary: VIDIX driver for Permedia video adapters
+Summary(pl): Sterownik VIDIX dla kart graficznych Permedia
+Group: X11/Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description vidix-driver-permedia
+VIDIX driver for Permedia video adapters.
+
+%description vidix-driver-permedia -l pl
+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
-rm -f missing aclocal.m4
%{__libtoolize}
%{__aclocal}
-autoheader
%{__autoconf}
+%{__autoheader}
%{__automake}
-cd plugins/libmad/libmad
-%{__autoconf}
-cd ../../..
-
-cd libmmxnow
-%{__autoconf}
-cd ..
-
# This is The WRONG Way (tm)
+%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" 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_divx4:--enable-divx4} \
+ --enable-lamebin \
+ --disable-lame \
+ --enable-libmad \
+ --enable-release \
+%ifarch i586 i686 athlon
+ --enable-x86opt \
+%else
--disable-x86opt \
- %{?_without_qt:--without-qt}
+%endif
+ %{!?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}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_applnkdir}/Multimedia
+mv -f $RPM_BUILD_ROOT%{_includedir}/%{name}-0.7/* $RPM_BUILD_ROOT%{_includedir}/%{name}
+
+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*
-%attr(755,root,root) %{_libdir}/avifile*/audiodec.la
%attr(755,root,root) %{_libdir}/avifile*/mpeg_audiodec.so*
-%attr(755,root,root) %{_libdir}/avifile*/mpeg_audiodec.la
%attr(755,root,root) %{_libdir}/avifile*/ac3pass.so*
-%attr(755,root,root) %{_libdir}/avifile*/ac3pass.la
%attr(755,root,root) %{_libdir}/avifile*/mjpeg.so*
-%attr(755,root,root) %{_libdir}/avifile*/mjpeg.la
+%ifarch %{ix86}
+%dir %{_libdir}/avifile*/vidix
+%endif
%files devel
%defattr(644,root,root,755)
%doc doc/README-DEVEL*
%attr(755,root,root) %{_bindir}/avifile-config
-%attr(755,root,root) %{_bindir}/mmxnow-config
-%attr(755,root,root) %{_libdir}/lib*.la
-%{_libdir}/lib*.so
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_libdir}/lib*.la
%{_includedir}/%{name}
-%{_includedir}/*.h
%{_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)
-%attr(755,root,root) %{_bindir}/avi[bcmrt]*
+%{?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
+%{?with_qt:%attr(755,root,root) %{_bindir}/avirec}
+%attr(755,root,root) %{_bindir}/avitype
%attr(755,root,root) %{_bindir}/kv4lsetup
-%endif
+%{?with_qt:%{_mandir}/man1/avicap.1*}
+%{?with_qt:%{_mandir}/man1/avirecompress.1*}
+%{_mandir}/man1/avibench.1*
+%{_mandir}/man1/avicat.1*
+%{_mandir}/man1/avimake.1*
+%{?with_qt:%{_mandir}/man1/avirec.1*}
+%{_mandir}/man1/avitype.1*
+%{_mandir}/man1/kv4lsetup.1*
%ifarch %{ix86}
%files win32
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/win32.so*
-%attr(755,root,root) %{_libdir}/avifile*/win32.la
%endif
%files ffmpeg
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/ffmpeg.so*
-%attr(755,root,root) %{_libdir}/avifile*/ffmpeg.la
-%if %{?_with_divx4:1}%{!?_with_divx4:0}
+%if %{with divx}
%files divx
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/divx*.so*
-%attr(755,root,root) %{_libdir}/avifile*/divx*.la
%endif
%files vorbis
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/vorbis*.so*
-%attr(755,root,root) %{_libdir}/avifile*/vorbis*.la
%files mad
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/mad*.so*
-%attr(755,root,root) %{_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*/mp3lamebin_audioenc.la
+#%attr(755,root,root) %{_libdir}/avifile*/mp3lame_audioenc.so*
-%ifarch %{ix86} ppc sparc sparc64 sparcv9
%files xvid
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/avifile*/xvid.so*
-%attr(755,root,root) %{_libdir}/avifile*/xvid.la
+
+%ifarch %{ix86}
+%files vidix-driver-fb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/libgenfb.so*
+
+%files vidix-driver-mach64
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/libmach64.so*
+
+%files vidix-driver-rage128
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/librage128.so*
+
+%files vidix-driver-radeon
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/libradeon.so*
+
+%files vidix-driver-mga
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/libmga*.so*
+
+%files vidix-driver-permedia
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/avifile*/vidix/libpm3.so*
%endif