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

Contents of /eclass/mythtv-plugins.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.30 - (hide annotations) (download)
Mon Mar 3 16:13:38 2008 UTC (6 years, 4 months ago) by cardoe
Branch: MAIN
Changes since 1.29: +3 -3 lines
0.21 beta fix for bug #212153

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 cardoe 1.30 # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.29 2008/02/20 20:05:23 cardoe 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 swegener 1.19 RDEPEND="${RDEPEND}
18 cardoe 1.13 =media-tv/mythtv-${MY_PV}*"
19     DEPEND="${DEPEND}
20     =media-tv/mythtv-${MY_PV}*
21     >=sys-apps/sed-4"
22    
23     S="${WORKDIR}/mythplugins-${MY_PV}"
24    
25 cardoe 1.23 # hijacks the plugins checkout to be:
26 cardoe 1.27 # /usr/portage/distfiles/svn-src/mythplugins/mythplugins/mythvideo/
27 cardoe 1.23 # so that each of the plugins can share the same svn checkout
28     # saving HD space and number of svn checkouts reqired
29     # Great suggestion by Tom Clift <tom@clift.name>
30 cardoe 1.27 ESVN_PROJECT="mythplugins"
31 cardoe 1.23
32 cardoe 1.13 mythtv-plugins_pkg_setup() {
33     # List of available plugins (needs to include ALL of them in the tarball)
34     MYTHPLUGINS="mythbrowser mythcontrols mythdvd mythflix mythgallery"
35     MYTHPLUGINS="${MYTHPLUGINS} mythgame mythmusic mythnews mythphone"
36     MYTHPLUGINS="${MYTHPLUGINS} mythvideo mythweather mythweb"
37    
38     if version_is_at_least "0.20" ; then
39     MYTHPLUGINS="${MYTHPLUGINS} mytharchive"
40     fi
41 cardoe 1.20
42 cardoe 1.30 if version_is_at_least "0.21_beta" ; then
43 cardoe 1.28 MYTHPLUGINS="${MYTHPLUGINS} mythzoneminder mythmovies mythappearance"
44 cardoe 1.24 MYTHPLUGINS="${MYTHPLUGINS/mythdvd/}"
45 cardoe 1.20 fi
46 cardoe 1.13 }
47 cardoe 1.1
48     mythtv-plugins_src_unpack() {
49 cardoe 1.29 subversion_src_unpack
50 cardoe 1.25 mythtv-plugins_src_unpack_patch
51     }
52    
53     mythtv-plugins_src_unpack_patch() {
54 cardoe 1.13 cd "${S}"
55 swegener 1.8
56 swegener 1.19 mythtv-fixes_patch
57 cardoe 1.17
58 cardoe 1.1 sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \
59     -i 'settings.pro' || die "fixing PREFIX to /usr failed"
60 swegener 1.8
61 cardoe 1.1 sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \
62 cardoe 1.3 -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed"
63 swegener 1.8
64 cardoe 1.1 sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \
65 cardoe 1.3 -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed"
66 eradicator 1.2
67 cardoe 1.13 find "${S}" -name '*.pro' -exec sed -i \
68 eradicator 1.2 -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \
69     -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \
70     {} \;
71 cardoe 1.1 }
72    
73     mythtv-plugins_src_compile() {
74 cardoe 1.13 cd "${S}"
75 swegener 1.8
76 cardoe 1.1 if use debug; then
77     sed -e 's!CONFIG += release!CONFIG += debug!' \
78     -i 'settings.pro' || die "switching to debug build failed"
79     fi
80 swegener 1.8
81 cardoe 1.3 # if ( use x86 && ! use mmx ) || ! use amd64 ; then
82     if ( ! use mmx ); then
83 cardoe 1.1 sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \
84     -i 'settings.pro' || die "disabling MMX failed"
85     fi
86    
87     local myconf=""
88    
89     if hasq ${PN} ${MYTHPLUGINS} ; then
90     for x in ${MYTHPLUGINS} ; do
91     if [[ ${PN} == ${x} ]] ; then
92     myconf="${myconf} --enable-${x}"
93     else
94     myconf="${myconf} --disable-${x}"
95     fi
96     done
97     else
98     die "Package ${PN} is unsupported"
99     fi
100    
101     econf ${myconf} ${MTVCONF}
102    
103 cardoe 1.11 ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run"
104 cardoe 1.1 emake || die "make failed to compile"
105     }
106    
107     mythtv-plugins_src_install() {
108     if hasq ${PN} ${MYTHPLUGINS} ; then
109 cardoe 1.13 cd "${S}"/${PN}
110 cardoe 1.1 else
111     die "Package ${PN} is unsupported"
112     fi
113    
114     einstall INSTALL_ROOT="${D}"
115     for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do
116     test -e "${doc}" && dodoc ${doc}
117     done
118     }
119 cardoe 1.13
120     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install

  ViewVC Help
Powered by ViewVC 1.1.20