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)

Reply via email to