# - alpha, sparc, ppc arches?
# - http://outflux.net/software/pkgs/mythtvfs-fuse/
# - vaapi support - check for compatible versions of libva?
+# - bindings:
+# WARNING: disabling Python bindings; missing MySQLdb
+# WARNING: disabling Perl bindings; missing Net::UPnP::QueryResponse
+# WARNING: disabling Perl bindings; missing Net::UPnP::ControlPoint
+# - dozen of unpackaged files
#
# Specfile for MythTV
#
%bcond_without oss # oss support
%bcond_without jack # jack audio connection kit
%bcond_without pulseaudio # pulseaudio support
-%bcond_without opengl # opengl vsync
%bcond_without dvb # DVB support
%bcond_without xrandr # disable X11 resolution switching
%bcond_without ivtv # ivtv support (PVR-250, PVR-350) NFY
%bcond_without iptv
%bcond_without firewire # ieee1394 (NFY)
-%bcond_without xvmc # do not use XvMCW
%bcond_without vdpau # disable nvidia vdpau support
%bcond_without fftw3 # disable fftw3 support
%bcond_with mmx # enable MMX
%bcond_without nellymoserdec
%bcond_with vaapi # enable vaapi
%bcond_with dshowserver # enable directshow codecs server
-%bcond_with directfb
-%bcond_with nvidia_headers # build vdpau support with nvidia headers
- # instead of libvdpau
+%bcond_with perl
+%bcond_with php
+%bcond_with python
+%bcond_with nvidia_headers # build vdpau support with nvidia headers
+ # instead of libvdpau
# enable mmx automatically on arches having it
%ifarch %{ix86} %{x8664}
%undefine with_dshowserver
%endif
+%include /usr/lib/rpm/macros.perl
Summary: A personal video recorder (PVR) application
Summary(pl.UTF-8): Osobista aplikacja do nagrywania obrazu (PVR)
Name: mythtv
-Version: 0.23
+Version: 0.26.0
Release: 1
License: GPL v2
Group: Applications/Multimedia
Source0: ftp://ftp.osuosl.org/pub/mythtv/%{name}-%{version}.tar.bz2
-# Source0-md5: 3c58f4f45a550b60fbddfb8726d7fc38
+# Source0-md5: f57066bf75e6f14824c494d41639f4f9
Source1: mythbackend.sysconfig
Source2: mythbackend.init
Source3: mythbackend.logrotate
+Source4: %{name}.tmpfiles
Source5: pld-mythfrontend.desktop
# Source5-md5: f37a903ac97463683bebacdf29406951
Source6: pld-mythfrontend.png
# Source6-md5: bf76bd1463a022e174e4af976a03e678
Source20: dshowcodecs
# Source20-md5: 48327772b9e150f69e1ab8ff44b9a76c
-#Patch100: %{name}-branch.diff
Patch0: %{name}-configure.patch
-#Patch1: %{name}-mythstream.patch
-#Patch2: %{name}-pl.patch
-Patch3: %{name}-sbinpath.patch
-#Patch4: %{name}-dvdnav-shared.patch
-Patch20: %{name}-dshowserver-0.22.patch
+Patch1: system-zeromq.patch
+Patch20: %{name}-compile_fixes_for_qt_4_7.patch
+Patch30: %{name}-dshowserver-0.22.patch
URL: http://www.mythtv.org/
-%{!?with_nvidia_headers:BuildConflicts: xorg-driver-video-nvidia-devel}
-%{?with_nvidia_headers:%{?with_vdpau:BuildRequires: xorg-driver-video-nvidia-devel}}
BuildRequires: Mesa-libGLU-devel
-#BuildRequires: OpenGL-GLU-devel
BuildRequires: OpenGL-devel
BuildRequires: Qt3Support-devel
BuildRequires: QtCore-devel
BuildRequires: QtXml-devel
%{?with_alsa:BuildRequires: alsa-lib-devel}
BuildRequires: ffmpeg-devel
+%{?with_fftw3:BuildRequires: fftw3-devel,fftw3-single-devel}
BuildRequires: freetype-devel >= 1:2.0.0
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
BuildRequires: lame-libs-devel
BuildRequires: libdts-devel
%{?with_dvb:BuildRequires: libdvb-devel}
BuildRequires: libdvdnav-devel
-%{?with_fftw3:BuildRequires: fftw3-devel,fftw3-single-devel}
%{?with_firewire:BuildRequires: libiec61883-devel}
%{?with_firewire:BuildRequires: libraw1394-devel}
%{!?with_nvidia_headers:%{?with_vdpau:BuildRequires: libvdpau-devel}}
BuildRequires: linux-libc-headers >= 7:2.6.10
%{?with_lirc:BuildRequires: lirc-devel}
BuildRequires: mysql-devel
-#BuildRequires: patchutils
BuildRequires: perl-devel
BuildRequires: perl-tools-pod
BuildRequires: pkgconfig
-BuildRequires: python-devel
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
-%{!?with_pulseaudio:BuildConflicts: pulseaudio-devel}
+BuildRequires: python-devel
BuildRequires: qt4-build
BuildRequires: qt4-qmake
+BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.228
BuildRequires: sed >= 4.0
BuildRequires: which
+%{?with_nvidia_headers:%{?with_vdpau:BuildRequires: xorg-driver-video-nvidia-devel}}
BuildRequires: xorg-lib-libXext-devel
-%{?with_xvmc:BuildRequires: xorg-lib-libXvMC-devel}
BuildRequires: xorg-lib-libXxf86vm-devel
+BuildRequires: zeromq-devel
+%{!?with_pulseaudio:BuildConflicts: pulseaudio-devel}
+%{!?with_nvidia_headers:BuildConflicts: xorg-driver-video-nvidia-devel}
# for Perl bindings
BuildRequires: perl-ExtUtils-MakeMaker
ExclusiveArch: %{ix86} %{x8664} ppc
%define myth_api_version %(echo %{version} | cut -d. -f1,2)
+# libmythavdevice.so.52.2.1 missing -l???: sem_init sem_destroy sem_post sem_timedwait
+# libmythavcodec.so.52.86.1 missing -lpthread: pthread_create pthread_join
+%define skip_post_check_so libmythavdevice.so libmythavcodec.so
+%define no_install_post_check_so 1
+
%description
MythTV implements the following PVR features, and more, with a unified
graphical interface:
Suggests: mysql
Provides: group(mythtv)
Provides: user(mythtv)
+Conflicts: logrotate < 3.8.0
%description backend
MythTV provides a unified graphical interface for recording and
Ten pakiet zawiera tylko oprogramowanie klienckie, dostarczające
frontend do odtwarzania i konfiguracji. Wymaga dostępu do instalacji
-mythtv-backend - na tym samym systemie, albo innym osiągalnym w
-sieci.
+mythtv-backend - na tym samym systemie, albo innym osiągalnym w sieci.
%package setup
Summary: Setup the mythtv backend
%description -n python-MythTV -l pl.UTF-8
Ten pakiet zawiera moduły Pythona do tworzenia dodatków dla mythtv.
+%package -n php-MythTV
+Summary: MythTV PHP bindings
+Summary(pl.UTF-8): Interfejs PHP dla MythTV
+Group: Libraries
+
+%description -n php-MythTV
+MythTV PHP bindings.
+
+%description -n php-MythTV -l pl.UTF-8
+Ten pakiet zawiera moduły PHP do tworzenia dodatków dla mythtv.
+
%prep
%setup -q
+%{__sed} -i -e 's,/var/log/mythfilldatabase.log,/var/log/mythtv/mythfilldatabase.log,' \
+ programs/mythbackend/housekeeper.cpp programs/mythwelcome/welcomedialog.cpp
-%patch0 -p1
-#%patch1 -p1
-#%patch2 -p1
-%patch3 -p1
-#%patch4 -p1
+%patch0 -p1
+%patch1 -p1
+%{?with_dshowserver:%patch20 -p1}
+#%patch30 -p1
-%{?with_dshowserver:%patch20 -p0}
rm -rf database/old # not supported in PLD
# lib64 fix - enable to update patch
# move perl bindings to vendor prefix
sed -i -e 's#perl Makefile.PL#%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"#' \
- bindings/perl/perl.pro
+ bindings/perl/Makefile
%build
--%{?with_alsa:en}%{!?with_alsa:dis}able-audio-alsa \
--%{?with_oss:en}%{!?with_oss:dis}able-audio-oss \
--%{?with_jack:en}%{!?with_jack:dis}able-audio-jack \
- --%{?with_opengl:en}%{!?with_opengl:dis}able-opengl-vsync \
--%{?with_lirc:en}%{!?with_lirc:dis}able-lirc \
--%{?with_firewire:en}%{!?with_firewire:dis}able-firewire \
--%{?with_xrandr:en}%{!?with_xrandr:dis}able-xrandr \
- --%{?with_xvmc:en}%{!?with_xvmc:dis}able-xvmc \
--%{?with_ivtv:en}%{!?with_ivtv:dis}able-ivtv \
--%{?with_iptv:en}%{!?with_iptv:dis}able-iptv \
--%{?with_nellymoserdec:en}%{!?with_nellymoserdec:dis}able-decoder=nellymoser \
--%{?with_vaapi:en}%{!?with_vaapi:dis}able-vaapi \
--%{?with_vdpau:en}%{!?with_vdpau:dis}able-vdpau \
- --%{?with_directfb:en}%{!?with_directfb:dis}able-directfb \
--%{?with_fftw3:en}%{!?with_fftw3:dis}able-libfftw3 \
--enable-xv \
--enable-x11 \
-%{_libdir}/qt4/bin/qmake mythtv.pro
+#%{_libdir}/qt4/bin/qmake mythtv.pro
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{logrotate.d,sysconfig} \
$RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_desktopdir}} \
- $RPM_BUILD_ROOT/var/{cache,lib,log,run}/mythtv \
+ $RPM_BUILD_ROOT/var/{cache,log,run}/mythtv \
+ $RPM_BUILD_ROOT/var/lib/mythtv/tmp \
$RPM_BUILD_ROOT%{_libdir}/mythtv \
$RPM_BUILD_ROOT%{_libdir}/mythtv/plugins \
- $RPM_BUILD_ROOT%{_pixmapsdir}
+ $RPM_BUILD_ROOT%{_pixmapsdir} \
+ $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
%{__make} install \
INSTALL_ROOT=$RPM_BUILD_ROOT
-# required to build some plugins
-# install libs/libavcodec/*.h $RPM_BUILD_ROOT%{_includedir}/mythtv \
-# libs/libavformat/*.h $RPM_BUILD_ROOT%{_includedir}/mythtv \
-# libs/libavutil/*.h $RPM_BUILD_ROOT%{_includedir}/mythtv
-
# Install the files that we added on top of mythtv's own stuff
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mythbackend
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mythbackend
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/mythbackend
-%{?with_dshowserver:install %{SOURCE20} $RPM_BUILD_ROOT%{_datadir}/mythtv}
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mythbackend
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mythbackend
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/mythbackend
+%{?with_dshowserver:cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_datadir}/mythtv}
+
+install %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
# desktop entries
install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
done > $p.lang
done
+for l in $RPM_BUILD_ROOT%{_datadir}/mythtv/locales/*.xml; do
+ echo $l | sed -e "s,^$RPM_BUILD_ROOT\(.*/\(.*\).xml\),%%lang(\2) \1,"
+done > mythbackend.lang
+
# glibc language codes. attempt was made to change it on libmyth side,
# but that was just asking for trouble due large coverage of
# language.lower() usage.
s,%%lang(pt_br),%%lang(pt_BR),
' *.lang
-rm -rf mythtvosd mythwelcome mythlcdserver
-install -d mythtvosd mythwelcome
-cp -a programs/mythtvosd/{README,*.xml} mythtvosd
+rm -rf mythwelcome mythlcdserver
+install -d mythwelcome
cp -a programs/mythwelcome/README mythwelcome
cp -a programs/mythlcdserver/README mythlcdserver
%clean
rm -rf $RPM_BUILD_ROOT
-# Empty newline after %addusertogroup %{name} video below is intended.
-# Do not remove it until rpm stop joining lines with that macro.
%pre backend
%groupadd -g 149 %{name}
%useradd -u 149 -d /var/lib/mythtv -g %{name} -c "MythTV User" %{name}
%files
%defattr(644,root,root,755)
%doc README* UPGRADING AUTHORS FAQ
-%doc docs contrib config
-%doc keys.txt mythtvosd mythwelcome mythlcdserver
+%doc docs contrib
+%doc keys.txt mythwelcome mythlcdserver
-%files backend
+%files backend -f mythbackend.lang
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/mythbackend
-%attr(755,root,root) %{_sbindir}/mythcommflag
+%attr(755,root,root) %{_bindir}/mythbackend
+%attr(755,root,root) %{_bindir}/mythcommflag
%attr(755,root,root) %{_bindir}/mythfilldatabase
-%attr(755,root,root) %{_sbindir}/mythjobqueue
-%attr(755,root,root) %{_sbindir}/mythlcdserver
+%attr(755,root,root) %{_bindir}/mythjobqueue
+%attr(755,root,root) %{_bindir}/mythlcdserver
+%attr(755,root,root) %{_bindir}/mythlogserver
+%attr(755,root,root) %{_bindir}/mythmediaserver
%attr(755,root,root) %{_bindir}/mythtranscode
%attr(755,root,root) %{_bindir}/mythreplex
+%attr(755,root,root) %{_bindir}/mythffmpeg
+%attr(755,root,root) %{_bindir}/mythpreviewgen
+%attr(755,root,root) %{_bindir}/mythccextractor
+%attr(755,root,root) %{_bindir}/mythmetadatalookup
+%attr(755,root,root) %{_bindir}/mythutil
+
%attr(775,root,mythtv) %dir /var/lib/mythtv
+%attr(700,root,mythtv) %dir /var/lib/mythtv/tmp
%attr(775,root,mythtv) %dir /var/cache/mythtv
%attr(775,root,mythtv) %dir /var/run/mythtv
+/usr/lib/tmpfiles.d/%{name}.conf
%attr(754,root,root) /etc/rc.d/init.d/mythbackend
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mythbackend
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mythbackend
%attr(775,root,mythtv) %dir %{_localstatedir}/log/mythtv
+%{_datadir}/mythtv/backend-config
+%{_datadir}/mythtv/html
%files frontend -f mythfrontend.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mythfrontend
%attr(755,root,root) %{_bindir}/mythshutdown
%attr(755,root,root) %{_bindir}/mythavtest
-%attr(755,root,root) %{_bindir}/mythtvosd
%attr(755,root,root) %{_bindir}/mythwelcome
%dir %{_datadir}/mythtv
%dir %{_datadir}/mythtv/themes
+%{_datadir}/mythtv/internetcontent
+%{_datadir}/mythtv/metadata
%dir %{_libdir}/mythtv
%{_datadir}/mythtv/*.xml
%dir %{_libdir}/mythtv/filters
%dir %{_libdir}/mythtv/plugins
%attr(755,root,root) %{_libdir}/mythtv/filters/*.so
-%{_datadir}/mythtv/*.ttf
+%{_datadir}/mythtv/fonts/*.ttf
+%{_datadir}/mythtv/fonts/*.otf
%dir %{_datadir}/mythtv/i18n
%if %{with dshowserver}
%{_datadir}/mythtv/dshowcodecs
%files -n libmyth
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so*
+%attr(755,root,root) %{_libdir}/lib*.so.*
%attr(755,root,root) %{_libdir}/lib*.a
+%dir %{_datadir}/mythtv
%{_datadir}/mythtv/*.pl
+%{_datadir}/mythtv/hardwareprofile
%files -n libmyth-devel
%defattr(644,root,root,755)
%files -n libmyth-static
%defattr(644,root,root,755)
+%if %{with perl}
%files -n perl-MythTV
%defattr(644,root,root,755)
%{perl_vendorlib}/MythTV.pm
%dir %{perl_vendorlib}/IO/Socket/INET
%{perl_vendorlib}/IO/Socket/INET/MythTV.pm
%exclude %{perl_vendorarch}/auto/MythTV/.packlist
+%endif
+%if %{with python}
%files -n python-MythTV
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/mythpython
%dir %{py_sitescriptdir}/MythTV
-# XXX: package .py[co] only
%{py_sitescriptdir}/MythTV/*
%{py_sitescriptdir}/*.egg-info
+%endif
+
+%if %{with php}
+%files -n php-MythTV
+%defattr(644,root,root,755)
+%endif