%define majver %(echo %version | cut -d. -f1-2) Name: mythtv Version: 0.27 Release: 1mamba Summary: A digital video recorder (DVR) application Group: Applications/Multimedia Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.mythtv.org/ Source0: https://github.com/MythTV/mythtv.git/v%{version}/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 Patch0: mythtv-0.26.0-libva-1.2.1.patch 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: 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: libmysql5-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: libmysql5-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 BuildRequires: python-urlgrabber 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 #%patch0 -p2 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 cd mythtv ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --libdir-name=%{_lib} \ --mandir=%{_mandir} \ --extra-cflags="%{optflags} -fomit-frame-pointer -fno-devirtualize" \ --extra-cxxflags="%{optflags} -fomit-frame-pointer -fno-devirtualize" \ %ifarch %{ix86} --cpu=i686 \ --tune=i686 \ %endif --enable-mmx \ --qmake=%{_qt4_qmake} \ --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-libfaac \ --enable-sdl \ --enable-libx264 \ --compile-type=release \ --enable-debug \ --disable-distcc \ --enable-nonfree # --enable-libvpc \ %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" make INSTALL_ROOT=%{buildroot} install -C mythtv 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 # 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 mythtv/settings.pro %{buildroot}%{_datadir}/mythtv/build/ %ifarch x86_64 mv %{buildroot}%{_prefix}/lib/libmythzmq.* %{buildroot}%{_libdir} mv %{buildroot}%{_prefix}/lib/pkgconfig %{buildroot}%{_libdir} %endif rm -rf %{buildroot}%{perl_sitearch}/auto/MythTV/.packlist rm -rf %{buildroot}%{_libdir}/libmyth*.*a rm -rf %{buildroot}%{_libdir}/mythtv/filters/*.*a %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}/mythccextractor %{_bindir}/mythcommflag %{_bindir}/mythffmpeg %{_bindir}/mythffplay %{_bindir}/mythffprobe %{_bindir}/mythffserver %{_bindir}/mythfilldatabase %{_bindir}/mythfrontend %{_bindir}/mythhdhomerun_config %{_bindir}/mythjobqueue %{_bindir}/mythlcdserver %{_bindir}/mythlogserver %{_bindir}/mythmediaserver %{_bindir}/mythmetadatalookup %{_bindir}/mythpreviewgen %{_bindir}/mythreplex %{_bindir}/mythscreenwizard %{_bindir}/mythshutdown %{_bindir}/mythtranscode %{_bindir}/mythtv-setup %{_bindir}/mythtvsetup #%{_bindir}/mythtvosd %{_bindir}/mythutil %{_bindir}/mythwelcome #%{_bindir}/mythwikiscripts %dir %{_libdir}/mythtv %dir %{_libdir}/mythtv/filters %{_libdir}/mythtv/filters/*.so %dir %{_libdir}/mythtv/plugins %dir %{_datadir}/mythtv %{_datadir}/mythtv/*.xml %{_datadir}/mythtv/*.pl %{_datadir}/mythtv/backend-config %{_datadir}/mythtv/bindings %{_datadir}/mythtv/fonts %{_datadir}/mythtv/hardwareprofile %{_datadir}/mythtv/html %{_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}/libmythbase-%{majver}.so.* %{_libdir}/libmythavdevice.so.* %{_libdir}/libmythavfilter.so.* %{_libdir}/libmythavformat.so.* %{_libdir}/libmythavutil.so.* %{_libdir}/libmythfreemheg-*.so.* %{_libdir}/libmythhdhomerun-*.so.* #%{_libdir}/libmythlivemedia-*.so.* %{_libdir}/libmythmetadata-*.so.* %{_libdir}/libmythnzmqt.so.* %{_libdir}/libmythpostproc.so.* %{_libdir}/libmythprotoserver-%{majver}.so.* %{_libdir}/libmythqjson.so.* %{_libdir}/libmythswresample.so.* %{_libdir}/libmythservicecontracts-%{majver}.so.* %{_libdir}/libmythswscale.so.* %{_libdir}/libmythtv-*.so.* %{_libdir}/libmythui-*.so.* %{_libdir}/libmythupnp-*.so.* %{_libdir}/libmythzmq.so.* #%doc mythtv/AUTHORS mythtv/COPYING %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/libmythbase %{_includedir}/mythtv/libmythservicecontracts %{_includedir}/mythtv/libmythui %{_includedir}/mythtv/libpostproc %dir %{_includedir}/mythtv/libswresample %{_includedir}/mythtv/libswresample/*.h %{_includedir}/mythtv/libswscale %{_includedir}/mythtv/metadata %{_includedir}/mythtv/mpeg2dec %dir %{_includedir}/mythtv/nzmqt %{_includedir}/mythtv/nzmqt/nzmqt.hpp %{_includedir}/mythtv/upnp %dir %{_includedir}/mythtv/QJson %{_includedir}/mythtv/QJson/* %dir %{_includedir}/mythtv/zeromq %{_includedir}/mythtv/zeromq/* %{_libdir}/libmyth-*.so %{_libdir}/libmythavcodec.so %{_libdir}/libmythavdevice.so %{_libdir}/libmythavfilter.so %{_libdir}/libmythavformat.so %{_libdir}/libmythavutil.so %{_libdir}/libmythbase-%{majver}.so %{_libdir}/libmythfreemheg-*.so %{_libdir}/libmythhdhomerun-*.so #%{_libdir}/libmythlivemedia-*.so %{_libdir}/libmythmetadata-*.so %{_libdir}/libmythnzmqt.so %{_libdir}/libmythpostproc.so %{_libdir}/libmythprotoserver-%{majver}.so %{_libdir}/libmythqjson.so %{_libdir}/libmythservicecontracts-%{majver}.so %{_libdir}/libmythswresample.so %{_libdir}/libmythswscale.so %{_libdir}/libmythtv-*.so %{_libdir}/libmythui-*.so %{_libdir}/libmythupnp-*.so %{_libdir}/libmythzmq.so %{_datadir}/mythtv/build %{_libdir}/pkgconfig/libmythzmq.pc %files -n perl-MythTV %defattr(-,root,root) %dir %{perl_sitelib}/IO %dir %{perl_sitelib}/IO/Socket %dir %{perl_sitelib}/IO/Socket/INET %{perl_sitelib}/IO/Socket/INET/MythTV.pm %{perl_sitelib}/MythTV.pm %dir %{perl_sitelib}/MythTV %{perl_sitelib}/MythTV/*.pm %dir %{perl_sitearch}/auto/MythTV %files -n python-MythTV %defattr(-,root,root) %{_bindir}/mythpython %{_bindir}/mythwikiscripts %{python_sitelib}/MythTV-*.egg-info %dir %{python_sitelib}/MythTV %{python_sitelib}/MythTV/*.py* %dir %{python_sitelib}/MythTV/tmdb %{python_sitelib}/MythTV/tmdb/* %dir %{python_sitelib}/MythTV/tmdb3 %{python_sitelib}/MythTV/tmdb3/* %dir %{python_sitelib}/MythTV/ttvdb %{python_sitelib}/MythTV/ttvdb/* %dir %{python_sitelib}/MythTV/utility %{python_sitelib}/MythTV/utility/* %dir %{python_sitelib}/MythTV/wikiscripts %{python_sitelib}/MythTV/wikiscripts/* #%files docs #%defattr(-,root,root) #%doc mythtv/FAQ PACKAGE-LICENSING README* UPGRADING VERSION keys.txt ##%doc contrib database %changelog * Sun May 17 2015 Silvan Calarco 0.27-1mamba - update to 0.27 * Tue Aug 20 2013 Automatic Build System 0.26.1-1mamba - automatic version update by autodist * Wed Aug 07 2013 Automatic Build System 0.26.0-1mamba - automatic version update by autodist * Tue Jul 17 2012 Automatic Build System 0.25.2-1mamba - automatic version update by autodist * Tue Jun 05 2012 Automatic Build System 0.25.1-1mamba - automatic version update by autodist * Sun Apr 15 2012 Automatic Build System 0.25-1mamba - automatic version update by autodist * Wed Jan 25 2012 Automatic Build System 0.24.2-1mamba - automatic version update by autodist * Fri Jan 13 2012 Silvan Calarco 0.24-2mamba - rebuilt in devel * Mon Mar 07 2011 gil 0.24-1mamba - package created by autospec