packages mythtv.spec
      Pages: < 1 >  DOWNLOAD      
Name:          mythtv
Version:       0.24
Release:       2mamba
Summary:       A digital video recorder (DVR) application
Group:         Applications/Multimedia
Vendor:        openmamba
Distribution:  openmamba
Packager:      gil <puntogil@...>
URL:           http://www.mythtv.org/
Source0:       ftp://ftp.osuosl.org/pub/mythtv/mythtv-%{version}.tar.bz2

Source1:       mythfrontend.desktop
Source2:       mythfrontend.png
Source3:       mythtv-setup.desktop
Source4:       mythtv-setup.png
Source5:       mythtv.desktop
Source6:       mythtv.png
Source7:       mythbackend.init
Source8:       mythbackend.logrotate
Source9:       mythbackend.sysconfig
Source10:      mythweb.conf
Source11:      mythtv-mysql.txt
Source12:      mythtv-PACKAGE-LICENSING
License:       GPL, LGPL
BuildRequires: desktop-file-utils
## AUTOBUILDREQ-BEGIN
#BuildRequires: file /usr/lib/libdirect-1.4.so: No such file or directory
#BuildRequires: file /usr/lib/libdirectfb-1.4.so: No such file or directory
#BuildRequires: file /usr/lib/libfusion-1.4.so: No such file or directory
BuildRequires: glibc-devel
BuildRequires: kernel-mamba-headers
BuildRequires: libalsa-devel
BuildRequires: libavc1394-devel
BuildRequires: libbzip2-devel
BuildRequires: libcrystalhd-devel
BuildRequires: libdca-devel
BuildRequires: libdirectfb-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
BuildRequires: libfame-devel
BuildRequires: libfftw-devel
BuildRequires: libflac-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libGL-devel
BuildRequires: libGLU-devel
BuildRequires: libgsm-devel
BuildRequires: libiec61883-devel
BuildRequires: libjack-devel
BuildRequires: liblame-devel
BuildRequires: libmjpegtools-devel
BuildRequires: libmysql-devel
BuildRequires: libogg-devel
BuildRequires: libpulseaudio-devel
BuildRequires: libpython-devel
BuildRequires: libqt4-devel
BuildRequires: libraw1394-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtag-devel
BuildRequires: libtheora-devel
BuildRequires: libva-devel
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
BuildRequires: libX11-devel
BuildRequires: libx264-devel
BuildRequires: libXext-devel
BuildRequires: libXinerama-devel
BuildRequires: libXmu-devel
BuildRequires: libXrandr-devel
BuildRequires: libXv-devel
BuildRequires: libxvidcore-devel
BuildRequires: libXvMC-devel
BuildRequires: libXxf86vm-devel
BuildRequires: libz-devel
BuildRequires: lirc-devel
BuildRequires: lm_sensors-devel
BuildRequires: perl-DBD-mysql
BuildRequires: perl-DBI
BuildRequires: perl-devel
BuildRequires: perl-HTML-Parser
BuildRequires: perl-HTML-Tree
BuildRequires: perl-libwww
BuildRequires: perl-Magick
BuildRequires: perl-Net-UPnP
BuildRequires: perl-TimeDate
BuildRequires: python-MySQL
BuildRequires: udev-devel
BuildRequires: xorg-drv-video-intel-devel
BuildRequires: xorg-drv-video-openchrome
BuildRequires: xproto-devel
#libcrystalhd.so.3: library not reported by ldconfig; run `ldconfig' and try again
#libvdpau.so.1: library not reported by ldconfig; run `ldconfig' and try again
## AUTOBUILDREQ-END

BuildRequires: libfreetype-devel
#BuildRequires: ccache
#BuildRequires: distcc
BuildRequires: gcc-c++
BuildRequires: libmysql-devel
BuildRequires: libqt4-devel
BuildRequires: libphonon-devel
BuildRequires: lm_sensors-devel
BuildRequires: lirc-devel
BuildRequires: nasm
BuildRequires: yasm-devel

# X, and Xv video support
BuildRequires: libXmu-devel
BuildRequires: libXv-devel
BuildRequires: libXvMC-devel
BuildRequires: libXxf86vm-devel
BuildRequires: libGLU-devel
BuildRequires: xproto-devel
%ifarch %{ix86} x86_64
BuildRequires: xorg-drv-video-openchrome
#BuildRequires: xorg-drv-video-openchrome-devel
BuildRequires: xorg-drv-video-intel-devel
%endif

# OpenGL video output and vsync support
BuildRequires: libGL-devel
BuildRequires: libGLU-devel

