# - bconds: altivec joystick lcd
# - lcd? (app-misc/lcdproc)
# - 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 lirc # lirc support
%bcond_without alsa # alsa support
%bcond_without oss # oss support
-%bcond_with arts # arts support
%bcond_without jack # jack audio connection kit
%bcond_without pulseaudio # pulseaudio support
%bcond_without opengl # opengl vsync
%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 perl
+%bcond_with python
%bcond_with nvidia_headers # build vdpau support with nvidia headers
- # instead of libvdpau
+ # instead of libvdpau
# enable mmx automatically on arches having it
%ifarch %{ix86} %{x8664}
%undefine with_dshowserver
%endif
-#%define snap rc2
+%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.22
-Release: 1
+Version: 0.24.1
+Release: 0.2
License: GPL v2
Group: Applications/Multimedia
Source0: ftp://ftp.osuosl.org/pub/mythtv/%{name}-%{version}.tar.bz2
-# Source0-md5: e8f8b5b6a51cd7be700e215b2a1bf2c0
+# Source0-md5: 6870c679619ec58456e76839745411d8
Source1: mythbackend.sysconfig
Source2: mythbackend.init
Source3: mythbackend.logrotate
Source5: pld-mythfrontend.desktop
-# Source5-md5: f37a903ac97463683bebacdf29406951
+# Source5-md5: f37a903ac97463683bebacdf29406951
Source6: pld-mythfrontend.png
-# Source6-md5: bf76bd1463a022e174e4af976a03e678
+# Source6-md5: bf76bd1463a022e174e4af976a03e678
Source20: dshowcodecs
-# Source20-md5: 48327772b9e150f69e1ab8ff44b9a76c
-#Patch100: %{name}-branch.diff
+# Source20-md5: 48327772b9e150f69e1ab8ff44b9a76c
Patch0: %{name}-configure.patch
-#Patch1: %{name}-mythstream.patch
-#Patch2: %{name}-pl.patch
-Patch3: %{name}-sbinpath.patch
-#Patch4: %{name}-dvdnav-shared.patch
-Patch20: %{name}-dshowserver_trunk.patch
+Patch10: %{name}-sbinpath.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-libs}
-%{!?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: QtWebKit-devel
BuildRequires: QtXml-devel
%{?with_alsa:BuildRequires: alsa-lib-devel}
-%{?with_arts:BuildRequires: arts-devel >= 13:0.9.5}
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}
-%{?without_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
-%{!?with_nvidia_headers:%{?with_vdpau:BuildRequires: libvdpau-devel}}
+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
+%{!?with_pulseaudio:BuildConflicts: pulseaudio-devel}
+%{!?with_nvidia_headers:BuildConflicts: xorg-driver-video-nvidia-devel}
# for Perl bindings
BuildRequires: perl-ExtUtils-MakeMaker
+Conflicts: logrotate < 3.8.0
ExclusiveArch: %{ix86} %{x8664} ppc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%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:
Ten pakiet zawiera tylko oprogramowanie serwerowe, udostępniające
usługi przechwytywania i kodowania obrazu i dźwięku. Aby było
przydatne, wymaga instalacji mythtv-frontend - na tym samym systemie,
-albo innym osiągalnym po sieci.
+albo innym osiągalnym w sieci.
%package frontend
Summary: Client component of mythtv (a PVR)
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 po
-sieci.
+mythtv-backend - na tym samym systemie, albo innym osiągalnym w sieci.
%package setup
Summary: Setup the mythtv backend
Summary: MythTV Python bindings
Summary(pl.UTF-8): Interfejs Pythona dla MythTV
Group: Libraries
-Requires: MySQL-python
+Requires: python-MySQLdb
%description -n python-MythTV
MythTV Python bindings.
%prep
-%setup -q -n %{name}-%{version}
-
+%setup -q
-%patch0 -p1
-#%patch1 -p1
-#%patch2 -p1
-%patch3 -p1
-#%patch4 -p1
+%{__sed} -i -e 's,/var/log/mythfilldatabase.log,/var/log/mythtv/mythfilldatabase.log,' \
+ programs/mythbackend/housekeeper.cpp programs/mythwelcome/welcomedialog.cpp
+%patch0 -p1
+%patch10 -p1
%{?with_dshowserver:%patch20 -p1}
+#%patch30 -p1
+
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
./configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
- --libdir-name=`basename %{_libdir}` \
+ --libdir-name=%{_lib} \
--mandir=%{_mandir} \
--disable-distcc --disable-ccache \
--compile-type=%{?debug:debug}%{!?debug:release} \
%ifarch athlon
--arch=athlon \
%else
- --cpu=i386 --tune=pentium4 \
+ --cpu=%{_target_cpu} --tune=pentium4 \
%endif
%endif
+ %ifarch i386 i486 i586
+ --enable-disable-mmx-for-debugging \
+ %endif
%ifarch %{x8664}
--arch=x86_64 \
%endif
%{?with_mmx:--enable-mmx} \
%endif
%{?with_dvb:--enable-dvb --dvb-path=%{_includedir}} \
- --%{?with_arts:en}%{!?with_arts:dis}able-audio-arts \
--%{?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_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
-#sed -i -e 's/usr\/\/usr/usr/g' config.ep
-
-
+#%{_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}
%{__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}
# desktop entries
install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
%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}
%attr(755,root,root) %{_bindir}/mythtranscode
%attr(755,root,root) %{_bindir}/mythreplex
%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
%attr(754,root,root) /etc/rc.d/init.d/mythbackend
%dir %{_libdir}/mythtv/filters
%dir %{_libdir}/mythtv/plugins
%attr(755,root,root) %{_libdir}/mythtv/filters/*.so
-%{_datadir}/mythtv/*.ttf
+%{_datadir}/mythtv/fonts/*.ttf
%dir %{_datadir}/mythtv/i18n
%if %{with dshowserver}
%{_datadir}/mythtv/dshowcodecs
%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