SPECS (DEVEL): mythtv.spec - changed build environement settings defined ...
w.kier
w.kier at pld-linux.org
Sun Mar 8 19:30:00 CET 2009
Author: w.kier Date: Sun Mar 8 18:30:00 2009 GMT
Module: SPECS Tag: DEVEL
---- Log message:
- changed build environement settings
defined libdirname instead patching source
some bconds reversed
- removed obsolete patches
- added perl bindings
- added mythfrontend icon - feel free to change it
- added dshowserver support - exclusive for x86/x86_64 archs
---- Files affected:
SPECS:
mythtv.spec (1.73.2.1 -> 1.73.2.2)
---- Diffs:
================================================================
Index: SPECS/mythtv.spec
diff -u SPECS/mythtv.spec:1.73.2.1 SPECS/mythtv.spec:1.73.2.2
--- SPECS/mythtv.spec:1.73.2.1 Tue Oct 7 19:20:02 2008
+++ SPECS/mythtv.spec Sun Mar 8 19:29:54 2009
@@ -2,7 +2,6 @@
# TODO
# - bconds: altivec joystick lcd
# - lcd? (app-misc/lcdproc)
-# - icons for desktop entries
# - alpha, sparc, ppc arches?
#
# Specfile for MythTV
@@ -16,15 +15,18 @@
%bcond_without lirc # lirc support
%bcond_without alsa # alsa support
%bcond_without oss # oss support
-%bcond_without arts # arts support
+%bcond_with arts # arts support
%bcond_without jack # jack audio connection kit
%bcond_without opengl # opengl vsync
%bcond_without dvb # DVB support
%bcond_without xrandr # disable X11 resolution switching
-%bcond_with ivtv # ivtv support (PVR-250, PVR-350) NFY
+%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_with mmx # enable mmx
+%bcond_with mmx # enable MMX
+%bcond_with dshowserver # enable directshow codecs server
+%bcond_with directfb
# enable mmx automatically on arches having it
%ifarch %{ix86} %{x8664}
@@ -33,34 +35,40 @@
%endif
%endif
-%define qtver 4.3
-%define snap 20081007
+# dshowserver is exclusive arch for x86 x86_64 only
+%ifnarch %{ix86} %{x8664}
+%define with_dshowserver 0
+%endif
+%define _snap 20090302
+%define _rel 0.3
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
+Release: %{?_snap:%{_snap}.}%{_rel}
License: GPL v2
Group: Applications/Multimedia
-Source0: %{name}-%{version}-%{snap}.tar.gz
-# Source0-md5: 5a10a4752a950c246859c2a2710d2f47
+Source0: %{name}-%{version}-%{?_snap:%{_snap}}.tar.bz2
+# Source0-md5: 49fc135e1cde90cd935c1229467fa37e
Source1: mythbackend.sysconfig
Source2: mythbackend.init
Source3: mythbackend.logrotate
-Source5: mythfrontend.desktop
-Patch0: %{name}-configure.patch
+Source5: pld-mythfrontend.desktop
+Source6: pld-mythfrontend.png
+%{?with_dshowserver:Source20: dshowcodecs}
+#Patch100: %{name}-branch.diff
+Patch0: %{name}-configure.patch
+#Patch1: %{name}-mythstream.patch
+#Patch2: %{name}-pl.patch
+Patch3: %{name}-sbinpath.patch
+#Patch4: mythtv-dvdnav-shared.patch
+%{?with_dshowserver:Patch20: %{name}-dshowserver_trunk.patch}
URL: http://www.mythtv.org/
-BuildRequires: OpenGL-devel
-BuildRequires: OpenGL-GLU-devel
-BuildRequires: QtCore-devel >= %{qtver}
-BuildRequires: QtGui-devel >= %{qtver}
-BuildRequires: QtNetwork-devel >= %{qtver}
-BuildRequires: QtOpenGL-devel >= %{qtver}
-BuildRequires: QtSql-devel >= %{qtver}
-BuildRequires: QtWebKit-devel >= %{qtver}
-BuildRequires: QtXml-devel >= %{qtver}
+BuildRequires: OpenGL-devel
+BuildRequires: OpenGL-GLU-devel
%{?with_alsa:BuildRequires: alsa-lib-devel}
+%{?with_arts:BuildRequires: arts-devel >= 13:0.9.5}
BuildRequires: ffmpeg-devel
BuildRequires: freetype-devel >= 1:2.0.0
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
@@ -74,12 +82,31 @@
BuildRequires: linux-libc-headers >= 7:2.6.10
%{?with_lirc:BuildRequires: lirc-devel}
BuildRequires: mysql-devel
+#BuildRequires: patchutils
+BuildRequires: qt4-qmake
+BuildRequires: python-devel
+BuildRequires: rpm-pythonprov
+BuildRequires: perl-devel
+BuildRequires: perl-tools-pod
+BuildRequires: Qt3Support-devel
+BuildRequires: QtOpenGL-devel
+BuildRequires: QtXml-devel
+BuildRequires: qt4-build
+BuildRequires: QtNetwork-devel
+BuildRequires: QtGui-devel
+BuildRequires: QtSql-devel
+BuildRequires: QtCore-devel
+BuildRequires: QtWebKit-devel
BuildRequires: rpmbuild(macros) >= 1.228
BuildRequires: sed >= 4.0
# for bundled libavcodec
BuildRequires: libdts-devel
BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXxf86vm-devel
+BuildRequires: Mesa-libGLU-devel
+# for Perl bindings
+BuildRequires: perl-ExtUtils-MakeMaker
+
ExclusiveArch: %{ix86} %{x8664} ppc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -224,8 +251,7 @@
Group: Libraries
Requires: freetype >= 1:2.0.0
Requires: lame
-Requires: qt >= 6:3.2.1-4
-Requires: qt-plugin-mysql >= 6:3.2.1-4
+Requires: QtSql-mysql
%description -n libmyth
Common library code for MythTV and add-on modules (development) MythTV
@@ -263,10 +289,41 @@
%description -n libmyth-static -l pl.UTF-8
Statyczna biblioteka libmyth.
+%package -n perl-MythTV
+Summary: MythTV Perl bindings
+Summary(pl.UTF-8): Interfejs Perla dla MythTV
+Group: System Environment/Libraries
+
+%description -n perl-MythTV
+MythTV Perl bindings.
+
+%description -n perl-MythTV -l pl.UTF-8
+Ten pakiet zawiera moduły Perla do tworzenia dodatków dla mythtv.
+
+%package -n python-MythTV
+Summary: MythTV Python bindings
+Summary(pl.UTF-8): Interfejs Pythona dla MythTV
+Group: System Environment/Libraries
+Requires: MySQL-python
+
+%description -n python-MythTV
+MythTV Python bindings.
+
+%description -n python-MythTV -l pl.UTF-8
+Ten pakiet zawiera moduły Pythona do tworzenia dodatków dla mythtv.
+
%prep
-%setup -q -n %{name}-%{version}-%{snap}
+
+%setup -q %{SOURCE0}
+
+
%patch0 -p0
+#%patch1 -p1
+#%patch2 -p1
+%patch3 -p1
+#%patch4 -p1
+%{?with_dshowserver:%patch20 -p1}
rm -rf database/old # not supported in PLD
# lib64 fix - enable to update patch
@@ -280,7 +337,45 @@
exit 1
%endif
+# Assigning null to QMAKE_LIBDIR_QT will prevent makefiles contain
+# -L$(QTDIR)/%{_lib} and -Wl,-rpath,$(QTDIR)/%{_lib}. And that will
+# prevent compiler finding libs from system when they should be looked
+# from current buildtree.
+# but that made it link with -lqt which doesn't exist, instead of -lqt-mt
+# so we make QMAKE wrapper which will do sed subst after calling
+# qmake. this is the wrapper.
+cat > qmake-wrapper.sh <<'EOF'
+#!/bin/sh
+getmakefile() {
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -o)
+ shift
+ makefile="$1"
+ return
+ ;;
+ esac
+ shift
+ done
+}
+
+qmake-qt4 "$@"
+getmakefile "$@"
+if [ "$makefile" ]; then
+ %{__sed} -i -e '
+ s;-Wl,-rpath,$(QTDIR)/%{_lib};;
+ s;-L$(QTDIR)/%{_lib};;
+ ' $makefile
+fi
+EOF
+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
+
%build
+
%if %{with cpu_autodetect}
# Make sure we have /proc mounted
if [ ! -r /proc/cpuinfo ]; then
@@ -289,14 +384,10 @@
fi
%endif
-# NB: not autoconf configure
-# help configure::has_library() to locate libs
-LD_LIBRARY_PATH=%{_libdir} \
-CC="%{__cc}" \
-CXX="%{__cxx}" \
./configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
+ --libdir-name=`basename %{_libdir}` \
--mandir=%{_mandir} \
--disable-distcc --disable-ccache \
--compile-type=%{?debug:debug}%{!?debug:release} \
@@ -327,28 +418,46 @@
--%{?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_directfb:en}%{!?with_directfb:dis}able-directfb \
--enable-xv \
--enable-x11 \
+%{_libdir}/qt4/bin/qmake mythtv.pro
+#sed -i -e 's/usr\/\/usr/usr/g' config.ep
+
+
%{__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%{_libdir}/mythtv/plugins
+ $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}
# desktop entries
install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
+install %{SOURCE6} $RPM_BUILD_ROOT%{_pixmapsdir}
# Install settings.pro so people can see the build options we used
install -d $RPM_BUILD_ROOT%{_datadir}/mythtv/build
@@ -413,16 +522,16 @@
%files
%defattr(644,root,root,755)
%doc README* UPGRADING AUTHORS FAQ
-#%doc docs contrib configfiles
+%doc docs contrib config
%doc keys.txt mythtvosd mythwelcome mythlcdserver
%files backend
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mythbackend
-%attr(755,root,root) %{_bindir}/mythcommflag
+%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) %{_bindir}/mythlcdserver
+%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
@@ -449,7 +558,11 @@
%attr(755,root,root) %{_libdir}/mythtv/filters/*.so
%{_datadir}/mythtv/*.ttf
%dir %{_datadir}/mythtv/i18n
+%if %{with dshowserver}
+%attr(644,root,root) %{_datadir}/mythtv/dshowcodecs
+%endif
%{_desktopdir}/*.desktop
+%{_pixmapsdir}/*.png
%files setup
%defattr(644,root,root,755)
@@ -462,7 +575,9 @@
%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
+%attr(644,root,root) %{_datadir}/mythtv/*.pl
%files -n libmyth-devel
%defattr(644,root,root,755)
@@ -473,42 +588,48 @@
%files -n libmyth-static
%defattr(644,root,root,755)
+%files -n perl-MythTV
+%defattr(644,root,root,755)
+%attr(644,root,root) %{perl_vendorlib}/MythTV.pm
+%attr(755,root,root) %dir %{perl_vendorlib}/MythTV
+%attr(644,root,root) %{perl_vendorlib}/MythTV/*.pm
+%attr(644,root,root) %{perl_vendorlib}/IO/Socket/INET/MythTV.pm
+%exclude %{perl_vendorarch}/auto/MythTV/.packlist
+
+%files -n python-MythTV
+%defattr(644,root,root,755)
+%attr(755,root,root) %dir %{python_sitelib}/MythTV/
+%attr(644,root,root) %{python_sitelib}/MythTV/*
+
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback at pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
+Exept wk :P
$Log$
-Revision 1.73.2.1 2008/10/07 17:20:02 shadzik
-- 0.22 snap 20081007
-- ffmpeg build works
-- generic build mode
-- works only with qt4
-
-Revision 1.72 2008/10/07 10:10:02 shadzik
-- BR: OpenGL-GL-devel -> OpenGL-devel
-- rel 4
-
-Revision 1.71 2008/10/07 10:05:29 shadzik
-- more BRs
-
-Revision 1.70 2008/10/07 09:48:19 shadzik
-- BR: xorg-lib-libXxf86vm-devel
-- rel 2
-
-Revision 1.69 2008/10/07 09:34:06 shadzik
-- build dvb support by default (there's no known reason why we shouldn't do it, analog devices should work properly despite that)
-- rel 1
-
-Revision 1.68 2008/10/07 09:27:50 shadzik
-- 0.21
-- rel 0.1
-- get rid of this "snap" stuff, confuses me
-- del optflags.patch, add fixes.patch
-- renumber patches
-- no --disable-opts option nor --enable-dvb-eit
-- call make with addition QTDIR variable (exporting it works for most cases but unfortunately not for all)
-- shall we use the generic build mode instead of our qmake-hack thing? for now we let it build as was
+Revision 1.73.2.2 2009/03/08 18:29:54 w.kier
+- changed build environement settings
+ defined libdirname instead patching source
+ some bconds reversed
+- removed obsolete patches
+- added perl bindings
+- added mythfrontend icon - feel free to change it
+- added dshowserver support - exclusive for x86/x86_64 archs
+
+
+Revision 1.69 2008/10/13 10:22:00 wk
+- add python & perl binings packages
+
+Revision 1.68 2008/10/11 18:21:00 wk
+- initial for 0.22 - Qt4 based still devel version
+- rewriten "Requires" for Qt4
+- changed QTDIRS for Qt4
+- add dshowserver support
+- rewriten some base distro patches
+- some others commented as unusable
+- changed state or added some bconds
+- nellymoser flash audio decoder fails to build - bcond added
Revision 1.67 2007/11/11 12:15:00 glen
- add QTDIR
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/mythtv.spec?r1=1.73.2.1&r2=1.73.2.2&f=u
More information about the pld-cvs-commit
mailing list