# Misc A/V format support
BuildRequires: libfftw-devel
BuildRequires: libflac-devel
BuildRequires: libgsm-devel
BuildRequires: liblame-devel
BuildRequires: libdca-devel
BuildRequires: libdvdcss-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel

BuildRequires: libavcodec-devel
BuildRequires: libavformat-devel
BuildRequires: libavutil-devel
BuildRequires: libpostproc-devel
BuildRequires: libswscale-devel

# nb: libdvdcss will be dynamically loaded if installed
BuildRequires: libfame-devel
BuildRequires: libogg-devel
BuildRequires: libtheora-devel
BuildRequires: libvorbis-devel
BuildRequires: libmjpegtools-devel
BuildRequires: libtag-devel
BuildRequires: libx264-devel
BuildRequires: libxvidcore-devel

# Audio framework support
BuildRequires: libalsa-devel
#BuildRequires: libarts-devel
BuildRequires: libjack-devel
BuildRequires: libpulseaudio-devel

# Need dvb headers to build in dvb support
BuildRequires: kernelheaders

# FireWire cable box support
BuildRequires: libavc1394-devel
BuildRequires: libiec61883-devel
BuildRequires: libraw1394-devel

BuildRequires: libdirectfb-devel
BuildRequires: libvdpau-devel
BuildRequires: libcrystalhd-devel

# API Build Requirements
BuildRequires: perl
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(Config)
BuildRequires: perl(Exporter)
BuildRequires: perl(Fcntl)
BuildRequires: perl(File::Copy)
BuildRequires: perl(Sys::Hostname)
BuildRequires: perl(DBI)
BuildRequires: perl(HTTP::Request)
BuildRequires: perl(Net::UPnP::ControlPoint)
BuildRequires: perl(Net::UPnP::QueryResponse)
BuildRequires: perl(DBD::mysql)
BuildRequires: perl(HTML::TreeBuilder)
BuildRequires: perl(Image::Magick)


BuildRequires: libpython-devel
BuildRequires: python-MySQL
Requires:      libmythtv = %{?epoch:%epoch:}%{version}-%{release}
BuildRoot:     %{_tmppath}/%{name}-%{version}-root
## TODO UPnPautoconf() - No UPnP backends found see https://help.ubuntu.com/community/MythTV/Install/Troubleshooting
# Basic Settings
## Compile type              release
## Compiler cache            no
## DistCC                    no
## qmake                     /usr/lib/qt4/bin/qmake
## install prefix            /usr
## runtime prefix            /usr
## CPU                       x86 x86_32 (i686)
## yasm                      yes
## MMX enabled               yes
## MMX2 enabled              yes
## 3DNow! enabled            yes
## 3DNow! extended enabled   yes
## SSE enabled               yes
## SSSE3 enabled             yes
## CMOV enabled              yes

# Input Support
## Joystick menu             yes
## lirc support              yes
## Video4Linux sup.          yes
## ivtv support              yes
## HD-PVR support            yes
## FireWire support          yes
## DVB support               yes [/usr/include]
## DVB-S2 support            yes
## HDHomeRun support         yes
## IPTV support              yes

# Sound Output Support
## PulseAudio support        yes
## OSS support               yes
## ALSA support              yes
## JACK support              yes
## libfftw3 support          yes

# Video Output Support
## x11 support               yes
## xrandr support            yes
## xv support                yes
## XvMC support              yes
## XvMC VLD support          yes
## XvMC libs                  -lXvMCW
## VDPAU support             yes
## CrystalHD support         yes
## OpenGL video              yes
## OpenGL vsync              yes
## DirectFB                  yes
## MHEG support              yes

# Misc Features
## multi threaded libavcodec yes
## Frontend                  yes
## Backend                   yes

# Bindings
## bindings_perl             yes
## bindings_python           yes


%description
MythTV provides a unified graphical interface for recording and viewing
television programs. Refer to the mythtv package for more information.

There are also several add-ons and themes available. In order to facilitate
installations with smart/apt-get/yum and other related package
resolvers this meta-package can be used to install all in one sweep.

MythTV implements the following DVR features, and more, with a
unified graphical interface:

 - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV.
 - Video compression using RTjpeg or MPEG-4, and support for DVB and
   hardware encoder cards/devices.
 - Program listing retrieval using XMLTV
 - Themable, semi-transparent on-screen display
 - Electronic program guide
 - Scheduled recording of TV programs
 - Resolution of conflicts between scheduled recordings
 - Basic video editing


%package -n libmythtv
Group:         System/Libraries
Summary:       Library providing mythtv support

%description -n libmythtv
MythTV provides a unified graphical interface for recording and viewing
television programs.

This package contains common library code for MythTV and add-on modules (development).

