9 SRC_URI = "svn://svn.mythtv.org/svn/branches/release-0-21-fixes;module=mythtv;proto=http"
12 file://ffmpeg-arm-update.diff;patch=1 \
13 file://no-cortex-deadlock.patch;patch=1;pnum=2 \
14 file://configure.patch;patch=1 \
19 S = "${WORKDIR}/mythtv"
21 QMAKE_PROFILES = "mythtv.pro"
23 mythlibs = "mythavutil mythavcodec mythavformat myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
24 PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
26 FILES_${PN}-dbg += "${libdir}/mythtv/filters/.debug"
27 FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
28 FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
29 RDEPENDS_mythtv-frontend = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
30 FILES_mythtv-bin = "${bindir}/*"
31 FILES_mythtv-filters = "${libdir}/mythtv/filters/*"
32 FILES_mythtv-data = "${datadir}"
33 RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
34 ALLOW_EMPTY_${PN} = "1"
36 PACKAGES_DYNAMIC = "mythtv-theme-*"
38 python __anonymous () {
41 mythlibs = bb.data.getVar('mythlibs', d).split()
42 pv = bb.data.expand(bb.data.getVar("REALPV", d), d)
45 bb.data.setVar("FILES_lib%s%s" % (m, pv), "${libdir}/lib%s-%s.so.*" % (m, pv), d)
46 bb.data.setVar("FILES_lib%s%s-dev" % (m, pv), "${libdir}/lib%s-%s.*" % (m, pv), d)
48 packages = " ".join(map(lambda x: "lib%s%s lib%s%s-dev" % (x, pv, x, pv), mythlibs) + bb.data.getVar("PACKAGES", d).split())
50 bb.data.setVar("PACKAGES", packages, d)
53 EXTRA_OECONF_armv5te = " --enable-armv5te "
54 EXTRA_OECONF_armv6 = " --enable-armv6 "
55 EXTRA_OECONF_armv7a = " --enable-armv6"
57 #build with support for the iwmmxt instruction and pxa270fb overlay support (pxa270 and up)
58 #not every iwmmxt machine has the lcd connected to pxafb, but building the module doesn't hurt
59 MY_ARCH := "${PACKAGE_ARCH}"
60 PACKAGE_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', 'iwmmxt', '${MY_ARCH}',d)}"
62 MY_TARGET_CC_ARCH := "${TARGET_CC_ARCH}"
63 TARGET_CC_ARCH = "${@base_contains('MACHINE_FEATURES', 'iwmmxt', '-march=iwmmxt -mtune=iwmmxt', '${MY_TARGET_CC_ARCH}',d)}"
65 EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'iwmmxt', '--enable-pxa --enable-iwmmxt', '',d)} "
67 do_configure_prepend() {
68 # it's not autotools anyway, so we call ./configure directly
69 find . -name "Makefile"|xargs rm -f
71 ./configure --prefix=/usr \
73 --cpu=${MYTHTV_ARCH} \
74 --arch=${MYTHTV_ARCH} \
77 --disable-opengl-video \
85 --dvb-path=${STAGING_INCDIR} \
89 sed 's!PREFIX =.*!PREFIX = ${prefix}!;/INCLUDEPATH += $${PREFIX}\/include/d' < settings.pro > settings.pro.new
90 mv settings.pro.new settings.pro
91 for pro in ${S}/*/*pro ${S}/*/*/*pro ${S}/*/*/*/*pro ; do
92 sed -i -e s:opengl::g $pro
94 sed -i /.SUBDIR/d ${S}/bindings/*pro
95 cat ${WORKDIR}/configh >> ${S}/config.h
96 cat ${WORKDIR}/configmak ${OPTSMAK} >> ${S}/config.mak
99 python populate_packages_prepend () {
102 def the_hook(file, pkg, pattern, format, basename):
103 new_packages.append(pkg)
105 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)
107 bb.data.setVar("RDEPENDS_${PN}", "%s %s" % (bb.data.getVar("RDEPENDS_${PN}", d), " ".join(new_packages)), d)