| 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.2 2005/05/27 23:24:09 eradicator Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.19 2006/10/14 20:27:21 swegener Exp $ |
| 4 | # |
4 | # |
| 5 | # Author: Doug Goldstein <cardoe@gentoo.org |
5 | # Author: Doug Goldstein <cardoe@gentoo.org> |
| 6 | # |
6 | # |
|
|
7 | # Installs MythTV plugins along with patches from the release-${PV}-fixes branch |
|
|
8 | # |
|
|
9 | inherit mythtv multilib qt3 versionator |
| 7 | |
10 | |
| 8 | inherit multilib |
11 | # Extra configure options to pass to econf |
|
|
12 | MTVCONF=${MTVCONF:=""} |
| 9 | |
13 | |
| 10 | ECLASS=mythtv-plugins |
14 | SLOT="0" |
| 11 | INHERITED="${INHERITED} ${ECLASS} debug" |
|
|
| 12 | IUSE="${IUSE} mmx" |
15 | IUSE="${IUSE} debug mmx" |
| 13 | |
16 | |
| 14 | EXPORT_FUNCTIONS src_unpack src_compile src_install |
17 | RDEPEND="${RDEPEND} |
| 15 | MYTHPLUGINS="mythbrowser mythdvd mythgallery mythgame mythmusic mythnews mythphone mythvideo mythweather mythweb" |
18 | =media-tv/mythtv-${MY_PV}*" |
| 16 | MTVCONF="" |
19 | DEPEND="${DEPEND} |
| 17 | S="${WORKDIR}/mythplugins-${PV}" |
20 | =media-tv/mythtv-${MY_PV}* |
|
|
21 | >=sys-apps/sed-4" |
| 18 | |
22 | |
| 19 | DEPEND=">=sys-apps/sed-4" |
23 | S="${WORKDIR}/mythplugins-${MY_PV}" |
|
|
24 | |
|
|
25 | mythtv-plugins_pkg_setup() { |
|
|
26 | # List of available plugins (needs to include ALL of them in the tarball) |
|
|
27 | MYTHPLUGINS="mythbrowser mythcontrols mythdvd mythflix mythgallery" |
|
|
28 | MYTHPLUGINS="${MYTHPLUGINS} mythgame mythmusic mythnews mythphone" |
|
|
29 | MYTHPLUGINS="${MYTHPLUGINS} mythvideo mythweather mythweb" |
|
|
30 | |
|
|
31 | if version_is_at_least "0.20" ; then |
|
|
32 | MYTHPLUGINS="${MYTHPLUGINS} mytharchive" |
|
|
33 | fi |
|
|
34 | } |
| 20 | |
35 | |
| 21 | mythtv-plugins_src_unpack() { |
36 | mythtv-plugins_src_unpack() { |
| 22 | unpack ${A} |
37 | unpack ${A} |
| 23 | cd ${S} |
38 | cd "${S}" |
| 24 | |
39 | |
|
|
40 | mythtv-fixes_patch |
|
|
41 | |
| 25 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
42 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
| 26 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
43 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
| 27 | |
44 | |
| 28 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
45 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
| 29 | -i 'settings.pro' || die "ciarnam sucks" |
|
|
| 30 | #sed -e "/^QMAKE_CXXFLAGS_RELEASE/s!= .*!= ${CXXFLAGS}!" \ |
|
|
| 31 | #-i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed" |
46 | -i 'settings.pro' || die "Fixing QMake's CXXFLAGS failed" |
| 32 | |
47 | |
| 33 | sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \ |
48 | sed -e "s!QMAKE_CFLAGS_RELEASE = \$\${QMAKE_CXXFLAGS_RELEASE}!QMAKE_CFLAGS_RELEASE = ${CFLAGS}!" \ |
| 34 | -i 'settings.pro' || die "ciaranm sucks" |
|
|
| 35 | #sed -e "/^QMAKE_CFLAGS_RELEASE/s!= .*!= ${CFLAGS}!" |
|
|
| 36 | #-i 'settings.pro' || die "Fixing Qmake's CFLAGS failed" |
49 | -i 'settings.pro' || die "Fixing Qmake's CFLAGS failed" |
| 37 | |
50 | |
| 38 | find ${S} -name '*.pro' -exec sed -i \ |
51 | find "${S}" -name '*.pro' -exec sed -i \ |
| 39 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
52 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
| 40 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
53 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
| 41 | {} \; |
54 | {} \; |
| 42 | } |
55 | } |
| 43 | |
56 | |
| 44 | mythtv-plugins_src_compile() { |
57 | mythtv-plugins_src_compile() { |
| 45 | cd ${S} |
58 | cd "${S}" |
| 46 | |
59 | |
| 47 | if use debug; then |
60 | if use debug; then |
| 48 | sed -e 's!CONFIG += release!CONFIG += debug!' \ |
61 | sed -e 's!CONFIG += release!CONFIG += debug!' \ |
| 49 | -i 'settings.pro' || die "switching to debug build failed" |
62 | -i 'settings.pro' || die "switching to debug build failed" |
| 50 | fi |
63 | fi |
| 51 | |
64 | |
| 52 | if ( use x86 && ! use mmx ) || ! use amd64; then |
65 | # if ( use x86 && ! use mmx ) || ! use amd64 ; then |
|
|
66 | if ( ! use mmx ); then |
| 53 | sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \ |
67 | sed -e 's!DEFINES += HAVE_MMX!DEFINES -= HAVE_MMX!' \ |
| 54 | -i 'settings.pro' || die "disabling MMX failed" |
68 | -i 'settings.pro' || die "disabling MMX failed" |
| 55 | fi |
69 | fi |
| 56 | |
70 | |
| 57 | local myconf="" |
71 | local myconf="" |
| … | |
… | |
| 68 | die "Package ${PN} is unsupported" |
82 | die "Package ${PN} is unsupported" |
| 69 | fi |
83 | fi |
| 70 | |
84 | |
| 71 | econf ${myconf} ${MTVCONF} |
85 | econf ${myconf} ${MTVCONF} |
| 72 | |
86 | |
| 73 | qmake -o "Makefile" mythplugins.pro || die "qmake failed to run" |
87 | ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run" |
| 74 | emake || die "make failed to compile" |
88 | emake || die "make failed to compile" |
| 75 | } |
89 | } |
| 76 | |
90 | |
| 77 | mythtv-plugins_src_install() { |
91 | mythtv-plugins_src_install() { |
| 78 | if hasq ${PN} ${MYTHPLUGINS} ; then |
92 | if hasq ${PN} ${MYTHPLUGINS} ; then |
| 79 | cd ${S}/${PN} |
93 | cd "${S}"/${PN} |
| 80 | else |
94 | else |
| 81 | die "Package ${PN} is unsupported" |
95 | die "Package ${PN} is unsupported" |
| 82 | fi |
96 | fi |
| 83 | |
97 | |
| 84 | einstall INSTALL_ROOT="${D}" |
98 | einstall INSTALL_ROOT="${D}" |
| 85 | for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do |
99 | for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do |
| 86 | test -e "${doc}" && dodoc ${doc} |
100 | test -e "${doc}" && dodoc ${doc} |
| 87 | done |
101 | done |
| 88 | } |
102 | } |
|
|
103 | |
|
|
104 | EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install |