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