%define MAJver %(echo %version | cut -d. -f1) %define majver %(echo %version | cut -d. -f1-2) Name: mythtv Version: 33.1 Release: 1mamba Summary: A digital video recorder (DVR) application Group: Applications/Multimedia Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://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.service 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 Patch1: mythtv-31.0-gcc-11.patch Patch2: mythtv-31.0-qt5-5.12.patch Patch3: mythtv-32.0-glibc-2.35.patch License: GPL, LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libQt5WebKit-devel BuildRequires: libSDL2-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXrandr-devel BuildRequires: libXv-devel BuildRequires: libalsa-devel BuildRequires: libaom-devel BuildRequires: libass-devel BuildRequires: libavc1394-devel BuildRequires: libbluray-devel BuildRequires: libbzip2-devel BuildRequires: libdav1d-devel BuildRequires: libdrm-devel BuildRequires: libexpat-devel BuildRequires: libfreetype-devel BuildRequires: libgcc BuildRequires: libglvnd-devel BuildRequires: libgnutls-devel BuildRequires: libiec61883-devel BuildRequires: libjack-devel BuildRequires: liblame-devel BuildRequires: liblzma-devel BuildRequires: liblzo-devel BuildRequires: libopenssl-devel BuildRequires: libperl BuildRequires: libpulseaudio-devel BuildRequires: libpython3-devel BuildRequires: libraw1394-devel BuildRequires: libsamplerate-devel BuildRequires: libsoundtouch-devel BuildRequires: libstdc++6-devel BuildRequires: libsystemd-devel BuildRequires: libtag-devel BuildRequires: libudev-devel BuildRequires: libva-devel BuildRequires: libvdpau-devel BuildRequires: libwayland-devel BuildRequires: libx264-devel BuildRequires: libx265-devel BuildRequires: libxcb-devel BuildRequires: libxml2-devel BuildRequires: libxvidcore-devel BuildRequires: libz-devel BuildRequires: libzip-devel BuildRequires: perl-DBD-mysql BuildRequires: perl-DBI BuildRequires: perl-DateTime BuildRequires: perl-HTML-Parser BuildRequires: perl-HTML-Tree BuildRequires: perl-HTTP-Message BuildRequires: perl-IO-Socket-INET6 BuildRequires: perl-Magick BuildRequires: perl-Net-UPnP BuildRequires: perl-TimeDate BuildRequires: perl-XML-Simple BuildRequires: perl-XML-TreeBuilder BuildRequires: perl-devel BuildRequires: perl-libwww BuildRequires: python3.7dist(mysqlclient) BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtscript-devel ## AUTOBUILDREQ-END BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: nasm BuildRequires: yasm-devel BuildRequires: xproto-devel Requires: libmythtv = %{?epoch:%epoch:}%{version}-%{release} %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} %description -n libmythtv-devel MythTV provides a unified graphical interface for recording and viewing television programs. This package contains libraries and header files needed 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: python3.7dist(mysqlclient) %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}, %debug_package %prep %setup -q #-D -T #:<< _EOF %patch1 -p1 #%patch2 -p1 %patch3 -p1 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}. #cp -a %{SOURCE10} %{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 #:<< _EOF 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=%{_qt5_qmake} \ --enable-pthreads \ --enable-ffmpeg-pthreads \ --enable-joystick-menu \ --enable-audio-alsa \ --enable-audio-jack \ --enable-x11 \ --x11-path=%{_includedir} \ --enable-lirc \ --enable-firewire \ --enable-dvb \ --enable-libmp3lame \ --enable-libxvid \ --enable-vaapi \ --enable-vdpau \ --enable-sdl \ --enable-libx264 \ --enable-libx265 \ --compile-type=release \ --enable-debug \ --disable-distcc # --enable-libfftw3 \ # --enable-nonfree # --enable-audio-oss \ # --enable-opengl-video \ # --enable-crystalhd \ # --enable-libvorbis \ # --enable-libtheora \ # --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}%{_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 -D -m0755 %{SOURCE7} %{buildroot}%{_unitdir}/mythbackend.service #install -p -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/sysconfig/mythbackend #install -p -m 644 %{SOURCE9} %{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 #mv %{buildroot}%{_prefix}/MythTV/ttvdb %{buildroot}%{_datadir}/mythtv/ %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 -n libmythtv -p /sbin/ldconfig %postun -n libmythtv -p /sbin/ldconfig %files %defattr(-,root,root) %dir %{_sysconfdir}/mythtv %config(noreplace) %{_sysconfdir}/mythtv/mysql.txt %config(noreplace) %{_sysconfdir}/mythtv/config.xml %attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv %attr(-,mythtv,mythtv) %dir %{_localstatedir}/cache/mythtv %attr(-,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv %{_bindir}/myth* %{_unitdir}/mythbackend.service %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/externrecorder %{_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}/mythtv/ttvdb %{_datadir}/pixmaps/*.png %{_datadir}/applications/*.desktop %files -n libmythtv %defattr(-,root,root) %{_libdir}/libmyth*.so.* %doc mythtv/AUTHORS LICENSE %files -n libmythtv-devel %defattr(-,root,root) %dir %{_includedir}/mythtv %{_includedir}/mythtv/* %{_libdir}/libmyth*.so %{_datadir}/mythtv/build %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 %{python3_sitelib}/MythTV-*.egg-info %dir %{python3_sitelib}/MythTV %{python3_sitelib}/MythTV/* #%files docs #%defattr(-,root,root) #%doc mythtv/FAQ PACKAGE-LICENSING README* UPGRADING VERSION keys.txt ##%doc contrib database %changelog * Tue Feb 07 2023 Automatic Build System 33.1-1mamba - automatic version update by autodist * Sat May 07 2022 Silvan Calarco 32.0-2mamba - python-MythTV: fix requirement for recent python-mysqlclient-py3 * Fri Mar 04 2022 Automatic Build System 32.0-1mamba - automatic version update by autodist * Mon Nov 29 2021 Automatic Build System 31.0-1mamba - automatic version update by autodist * Wed Apr 20 2016 Automatic Build System 0.28-1mamba - automatic version update by autodist * Tue Feb 02 2016 Automatic Build System 0.27.6-1mamba - automatic version update by autodist * Wed Jul 01 2015 Automatic Build System 0.27.5-1mamba - automatic version update by autodist * 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