]> git.pld-linux.org Git - packages/mythtv.git/blobdiff - mythtv.spec
- added configure patch (bashism fix)
[packages/mythtv.git] / mythtv.spec
index e0da34757af130b807123377fa4e2c2eb271c831..c1fd5368ff0151f77e06e295f0c488fb45024f2b 100644 (file)
@@ -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
 #
 #  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)
This page took 0.141206 seconds and 4 git commands to generate.