%package -n libmythtv-devel
Group:         Development/Libraries
Summary:       Libraries and headers for %{name}
Requires:      libmythtv = %{?epoch:%epoch:}%{version}-%{release}
# Need dvb headers for dvb support
Requires:      kernelheaders

Requires:      libfreetype-devel
Requires:      libmysql-devel
Requires:      libqt4-devel
Requires:      lm_sensors-devel
Requires:      lirc-devel

Requires:      libXmu-devel
Requires:      libXv-devel
Requires:      libXvMC-devel
Requires:      libXxf86vm-devel
Requires:      libGLU-devel
Requires:      xproto-devel

# OpenGL video output and vsync support
Requires:      libGL-devel
Requires:      libGLU-devel

# Misc A/V format support
Requires:      libfftw-devel
Requires:      libflac-devel
Requires:      libgsm-devel
Requires:      liblame-devel
Requires:      libdca-devel
Requires:      libdvdnav-devel
Requires:      libdvdread-devel
Requires:      libfame-devel
Requires:      libogg-devel
Requires:      libtheora-devel
Requires:      libvorbis-devel
Requires:      libmjpegtools-devel
Requires:      libtag-devel
Requires:      libx264-devel
Requires:      libxvidcore-devel
# Audio framework support
Requires:      libalsa-devel
#Requires: libarts-devel
Requires:      libjack-devel
Requires:      libpulseaudio-devel

Requires:      libavc1394-devel
Requires:      libiec61883-devel
Requires:      libraw1394-devel
Requires:      libdirectfb-devel
Requires:      libvdpau-devel
Requires:      libcrystalhd-devel
%ifarch %{ix86} x86_64
Requires:      xorg-drv-video-openchrome
#Requires:      xorg-drv-video-openchrome-devel
Requires:      xorg-drv-video-intel-devel
%endif

%description -n libmythtv-devel
MythTV provides a unified graphical interface for recording and viewing
television programs.

This package contains libraries and header files need for development.

%package -n perl-MythTV
Group:         Development/Libraries/Perl
Summary:       Perl bindings for MythTV
Requires:      perl
Requires:      perl(DBD::mysql)
Requires:      perl(Net::UPnP)
Requires:      perl(Net::UPnP::ControlPoint)

%description -n perl-MythTV
MythTV provides a unified graphical interface for recording and viewing
television programs.

This package provides a perl-based interface to interacting with MythTV.

%package -n python-MythTV
Group:         Development/Libraries/Python
Summary:       Python bindings for MythTV
Requires:      python-MySQL

%description -n python-MythTV
MythTV provides a unified graphical interface for recording and viewing
television programs.

This package provides a python-based interface to interacting with MythTV.

%package docs
Group:         Documentation
Summary:       Documentation for %{name}

%description docs
MythTV provides a unified graphical interface for recording and viewing
television programs.

This package contains the documentation for %{name},

