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

Contents of /eclass/mythtv-plugins.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.26 - (hide annotations) (download)
Tue Aug 7 16:24:42 2007 UTC (7 years, 1 month ago) by cardoe
Branch: MAIN
Changes since 1.25: +7 -2 lines
determine if we need a subversion_src_unpack or unpack and do the right thing

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.26 # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.25 2007/06/28 19:19:21 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.17 inherit mythtv multilib qt3 versionator
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     # /usr/portage/distfiles/svn-src//mythplugins/mythvideo/
27     # 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     ESVN_PROJECT=""
31    
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.21 if version_is_at_least "0.21_pre" ; then
43 cardoe 1.22 MYTHPLUGINS="${MYTHPLUGINS} mythzoneminder mythmovies"
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.26 if [ -n "${SVNREV}" ]; then
50     subversion_src_unpack
51     else
52     unpack ${A}
53     fi
54    
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 swegener 1.19 mythtv-fixes_patch
62 cardoe 1.17
63 cardoe 1.1 sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \
64     -i 'settings.pro' || die "fixing PREFIX to /usr failed"
65 swegener 1.8
66 cardoe 1.1 sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \
67 cardoe 1.3 -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed"
68 swegener 1.8
69 cardoe 1.1 sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \
70 cardoe 1.3 -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed"
71 eradicator 1.2
72 cardoe 1.13 find "${S}" -name '*.pro' -exec sed -i \
73 eradicator 1.2 -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \
74     -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \
75     {} \;
76 cardoe 1.1 }
77    
78     mythtv-plugins_src_compile() {
79 cardoe 1.13 cd "${S}"
80 swegener 1.8
81 cardoe 1.1 if use debug; then
82     sed -e 's!CONFIG += release!CONFIG += debug!' \
83     -i 'settings.pro' || die "switching to debug build failed"
84     fi
85 swegener 1.8
86 cardoe 1.3 # if ( use x86 && ! use mmx ) || ! use amd64 ; then
87     if ( ! use mmx ); then
88 cardoe 1.1 sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \
89     -i 'settings.pro' || die "disabling MMX failed"
90     fi
91    
92     local myconf=""
93    
94     if hasq ${PN} ${MYTHPLUGINS} ; then
95     for x in ${MYTHPLUGINS} ; do
96     if [[ ${PN} == ${x} ]] ; then
97     myconf="${myconf} --enable-${x}"
98     else
99     myconf="${myconf} --disable-${x}"
100     fi
101     done
102     else
103     die "Package ${PN} is unsupported"
104     fi
105    
106     econf ${myconf} ${MTVCONF}
107    
108 cardoe 1.11 ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run"
109 cardoe 1.1 emake || die "make failed to compile"
110     }
111    
112     mythtv-plugins_src_install() {
113     if hasq ${PN} ${MYTHPLUGINS} ; then
114 cardoe 1.13 cd "${S}"/${PN}
115 cardoe 1.1 else
116     die "Package ${PN} is unsupported"
117     fi
118    
119     einstall INSTALL_ROOT="${D}"
120     for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do
121     test -e "${doc}" && dodoc ${doc}
122     done
123     }
124 cardoe 1.13
125     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install

  ViewVC Help
Powered by ViewVC 1.1.20