Difference between revisions of "Mythplugins-svn-rpmbuild.spec"
From MythTV Official Wiki
Line 6: | Line 6: | ||
<pre> | <pre> | ||
# | # | ||
− | # Specfile for building MythTV | + | # Specfile for building MythTV RPMs from a subversion checkout. |
# | # | ||
# by: Chris Petersen <rpm@forevermore.net> | # by: Chris Petersen <rpm@forevermore.net> | ||
Line 34: | Line 34: | ||
# --without mythbrowser | # --without mythbrowser | ||
# --without mythcontrols | # --without mythcontrols | ||
− | |||
# --without mythflix | # --without mythflix | ||
# --without mythgallery | # --without mythgallery | ||
Line 95: | Line 94: | ||
# All plugins get built by default, but you can disable them as you wish | # All plugins get built by default, but you can disable them as you wish | ||
− | %define with_mytharchive %{?_without_mytharchive: | + | %define with_mytharchive %{?_without_mytharchive: 0} %{!?_without_mytharchive: 1} |
− | %define with_mythbrowser %{?_without_mythbrowser: | + | %define with_mythbrowser %{?_without_mythbrowser: 0} %{!?_without_mythbrowser: 1} |
− | %define with_mythcontrols %{?_without_mythcontrols: 0} %{!?_without_mythcontrols: | + | %define with_mythcontrols %{?_without_mythcontrols: 0} %{!?_without_mythcontrols: 1} |
− | + | %define with_mythflix %{?_without_mythflix: 0} %{!?_without_mythflix: 1} | |
− | %define with_mythflix %{?_without_mythflix: | + | %define with_mythgallery %{?_without_mythgallery: 0} %{!?_without_mythgallery: 1} |
− | %define with_mythgallery %{?_without_mythgallery: | + | %define with_mythgame %{?_without_mythgame: 0} %{!?_without_mythgame: 1} |
− | %define with_mythgame %{?_without_mythgame: | + | %define with_mythmusic %{?_without_mythmusic: 0} %{!?_without_mythmusic: 1} |
− | %define with_mythmusic %{?_without_mythmusic: | + | %define with_mythnews %{?_without_mythnews: 0} %{!?_without_mythnews: 1} |
− | %define with_mythnews %{?_without_mythnews: | + | %define with_mythphone %{?_without_mythphone: 0} %{!?_without_mythphone: 1} |
− | %define with_mythphone %{?_without_mythphone: | + | %define with_mythvideo %{?_without_mythvideo: 0} %{!?_without_mythvideo: 1} |
− | %define with_mythvideo %{?_without_mythvideo: | + | %define with_mythweather %{?_without_mythweather: 0} %{!?_without_mythweather: 1} |
− | %define with_mythweather %{?_without_mythweather: | + | %define with_mythzoneminder %{?_without_mythzoneminder: 0} %{!?_without_mythzoneminder: 1} |
# MythGallery | # MythGallery | ||
Line 164: | Line 163: | ||
%endif | %endif | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
%if %{with_transcode} | %if %{with_transcode} | ||
BuildRequires: transcode >= 0.6.8 | BuildRequires: transcode >= 0.6.8 | ||
Line 230: | Line 216: | ||
Requires: mythvideo >= %{version} | Requires: mythvideo >= %{version} | ||
Requires: perl-XML-Simple | Requires: perl-XML-Simple | ||
+ | BuildRequires: libdvdread-devel >= 0.9.4 | ||
+ | BuildRequires: nasm | ||
+ | BuildRequires: mjpegtools-devel >= 1.6.1 | ||
+ | BuildRequires: xvidcore-devel >= 0.9.1 | ||
+ | BuildRequires: a52dec-devel | ||
+ | BuildRequires: libfame-devel >= 0.9.0 | ||
+ | BuildRequires: libdvdcss-devel >= 1.2.7 | ||
%endif | %endif | ||
%if %{with_mythweather} | %if %{with_mythweather} | ||
Requires: mythweather >= %{version} | Requires: mythweather >= %{version} | ||
+ | %endif | ||
+ | |||
+ | %if %{with_mythzoneminder} | ||
+ | Requires: mythzoneminder >= %{version} | ||
%endif | %endif | ||
Line 293: | Line 290: | ||
%description -n mythcontrols | %description -n mythcontrols | ||
A key control editor plugin for MythTV. | A key control editor plugin for MythTV. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
%endif | %endif | ||
Line 399: | Line 378: | ||
%description -n mythvideo | %description -n mythvideo | ||
− | A generic video player frontend module for MythTV. | + | A generic video player frontend module for MythTV. This module also supports |
+ | playback of DVD files, and (optionally) rip DVDs and transcode their video and | ||
+ | audio content to other (generally smaller) formats. Transcoding is based on | ||
+ | and derived from the excellent transcode package. | ||
%endif | %endif | ||
Line 412: | Line 394: | ||
%description -n mythweather | %description -n mythweather | ||
A MythTV module that displays a weather forcast. | A MythTV module that displays a weather forcast. | ||
+ | |||
+ | %endif | ||
+ | ################################################################################ | ||
+ | %if %{with_mythzoneminder} | ||
+ | |||
+ | %package -n mythzoneminder | ||
+ | Summary: A MythTV module to interact with ZoneMinder | ||
+ | Group: Applications/Multimedia | ||
+ | Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') | ||
+ | |||
+ | %description -n mythzoneminder | ||
+ | A MythTV module to interact with ZoneMinder | ||
%endif | %endif | ||
Line 498: | Line 492: | ||
%if !%{with_mythcontrols} | %if !%{with_mythcontrols} | ||
OPTS="$OPTS --disable-mythcontrols" | OPTS="$OPTS --disable-mythcontrols" | ||
− | |||
− | |||
− | |||
%endif | %endif | ||
%if !%{with_mythflix} | %if !%{with_mythflix} | ||
Line 525: | Line 516: | ||
%if !%{with_mythweather} | %if !%{with_mythweather} | ||
OPTS="$OPTS --disable-mythweather" | OPTS="$OPTS --disable-mythweather" | ||
+ | %endif | ||
+ | %if !%{with_mythzoneminder} | ||
+ | OPTS="$OPTS --disable-mythzoneminder" | ||
%endif | %endif | ||
Line 598: | Line 592: | ||
mkdir -p %{buildroot}%{_datadir}/mythtv/games/snes/{roms,screens} | mkdir -p %{buildroot}%{_datadir}/mythtv/games/snes/{roms,screens} | ||
mkdir -p %{buildroot}%{_datadir}/mythtv/games/PC/screens | mkdir -p %{buildroot}%{_datadir}/mythtv/games/PC/screens | ||
− | mkdir -p %{buildroot}%{_datadir}/xmame | + | cp -a mythgame/gamelist.xml %{buildroot}%{_datadir}/mythtv/games/PC/ |
+ | # Link MythGame's xmame directory to the main xmame one, so users can use | ||
+ | # either app. | ||
+ | mkdir -p %{buildroot}%{_datadir}/xmame/{flyers,screens} | ||
ln -s %{_datadir}/xmame %{buildroot}%{_datadir}/mythtv/games/xmame | ln -s %{_datadir}/xmame %{buildroot}%{_datadir}/mythtv/games/xmame | ||
− | |||
− | |||
− | |||
− | |||
%endif | %endif | ||
Line 665: | Line 658: | ||
%{_datadir}/mythtv/themes/default/kb-button-off.png | %{_datadir}/mythtv/themes/default/kb-button-off.png | ||
%{_datadir}/mythtv/themes/default/kb-button-on.png | %{_datadir}/mythtv/themes/default/kb-button-on.png | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
%endif | %endif | ||
Line 688: | Line 666: | ||
%defattr(-,root,root,-) | %defattr(-,root,root,-) | ||
%doc mythflix/README mythflix/COPYING | %doc mythflix/README mythflix/COPYING | ||
− | + | %{_datadir}/mythtv/i18n/mythflix_* | |
− | %{_datadir}/mythtv/ | + | %{_datadir}/mythtv/mythflix/ |
− | %{_datadir}/mythtv/mythflix/ | ||
%{_datadir}/mythtv/netflix_menu.xml | %{_datadir}/mythtv/netflix_menu.xml | ||
%{_datadir}/mythtv/themes/default/netflix-ui.xml | %{_datadir}/mythtv/themes/default/netflix-ui.xml | ||
%{_datadir}/mythtv/themes/default/title_netflix.png | %{_datadir}/mythtv/themes/default/title_netflix.png | ||
− | %{ | + | %{_libdir}/mythtv/plugins/libmythflix.so |
%endif | %endif | ||
Line 704: | Line 681: | ||
%doc mythgallery/README mythgallery/COPYING | %doc mythgallery/README mythgallery/COPYING | ||
%{_libdir}/mythtv/plugins/libmythgallery.so | %{_libdir}/mythtv/plugins/libmythgallery.so | ||
− | + | %{_datadir}/mythtv/themes/default/gallery-* | |
− | %{_datadir}/mythtv/themes/default/gallery-* | ||
%{_datadir}/mythtv/i18n/mythgallery_*.qm | %{_datadir}/mythtv/i18n/mythgallery_*.qm | ||
%{_varlibdir}/pictures | %{_varlibdir}/pictures | ||
Line 717: | Line 693: | ||
%doc mythgame/README | %doc mythgame/README | ||
%{_libdir}/mythtv/plugins/libmythgame.so | %{_libdir}/mythtv/plugins/libmythgame.so | ||
− | |||
− | |||
− | |||
− | |||
%{_datadir}/mythtv/game_settings.xml | %{_datadir}/mythtv/game_settings.xml | ||
%{_datadir}/mythtv/themes/default/game-ui.xml | %{_datadir}/mythtv/themes/default/game-ui.xml | ||
%{_datadir}/mythtv/i18n/mythgame_*.qm | %{_datadir}/mythtv/i18n/mythgame_*.qm | ||
+ | # What a mess. And all we really want to do is say that gamelist.xml is a | ||
+ | # config file. | ||
+ | %{_datadir}/mythtv/games/nes | ||
+ | %{_datadir}/mythtv/games/snes | ||
+ | %{_datadir}/mythtv/games/xmame | ||
+ | %dir %{_datadir}/mythtv/games/PC | ||
+ | %{_datadir}/mythtv/games/PC/screens | ||
+ | %config %{_datadir}/mythtv/games/PC/gamelist.xml | ||
+ | # xmame should technically own this directory, but we've installed it here | ||
+ | # so people can run xmame and mythgame from the same set of config files. | ||
+ | %{_datadir}/xmame | ||
%endif | %endif | ||
Line 734: | Line 717: | ||
%{_libdir}/mythtv/plugins/libmythmusic.so | %{_libdir}/mythtv/plugins/libmythmusic.so | ||
%{_varlibdir}/mythmusic | %{_varlibdir}/mythmusic | ||
− | %{_datadir}/mythtv/ | + | %{_datadir}/mythtv/music*.xml |
− | |||
%{_datadir}/mythtv/i18n/mythmusic_*.qm | %{_datadir}/mythtv/i18n/mythmusic_*.qm | ||
%{_datadir}/mythtv/themes/default/ff_button_off.png | %{_datadir}/mythtv/themes/default/ff_button_off.png | ||
%{_datadir}/mythtv/themes/default/ff_button_on.png | %{_datadir}/mythtv/themes/default/ff_button_on.png | ||
%{_datadir}/mythtv/themes/default/ff_button_pushed.png | %{_datadir}/mythtv/themes/default/ff_button_pushed.png | ||
− | %{_datadir}/mythtv/themes/default/ | + | %{_datadir}/mythtv/themes/default/mm_* |
− | + | %{_datadir}/mythtv/themes/default/music* | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | %{_datadir}/mythtv/themes/default/music | ||
%{_datadir}/mythtv/themes/default/next_button_off.png | %{_datadir}/mythtv/themes/default/next_button_off.png | ||
%{_datadir}/mythtv/themes/default/next_button_on.png | %{_datadir}/mythtv/themes/default/next_button_on.png | ||
Line 819: | Line 782: | ||
%defattr(-,root,root,-) | %defattr(-,root,root,-) | ||
%doc mythvideo/README mythvideo/COPYING mythvideo/videodb | %doc mythvideo/README mythvideo/COPYING mythvideo/videodb | ||
+ | %{_bindir}/mtd | ||
%{_libdir}/mythtv/plugins/libmythvideo.so | %{_libdir}/mythtv/plugins/libmythvideo.so | ||
%{_datadir}/mythtv/i18n/mythvideo_*.qm | %{_datadir}/mythtv/i18n/mythvideo_*.qm | ||
+ | %{_datadir}/mythtv/video_settings.xml | ||
+ | %{_datadir}/mythtv/videomenu.xml | ||
+ | %{_datadir}/mythtv/mythvideo/ | ||
+ | %{_varlibdir}/mythvideo | ||
%{_datadir}/mythtv/themes/default/video-ui.xml | %{_datadir}/mythtv/themes/default/video-ui.xml | ||
%{_datadir}/mythtv/themes/default/mv-*.png | %{_datadir}/mythtv/themes/default/mv-*.png | ||
%{_datadir}/mythtv/themes/default/mv_*.png | %{_datadir}/mythtv/themes/default/mv_*.png | ||
− | %{_datadir}/mythtv/ | + | %{_datadir}/mythtv/themes/default/md_*.png |
− | + | %{_datadir}/mythtv/themes/default-wide/dvd-ui.xml | |
− | %{_datadir}/mythtv/ | + | %{_datadir}/mythtv/themes/default-wide/video-ui.xml |
− | + | %{_datadir}/mythtv/themes/default/dvd-ui.xml | |
− | %{_datadir}/mythtv/ | ||
− | %{_datadir}/mythtv/ | ||
− | |||
%endif | %endif | ||
Line 841: | Line 806: | ||
%{_libdir}/mythtv/plugins/libmythweather.so | %{_libdir}/mythtv/plugins/libmythweather.so | ||
%{_datadir}/mythtv/i18n/mythweather_*.qm | %{_datadir}/mythtv/i18n/mythweather_*.qm | ||
− | %{_datadir}/mythtv/mythweather | + | %{_datadir}/mythtv/mythweather/ |
%{_datadir}/mythtv/themes/default/weather-ui.xml | %{_datadir}/mythtv/themes/default/weather-ui.xml | ||
%{_datadir}/mythtv/themes/default/cloudy.png | %{_datadir}/mythtv/themes/default/cloudy.png | ||
Line 859: | Line 824: | ||
%{_datadir}/mythtv/themes/default/thunshowers.png | %{_datadir}/mythtv/themes/default/thunshowers.png | ||
%{_datadir}/mythtv/themes/default/unknown.png | %{_datadir}/mythtv/themes/default/unknown.png | ||
+ | |||
+ | %endif | ||
+ | ################################################################################ | ||
+ | %if %{with_mythzoneminder} | ||
+ | |||
+ | %files -n mythzoneminder | ||
+ | %defattr(-,root,root,-) | ||
+ | %doc mythzoneminder/AUTHORS mythzoneminder/README mythzoneminder/COPYING | ||
+ | %{_bindir}/mythzmserver | ||
+ | %{_libdir}/mythtv/plugins/libmythzoneminder.so | ||
+ | %{_datadir}/mythtv/themes/default/mz_* | ||
+ | %{_datadir}/mythtv/themes/default/zoneminder-ui.xml | ||
+ | %{_datadir}/mythtv/zonemindermenu.xml | ||
%endif | %endif | ||
Line 864: | Line 842: | ||
%changelog | %changelog | ||
+ | |||
+ | * Sat Jan 13 2008 Chris Petersen <rpm@forevermore.net> | ||
+ | - Rearrange things to account for MythDVD and MythVideo merging | ||
+ | - Fix a couple of file locations for MythGame | ||
+ | - Clean up the files section to use more wildcards | ||
+ | |||
+ | * Wed Nov 29 2006 Chris Petersen <rpm@forevermore.net> | ||
+ | - Add mythzoneminder | ||
* Mon Sep 11 2006 Chris Petersen <rpm@forevermore.net> | * Mon Sep 11 2006 Chris Petersen <rpm@forevermore.net> |
Revision as of 01:19, 14 January 2007
This spec is for building MythPlugin RPM packages from a subversion checkout.
It works with both modular (FC5 and later) and non-modular versions of X. Please read the documentation at the top of the file before using it.
# # Specfile for building MythTV RPMs from a subversion checkout. # # by: Chris Petersen <rpm@forevermore.net> # # Modified/Extended from the great (non-svn based) work of: # David Bussenschutt <buzz@oska.com> # Axel Thimm <Axel.Thimm@ATrpms.net> # and others; see changelog at bottom for details. # # The latest version of this file can be found at: # # http://www.mythtv.org/wiki/index.php/Mythplugins-svn-rpmbuild.spec # # Note: # # This spec relies upon several files included in the ATRPMS mythplugins # src.rpm file. Please install it into your build tree before trying to # build anything with this spec. # # Explanation of options: # # --with(out) modular_x Override the default detection code for modular X.org # # # All plugins get built by default, but you can disable them as you wish: # # --without mytharchive # --without mythbrowser # --without mythcontrols # --without mythflix # --without mythgallery # --without mythgame # --without mythmusic # --without mythnews # --without mythphone # --without mythvideo # --without mythweather # # The following options are disabled by default. Use these options to enable: # # --with festival Enable festival/festvox support in MythPhone # --with aac Enable AAC support in MythMusic # --with transcode Enable transcode support in MythVideo # --with vcd Enable VideoCD support in MythVideo # # The following options are enabled by default. Use these options to disable: # # --without opengl Disable OpenGL support in MythMusic and MythGallery # --without exif Disable EXIF support in MythGallery # --without fftw Disable FFTW support in MythMusic # --without sdl Disable SDL support in MythMusic # # Edit the following path to point to where you keep your SVN checkout. Among # others, it will contain both the mythtv/ and mythplugins/ subdirectories. %define _svn_root '/usr/src/mythtv-svn/' ################################################################################ # The only thing below here that you should feel the need to edit is the # Version tag, which should be set to the *next* MythTV release. ################################################################################ # Are we running modular Xorg? Default is to auto-detect FC5 or later, but you # can also specify --with modular_x or --without modular_x to override. %define _modular_x %(if [ "%{?_with_modular_x}" ]; then echo 1; elif [ "%{?_without_modular_x}" ]; then echo 0; elif [ `rpm -q --queryformat='%{VERSION}' fedora-release` -ge 5 ]; then echo 1; else echo 0; fi) # This script verifies that there is a mythtv SVN checkout at %{_svn_root} and # if there isn't one, performs an anonymous checkout. If the checkout already # exists, it grabs the latest update. The return value is the current SVN # revision or a blank string (which will be checked below for errors). %define _svn_rev %( if [ ! -d '%{_svn_root}/.svn' ] ; then REL=`svn co http://svn.mythtv.org/svn/trunk/ '%{_svn_root}'` ; else REL=`svn update '%{_svn_root}'`; fi; if [ $? != 0 ]; then echo '' ; else echo "$REL" | grep -i revision | sed -e 's/[^0-9]\\+//g'; fi ) # # Basic descriptive tags for this package: # Name: mythplugins Version: 0.21 Release: 0.%{_svn_rev}.svn Summary: Main plugins to accompany the MythTV DVR. URL: http://www.mythtv.org/ License: GPL Group: Applications/Multimedia # The following options are enabled by default. Use --without to disable them # OpenGL for MythMusic and MythGallery %define with_opengl %{?_without_opengl: 0} %{!?_without_opengl: 1} # All plugins get built by default, but you can disable them as you wish %define with_mytharchive %{?_without_mytharchive: 0} %{!?_without_mytharchive: 1} %define with_mythbrowser %{?_without_mythbrowser: 0} %{!?_without_mythbrowser: 1} %define with_mythcontrols %{?_without_mythcontrols: 0} %{!?_without_mythcontrols: 1} %define with_mythflix %{?_without_mythflix: 0} %{!?_without_mythflix: 1} %define with_mythgallery %{?_without_mythgallery: 0} %{!?_without_mythgallery: 1} %define with_mythgame %{?_without_mythgame: 0} %{!?_without_mythgame: 1} %define with_mythmusic %{?_without_mythmusic: 0} %{!?_without_mythmusic: 1} %define with_mythnews %{?_without_mythnews: 0} %{!?_without_mythnews: 1} %define with_mythphone %{?_without_mythphone: 0} %{!?_without_mythphone: 1} %define with_mythvideo %{?_without_mythvideo: 0} %{!?_without_mythvideo: 1} %define with_mythweather %{?_without_mythweather: 0} %{!?_without_mythweather: 1} %define with_mythzoneminder %{?_without_mythzoneminder: 0} %{!?_without_mythzoneminder: 1} # MythGallery %define with_exif %{?_without_exif: 0} %{!?_without_exif: 1} # MythMusic %define with_fftw %{?_without_fftw: 0} %{!?_without_fftw: 1} %define with_sdl %{?_without_sdl: 0} %{!?_without_sdl: 1} # The following options are disabled by default. Use --with to enable them # MythPhone %define with_festival %{?_with_festival: 1} %{!?_with_festival: 0} # MythMusic %define with_aac %{?_with_aac: 1} %{!?_with_aac: 0} # MythVideo %define with_transcode %{?_with_transcode: 1} %{!?_with_transcode: 0} %define with_vcd %{?_with_vcd: 1} %{!?_with_vcd: 0} ################################################################################ # This directory isn't defined in rpm's own macro library %define _varlibdir %{_localstatedir}/lib ################################################################################ Source0: http://www.mythtv.org/mc/%{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ################################################################################ # Global build requirements BuildRequires: gcc-c++ BuildRequires: qt-devel >= 3 # Yeah. we do need subversion, don't we... BuildRequires: subversion # The modular version of Xorg requires a different set of build packages %if %{_modular_x} BuildRequires: mesa-libGLU-devel BuildRequires: libXv-devel BuildRequires: libXxf86vm-devel BuildRequires: libXmu-devel %else BuildRequires: XFree86-devel %endif %if %{with_opengl} BuildRequires: /usr/include/GL/gl.h %endif %if %{with_mythbrowser} Requires: mythbrowser >= %{version} BuildRequires: libmyth-devel >= %{version} BuildRequires: kdelibs-devel %endif %if %{with_transcode} BuildRequires: transcode >= 0.6.8 %endif %if %{with_mythgallery} Requires: mythgallery >= %{version} BuildRequires: libtiff-devel BuildRequires: libexif-devel %endif %if %{with_mythgame} Requires: mythgame >= %{version} BuildRequires: zlib-devel %endif %if %{with_mythmusic} Requires: mythmusic >= %{version} BuildRequires: libmad-devel BuildRequires: libid3tag-devel BuildRequires: libvorbis-devel >= 1.0 BuildRequires: flac-devel >= 1.0.4 BuildRequires: libcdaudio-devel >= 0.99.6 BuildRequires: cdparanoia-devel BuildRequires: lame-devel %endif %if %{with_fftw} BuildRequires: fftw2-devel >= 2.1.3 BuildRequires: fftw2-devel < 3 %endif %if %{with_sdl} BuildRequires: SDL-devel %endif %if %{with_aac} # This REQUIRES the atrpms version because others are missing mp4ff_int_types.h BuildRequires: faad2-devel %endif %if %{with_mythnews} Requires: mythnews >= %{version} %endif %if %{with_mythphone} Requires: mythphone >= %{version} BuildRequires: libmyth-devel >= %{version} BuildRequires: libtermcap-devel %endif %if %{with_festival} BuildRequires: festival-devel %endif %if %{with_mythvideo} Requires: mythvideo >= %{version} Requires: perl-XML-Simple BuildRequires: libdvdread-devel >= 0.9.4 BuildRequires: nasm BuildRequires: mjpegtools-devel >= 1.6.1 BuildRequires: xvidcore-devel >= 0.9.1 BuildRequires: a52dec-devel BuildRequires: libfame-devel >= 0.9.0 BuildRequires: libdvdcss-devel >= 1.2.7 %endif %if %{with_mythweather} Requires: mythweather >= %{version} %endif %if %{with_mythzoneminder} Requires: mythzoneminder >= %{version} %endif %description This is a consolidation of all the official MythTV plugins that used to be distributed as separate downloads from mythtv.org. ################################################################################ %if %{with_mytharchive} %package -n mytharchive Summary: A plugin to archive your recordings to DVD Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') Requires: python >= 2.3.5 Requires: python-imaging Requires: mjpegtools Requires: ffmpeg Requires: dvdauthor >= 0.6.11 Requires: mkisofs >= 2.01.01.0.a03 Requires: growisofs %description -n mytharchive MythArchive is a MythTV style plugin that uses the Mythburn Script to create and burn DVD's from MythTV recordings, MythVideo files or any video files available on a MythTV system. It can also export recordings to a native archive format that can then be imported back into a mythtv system restoring all the associated metadata. %endif ################################################################################ %if %{with_mythbrowser} %package -n mythbrowser Summary: A small web browser module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythbrowser MythBrowser is a full fledged web-browser (multiple tabs) to display webpages in full-screen mode. Simple page navigation is possible. Starting with version 0.13 it also has full support for mouse driven navigation (right mouse opens and clos es the popup menu). MythBrowser also contains a BookmarkManager to manage the website links in a simple mythplugin. %endif ################################################################################ %if %{with_mythcontrols} %package -n mythcontrols Summary: A key control editor plugin for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythcontrols A key control editor plugin for MythTV. %endif ################################################################################ %if %{with_mythflix} %package -n mythflix Summary: A Netflix module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythflix MyhtFlix is a MythTV plugin for adding movies to your Netflix queue. It currently supports the ablity to view your queue and add movies to your queue. %endif ################################################################################ %if %{with_mythgallery} %package -n mythgallery Summary: A gallery/slideshow module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythgallery A gallery/slideshow module for MythTV. %endif ################################################################################ %if %{with_mythgame} %package -n mythgame Summary: A game frontend (xmame, nes, snes, pc) for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythgame A game frontend (xmame, nes, snes, pc) for MythTV. %endif ################################################################################ %if %{with_mythmusic} %package -n mythmusic Summary: The music player add-on module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythmusic Music add-on for mythtv. %endif ################################################################################ %if %{with_mythnews} %package -n mythnews Summary: An RSS news feed plugin for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythnews An RSS news feed plugin for MythTV. %endif ################################################################################ %if %{with_mythphone} %package -n mythphone Summary: A video conferencing module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythphone Mythphone is a phone and videophone capability on MYTH using the standard SIP protocol. It is compatible with Microsoft XP Messenger and with SIP Service Providers such as Free World Dialup (fwd.pulver.com). %endif ################################################################################ %if %{with_mythvideo} %package -n mythvideo Summary: A generic video player frontend module for MythTV. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') Requires: mplayer %description -n mythvideo A generic video player frontend module for MythTV. This module also supports playback of DVD files, and (optionally) rip DVDs and transcode their video and audio content to other (generally smaller) formats. Transcoding is based on and derived from the excellent transcode package. %endif ################################################################################ %if %{with_mythweather} %package -n mythweather Summary: A MythTV module that displays a weather forcast. Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythweather A MythTV module that displays a weather forcast. %endif ################################################################################ %if %{with_mythzoneminder} %package -n mythzoneminder Summary: A MythTV module to interact with ZoneMinder Group: Applications/Multimedia Requires: mythtv-frontend-api = %(echo %{version} | awk -F. '{print $1 "." $2}') %description -n mythzoneminder A MythTV module to interact with ZoneMinder %endif ################################################################################ %prep # If there was a problem getting the svn revision, we need to alert the user. %if !%{_svn_rev} echo -e "\n\nThere was a problem determing the current SVN revision." \ "\nAny subversion errors should be listed a few lines above" \ "\nthis error message. Please resolve them and try again.\n\n" exit 1 %endif # Since we'll be copying the files from the repository checkout instead of # extracting a tarball (-T), we only need to create the target directory (-c). %setup -q -T -c # Copy the checkout to the rpm build directory. rsync -a --cvs-exclude \ %{_svn_root}/%{name}/* \ %{_builddir}/%{name}-%{version}/ # Replace static lib paths with %{_lib} so we build properly on x86_64 # systems, where the libs are actually in lib64. if [ "%{_lib}" != "lib" ]; then grep -rl '"lib"' . | xargs sed -i -e 's,/lib/,/%{_lib}/,g' grep -rl /lib/ . | xargs sed -i -e 's,/lib/,/%{_lib}/,g' grep -rl /lib$ . | xargs sed -i -e 's,/lib$,/%{_lib},' grep -rl '/lib ' . | xargs sed -i -e 's,/lib ,/%{_lib} ,g' fi # MythMusic fix: /mnt/store -> /var/lib/mythmusic %if %{with_mythmusic} sed -i -e 's#/mnt/store/music#%{_varlibdir}/mythmusic#' mythmusic/mythmusic/globalsettings.cpp %endif # MythVideo fix: /mnt/store -> /var/lib/mythvideo %if %{with_mythvideo} sed -i -e 's#/share/Movies/dvd#%{_varlibdir}/mythvideo#' mythvideo/mythvideo/globalsettings.cpp %endif # Add some include paths #cat >> settings.pro << EOF #INCLUDEPATH += %{_includedir}/mythtv #INCLUDEPATH += %{_includedir}/speech_tools #EOF #%if %{with_festival} #cat >> settings.pro << EOF #INCLUDEPATH += %{_includedir}/festival #EOF #%endif # Prevent all of those nasty installs to ../../../../../bin/whatever echo "QMAKE_PROJECT_DEPTH = 0" >> mythtv.pro echo "QMAKE_PROJECT_DEPTH = 0" >> settings.pro ################################################################################ %build # Need to set $QTDIR? [ -n "$QTDIR" ] || . %{_sysconfdir}/profile.d/qt.sh # Initialize the options string OPTS="" # Enable OpenGL (for MythMusic and MythGallery) %if %{with_opengl} OPTS="$OPTS --enable-opengl" %else OPTS="$OPTS --disable-opengl" %endif # Disable any of the plugins? %if !%{with_mythmusic} OPTS="$OPTS --disable-mythmusic" %endif %if !%{with_mytharchive} --disable-mytharchive %endif %if !%{with_mythbrowser} OPTS="$OPTS --disable-mythbrowser" %endif %if !%{with_mythcontrols} OPTS="$OPTS --disable-mythcontrols" %endif %if !%{with_mythflix} OPTS="$OPTS --disable-mythflix" %endif %if !%{with_mythgallery} OPTS="$OPTS --disable-mythgallery" %endif %if !%{with_mythgame} OPTS="$OPTS --disable-mythgame" %endif %if !%{with_mythmusic} OPTS="$OPTS --disable-mythmusic" %endif %if !%{with_mythnews} OPTS="$OPTS --disable-mythnews" %endif %if !%{with_mythphone} OPTS="$OPTS --disable-mythphone" %endif %if !%{with_mythvideo} OPTS="$OPTS --disable-mythvideo" %endif %if !%{with_mythweather} OPTS="$OPTS --disable-mythweather" %endif %if !%{with_mythzoneminder} OPTS="$OPTS --disable-mythzoneminder" %endif # MythGallery options %if %{with_exif} OPTS="$OPTS --enable-exif" %else OPTS="$OPTS --disable-exif" %endif # MythMusic options %if %{with_aac} OPTS="$OPTS --enable-aac" %else OPTS="$OPTS --disable-aac" %endif %if %{with_fftw} OPTS="$OPTS --enable-fftw" %else OPTS="$OPTS --disable-fftw" %endif %if %{with_sdl} OPTS="$OPTS --enable-sdl" %else OPTS="$OPTS --disable-sdl" %endif # MythPhone options %if %{with_festival} OPTS="$OPTS --enable-festival" %else OPTS="$OPTS --disable-festival" %endif # MythVideo options %if %{with_transcode} OPTS="$OPTS --enable-transcode" %else OPTS="$OPTS --disable-transcode" %endif %if %{with_vcd} OPTS="$OPTS --enable-vcd" %else OPTS="$OPTS --disable-vcd" %endif # Configure ./configure \ --prefix=%{_prefix} \ --libdir-name=%{_lib} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ $OPTS # Make #qmake mythplugins.pro make ################################################################################ %install rm -rf %{buildroot} make install INSTALL_ROOT=%{buildroot} # Create some directories that are specific to the rpm installation %if %{with_mythgallery} mkdir -p %{buildroot}%{_varlibdir}/pictures %endif %if %{with_mythgame} mkdir -p %{buildroot}%{_datadir}/mythtv/games/nes/{roms,screens} mkdir -p %{buildroot}%{_datadir}/mythtv/games/snes/{roms,screens} mkdir -p %{buildroot}%{_datadir}/mythtv/games/PC/screens cp -a mythgame/gamelist.xml %{buildroot}%{_datadir}/mythtv/games/PC/ # Link MythGame's xmame directory to the main xmame one, so users can use # either app. mkdir -p %{buildroot}%{_datadir}/xmame/{flyers,screens} ln -s %{_datadir}/xmame %{buildroot}%{_datadir}/mythtv/games/xmame %endif %if %{with_mythmusic} mkdir -p %{buildroot}%{_varlibdir}/mythmusic %endif %if %{with_mythvideo} mkdir -p %{buildroot}%{_varlibdir}/mythvideo %endif ################################################################################ %clean rm -rf %{buildroot} ################################################################################ %files %defattr(-,root,root,-) %doc COPYING ################################################################################ %if %{with_mytharchive} %files -n mytharchive %defattr(-,root,root,-) %doc mytharchive/README mytharchive/COPYING mytharchive/AUTHORS %{_bindir}/mytharchivehelper %{_libdir}/mythtv/plugins/libmytharchive.so %{_datadir}/mythtv/mytharchive %{_datadir}/mythtv/archive*.xml %{_datadir}/mythtv/i18n/mytharchive_*.qm %{_datadir}/mythtv/themes/default/ma_*png %{_datadir}/mythtv/themes/default/mytharchive-ui.xml %{_datadir}/mythtv/themes/default/mythburn-ui.xml %{_datadir}/mythtv/themes/default/mythnative-ui.xml %endif ################################################################################ %if %{with_mythbrowser} %files -n mythbrowser %defattr(-,root,root,-) %doc mythbrowser/README mythbrowser/COPYING mythbrowser/AUTHORS %{_bindir}/mythbrowser %{_libdir}/mythtv/plugins/libmythbookmarkmanager.so %{_datadir}/mythtv/themes/default/webpage.png %{_datadir}/mythtv/i18n/mythbrowser_*.qm %endif ################################################################################ %if %{with_mythcontrols} %files -n mythcontrols %defattr(-,root,root,-) %doc mythcontrols/AUTHORS mythcontrols/TODO mythcontrols/COPYING mythcontrols/README %{_datadir}/mythtv/i18n/mythcontrols_*.qm %{_libdir}/mythtv/plugins/libmythcontrols.so %{_datadir}/mythtv/themes/default/controls-ui.xml %{_datadir}/mythtv/themes/default/kb-button-off.png %{_datadir}/mythtv/themes/default/kb-button-on.png %endif ################################################################################ %if %{with_mythflix} %files -n mythflix %defattr(-,root,root,-) %doc mythflix/README mythflix/COPYING %{_datadir}/mythtv/i18n/mythflix_* %{_datadir}/mythtv/mythflix/ %{_datadir}/mythtv/netflix_menu.xml %{_datadir}/mythtv/themes/default/netflix-ui.xml %{_datadir}/mythtv/themes/default/title_netflix.png %{_libdir}/mythtv/plugins/libmythflix.so %endif ################################################################################ %if %{with_mythgallery} %files -n mythgallery %defattr(-,root,root,-) %doc mythgallery/README mythgallery/COPYING %{_libdir}/mythtv/plugins/libmythgallery.so %{_datadir}/mythtv/themes/default/gallery-* %{_datadir}/mythtv/i18n/mythgallery_*.qm %{_varlibdir}/pictures %endif ################################################################################ %if %{with_mythgame} %files -n mythgame %defattr(-,root,root,-) %doc mythgame/README %{_libdir}/mythtv/plugins/libmythgame.so %{_datadir}/mythtv/game_settings.xml %{_datadir}/mythtv/themes/default/game-ui.xml %{_datadir}/mythtv/i18n/mythgame_*.qm # What a mess. And all we really want to do is say that gamelist.xml is a # config file. %{_datadir}/mythtv/games/nes %{_datadir}/mythtv/games/snes %{_datadir}/mythtv/games/xmame %dir %{_datadir}/mythtv/games/PC %{_datadir}/mythtv/games/PC/screens %config %{_datadir}/mythtv/games/PC/gamelist.xml # xmame should technically own this directory, but we've installed it here # so people can run xmame and mythgame from the same set of config files. %{_datadir}/xmame %endif ################################################################################ %if %{with_mythmusic} %files -n mythmusic %defattr(-,root,root,-) %doc mythmusic/README mythmusic/COPYING mythmusic/AUTHORS mythmusic/musicdb %{_libdir}/mythtv/plugins/libmythmusic.so %{_varlibdir}/mythmusic %{_datadir}/mythtv/music*.xml %{_datadir}/mythtv/i18n/mythmusic_*.qm %{_datadir}/mythtv/themes/default/ff_button_off.png %{_datadir}/mythtv/themes/default/ff_button_on.png %{_datadir}/mythtv/themes/default/ff_button_pushed.png %{_datadir}/mythtv/themes/default/mm_* %{_datadir}/mythtv/themes/default/music* %{_datadir}/mythtv/themes/default/next_button_off.png %{_datadir}/mythtv/themes/default/next_button_on.png %{_datadir}/mythtv/themes/default/next_button_pushed.png %{_datadir}/mythtv/themes/default/pause_button_off.png %{_datadir}/mythtv/themes/default/pause_button_on.png %{_datadir}/mythtv/themes/default/pause_button_pushed.png %{_datadir}/mythtv/themes/default/play_button_off.png %{_datadir}/mythtv/themes/default/play_button_on.png %{_datadir}/mythtv/themes/default/play_button_pushed.png %{_datadir}/mythtv/themes/default/prev_button_off.png %{_datadir}/mythtv/themes/default/prev_button_on.png %{_datadir}/mythtv/themes/default/prev_button_pushed.png %{_datadir}/mythtv/themes/default/rew_button_off.png %{_datadir}/mythtv/themes/default/rew_button_on.png %{_datadir}/mythtv/themes/default/rew_button_pushed.png %{_datadir}/mythtv/themes/default/selectionbar.png %{_datadir}/mythtv/themes/default/stop_button_off.png %{_datadir}/mythtv/themes/default/stop_button_on.png %{_datadir}/mythtv/themes/default/stop_button_pushed.png %{_datadir}/mythtv/themes/default/text_button_off.png %{_datadir}/mythtv/themes/default/text_button_on.png %{_datadir}/mythtv/themes/default/text_button_pushed.png %{_datadir}/mythtv/themes/default/track_info_background.png %endif ################################################################################ %if %{with_mythnews} %files -n mythnews %defattr(-,root,root,-) %doc mythnews/README mythnews/AUTHORS mythnews/COPYING %{_libdir}/mythtv/plugins/libmythnews.so %{_datadir}/mythtv/mythnews %{_datadir}/mythtv/themes/default/news-ui.xml %{_datadir}/mythtv/themes/default/news-info-bg.png %{_datadir}/mythtv/i18n/mythnews_*.qm %endif ################################################################################ %if %{with_mythphone} %files -n mythphone %defattr(-,root,root,-) %doc mythphone/README mythphone/COPYING mythphone/AUTHORS mythphone/TODO %{_libdir}/mythtv/plugins/libmythphone.so %{_datadir}/mythtv/themes/default/phone-ui.xml %{_datadir}/mythtv/themes/default/webcam-ui.xml %{_datadir}/mythtv/themes/default/mp_*.png %{_datadir}/mythtv/themes/default/phone.png %{_datadir}/mythtv/i18n/mythphone_*.qm %endif ################################################################################ %if %{with_mythvideo} %files -n mythvideo %defattr(-,root,root,-) %doc mythvideo/README mythvideo/COPYING mythvideo/videodb %{_bindir}/mtd %{_libdir}/mythtv/plugins/libmythvideo.so %{_datadir}/mythtv/i18n/mythvideo_*.qm %{_datadir}/mythtv/video_settings.xml %{_datadir}/mythtv/videomenu.xml %{_datadir}/mythtv/mythvideo/ %{_varlibdir}/mythvideo %{_datadir}/mythtv/themes/default/video-ui.xml %{_datadir}/mythtv/themes/default/mv-*.png %{_datadir}/mythtv/themes/default/mv_*.png %{_datadir}/mythtv/themes/default/md_*.png %{_datadir}/mythtv/themes/default-wide/dvd-ui.xml %{_datadir}/mythtv/themes/default-wide/video-ui.xml %{_datadir}/mythtv/themes/default/dvd-ui.xml %endif ################################################################################ %if %{with_mythweather} %files -n mythweather %defattr(-,root,root,-) %doc mythweather/README mythweather/COPYING %{_libdir}/mythtv/plugins/libmythweather.so %{_datadir}/mythtv/i18n/mythweather_*.qm %{_datadir}/mythtv/mythweather/ %{_datadir}/mythtv/themes/default/weather-ui.xml %{_datadir}/mythtv/themes/default/cloudy.png %{_datadir}/mythtv/themes/default/fair.png %{_datadir}/mythtv/themes/default/flurries.png %{_datadir}/mythtv/themes/default/fog.png %{_datadir}/mythtv/themes/default/logo.png %{_datadir}/mythtv/themes/default/lshowers.png %{_datadir}/mythtv/themes/default/mcloudy.png %{_datadir}/mythtv/themes/default/mw-*.png %{_datadir}/mythtv/themes/default/mwmain.png %{_datadir}/mythtv/themes/default/pcloudy.png %{_datadir}/mythtv/themes/default/rainsnow.png %{_datadir}/mythtv/themes/default/showers.png %{_datadir}/mythtv/themes/default/snowshow.png %{_datadir}/mythtv/themes/default/sunny.png %{_datadir}/mythtv/themes/default/thunshowers.png %{_datadir}/mythtv/themes/default/unknown.png %endif ################################################################################ %if %{with_mythzoneminder} %files -n mythzoneminder %defattr(-,root,root,-) %doc mythzoneminder/AUTHORS mythzoneminder/README mythzoneminder/COPYING %{_bindir}/mythzmserver %{_libdir}/mythtv/plugins/libmythzoneminder.so %{_datadir}/mythtv/themes/default/mz_* %{_datadir}/mythtv/themes/default/zoneminder-ui.xml %{_datadir}/mythtv/zonemindermenu.xml %endif ################################################################################ %changelog * Sat Jan 13 2008 Chris Petersen <rpm@forevermore.net> - Rearrange things to account for MythDVD and MythVideo merging - Fix a couple of file locations for MythGame - Clean up the files section to use more wildcards * Wed Nov 29 2006 Chris Petersen <rpm@forevermore.net> - Add mythzoneminder * Mon Sep 11 2006 Chris Petersen <rpm@forevermore.net> - Update now that .20 has been released - Deal with missing/changed files * Wed Aug 30 2006 Chris Petersen <rpm@forevermore.net> - add -i to the SVN grep to account for certain foreign languages that capitalize "Revision" - Add support for mytharchive * Sat Apr 01 2006 Chris Petersen <rpm@forevermore.net> - Enhance SVN support so that the build doesn't fail if there were updated files in the repository. - Add detection for modular X.org so we don't need two spec files. - Add documentation at the top of the file for the --with and --without options. * Sun Nov 27 2005 Martin Ebourne <martin@zepler.org> - Added MythFlix * Fri Jul 22 2005 Chris Petersen <rpm@forevermore.net> - Add mythcontrols - General cleanup and adding of conditionals * Sat Jul 16 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Reenable mythplugins. * Tue Jun 7 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Disable transcode for now until transcode catches up with ffmpeg and libquicktime. * Tue May 17 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Update to 0.18.1. * Thu May 12 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Update the cvs fixes. * Thu Apr 21 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Add cvsfixes for 0.18. * Fri Apr 15 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Update to 0.18. * Thu Apr 14 2005 Axel Thimm <Axel.Thimm@ATrpms.net> - Merging plugins into one build (matching the new source layout).