%prep
%setup -q
rm -rf contrib/Win32 contrib/OSX
chmod -x themes/default/htmls/*.html

cp -a %{SOURCE1} %{SOURCE2} %{SOURCE3} .
cp -a %{SOURCE4} %{SOURCE5} %{SOURCE6} .
cp -a %{SOURCE7} %{SOURCE8} %{SOURCE9} %{SOURCE10} .
cp -a %{SOURCE12} PACKAGE-LICENSING

sed -i -e 's#perl Makefile.PL#%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"#' bindings/perl/Makefile

sed -i -e 's,VENDOR_XVMC_LIBS="-lXvMCNVIDIA",VENDOR_XVMC_LIBS="-lXvMCNVIDIA -lXv",' configure

%build

./configure \
  --prefix=%{_prefix} \
  --libdir=%{_libdir} \
  --libdir-name=%{_lib} \
  --mandir=%{_mandir} \
  --extra-cflags="%{optflags} -fomit-frame-pointer" \
  --extra-cxxflags="%{optflags} -fomit-frame-pointer" \
  --cpu=i686 \
  --tune=i686 \
  --enable-mmx \
  --qmake=%{_qt4_qmake} \
  --enable-iptv \
  --enable-pthreads \
  --enable-ffmpeg-pthreads \
  --enable-joystick-menu \
  --enable-audio-alsa \
  --enable-audio-oss \
  --enable-audio-jack \
  --enable-libfftw3 \
  --enable-x11 \
  --x11-path=%{_includedir} \
  --enable-xv \
  --enable-opengl-video \
  --enable-xrandr \
  --enable-lirc \
  --enable-ivtv \
  --enable-firewire \
  --enable-dvb \
  --enable-libmp3lame \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libxvid \
  --enable-vdpau \
  --enable-crystalhd \
  --enable-directfb \
  --compile-type=release \
  --enable-debug

%make

%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
make INSTALL_ROOT=%{buildroot} install

ln -s mythtv-setup %{buildroot}%{_bindir}/mythtvsetup
mkdir -p %{buildroot}%{_localstatedir}/lib/mythtv
mkdir -p %{buildroot}%{_localstatedir}/cache/mythtv
mkdir -p %{buildroot}%{_localstatedir}/log/mythtv
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
mkdir -p %{buildroot}%{_initrddir}
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
mkdir -p %{buildroot}%{_sysconfdir}/mythtv

rm -rf  %{buildroot}%{perl_vendorarch}/auto/MythTV/.packlist
rm -rf  %{buildroot}%{_libdir}/libmyth*.*a
rm -rf  %{buildroot}%{_libdir}/mythtv/filters/*.*a

# mysql.txt and other config/init files
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/mythtv/mysql.txt
echo "# to be filled in by mythtv-setup" > %{buildroot}%{_sysconfdir}/mythtv/config.xml
install -p -m 755 mythbackend.init %{buildroot}%{_initrddir}/mythbackend
install -p -m 644 mythbackend.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/mythbackend
install -p -m 644 mythbackend.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/mythbackend

# Desktop entries
mkdir -p %{buildroot}%{_datadir}/pixmaps
mkdir -p %{buildroot}%{_datadir}/applications

for file in mythfrontend mythtv-setup mythtv ; do
  install -pm 644 $file.png %{buildroot}%{_datadir}/pixmaps/$file.png
  desktop-file-install --mode=644 --dir %{buildroot}%{_datadir}/applications \
    --add-category AudioVideo $file.desktop
done

mkdir -p %{buildroot}%{_libdir}/mythtv/plugins

mkdir -p %{buildroot}%{_datadir}/mythtv/build/
install -pm 644 settings.pro %{buildroot}%{_datadir}/mythtv/build/

%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"

%pre
%{_sbindir}/useradd -c "mythtvbackend User" \
    -s /sbin/nologin -r -d %{_localstatedir}/lib/mythtv -G video mythtv 2> /dev/null || :

%post
/sbin/chkconfig --add mythbackend

%preun
if [ $1 = 0 ]; then
    /sbin/service mythbackend stop > /dev/null 2>&1
    /sbin/chkconfig --del mythbackend
fi

%files
%defattr(-,root,root)
%dir %{_sysconfdir}/mythtv
%config(noreplace) %{_sysconfdir}/mythtv/mysql.txt
%config(noreplace) %{_sysconfdir}/mythtv/config.xml
%config(noreplace) %{_sysconfdir}/sysconfig/mythbackend
%config(noreplace) %{_sysconfdir}/logrotate.d/mythbackend
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/cache/mythtv
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv
%{_initrddir}/mythbackend
%{_bindir}/mythavtest
%{_bindir}/mythbackend
%{_bindir}/mythcommflag
%{_bindir}/mythfilldatabase
%{_bindir}/mythfrontend
%{_bindir}/mythjobqueue
%{_bindir}/mythlcdserver
%{_bindir}/mythpreviewgen
%{_bindir}/mythreplex
%{_bindir}/mythshutdown
%{_bindir}/mythtranscode
%{_bindir}/mythtv-setup
%{_bindir}/mythtvsetup
%{_bindir}/mythtvosd
%{_bindir}/mythwelcome
%{_bindir}/mythwikiscripts
%dir %{_libdir}/mythtv
%dir %{_libdir}/mythtv/filters
%{_libdir}/mythtv/filters/libadjust.so
%{_libdir}/mythtv/filters/libbobdeint.so
%{_libdir}/mythtv/filters/libcrop.so
%{_libdir}/mythtv/filters/libdenoise3d.so
%{_libdir}/mythtv/filters/libfieldorder.so
%{_libdir}/mythtv/filters/libforce.so
%{_libdir}/mythtv/filters/libgreedyhdeint.so
%{_libdir}/mythtv/filters/libinvert.so
%{_libdir}/mythtv/filters/libivtc.so
%{_libdir}/mythtv/filters/libkerneldeint.so
%{_libdir}/mythtv/filters/liblinearblend.so
%{_libdir}/mythtv/filters/libonefield.so
%{_libdir}/mythtv/filters/libpostprocess.so
%{_libdir}/mythtv/filters/libquickdnr.so
%{_libdir}/mythtv/filters/libyadif.so
%dir %{_libdir}/mythtv/plugins
%dir %{_datadir}/mythtv
%{_datadir}/mythtv/*.xml
%{_datadir}/mythtv/*.pl
%{_datadir}/mythtv/fonts
%{_datadir}/mythtv/i18n
%{_datadir}/mythtv/internetcontent
%{_datadir}/mythtv/locales
%{_datadir}/mythtv/metadata
%{_datadir}/mythtv/themes
%{_datadir}/pixmaps/*.png
%{_datadir}/applications/*.desktop

%post -n libmythtv -p /sbin/ldconfig

%postun -n libmythtv -p /sbin/ldconfig

%files -n libmythtv
%defattr(-,root,root)
%{_libdir}/libmyth-*.so.*
%{_libdir}/libmythavcodec.so.*
%{_libdir}/libmythavcore.so.*
%{_libdir}/libmythavdevice.so.*
%{_libdir}/libmythavfilter.so.*
%{_libdir}/libmythavformat.so.*
%{_libdir}/libmythavutil.so.*
%{_libdir}/libmythdb-*.so.*
%{_libdir}/libmythfreemheg-*.so.*
%{_libdir}/libmythhdhomerun-*.so.*
%{_libdir}/libmythlivemedia-*.so.*
%{_libdir}/libmythmetadata-*.so.*
%{_libdir}/libmythpostproc.so.*
%{_libdir}/libmythswscale.so.*
%{_libdir}/libmythtv-*.so.*
%{_libdir}/libmythui-*.so.*
%{_libdir}/libmythupnp-*.so.*

%files -n libmythtv-devel
%defattr(-,root,root)
%dir %{_includedir}/mythtv
%{_includedir}/mythtv/*.h
%{_includedir}/mythtv/mythconfig.mak
%{_includedir}/mythtv/bluray
%{_includedir}/mythtv/dvdnav
%{_includedir}/mythtv/dvdread
%{_includedir}/mythtv/libavcodec
%{_includedir}/mythtv/libavcore
%{_includedir}/mythtv/libavdevice
%{_includedir}/mythtv/libavfilter
%{_includedir}/mythtv/libavformat
%{_includedir}/mythtv/libavutil
%{_includedir}/mythtv/libmyth
%{_includedir}/mythtv/libmythdb
%{_includedir}/mythtv/libmythui
%{_includedir}/mythtv/libpostproc
%{_includedir}/mythtv/libswscale
%{_includedir}/mythtv/metadata
%{_includedir}/mythtv/mpeg2dec
%{_includedir}/mythtv/upnp
%{_libdir}/libmyth-*.so
%{_libdir}/libmythavcodec.so
%{_libdir}/libmythavcore.so
%{_libdir}/libmythavdevice.so
%{_libdir}/libmythavfilter.so
%{_libdir}/libmythavformat.so
%{_libdir}/libmythavutil.so
%{_libdir}/libmythdb-*.so
%{_libdir}/libmythfreemheg-*.so
%{_libdir}/libmythhdhomerun-*.so
%{_libdir}/libmythlivemedia-*.so
%{_libdir}/libmythmetadata-*.so
%{_libdir}/libmythpostproc.so
%{_libdir}/libmythswscale.so
%{_libdir}/libmythtv-*.so
%{_libdir}/libmythui-*.so
%{_libdir}/libmythupnp-*.so
%{_datadir}/mythtv/build

%files -n perl-MythTV
%defattr(-,root,root)
%dir %{perl_vendorlib}/IO
%dir %{perl_vendorlib}/IO/Socket
%dir %{perl_vendorlib}/IO/Socket/INET
%{perl_vendorlib}/IO/Socket/INET/MythTV.pm
%{perl_vendorlib}/MythTV.pm
%dir %{perl_vendorlib}/MythTV
%{perl_vendorlib}/MythTV/*.pm
%dir %{perl_vendorarch}/auto/MythTV

%files -n python-MythTV
%defattr(-,root,root)
%{_bindir}/mythpython
%{python_sitelib}/MythTV-*.egg-info
%dir %{python_sitelib}/MythTV
%{python_sitelib}/MythTV/*.py*
%{python_sitelib}/MythTV/tmdb
%{python_sitelib}/MythTV/ttvdb
%{python_sitelib}/MythTV/wikiscripts

%files docs
%defattr(-,root,root)
%doc AUTHORS COPYING FAQ PACKAGE-LICENSING README* UPGRADING VERSION keys.txt
%doc contrib database docs/*.html docs/*.png docs/*.txt

%changelog
* Fri Jan 13 2012 Silvan Calarco <silvan.calarco@...> 0.24-2mamba
- rebuilt in devel

* Mon Mar 07 2011 gil <puntogil@...> 0.24-1mamba
- package created by autospec