/[gentoo-x86]/eclass/mythtv-plugins.eclass
Gentoo

Contents of /eclass/mythtv-plugins.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.34 - (hide annotations) (download)
Tue Jan 13 23:16:10 2009 UTC (5 years, 8 months ago) by gentoofan23
Branch: MAIN
Changes since 1.33: +3 -1 lines
Add presource variable for plugins that don't need mythtv/qt/mysql dependencies(mythzoneminder)

1 cardoe 1.13 # Copyright 1999-2006 Gentoo Foundation
2 cardoe 1.1 # Distributed under the terms of the GNU General Public License v2
3 gentoofan23 1.34 # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.33 2009/01/10 14:00:15 beandog Exp $
4 cardoe 1.1 #
5 cardoe 1.11 # Author: Doug Goldstein <cardoe@gentoo.org>
6 cardoe 1.1 #
7 cardoe 1.13 # Installs MythTV plugins along with patches from the release-${PV}-fixes branch
8     #
9 cardoe 1.30 inherit mythtv multilib qt3 versionator subversion
10 cardoe 1.13
11     # Extra configure options to pass to econf
12     MTVCONF=${MTVCONF:=""}
13    
14     SLOT="0"
15 cardoe 1.14 IUSE="${IUSE} debug mmx"
16 cardoe 1.1
17 gentoofan23 1.34 if [[ -z $MYTHTV_NODEPS ]] ; then
18 swegener 1.19 RDEPEND="${RDEPEND}
19 cardoe 1.13 =media-tv/mythtv-${MY_PV}*"
20     DEPEND="${DEPEND}
21     =media-tv/mythtv-${MY_PV}*
22     >=sys-apps/sed-4"
23 gentoofan23 1.34 fi
24 cardoe 1.13
25     S="${WORKDIR}/mythplugins-${MY_PV}"
26    
27 beandog 1.33 # bug 240325
28     RESTRICT="strip"
29    
30 cardoe 1.23 # hijacks the plugins checkout to be:
31 cardoe 1.27 # /usr/portage/distfiles/svn-src/mythplugins/mythplugins/mythvideo/
32 cardoe 1.23 # so that each of the plugins can share the same svn checkout
33     # saving HD space and number of svn checkouts reqired
34     # Great suggestion by Tom Clift <tom@clift.name>
35 cardoe 1.27 ESVN_PROJECT="mythplugins"
36 cardoe 1.23
37 cardoe 1.13 mythtv-plugins_pkg_setup() {
38     # List of available plugins (needs to include ALL of them in the tarball)
39     MYTHPLUGINS="mythbrowser mythcontrols mythdvd mythflix mythgallery"
40     MYTHPLUGINS="${MYTHPLUGINS} mythgame mythmusic mythnews mythphone"
41     MYTHPLUGINS="${MYTHPLUGINS} mythvideo mythweather mythweb"
42    
43     if version_is_at_least "0.20" ; then
44     MYTHPLUGINS="${MYTHPLUGINS} mytharchive"
45     fi
46 cardoe 1.20
47 cardoe 1.30 if version_is_at_least "0.21_beta" ; then
48 cardoe 1.31 MYTHPLUGINS="${MYTHPLUGINS} mythzoneminder mythmovies"
49 cardoe 1.24 MYTHPLUGINS="${MYTHPLUGINS/mythdvd/}"
50 cardoe 1.20 fi
51 cardoe 1.13 }
52 cardoe 1.1
53     mythtv-plugins_src_unpack() {
54 cardoe 1.29 subversion_src_unpack
55 cardoe 1.25 mythtv-plugins_src_unpack_patch
56     }
57    
58     mythtv-plugins_src_unpack_patch() {
59 cardoe 1.13 cd "${S}"
60 swegener 1.8
61 cardoe 1.1 sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \
62     -i 'settings.pro' || die "fixing PREFIX to /usr failed"
63 swegener 1.8
64 cardoe 1.1 sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \
65 cardoe 1.3 -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed"
66 swegener 1.8
67 cardoe 1.1 sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \
68 cardoe 1.3 -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed"
69 eradicator 1.2
70 cardoe 1.13 find "${S}" -name '*.pro' -exec sed -i \
71 eradicator 1.2 -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \
72     -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \
73     {} \;
74 cardoe 1.1 }
75    
76     mythtv-plugins_src_compile() {
77 cardoe 1.13 cd "${S}"
78 swegener 1.8
79 cardoe 1.1 if use debug; then
80     sed -e 's!CONFIG += release!CONFIG += debug!' \
81     -i 'settings.pro' || die "switching to debug build failed"
82     fi
83 swegener 1.8
84 cardoe 1.3 # if ( use x86 && ! use mmx ) || ! use amd64 ; then
85     if ( ! use mmx ); then
86 cardoe 1.1 sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \
87     -i 'settings.pro' || die "disabling MMX failed"
88     fi
89    
90     local myconf=""
91    
92     if hasq ${PN} ${MYTHPLUGINS} ; then
93     for x in ${MYTHPLUGINS} ; do
94     if [[ ${PN} == ${x} ]] ; then
95     myconf="${myconf} --enable-${x}"
96     else
97     myconf="${myconf} --disable-${x}"
98     fi
99     done
100     else
101     die "Package ${PN} is unsupported"
102     fi
103    
104     econf ${myconf} ${MTVCONF}
105    
106 cardoe 1.11 ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run"
107 cardoe 1.1 emake || die "make failed to compile"
108     }
109    
110     mythtv-plugins_src_install() {
111     if hasq ${PN} ${MYTHPLUGINS} ; then
112 cardoe 1.13 cd "${S}"/${PN}
113 cardoe 1.1 else
114     die "Package ${PN} is unsupported"
115     fi
116    
117     einstall INSTALL_ROOT="${D}"
118     for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do
119     test -e "${doc}" && dodoc ${doc}
120     done
121     }
122 cardoe 1.13
123     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install

  ViewVC Help
Powered by ViewVC 1.1.20