]> git.pld-linux.org Git - packages/mythtv.git/blobdiff - mythtv.spec
- exclude perl scripts that won't work without perl bindings
[packages/mythtv.git] / mythtv.spec
index 5f95a536a99ee4426dd7496ac1bdd6da56aa9233..738ac69e1a450ec589c757456311a767a9d60360 100644 (file)
@@ -2,6 +2,13 @@
 # - 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 opengl          # opengl vsync
+%bcond_without  pulseaudio     # pulseaudio support
 %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_with    firewire        # ieee1394 (NFY)
-%bcond_without xvmc            # do not use XvMCW
+%bcond_without firewire        # ieee1394 (NFY)
 %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
+%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
 
-%define snap rc1
-#%define rel 0.1
+%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:       0.%{snap}.1
+Version:       0.26.0
+Release:       2
 License:       GPL v2
 Group:         Applications/Multimedia
-Source0:       ftp://ftp.osuosl.org/pub/mythtv/%{name}-%{version}%{snap}.tar.bz2
-# Source0-md5: 049e93d78d5370351539c9a23b47e1af
+Source0:       ftp://ftp.osuosl.org/pub/mythtv/%{name}-%{version}.tar.bz2
+# Source0-md5: f57066bf75e6f14824c494d41639f4f9
 Source1:       mythbackend.sysconfig
 Source2:       mythbackend.init
 Source3:       mythbackend.logrotate
+Source4:       %{name}.tmpfiles
 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
+Patch1:                system-zeromq.patch
+Patch20:       %{name}-compile_fixes_for_qt_4_7.patch
+Patch30:       %{name}-dshowserver-0.22.patch
 URL:           http://www.mythtv.org/
-%{?without_nvidia_headers:BuildConflicts:      xorg-driver-video-nvidia-libs}
-%{?without_nvidia_headers:BuildConflicts: xorg-driver-video-nvidia-devel}
 BuildRequires: Mesa-libGLU-devel
-#BuildRequires:        OpenGL-GLU-devel
 BuildRequires: OpenGL-devel
 BuildRequires: Qt3Support-devel
 BuildRequires: QtCore-devel
@@ -84,8 +89,8 @@ BuildRequires:        QtSql-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
@@ -95,23 +100,37 @@ BuildRequires:     libdts-devel
 BuildRequires: libdvdnav-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
+%if %{with perl}
+BuildRequires: perl-DBI
+BuildRequires: perl-DBD-mysql
+BuildRequires: perl-HTTP-Message
+BuildRequires: perl-libwww
+BuildRequires: perl-Net-UPnP-QueryResponse
+BuildRequires: perl-Net-UPnP-ControlPoint
+BuildRequires: perl-IO-Socket-INET6
+%endif
 BuildRequires: pkgconfig
+%{?with_pulseaudio:BuildRequires: 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_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
+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
@@ -119,6 +138,11 @@ 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:
@@ -160,6 +184,7 @@ Requires:   mythtv = %{version}-%{release}
 Suggests:      mysql
 Provides:      group(mythtv)
 Provides:      user(mythtv)
+Conflicts:     logrotate < 3.8.0
 
 %description backend
 MythTV provides a unified graphical interface for recording and
@@ -179,7 +204,7 @@ mythtv.
 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)
@@ -207,8 +232,7 @@ mythtv.
 
 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
@@ -312,7 +336,7 @@ Ten pakiet zawiera moduły Perla do tworzenia dodatków dla mythtv.
 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.
@@ -320,18 +344,29 @@ MythTV Python bindings.
 %description -n python-MythTV -l pl.UTF-8
 Ten pakiet zawiera moduły Pythona do tworzenia dodatków dla mythtv.
 
-%prep
+%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.
 
-%setup -q -n %{name}-%{version}%{snap}
+%prep
 
+%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
+%patch1  -p1
 %{?with_dshowserver:%patch20 -p1}
+#%patch30 -p1
+
 rm -rf database/old # not supported in PLD
 
 # lib64 fix - enable to update patch
@@ -380,7 +415,7 @@ chmod +x qmake-wrapper.sh
 
 # 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
 
@@ -395,7 +430,7 @@ fi
 ./configure \
        --prefix=%{_prefix} \
        --libdir=%{_libdir} \
-       --libdir-name=`basename %{_libdir}` \
+       --libdir-name=%{_lib} \
        --mandir=%{_mandir} \
        --disable-distcc --disable-ccache \
        --compile-type=%{?debug:debug}%{!?debug:release} \
@@ -408,61 +443,57 @@ fi
                %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_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
-#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}
+               $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}
@@ -478,6 +509,10 @@ for p in mythfrontend; do
        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.
@@ -487,17 +522,14 @@ s,%%lang(zh_tw),%%lang(zh_TW),
 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}
@@ -533,41 +565,59 @@ fi
 %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
+%if %{without perl}
+%exclude %{_datadir}/mythtv/internetcontent/nv_perl_libs
+%endif
+%{_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
+%dir %{_datadir}/mythtv/fonts
+%{_datadir}/mythtv/fonts/*.ttf
+%{_datadir}/mythtv/fonts/*.otf
 %dir %{_datadir}/mythtv/i18n
 %if %{with dshowserver}
 %{_datadir}/mythtv/dshowcodecs
@@ -586,9 +636,11 @@ fi
 
 %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)
@@ -599,17 +651,27 @@ fi
 %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}/MythTV
 %{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
This page took 0.043006 seconds and 4 git commands to generate.