| 1 | # Copyright 1999-2006 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.15 2006/09/14 07:10:35 cardoe Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/mythtv-plugins.eclass,v 1.28 2008/01/15 15:54:11 cardoe 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 |
7 | # Installs MythTV plugins along with patches from the release-${PV}-fixes branch |
| 8 | # |
8 | # |
| 9 | inherit eutils multilib qt3 versionator |
9 | inherit mythtv multilib qt3 versionator |
| 10 | |
10 | |
| 11 | # Extra configure options to pass to econf |
11 | # Extra configure options to pass to econf |
| 12 | MTVCONF=${MTVCONF:=""} |
12 | MTVCONF=${MTVCONF:=""} |
| 13 | |
13 | |
| 14 | # Release version |
|
|
| 15 | MY_PV="${PV%_*}" |
|
|
| 16 | |
|
|
| 17 | # SVN revision number to increment from the released version |
|
|
| 18 | if [ "x${MY_PV}" != "x${PV}" ]; then |
|
|
| 19 | PATCHREV="${PV##*_p}" |
|
|
| 20 | fi |
|
|
| 21 | |
|
|
| 22 | DESCRIPTION=${DESCRIPTION:="MythTV plugin"} |
|
|
| 23 | HOMEPAGE="http://www.mythtv.org" |
|
|
| 24 | SRC_URI="http://ftp.osuosl.org/pub/mythtv/mythplugins-${MY_PV}.tar.bz2" |
|
|
| 25 | if [ -n "${PATCHREV}" ] ; then |
|
|
| 26 | SRC_URI="${SRC_URI} http://dev.gentoo.org/~cardoe/files/mythtv/mythplugins-${MY_PV}_svn${PATCHREV}.patch.bz2" |
|
|
| 27 | fi |
|
|
| 28 | |
|
|
| 29 | |
|
|
| 30 | LICENSE="GPL-2" |
|
|
| 31 | SLOT="0" |
14 | SLOT="0" |
| 32 | IUSE="${IUSE} debug mmx" |
15 | IUSE="${IUSE} debug mmx" |
| 33 | |
16 | |
| 34 | RDEPEND="${RDEPEND} |
17 | RDEPEND="${RDEPEND} |
| 35 | =media-tv/mythtv-${MY_PV}*" |
18 | =media-tv/mythtv-${MY_PV}*" |
| 36 | DEPEND="${DEPEND} |
19 | DEPEND="${DEPEND} |
| 37 | =media-tv/mythtv-${MY_PV}* |
20 | =media-tv/mythtv-${MY_PV}* |
| 38 | >=sys-apps/sed-4" |
21 | >=sys-apps/sed-4" |
| 39 | |
22 | |
| 40 | S="${WORKDIR}/mythplugins-${MY_PV}" |
23 | S="${WORKDIR}/mythplugins-${MY_PV}" |
|
|
24 | |
|
|
25 | # hijacks the plugins checkout to be: |
|
|
26 | # /usr/portage/distfiles/svn-src/mythplugins/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="mythplugins" |
| 41 | |
31 | |
| 42 | mythtv-plugins_pkg_setup() { |
32 | mythtv-plugins_pkg_setup() { |
| 43 | # List of available plugins (needs to include ALL of them in the tarball) |
33 | # List of available plugins (needs to include ALL of them in the tarball) |
| 44 | MYTHPLUGINS="mythbrowser mythcontrols mythdvd mythflix mythgallery" |
34 | MYTHPLUGINS="mythbrowser mythcontrols mythdvd mythflix mythgallery" |
| 45 | MYTHPLUGINS="${MYTHPLUGINS} mythgame mythmusic mythnews mythphone" |
35 | MYTHPLUGINS="${MYTHPLUGINS} mythgame mythmusic mythnews mythphone" |
| 46 | MYTHPLUGINS="${MYTHPLUGINS} mythvideo mythweather mythweb" |
36 | MYTHPLUGINS="${MYTHPLUGINS} mythvideo mythweather mythweb" |
| 47 | |
37 | |
| 48 | if version_is_at_least "0.20" ; then |
38 | if version_is_at_least "0.20" ; then |
| 49 | MYTHPLUGINS="${MYTHPLUGINS} mytharchive" |
39 | MYTHPLUGINS="${MYTHPLUGINS} mytharchive" |
| 50 | fi |
40 | fi |
|
|
41 | |
|
|
42 | if version_is_at_least "0.21_pre" ; then |
|
|
43 | MYTHPLUGINS="${MYTHPLUGINS} mythzoneminder mythmovies mythappearance" |
|
|
44 | MYTHPLUGINS="${MYTHPLUGINS/mythdvd/}" |
|
|
45 | fi |
| 51 | } |
46 | } |
| 52 | |
47 | |
| 53 | mythtv-plugins_src_unpack() { |
48 | mythtv-plugins_src_unpack() { |
|
|
49 | if [ -n "${SVNREV}" ]; then |
|
|
50 | subversion_src_unpack |
|
|
51 | else |
| 54 | unpack ${A} |
52 | unpack ${A} |
|
|
53 | fi |
|
|
54 | |
|
|
55 | mythtv-plugins_src_unpack_patch |
|
|
56 | } |
|
|
57 | |
|
|
58 | mythtv-plugins_src_unpack_patch() { |
| 55 | cd "${S}" |
59 | cd "${S}" |
|
|
60 | |
|
|
61 | mythtv-fixes_patch |
| 56 | |
62 | |
| 57 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
63 | sed -e 's!PREFIX = /usr/local!PREFIX = /usr!' \ |
| 58 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
64 | -i 'settings.pro' || die "fixing PREFIX to /usr failed" |
| 59 | |
65 | |
| 60 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
66 | sed -e "s!QMAKE_CXXFLAGS_RELEASE = -O3 -march=pentiumpro -fomit-frame-pointer!QMAKE_CXXFLAGS_RELEASE = ${CXXFLAGS}!" \ |
| … | |
… | |
| 65 | |
71 | |
| 66 | find "${S}" -name '*.pro' -exec sed -i \ |
72 | find "${S}" -name '*.pro' -exec sed -i \ |
| 67 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
73 | -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ |
| 68 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
74 | -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ |
| 69 | {} \; |
75 | {} \; |
| 70 | |
|
|
| 71 | if [ -n "$PATCHREV" ]; then |
|
|
| 72 | patch -p0 < ${WORKDIR}/mythplugins-${MY_PV}_svn${PATCHREV}.patch |
|
|
| 73 | fi |
|
|
| 74 | } |
76 | } |
| 75 | |
77 | |
| 76 | mythtv-plugins_src_compile() { |
78 | mythtv-plugins_src_compile() { |
| 77 | cd "${S}" |
79 | cd "${S}" |
| 78 | |
80 | |
| … | |
… | |
| 106 | ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run" |
108 | ${QTDIR}/bin/qmake QMAKE="${QTDIR}/bin/qmake" -o "Makefile" mythplugins.pro || die "qmake failed to run" |
| 107 | emake || die "make failed to compile" |
109 | emake || die "make failed to compile" |
| 108 | } |
110 | } |
| 109 | |
111 | |
| 110 | mythtv-plugins_src_install() { |
112 | mythtv-plugins_src_install() { |
| 111 | debug-print ${MYTHPLUGINS} |
|
|
| 112 | if hasq ${PN} ${MYTHPLUGINS} ; then |
113 | if hasq ${PN} ${MYTHPLUGINS} ; then |
| 113 | cd "${S}"/${PN} |
114 | cd "${S}"/${PN} |
| 114 | else |
115 | else |
| 115 | die "Package ${PN} is unsupported" |
116 | die "Package ${PN} is unsupported" |
| 116 | fi |
117 | fi |