summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/mythtv.eclass')
-rw-r--r--eclass/mythtv.eclass48
1 files changed, 48 insertions, 0 deletions
diff --git a/eclass/mythtv.eclass b/eclass/mythtv.eclass
new file mode 100644
index 000000000000..627c889fff4e
--- /dev/null
+++ b/eclass/mythtv.eclass
@@ -0,0 +1,48 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# @ECLASS: mythtv.eclass
+# @MAINTAINER:
+# Doug Goldstein <cardoe@gentoo.org>
+# @AUTHOR:
+# Doug Goldstein <cardoe@gentoo.org>
+# @BLURB: Downloads the MythTV source packages and any patches from the fixes branch
+
+inherit versionator
+
+# temporary until all the packagers are fixed for bug #283798
+DEPEND="app-arch/unzip"
+
+# Release version
+MY_PV="${PV%_*}"
+
+# what product do we want
+case "${PN}" in
+ mythtv) MY_PN="mythtv";;
+ mythtv-themes) MY_PN="myththemes";;
+ mythtv-themes-extra) MY_PN="themes";;
+ *) MY_PN="mythplugins";;
+esac
+
+# _pre is from SVN trunk while _p and _beta are from SVN ${MY_PV}-fixes
+# TODO: probably ought to do something smart if the regex doesn't match anything
+[[ "${PV}" =~ (_alpha|_beta|_pre|_rc|_p)([0-9]+) ]] || {
+ eerror "Invalid version requested (_alpha|_beta|_pre|_rc|_p) only"
+ exit 1
+}
+
+REV_PREFIX="${BASH_REMATCH[1]}" # _alpha, _beta, _pre, _rc, or _p
+MYTHTV_REV="${BASH_REMATCH[2]}" # revision number
+
+case $REV_PREFIX in
+ _pre|_alpha) MYTHTV_REPO="trunk";;
+ _p|_beta|_rc) VER_COMP=( $(get_version_components ${MY_PV}) )
+ FIXES_VER="${VER_COMP[0]}-${VER_COMP[1]}"
+ MYTHTV_REPO="branches/release-${FIXES_VER}-fixes";;
+esac
+
+HOMEPAGE="http://www.mythtv.org"
+LICENSE="GPL-2"
+SRC_URI="http://svn.mythtv.org/trac/changeset/${MYTHTV_REV}/${MYTHTV_REPO}/${MY_PN}?old_path=%2F&format=zip -> ${MY_PN}-${PV}.zip"
+S="${WORKDIR}/${MYTHTV_REPO}/${MY_PN}"