X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=mythtv.spec;h=c1fd5368ff0151f77e06e295f0c488fb45024f2b;hb=f19924616b4fbd75ea1e9bb55656cb456fa76997;hp=e0da34757af130b807123377fa4e2c2eb271c831;hpb=2dcbef4193a2ea8746499e19fe12ca2e76491ba6;p=packages%2Fmythtv.git diff --git a/mythtv.spec b/mythtv.spec index e0da347..c1fd536 100644 --- a/mythtv.spec +++ b/mythtv.spec @@ -1,6 +1,8 @@ # TODO -# - bconds: altivec joystick lcd unichrome xrandr -# - lcd? ( app-misc/lcdproc ) +# - bconds: altivec joystick lcd +# - lcd? (app-misc/lcdproc) +# - icons for desktop entries +# - alpha, sparc, ppc arches? # # Specfile for MythTV # @@ -9,69 +11,85 @@ # to use "--with cpu_autodetect" to let mythtv decide for you. # # Conditional build: -%bcond_with cpu_autodetect # enable CPU autodetection at compile time +%bcond_with cpu_autodetect # enable CPU autodetection at compile time (sets "-march", "-mcpu" compile flags really) %bcond_without lirc # lirc support %bcond_without alsa # alsa support %bcond_without oss # oss support %bcond_without arts # arts support %bcond_without jack # jack audio connection kit -%bcond_without oggvorbis # ogg vorbis +%bcond_with oggvorbis # ogg vorbis (gone?!) %bcond_without opengl # opengl vsync -%bcond_without nvidia # MPEG accel. -%bcond_without dvb # DVB +%bcond_with dvb # DVB support # invalid option +%bcond_without xrandr # disable X11 resolution switching +%bcond_with ivtv # ivtv support (PVR-250, PVR-350) NFY %bcond_with firewire # ieee1394 (NFY) +%bcond_without xvmc # do not use XvMCW +%bcond_with mmx # enable mmx -%if %{with nvidia} -%define with_opengl 1 +# enable mmx automatically on arches having it +%ifarch %{ix86} %{x8664} +%ifnarch i386 i486 i586 i686 +%define with_mmx 1 %endif -# +%endif + +#define _snap 20060905 +#define _rev 11046 +%define _rel 0.1 Summary: A personal video recorder (PVR) application Summary(pl): Osobista aplikacja do nagrywania obrazu (PVR) Name: mythtv -Version: 0.18.1 -Release: 0.17 +Version: 0.20 +Release: %{?_snap:0.%{_snap}.%{_rev}.}%{_rel} License: GPL v2 Group: Applications/Multimedia Source0: http://www.mythtv.org/mc/%{name}-%{version}.tar.bz2 -# Source0-md5: e6cabf88feeaf6ae8f830d3fdf7b113d +# Source0-md5: 52bec1e0fadf7d24d6dcac3f773ddf74 +#Source0: %{name}-%{_snap}.%{_rev}.tar.bz2 Source1: mythbackend.sysconfig Source2: mythbackend.init Source3: mythbackend.logrotate -Source4: mythepg.desktop Source5: mythfrontend.desktop -Source6: mythprofind.desktop -Source7: %{name}.desktop Patch0: %{name}-lib64.patch -Patch1: %{name}-x86_64-configure.patch -Patch2: %{name}-x11.patch +Patch1: mythtv-configure.patch +Patch2: %{name}-mythstream.patch +Patch3: %{name}-ldconfig.patch +#Patch4: %{name}-pl.patch +Patch5: %{name}-sbinpath.patch + +Patch7: %{name}-optflags.patch +#Patch8: %{name}-branch.diff URL: http://www.mythtv.org/ -BuildRequires: XFree86-devel #BuildRequires: DirectFB-devel +BuildRequires: XFree86-devel %{?with_alsa:BuildRequires: alsa-lib-devel} %{?with_arts:BuildRequires: arts-devel >= 13:0.9.5} -%{?with_dvb:BuildRequires: libdvb-devel} -%{?with_jack:BuildRequires: jack-audio-connection-kit-devel} -%{?with_oggvorbis:BuildRequires: libvorbis-devel} -%if %{with firewire} -BuildRequires: libraw1394-devel -BuildRequires: libavc1394-devel -BuildRequires: libiec61883-devel # missing in PLD? -%endif BuildRequires: freetype-devel >= 1:2.0.0 -BuildRequires: gcc-c++ +%{?with_jack:BuildRequires: jack-audio-connection-kit-devel} BuildRequires: lame-libs-devel +%{?with_xvmc:BuildRequires: libXvMCW-devel} +%{?with_firewire:BuildRequires: libavc1394-devel} +%{?with_dvb:BuildRequires: libdvb-devel} +BuildRequires: libdvdnav-devel +%{?with_firewire:BuildRequires: libiec61883-devel} +%{?with_firewire:BuildRequires: libraw1394-devel} +%{?with_oggvorbis:BuildRequires: libvorbis-devel} BuildRequires: linux-libc-headers >= 7:2.6.10 %{?with_lirc:BuildRequires: lirc-devel} BuildRequires: mysql-devel -%{?with_nvidia:BuildRequires: X11-driver-nvidia-devel} -%{?with_opengl:BuildRequires: X11-driver-nvidia-devel} +BuildRequires: patchutils BuildRequires: qmake >= 6:3.2.1-4 BuildRequires: qt-devel >= 6:3.2.1-4 BuildRequires: rpmbuild(macros) >= 1.228 BuildRequires: sed >= 4.0 -ExclusiveArch: %{ix86} %{x8664} +# for bundled libavcodec +BuildRequires: libdts-devel +#BuildConflicts: libmyth-devel +ExclusiveArch: %{ix86} %{x8664} ppc BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define myth_api_version %(echo %{version} | cut -d. -f1,2) + %description MythTV implements the following PVR features, and more, with a unified graphical interface: @@ -101,16 +119,17 @@ ujednoliconym interfejsem graficznym: Summary: Server component of mythtv (a PVR) Summary(pl): Czê¶æ serwerowa mythtv (PVR) Group: Applications/Multimedia +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(postun): /usr/sbin/groupdel -Requires(postun): /usr/sbin/userdel -Requires(post,preun): /sbin/chkconfig +Requires: libmyth = %{version}-%{release} Requires: mythtv = %{version}-%{release} -Provides: user(mythtv) Provides: group(mythtv) +Provides: user(mythtv) %description backend MythTV provides a unified graphical interface for recording and @@ -136,8 +155,10 @@ albo innym osi Summary: Client component of mythtv (a PVR) Summary(pl): Czê¶æ kliencka mythtv (PVR) Group: Applications/Multimedia +Requires: libmyth = %{version}-%{release} Requires: mythtv = %{version}-%{release} Requires: mythtv-themes = %{version}-%{release} +Provides: mythtv-frontend-api = %{myth_api_version} %description frontend MythTV provides a unified graphical interface for recording and @@ -163,8 +184,7 @@ sieci. Summary: Setup the mythtv backend Summary(pl): Konfigurator backendu mythtv Group: Applications/Multimedia -Requires: mythtv-backend = %{version}-%{release} -Requires: mythtv-themes = %{version}-%{release} +Requires: libmyth = %{version}-%{release} %description setup MythTV provides a unified graphical interface for recording and @@ -185,7 +205,6 @@ Ten pakiet zawiera tylko program do konfigurowania backendu mythtv. Summary: Base themes for mythtv's frontend Summary(pl): Podstawowe motywy dla frontendu mythtv Group: Applications/Multimedia -Obsoletes: mythtv-theme-Titivillus %description themes MythTV provides a unified graphical interface for recording and @@ -249,13 +268,31 @@ Static libmyth library. Statyczna biblioteka libmyth. %prep -%setup -q -%patch0 -p1 +%setup -q %{?_rev:-n %{name}} +%if %{_lib} != "lib" +#%patch0 -p1 +%endif %patch1 -p1 %patch2 -p1 +%patch3 -p1 +#%patch4 -p1 REDIFF and submit +%patch5 -p1 + +%patch7 -p1 rm -rf database/old # not supported in PLD +# lib64 fix - enable to update patch +%if %{_lib} != "lib" && 0 +find '(' -name '*.[ch]' -o -name '*.cpp' -o -name '*.pro' ')' | \ +xargs grep -l /lib . | xargs sed -i -e ' + s,/''usr/lib/,/%{_libdir}/,g + s,/''lib/mythtv,/%{_lib}/mythtv,g + s,{PREFIX}/lib$,{PREFIX}/%{_lib},g +' +exit 1 +%endif + %build %if %{with cpu_autodetect} # Make sure we have /proc mounted @@ -265,53 +302,62 @@ if [ ! -r /proc/cpuinfo ]; then fi %endif export QTDIR="%{_prefix}" -export QMAKESPEC="linux-g++" %if "%{_lib}" != "lib" export QMAKE_LIBDIR_X11=%{_prefix}/X11R6/%{_lib} +# help configure::has_library() to locate libs +export LD_LIBRARY_PATH=%{_libdir} %endif -#export CFLAGS="%{rpmcflags} -fomit-frame-pointer" -# BTW: this is not autoconf configure -_lib=%{_lib} \ -%configure \ +# NB: not autoconf configure +export CC="%{__cc}" +export CXX="%{__cxx}" +./configure \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --disable-opts \ + --disable-distcc --disable-ccache \ --compile-type=%{?debug:debug}%{!?debug:release} \ - %{?with_dvb:--enable-dvb --dvb-path=%{_includedir} --enable-dvb-eit} \ --extra-cflags="%{rpmcflags} -fomit-frame-pointer" \ --extra-cxxflags="%{rpmcxxflags} -fomit-frame-pointer" \ %if %{with cpu_autodetect} --enable-proc-opt \ %else - %ifarch i386 i486 i586 i686 pentium3 pentium4 - --cpu=i386 --tune=pentium4 --enable-mmx \ - %endif - %ifarch athlon - --arch=athlon --enable-mmx \ - %endif - %ifarch %{x8664} - --arch=x86_64 --enable-mmx \ - %endif + %ifarch %{ix86} + %ifarch athlon + --arch=athlon \ + %else + --cpu=i386 --tune=pentium4 \ + %endif + %endif + %ifarch %{x8664} + --arch=x86_64 \ + %endif + %{?with_mmx:--enable-mmx} \ %endif + %{?with_dvb:--enable-dvb --dvb-path=%{_includedir} --enable-dvb-eit} \ --%{?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_oss:en}%{!?with_oss:dis}able-audio-jack \ + --%{?with_jack:en}%{!?with_jack:dis}able-audio-jack \ + %{?with_new:--enable-dvd} \ --%{?with_opengl:en}%{!?with_opengl:dis}able-opengl-vsync \ --%{?with_lirc:en}%{!?with_lirc:dis}able-lirc \ - --%{?with_oggvorbis:en}%{!?with_oggvorbis:dis}able-vorbis \ --%{?with_firewire:en}%{!?with_firewire:dis}able-firewire \ - %{?with_nvidia:--enable-xvmc --enable-xvmc-vld} \ - %{!?with_nvidia:--disable-xvmc --disable-xvmc-vld} \ + --%{?with_xrandr:en}%{!?with_xrandr:dis}able-xrandr \ + --%{?with_xvmc:en}%{!?with_xvmc:dis}able-xvmc \ --enable-xv \ --enable-x11 \ + +# --%{?with_oggvorbis:en}%{!?with_oggvorbis:dis}able-vorbis \ # --disable-joystick-menu \ # --disable-ivtv \ -# --disable-xrandr disable X11 resolution switching # --enable-directfb enable DirectFB (Linux non-X11 video) # --enable-directx enable DirectX (Microsoft video) qmake mythtv.pro -%{__make} qmake +%{__make} %install rm -rf $RPM_BUILD_ROOT @@ -330,13 +376,32 @@ install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mythbackend install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/mythbackend # desktop entries -install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir} install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir} -install %{SOURCE6} $RPM_BUILD_ROOT%{_desktopdir} -install %{SOURCE7} $RPM_BUILD_ROOT%{_desktopdir} # Install settings.pro so people can see the build options we used -install -pD settings.pro $RPM_BUILD_ROOT%{_datadir}/mythtv/build/settings.pro +install -d $RPM_BUILD_ROOT%{_datadir}/mythtv/build +install config.mak settings.pro $RPM_BUILD_ROOT%{_datadir}/mythtv/build + +for p in mythfrontend; do + for l in $RPM_BUILD_ROOT%{_datadir}/mythtv/i18n/${p}_*.qm; do + echo $l | sed -e "s,^$RPM_BUILD_ROOT\(.*${p}_\(.*\).qm\),%%lang(\2) \1," + done > $p.lang +done + +# 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. +sed -i -e ' +s,%%lang(en_gb),%%lang(en_GB), +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 +cp -a programs/mythwelcome/README mythwelcome +cp -a programs/mythlcdserver/README mythlcdserver %clean rm -rf $RPM_BUILD_ROOT @@ -348,8 +413,7 @@ rm -rf $RPM_BUILD_ROOT %addusertogroup %{name} audio %post backend -# NFY -#/sbin/chkconfig --add mythbackend +/sbin/chkconfig --add mythbackend %preun backend if [ "$1" = "0" ]; then @@ -377,39 +441,41 @@ fi %files %defattr(644,root,root,755) %doc README* UPGRADING AUTHORS FAQ -%doc keys.txt %doc docs contrib configfiles +%doc keys.txt mythtvosd mythwelcome mythlcdserver %files backend %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/mythbackend +%attr(755,root,root) %{_sbindir}/mythbackend +%attr(755,root,root) %{_sbindir}/mythcommflag %attr(755,root,root) %{_bindir}/mythfilldatabase -%attr(755,root,root) %{_bindir}/mythjobqueue +%attr(755,root,root) %{_sbindir}/mythjobqueue +%attr(755,root,root) %{_sbindir}/mythlcdserver +%attr(755,root,root) %{_bindir}/mythtranscode +%attr(755,root,root) %{_bindir}/mythreplex %attr(775,root,mythtv) %dir /var/lib/mythtv %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 -%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mythbackend -%config /etc/logrotate.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 -%files frontend +%files frontend -f mythfrontend.lang %defattr(644,root,root,755) -%dir %{_datadir}/mythtv -%dir %{_libdir}/mythtv -%{_datadir}/mythtv/*.xml %attr(755,root,root) %{_bindir}/mythfrontend +%attr(755,root,root) %{_bindir}/mythshutdown %attr(755,root,root) %{_bindir}/mythtv -%attr(755,root,root) %{_bindir}/mythepg -%attr(755,root,root) %{_bindir}/mythprogfind -%attr(755,root,root) %{_bindir}/mythcommflag -%attr(755,root,root) %{_bindir}/mythtranscode %attr(755,root,root) %{_bindir}/mythtvosd +%attr(755,root,root) %{_bindir}/mythwelcome +%dir %{_datadir}/mythtv +%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/i18n +%dir %{_datadir}/mythtv/i18n %{_desktopdir}/*.desktop %files setup @@ -429,8 +495,7 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/*.so %{_includedir}/* -%dir %{_datadir}/mythtv/build -%{_datadir}/mythtv/build/settings.pro +%{_datadir}/mythtv/build %files -n libmyth-static %defattr(644,root,root,755)