summaryrefslogtreecommitdiff
path: root/packages/mythtv
diff options
context:
space:
mode:
authorJan Lübbe <jluebbe@debian.org>2008-07-22 15:50:44 +0000
committerJan Lübbe <jluebbe@debian.org>2008-07-22 15:50:44 +0000
commitd389748f6ba4325a878f7e3c017b1905409c8700 (patch)
treeefffc49e08a9587a3f32994aed777b995afa5a05 /packages/mythtv
parent7d283cd8392336998ee9c7c980497b6f03ebca7a (diff)
parent721b1996622b7032acb6078f0a32d236901e6b3b (diff)
merge of '832167cf1cc0ab655072532b7c546a8a25821e44'
and 'e4aab546c3b33577e2fb6bcfe199da5a98b4a9a3'
Diffstat (limited to 'packages/mythtv')
-rw-r--r--packages/mythtv/mythtv.inc10
-rw-r--r--packages/mythtv/mythtv/.mtn2git_empty0
-rw-r--r--packages/mythtv/mythtv/configure.patch131
-rw-r--r--packages/mythtv/mythtv_0.21.bb68
-rw-r--r--packages/mythtv/mythtv_svn.bb93
5 files changed, 296 insertions, 6 deletions
diff --git a/packages/mythtv/mythtv.inc b/packages/mythtv/mythtv.inc
index 4ceda5d421..9b7a0a768e 100644
--- a/packages/mythtv/mythtv.inc
+++ b/packages/mythtv/mythtv.inc
@@ -2,15 +2,13 @@ DESCRIPTION = "A full featured personal video recorder system."
HOMEPAGE = "http://www.mythtv.org"
LICENSE = "GPL"
SECTION = "x11/multimedia"
-DEPENDS = "libxinerama lame libxv libxxf86vm libxvmc lirc qt-x11-free"
-RDEPENDS_${PN} = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
+DEPENDS = "jack alsa-lib lame libxinerama libxv libxxf86vm libxvmc lirc"
+#RDEPENDS_${PN} = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
SRC_URI = "http://www.mythtv.org/mc/mythtv-${PV}.tar.bz2"
-inherit qmake qt3x11
+inherit qmake2 qt4x11
-# there is a -march=586 somewhere in the source tree
-COMPATIBLE_HOST = 'i.86.*-linux'
QMAKE_PROFILES = "mythtv.pro"
@@ -22,7 +20,7 @@ def mythtv_arch(d):
elif arch == "x86_64":
arch = "x86"
elif arch == "arm":
- arch = "armv4l"
+ arch = "${BASE_PACKAGE_ARCH}"
return arch
MYTHTV_ARCH := "${@mythtv_arch(d)}"
diff --git a/packages/mythtv/mythtv/.mtn2git_empty b/packages/mythtv/mythtv/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mythtv/mythtv/.mtn2git_empty
diff --git a/packages/mythtv/mythtv/configure.patch b/packages/mythtv/mythtv/configure.patch
new file mode 100644
index 0000000000..16f5076880
--- /dev/null
+++ b/packages/mythtv/mythtv/configure.patch
@@ -0,0 +1,131 @@
+--- /tmp/configure 2008-07-22 10:27:56.000000000 +0200
++++ mythtv/configure 2008-07-22 12:50:43.000000000 +0200
+@@ -476,12 +476,13 @@
+ }
+
+ check_cmd(){
+- log "$@"
++ echo "Checking $@"
++ log "$@"
+ "$@" >>$logfile 2>&1
+ }
+
+ check_cc(){
+- log check_cc "$@"
++ log check_cc "$@"
+ cat >$TMPC
+ log_file $TMPC
+ check_cmd $cc $CFLAGS $ECFLAGS $OPTFLAGS "$@" -c -o $TMPO $TMPC
+@@ -1117,11 +1118,11 @@
+ fi
+
+ # machine
+-arch=`uname -m`
++disabled cross_compile && arch=`uname -m`
+ arch_raw="$arch"
+ cpu="generic"
+ cpu_override="no"
+-processor=`uname -p 2>/dev/null`
++disabled cross_compile && processor=`uname -p 2>/dev/null`
+ processor_flags=""
+ tune="generic"
+
+@@ -1214,7 +1215,7 @@
+ # build settings
+ SHFLAGS='-shared -Wl,-soname,$@'
+ VHOOKSHFLAGS='$(SHFLAGS)'
+-LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
++#LDLATEFLAGS='-Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
+ FFSERVERLDFLAGS=-Wl,-E
+ LDCONFIG="ldconfig"
+ LIBPREF="lib"
+@@ -1714,7 +1715,7 @@
+
+ has_library()
+ {
+- if test -f /etc/ld.so.conf ; then
++ if test -f /etc/ld.so.conf && disabled cross_compile ; then
+ LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
+ else
+ LIBPATHS=''
+@@ -1725,7 +1726,7 @@
+ LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
+
+ # recurse down just one level, should be enough in most cases
+- if test -f /etc/ld.so.conf ; then
++ if test -f /etc/ld.so.conf && disabled cross_compile ; then
+ INCL=`cat /etc/ld.so.conf | grep -v "#" | grep "^include"`
+ SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
+ for x in $SRCH ; do
+@@ -1734,29 +1735,31 @@
+ done
+ fi
+
+- LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
++ enabled cross_compile || LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
+
+- HAS_IT="no"
++ HAS_IT="yes"
+ for LIBPATH in $LIBPATHS ; do
+ if test x`ls $LIBPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
+ HAS_IT="yes"
+ fi
+ done
++ echo "$1: $HAS_IT"
+ expr $HAS_IT : "yes" > /dev/null
+ }
+
+ has_header()
+ {
+- HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
++ enabled cross_compile || HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
+ INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
+ HPATHS="$HPATHS "$(echo $INCL | sed "s/$libdir_name/include/g")
+
+- HAS_IT="no"
++ HAS_IT="yes"
+ for HPATH in $HPATHS ; do
+ if test x`ls $HPATH/$1* 2> /dev/null | head -n 1` != x"" ; then
+ HAS_IT="yes"
+ fi
+ done
++ echo "$1: $HAS_IT"
+ expr $HAS_IT : "yes" > /dev/null
+ }
+
+@@ -1863,13 +1866,15 @@
+ if test x"$cmov" = x"default"; then
+ disable cmov
+ if enabled cpu_override; then
+- is_x86_cmov_cpu "$cpu" && enable cmov
++ disabled cross_compile && is_x86_cmov_cpu "$cpu" && enable cmov
+ disabled cmov || is_x86_slow_cmov_cpu "$cpu" || enable fast_cmov
+ elif expr "$processor_flags" : ".*cmov" > /dev/null ; then
+- enable cmov
++ disabled cross_compile && enable cmov
+ fi
+ fi
+
++enabled cross_compile && disable cmov
++
+ # use different default ARCHFLAGS for CPU missing cmov (Via C3 ...)
+ if test x"$arch" = x"x86_32" && disabled cmov && disabled cpu_override; then
+ ARCHFLAGS="-march=i586"
+@@ -2254,7 +2259,7 @@
+ EOF
+
+ if $cc $CFLAGS $ECFLAGS -o $TMPE $TMPC 2>/dev/null ; then
+-$TMPE && cpuclipspositive="yes"
++enabled cross_compile || $TMPE && cpuclipspositive="yes"
+ fi
+
+ # test negative wrap
+@@ -2269,7 +2274,7 @@
+ EOF
+
+ if $cc $CFLAGS $ECFLAGS -o $TMPE $TMPC 2>/dev/null ; then
+-$TMPE && cpuclipsnegative="yes"
++enabled cross_compile || $TMPE && cpuclipsnegative="yes"
+ fi
+
+ # test for distcc
diff --git a/packages/mythtv/mythtv_0.21.bb b/packages/mythtv/mythtv_0.21.bb
new file mode 100644
index 0000000000..a33c446813
--- /dev/null
+++ b/packages/mythtv/mythtv_0.21.bb
@@ -0,0 +1,68 @@
+require mythtv.inc
+
+PR = "r0"
+
+#SRC_URI += "file://configure.patch;patch=1 \
+# file://libmyth-libdir.patch;patch=1"
+
+# Seen on the mythtv web page:
+# http://www.mythtv.org/mc/fix-mythweb-in-0.20.diff;patch=1
+
+QMAKE_PROFILES = "mythtv.pro"
+
+mythlibs = "mythavutil mythavcodec mythavformat myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
+PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
+
+FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
+FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
+RDEPENDS_mythtv-frontend = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
+FILES_mythtv-bin = "${bindir}"
+FILES_mythtv-filters = "${libdir}/mythtv/filters"
+FILES_mythtv-data = "${datadir}"
+RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGES_DYNAMIC = "mythtv-theme-*"
+
+python __anonymous () {
+ import bb
+
+ mythlibs = bb.data.getVar('mythlibs', d).split()
+ pv = bb.data.expand(bb.data.getVar("PV", d), d)
+
+ for m in mythlibs:
+ bb.data.setVar("FILES_lib%s%s" % (m, pv), "${libdir}/lib%s-%s.so.*" % (m, pv), d)
+ bb.data.setVar("FILES_lib%s%s-dev" % (m, pv), "${libdir}/lib%s-%s.*" % (m, pv), d)
+
+ packages = " ".join(map(lambda x: "lib%s%s lib%s%s-dev" % (x, pv, x, pv), mythlibs) + bb.data.getVar("PACKAGES", d).split())
+
+ bb.data.setVar("PACKAGES", packages, d)
+}
+do_configure_prepend() {
+# it's not autotools anyway, so we call ./configure directly
+ find . -name "Makefile"|xargs rm -f
+ ./configure --prefix=/usr \
+ --mandir=/usr/man \
+ --cpu=${MYTHTV_ARCH} \
+ --disable-altivec \
+ --enable-v4l \
+ --enable-audio-oss \
+ --enable-proc-opt \
+ --enable-dvb \
+ --cross-compile \
+ --dvb-path=${STAGING_INCDIR}
+
+ sed 's!PREFIX =.*!PREFIX = ${prefix}!;/INCLUDEPATH += $${PREFIX}\/include/d' < settings.pro > settings.pro.new
+ mv settings.pro.new settings.pro
+}
+
+python populate_packages_prepend () {
+ new_packages = []
+
+ def the_hook(file, pkg, pattern, format, basename):
+ new_packages.append(pkg)
+
+ do_split_packages(d, root=bb.data.expand('${datadir}/mythtv/themes', d), file_regex='(.*)', output_pattern='mythtv-theme-%s', description='MythTV theme %s', allow_dirs=True, hook=the_hook, prepend=True)
+
+ bb.data.setVar("RDEPENDS_${PN}", "%s %s" % (bb.data.getVar("RDEPENDS_${PN}", d), " ".join(new_packages)), d)
+}
diff --git a/packages/mythtv/mythtv_svn.bb b/packages/mythtv/mythtv_svn.bb
new file mode 100644
index 0000000000..24a8b3d220
--- /dev/null
+++ b/packages/mythtv/mythtv_svn.bb
@@ -0,0 +1,93 @@
+require mythtv.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+PV = "0.21+svnr${SRCREV}"
+PR = "r0"
+
+SRCREV = "17880"
+SRC_URI = "svn://svn.mythtv.org/svn/trunk;module=mythtv;proto=http"
+
+SRC_URI += "file://configure.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/mythtv"
+
+QMAKE_PROFILES = "mythtv.pro"
+
+mythlibs = "mythavutil mythavcodec mythavformat myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
+PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
+
+FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
+FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
+RDEPENDS_mythtv-frontend = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
+FILES_mythtv-bin = "${bindir}"
+FILES_mythtv-filters = "${libdir}/mythtv/filters"
+FILES_mythtv-data = "${datadir}"
+RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGES_DYNAMIC = "mythtv-theme-*"
+
+python __anonymous () {
+ import bb
+
+ mythlibs = bb.data.getVar('mythlibs', d).split()
+ pv = bb.data.expand(bb.data.getVar("PV", d), d)
+
+ for m in mythlibs:
+ bb.data.setVar("FILES_lib%s%s" % (m, pv), "${libdir}/lib%s-%s.so.*" % (m, pv), d)
+ bb.data.setVar("FILES_lib%s%s-dev" % (m, pv), "${libdir}/lib%s-%s.*" % (m, pv), d)
+
+ packages = " ".join(map(lambda x: "lib%s%s lib%s%s-dev" % (x, pv, x, pv), mythlibs) + bb.data.getVar("PACKAGES", d).split())
+
+ bb.data.setVar("PACKAGES", packages, d)
+}
+
+EXTRA_OECONF_armv5te = " --enable-armv5te "
+EXTRA_OECONF_armv6 = " --enable-armv6 "
+EXTRA_OECONF_armv7a = --enable-armv6"
+
+#build with support for the iwmmxt instruction and pxa270fb overlay support (pxa270 and up)
+#not every iwmmxt machine has the lcd connected to pxafb, but building the module doesn't hurt
+MY_ARCH := "${PACKAGE_ARCH}"
+PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', 'iwmmxt', '${MY_ARCH}',d)}"
+
+MY_TARGET_CC_ARCH := "${TARGET_CC_ARCH}"
+TARGET_CC_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', '-march=iwmmxt -mtune=iwmmxt', '${MY_TARGET_CC_ARCH}',d)}"
+
+EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'iwmmxt', '--enable-pxa --enable-iwmmxt', '',d)} "
+
+
+do_configure_prepend() {
+# it's not autotools anyway, so we call ./configure directly
+ find . -name "Makefile"|xargs rm -f
+ ./configure --prefix=/usr \
+ --mandir=/usr/man \
+ --cpu=${MYTHTV_ARCH} \
+ --arch=${MYTHTV_ARCH} \
+ --disable-altivec \
+ --disable-strip \
+ --enable-v4l \
+ --enable-audio-oss \
+ --enable-proc-opt \
+ --enable-dvb \
+ --enable-libmp3lame \
+ --cross-compile \
+ --dvb-path=${STAGING_INCDIR} \
+ ${EXTRA_OECONF}
+
+ sed 's!PREFIX =.*!PREFIX = ${prefix}!;/INCLUDEPATH += $${PREFIX}\/include/d' < settings.pro > settings.pro.new
+ mv settings.pro.new settings.pro
+}
+
+python populate_packages_prepend () {
+ new_packages = []
+
+ def the_hook(file, pkg, pattern, format, basename):
+ new_packages.append(pkg)
+
+ do_split_packages(d, root=bb.data.expand('${datadir}/mythtv/themes', d), file_regex='(.*)', output_pattern='mythtv-theme-%s', description='MythTV theme %s', allow_dirs=True, hook=the_hook, prepend=True)
+
+ bb.data.setVar("RDEPENDS_${PN}", "%s %s" % (bb.data.getVar("RDEPENDS_${PN}", d), " ".join(new_packages)), d)
+}