1 | # Copyright 1999-2004 Gentoo Foundation |
1 | # Copyright 1999-2006 Gentoo Foundation |
2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.4 2005/07/01 15:01:49 caleb Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.39 2011/07/08 11:35:01 ssuominen Exp $ |
4 | # |
4 | # |
|
|
5 | # @ECLASS: mythtv-plugins.eclass |
5 | # Author: Doug Goldstein <cardoe@gentoo.org |
6 | # @AUTHOR: Doug Goldstein <cardoe@gentoo.org> |
|
|
7 | # @MAINTAINER: Doug Goldstein <cardoe@gentoo.org> |
|
|
8 | # @BLURB: Installs MythTV plugins along with patches from the release-${PV}-fixes branch |
6 | # |
9 | # |
7 | |
10 | |
8 | inherit multilib |
11 | # NOTE: YOU MUST INHERIT EITHER qt3 or qt4 IN YOUR PLUGIN! |
9 | |
12 | |
10 | ECLASS=mythtv-plugins |
13 | inherit mythtv multilib versionator |
11 | INHERITED="${INHERITED} ${ECLASS} debug" |
|
|
12 | IUSE="${IUSE} mmx" |
|
|
13 | |
14 | |
14 | EXPORT_FUNCTIONS src_unpack src_compile src_install |
15 | # Extra configure options to pass to econf |
15 | MYTHPLUGINS="mythbrowser mythdvd mythgallery mythgame mythmusic mythnews mythphone mythvideo mythweather mythweb" |
16 | MTVCONF=${MTVCONF:=""} |
16 | MTVCONF="" |
|
|
17 | S="${WORKDIR}/mythplugins-${PV}" |
|
|
18 | |
17 | |
19 | DEPEND=">=sys-apps/sed-4" |
18 | SLOT="0" |
|
|
19 | IUSE="${IUSE} debug mmx" |
20 | |
20 | |
|
|
21 | if [[ -z $MYTHTV_NODEPS ]] ; then |
|
|
22 | RDEPEND="${RDEPEND} |
|
|
23 | =media-tv/mythtv-${MY_PV}*" |
|
|
24 | DEPEND="${DEPEND} |
|
|
25 | =media-tv/mythtv-${MY_PV}* |
|
|
26 | >=sys-apps/sed-4" |
|
|
27 | fi |
|
|
28 | |
|
|
29 | # bug 240325 |
|
|
30 | RESTRICT="strip" |
|
|
31 | |
|
|
32 | 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 | |
|
|
42 | if version_is_at_least "0.21_beta" ; then |
|
|
43 | MYTHPLUGINS="${MYTHPLUGINS} mythzoneminder mythmovies" |
|
|
44 | MYTHPLUGINS="${MYTHPLUGINS/mythdvd/}" |
|
|
45 | fi |
|
|
46 | |
|
|
47 | if version_is_at_least "0.22_beta" ; then |
|
|
48 | MYTHPLUGINS="${MYTHPLUGINS/mythcontrols/}" |
|
|
49 | MYTHPLUGINS="${MYTHPLUGINS/mythphone/}" |
|
|
50 | fi |
|
|
51 | |
|
|
52 | if version_is_at_least "0.23_beta" ; then |
|
|
53 | MYTHPLUGINS="${MYTHPLUGINS/mythflix/}" |
|
|
54 | MYTHPLUGINS="${MYTHPLUGINS} mythnetvision" |
|
|
55 | fi |
|
|
56 | } |
|
|
57 | |
21 | mythtv-plugins_src_unpack() { |
58 | mythtv-plugins_src_prepare() { |
22 | unpack ${A} |
|
|
23 | cd ${S} |
|
|
24 | |
|
|
25 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
59 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
26 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
60 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
27 | |
61 | |
28 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
62 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
29 | -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed" |
63 | -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed" |
30 | |
64 | |
31 | sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \ |
65 | sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \ |
32 | -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed" |
66 | -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed" |
33 | |
67 | |
34 | find ${S} -name '*.pro' -exec sed -i \ |
68 | find "${S}" -name '*.pro' -exec sed -i \ |
35 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
69 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
36 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
70 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
37 | {} \; |
71 | {} \; |
38 | } |
72 | } |
39 | |
73 | |
40 | mythtv-plugins_src_compile() { |
74 | mythtv-plugins_src_configure() { |
41 | cd ${S} |
75 | cd "${S}" |
42 | |
76 | |
43 | if use debug; then |
77 | if use debug; then |
44 | sed -e 's!CONFIG += release!CONFIG += debug!' \ |
78 | sed -e 's!CONFIG += release!CONFIG += debug!' \ |
45 | -i 'settings.pro' || die "switching to debug build failed" |
79 | -i 'settings.pro' || die "switching to debug build failed" |
46 | fi |
80 | fi |
47 | |
81 | |
48 | # if ( use x86 && ! use mmx ) || ! use amd64 ; then |
82 | # if ( use x86 && ! use mmx ) || ! use amd64 ; then |
49 | if ( ! use mmx ); then |
83 | if ( ! use mmx ); then |
50 | sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \ |
84 | sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \ |
51 | -i 'settings.pro' || die "disabling MMX failed" |
85 | -i 'settings.pro' || die "disabling MMX failed" |
52 | fi |
86 | fi |
53 | |
87 | |
54 | local myconf="" |
88 | local myconf="" |
55 | |
89 | |
56 | if hasq ${PN} ${MYTHPLUGINS} ; then |
90 | if has ${PN} ${MYTHPLUGINS} ; then |
57 | for x in ${MYTHPLUGINS} ; do |
91 | for x in ${MYTHPLUGINS} ; do |
58 | if [[ ${PN} == ${x} ]] ; then |
92 | if [[ ${PN} == ${x} ]] ; then |
59 | myconf="${myconf} --enable-${x}" |
93 | myconf="${myconf} --enable-${x}" |
60 | else |
94 | else |
61 | myconf="${myconf} --disable-${x}" |
95 | myconf="${myconf} --disable-${x}" |
… | |
… | |
63 | done |
97 | done |
64 | else |
98 | else |
65 | die "Package ${PN} is unsupported" |
99 | die "Package ${PN} is unsupported" |
66 | fi |
100 | fi |
67 | |
101 | |
|
|
102 | chmod +x configure |
68 | econf ${myconf} ${MTVCONF} |
103 | econf ${myconf} ${MTVCONF} |
|
|
104 | } |
69 | |
105 | |
70 | ${QTDIR}/bin/qmake -o "Makefile" mythplugins.pro || die "qmake failed to run" |
106 | mythtv-plugins_src_compile() { |
|
|
107 | if version_is_at_least "0.22" ; then |
|
|
108 | eqmake4 mythplugins.pro || die "eqmake4 failed" |
|
|
109 | else |
|
|
110 | eqmake3 mythplugins.pro || die "eqmake3 failed" |
|
|
111 | fi |
71 | emake || die "make failed to compile" |
112 | emake || die "make failed to compile" |
72 | } |
113 | } |
73 | |
114 | |
74 | mythtv-plugins_src_install() { |
115 | mythtv-plugins_src_install() { |
75 | if hasq ${PN} ${MYTHPLUGINS} ; then |
116 | if has ${PN} ${MYTHPLUGINS} ; then |
76 | cd ${S}/${PN} |
117 | cd "${S}"/${PN} |
77 | else |
118 | else |
78 | die "Package ${PN} is unsupported" |
119 | die "Package ${PN} is unsupported" |
79 | fi |
120 | fi |
80 | |
121 | |
81 | einstall INSTALL_ROOT="${D}" |
122 | einstall INSTALL_ROOT="${D}" |
82 | for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do |
123 | for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do |
83 | test -e "${doc}" && dodoc ${doc} |
124 | test -e "${doc}" && dodoc ${doc} |
84 | done |
125 | done |
85 | } |
126 | } |
|
|
127 | |
|
|
128 | EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install |