Here's the rpm .spec file I use. YMMV.
sean
# $Id: mjpegtools.spec,v 1.9 2004/02/18 11:27:41 dude Exp $
Summary: Tools for recording, editing, playing and encoding mpeg video. Name: mjpegtools Version: 1.7.0 %define date 20050325 Release: %{date}.0 License: GPL URL: http://mjpeg.sourceforge.net/ Group: Applications/Multimedia Source: http://prdownloads.sourceforge.net/mjpeg/%{name}-%{version}.%{date}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-root-%{version} Requires: SDL, libjpeg, libpng, gtk+ Requires: libquicktime %{?_with_avifile:Requires: avifile} %{?_with_dv:Requires: libdv} BuildRequires: gcc-c++, SDL-devel, libjpeg-devel, libpng-devel, gtk+-devel BuildRequires: libquicktime-devel %{?_with_avifile:BuildRequires: avifile-devel} %{?_with_dv:BuildRequires: libdv-devel } # %{!?_with_dv:BuildConflicts: libdv-devel} %{?_with_cmov:BuildArch: i686} %ifarch %{ix86} # BuildRequires: nasm %endif %description The MJPEG-tools are a basic set of utilities for recording, editing, playing back and encoding (to mpeg) video under linux. Recording can be done with zoran-based MJPEG-boards (LML33, Iomega Buz, Pinnacle DC10(+), Marvel G200/G400), these can also playback video using the hardware. With the rest of the tools, this video can be edited and encoded into mpeg1/2 or divx video. Available rpmbuild rebuild options : --with : avifile dv cmov %package devel Summary: Development headers and libraries for the mjpegtools. Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel This package contains static libraries and C system header files needed to compile applications that use part of the libraries of the mjpegtools package. --with-extra-cflags="-DARCH_X86_64 -fPIC" \ %configure \ %prep %setup -q -n mjpeg_play %build # export CC=gcc4 # export CXX=g++4 export PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/lib/pkgconfig" export LDFLAGS="-L/usr/lib64" # export CFLAGS="$CFLAGS -DARCH_X86_64" # export CXXFLAGS="$CFLAGS" autoreconf -f -i # export CFLAGS="$CFLAGS -DARCH_X86_64 -fPIC" # export CXXFLAGS="$CFLAGS" %configure --with-pic \ --enable-shared \ --enable-cmov-extension \ --enable-simd-accel \ --with-dv=/usr/lib64 \ --with-libjpeg=/usr/lib64 \ --with-avifile \ --with-quicktime \ --with-cmov # --with-mod-path=\${libdir}/lib64 make %install rm -rf %{buildroot} %makeinstall # Let's remove the static libs for now, as their stripping makes the build fail # No, give them back as mjpegutils is only built as static and required #rm -f %{buildroot}%{_libdir}/*.a %clean rm -rf %{buildroot} %post /sbin/ldconfig #/sbin/install-info %{_infodir}/mjpeg-howto.info.gz %{_infodir}/dir %postun /sbin/ldconfig #if [ $1 -eq 0 ]; then # /sbin/install-info --delete %{_infodir}/mjpeg-howto.info.gz %{_infodir}/dir #fi #exit 0 %files %defattr(-, root, root) %doc AUTHORS BUGS CHANGES COPYING HINTS PLANS README TODO %{?_with_avifile:%{_bindir}/divxdec} %{_bindir}/anytovcd.sh %{_bindir}/lav2avi.sh %{_bindir}/lav2mpeg %{_bindir}/lav2wav %{_bindir}/lav2yuv %{_bindir}/lavaddwav %{_bindir}/lavinfo %{_bindir}/lavpipe %{_bindir}/lavplay %{_bindir}/lavrec %{_bindir}/lavtrans %{_bindir}/lavvideo %{_bindir}/matteblend.flt %{_bindir}/mjpeg_simd_helper %{_bindir}/mp2enc %{_bindir}/mpeg2enc %{_bindir}/mpegtranscode %{_bindir}/mplex %{_bindir}/multiblend.flt %{_bindir}/pnmtoy4m %{_bindir}/transist.flt %{_bindir}/y4mblack %{_bindir}/y4mcolorbars %{_bindir}/y4mdenoise %{_bindir}/y4minterlace %{_bindir}/y4mshift %{_bindir}/y4mspatialfilter %{_bindir}/y4mstabilizer %{_bindir}/y4mtopnm %{_bindir}/y4mtoppm %{_bindir}/y4mtoyuv %{_bindir}/y4munsharp %{_bindir}/yuv2lav %{_bindir}/yuv4mpeg %{_bindir}/yuvcorrect %{_bindir}/yuvcorrect_tune %{_bindir}/yuvdeinterlace %{_bindir}/yuvdenoise %{_bindir}/yuvfps %{_bindir}/yuvinactive %{_bindir}/yuvkineco %{_bindir}/yuvmedianfilter %{_bindir}/yuvplay %{_bindir}/yuvscaler %{_bindir}/yuvycsnoise %{_bindir}/glav %{_bindir}/jpeg2yuv %{_bindir}/pgmtoy4m %{_bindir}/png2yuv %{_bindir}/ppm* %{_bindir}/testrec %{_bindir}/ypipe %{_libdir}/liblavfile-1.7.so.0.0.0 %{_libdir}/liblavjpeg-1.7.so.0.0.0 %{_libdir}/liblavplay-1.7.so.0.0.0 %{_libdir}/liblavrec-1.7.so.0.0.0 %{_libdir}/libmjpegutils-1.7.so.0.0.0 %{_libdir}/libmpeg2encpp-1.7.so.0.0.0 %{_libdir}/libmplex2-1.7.so.0.0.0 %{_libdir}/liblavfile.a %{_libdir}/liblavjpeg.a %{_libdir}/liblavplay.a %{_libdir}/liblavrec.a %{_libdir}/libmjpegutils.a %{_libdir}/libmpeg2encpp.a %{_libdir}/libmplex2.a %exclude %{_infodir}/dir %{_infodir}/mjpeg-howto.info* %{_mandir}/man1/jpeg2yuv.1.gz %{_mandir}/man1/lav2mpeg.1.gz %{_mandir}/man1/lav2wav.1.gz %{_mandir}/man1/lav2yuv.1.gz %{_mandir}/man1/lavpipe.1.gz %{_mandir}/man1/lavplay.1.gz %{_mandir}/man1/lavrec.1.gz %{_mandir}/man1/lavtrans.1.gz %{_mandir}/man1/mjpegtools.1.gz %{_mandir}/man1/mp2enc.1.gz %{_mandir}/man1/mpeg2enc.1.gz %{_mandir}/man1/mplex.1.gz %{_mandir}/man1/pgmtoy4m.1.gz %{_mandir}/man1/png2yuv.1.gz %{_mandir}/man1/pnmtoy4m.1.gz %{_mandir}/man1/ppmtoy4m.1.gz %{_mandir}/man1/y4mcolorbars.1.gz %{_mandir}/man1/y4mdenoise.1.gz %{_mandir}/man1/y4mtopnm.1.gz %{_mandir}/man1/y4mtoppm.1.gz %{_mandir}/man1/y4munsharp.1.gz %{_mandir}/man1/yuv2lav.1.gz %{_mandir}/man1/yuvdenoise.1.gz %{_mandir}/man1/yuvfps.1.gz %{_mandir}/man1/yuvinactive.1.gz %{_mandir}/man1/yuvkineco.1.gz %{_mandir}/man1/yuvmedianfilter.1.gz %{_mandir}/man1/yuvplay.1.gz %{_mandir}/man1/yuvscaler.1.gz %{_mandir}/man1/yuvycsnoise.1.gz %{_mandir}/man5/yuv4mpeg.5.gz %files devel %defattr(-, root, root) #%{_bindir}/*-config %{_includedir}/mjpegtools/audiolib.h %{_includedir}/mjpegtools/avilib.h %{_includedir}/mjpegtools/editlist.h %{_includedir}/mjpegtools/format_codes.h %{_includedir}/mjpegtools/frequencies.h %{_includedir}/mjpegtools/jpegutils.h %{_includedir}/mjpegtools/lav_io.h %{_includedir}/mjpegtools/liblavplay.h %{_includedir}/mjpegtools/liblavrec.h %{_includedir}/mjpegtools/mjpeg_logging.h %{_includedir}/mjpegtools/mjpeg_types.h %{_includedir}/mjpegtools/yuv4mpeg.h %{_includedir}/mjpegtools/mpeg2enc/elemstrmwriter.hh %{_includedir}/mjpegtools/mpeg2enc/encoderparams.hh %{_includedir}/mjpegtools/mpeg2enc/encodertypes.h %{_includedir}/mjpegtools/mpeg2enc/macroblock.hh %{_includedir}/mjpegtools/mpeg2enc/mpeg2coder.hh %{_includedir}/mjpegtools/mpeg2enc/mpeg2encoder.hh %{_includedir}/mjpegtools/mpeg2enc/mpeg2encoptions.hh %{_includedir}/mjpegtools/mpeg2enc/mpeg2encparams.h %{_includedir}/mjpegtools/mpeg2enc/picture.hh %{_includedir}/mjpegtools/mpeg2enc/picturereader.hh %{_includedir}/mjpegtools/mpeg2enc/predict_ref.h %{_includedir}/mjpegtools/mpeg2enc/quantize.hh %{_includedir}/mjpegtools/mpeg2enc/quantize_ref.h %{_includedir}/mjpegtools/mpeg2enc/ratectl.hh %{_includedir}/mjpegtools/mpeg2enc/seqencoder.hh %{_includedir}/mjpegtools/mpeg2enc/streamstate.h %{_includedir}/mjpegtools/mpeg2enc/synchrolib.h %{_includedir}/mjpegtools/mpeg2enc/syntaxconsts.h %{_includedir}/mjpegtools/mpegconsts.h %{_includedir}/mjpegtools/mpegtimecode.h %{_includedir}/mjpegtools/mplex/audiostrm.hpp %{_includedir}/mjpegtools/mplex/aunit.hpp %{_includedir}/mjpegtools/mplex/aunitbuffer.hpp %{_includedir}/mjpegtools/mplex/bits.hpp %{_includedir}/mjpegtools/mplex/decodebufmodel.hpp %{_includedir}/mjpegtools/mplex/inputstrm.hpp %{_includedir}/mjpegtools/mplex/interact.hpp %{_includedir}/mjpegtools/mplex/mplexconsts.hpp %{_includedir}/mjpegtools/mplex/multiplexor.hpp %{_includedir}/mjpegtools/mplex/outputstrm.hpp %{_includedir}/mjpegtools/mplex/padstrm.hpp %{_includedir}/mjpegtools/mplex/stillsstream.hpp %{_includedir}/mjpegtools/mplex/stream_params.hpp %{_includedir}/mjpegtools/mplex/systems.hpp %{_includedir}/mjpegtools/mplex/videostrm.hpp %{_libdir}/pkgconfig/*.pc %exclude %{_libdir}/*.la %changelog * Wed Feb 18 2004 Matthias Saou <http://freshrpms.net/> - 1.6.2-1.fr - Update to 1.6.2/* %configure \ */%{_libdir}/*.a. * Mon Feb 2 2004 Matthias Saou <http://freshrpms.net/> - 1.6.1.93-1.fr - Update to 1.6.1.93. - Don't remove static libs, as libmjpegutils.a is required by certain apps, use --disable-static instead, as that one .a file is built nevertheless. * Thu Dec 4 2003 Matthias Saou <http://freshrpms.net/> - 1.6.1.92-1.fr - Update to 1.6.1.92. - Remove static libs for new as their stripping makes the build fail :-( - Remove the bundled quicktime4linux and libmovtar deps, replaced by cleaner libquicktime dependencies. - Added 'cmov' conditional build, which then forces an i686 build. * Fri Nov 7 2003 Matthias Saou <http://freshrpms.net/> - 1.6.1.90-1.fr - Update to 1.6.1.90. - Added new info files and binaries. - Rebuild for Fedora Core 1. * Fri Apr 25 2003 Matthias Saou <[EMAIL PROTECTED]> - Added missing defattr for the devel package. * Mon Mar 31 2003 Matthias Saou <[EMAIL PROTECTED]> - Rebuilt for Red Hat Linux 9. - Out goes libmovtar! - Disable dv by default, as build fails with the latest 0.99. * Sat Jan 11 2003 Matthias Saou <[EMAIL PROTECTED]> - Changed avifile to be disabled by default. * Wed Dec 11 2002 Matthias Saou <[EMAIL PROTECTED]> - Spec file cleanup. * Wed May 20 2002 Thomas Vander Stichele <[EMAIL PROTECTED]> - Added BuildRequires and Requires * Tue Feb 12 2002 Geoffrey T. Dairiki <[EMAIL PROTECTED]> - Fix spec file to build in one directory, etc... * Thu Dec 06 2001 Ronald Bultje <[EMAIL PROTECTED]> - separated mjpegtools and mjpegtools-devel - added changes by Marcel Pol <[EMAIL PROTECTED]> for cleaner RPM build * Wed Jun 06 2001 Ronald Bultje <[EMAIL PROTECTED]> - 1.4.0-final release, including precompiled binaries (deb/rpm)