summaryrefslogtreecommitdiff
path: root/recipes/mythtv/mythtv_0.22.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/mythtv/mythtv_0.22.bb')
-rw-r--r--recipes/mythtv/mythtv_0.22.bb124
1 files changed, 124 insertions, 0 deletions
diff --git a/recipes/mythtv/mythtv_0.22.bb b/recipes/mythtv/mythtv_0.22.bb
new file mode 100644
index 0000000000..0ff2b4d0c6
--- /dev/null
+++ b/recipes/mythtv/mythtv_0.22.bb
@@ -0,0 +1,124 @@
+require mythtv.inc
+
+RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-database \
+mysql5-server mysql5-client"
+RDEPENDS_${PN}_append_libc-glibc = " glibc-gconv-utf-16"
+
+PV = "0.22"
+PR = "r0"
+# REALPV is here to support release candidates
+# OE in that case has as PV something like 0.21+0.22rc1
+# but for packaging the real PV is needed
+REALPV = "0.22"
+
+ALLOW_EMPTY_${PN} = "1"
+
+QMAKE_PROFILES = "mythtv.pro"
+
+SRC_URI = "ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22.tar.bz2 \
+ file://configure.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/mythtv-0.22"
+
+inherit qmake2 qt4x11
+
+EXTRA_MYTHTVCONF_armv7a = "--cpu=cortex-a8"
+EXTRA_MYTHTVCONF_armv5te = "--cpu=armv5te"
+EXTRA_MYTHTVCONF ?= ""
+EXTRA_OECONF = " \
+ --cross-prefix=${TARGET_PREFIX} \
+ --sysroot=${STAGING_DIR_HOST} \
+ --prefix=${prefix} \
+ --arch=${TARGET_ARCH} \
+ \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-cxxflags="${TARGET_CXXFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ ${EXTRA_MYTHTVCONF} \
+"
+
+do_configure_prepend() {
+# it's not autotools anyway, so we call ./configure directly
+ find . -name "Makefile"|xargs rm -f
+ ./configure --qmake=qmake2 \
+ --disable-altivec \
+ --disable-opengl \
+ --disable-stripping \
+ --disable-xvmc \
+ --enable-v4l \
+ --enable-audio-oss \
+ --enable-dvb \
+ --enable-libmp3lame \
+ --dvb-path=${STAGING_INCDIR} \
+ --without-bindings=perl,python \
+ ${EXTRA_OECONF}
+}
+do_install() {
+ oe_runmake INSTALL_ROOT=${D} install
+ install -d ${D}${datadir}/mythtv
+ install -d ${D}${datadir}/mythtv/sql
+ install -m 0644 ${S}/database/mc.sql ${D}${datadir}/mythtv/sql
+}
+do_stage() {
+ install -d ${STAGING_INCDIR}
+ install -d ${STAGING_INCDIR}/${PN}
+ install -d ${STAGING_INCDIR}/${PN}/dvdnav
+ install -d ${STAGING_INCDIR}/${PN}/dvdread
+ install -d ${STAGING_INCDIR}/${PN}/libavcodec
+ install -d ${STAGING_INCDIR}/${PN}/libavformat
+ install -d ${STAGING_INCDIR}/${PN}/libavutil
+ install -d ${STAGING_INCDIR}/${PN}/libmyth
+ install -d ${STAGING_INCDIR}/${PN}/libmythdb
+ install -d ${STAGING_INCDIR}/${PN}/libmythui
+ install -d ${STAGING_INCDIR}/${PN}/libswscale
+ install -d ${STAGING_INCDIR}/${PN}/mpeg2dec
+ install -d ${STAGING_INCDIR}/${PN}/upnp
+ install -m 0644 ${D}/${includedir}/${PN}/*.h ${STAGING_INCDIR}/${PN}
+ install -m 0644 ${D}/${includedir}/${PN}/mythconfig.mak ${STAGING_INCDIR}/${PN}
+ install -m 0644 ${D}/${includedir}/${PN}/dvdnav/*.h ${STAGING_INCDIR}/${PN}/dvdnav
+ install -m 0644 ${D}/${includedir}/${PN}/dvdread/*.h ${STAGING_INCDIR}/${PN}/dvdread
+ install -m 0644 ${D}/${includedir}/${PN}/libavcodec/*.h ${STAGING_INCDIR}/${PN}/libavcodec
+ install -m 0644 ${D}/${includedir}/${PN}/libavformat/*.h ${STAGING_INCDIR}/${PN}/libavformat
+ install -m 0644 ${D}/${includedir}/${PN}/libavutil/*.h ${STAGING_INCDIR}/${PN}/libavutil
+ install -m 0644 ${D}/${includedir}/${PN}/libmyth/*.h ${STAGING_INCDIR}/${PN}/libmyth
+ install -m 0644 ${D}/${includedir}/${PN}/libmythdb/*.h ${STAGING_INCDIR}/${PN}/libmythdb
+ install -m 0644 ${D}/${includedir}/${PN}/libmythui/*.h ${STAGING_INCDIR}/${PN}/libmythui
+ install -m 0644 ${D}/${includedir}/${PN}/libswscale/*.h ${STAGING_INCDIR}/${PN}/libswscale
+ install -m 0644 ${D}/${includedir}/${PN}/mpeg2dec/*.h ${STAGING_INCDIR}/${PN}/mpeg2dec
+ install -m 0644 ${D}/${includedir}/${PN}/upnp/*.h ${STAGING_INCDIR}/${PN}/upnp
+ # next part may need to be done better
+ cp -R ${D}/${libdir}/* ${STAGING_LIBDIR}
+ # ugly chmod ahead
+ chmod -R ugo+r ${STAGING_LIBDIR}
+}
+
+PACKAGES =+ "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-database"
+PACKAGES_DYNAMIC = "mythtv-theme-*"
+
+FILES_${PN}-dbg += "${libdir}/mythtv/filters/.debug"
+FILES_mythtv-backend = "${bindir}/mythbackend ${bindir}/mythcommflag ${bindir}/mythfilldatabase ${bindir}/mythtranscode"
+FILES_mythtv-frontend = "${bindir}/mythfrontend ${datadir}/mythtv/i18n/mythfrontend_* ${datadir}/mythtv/*.ttf"
+FILES_mythtv-bin = "${bindir}/*"
+FILES_mythtv-filters = "${libdir}/mythtv/filters/*"
+FILES_mythtv-database = "${datadir}/mythtv/sql/"
+
+mythlibs = "mythdb mythavutil mythavcodec mythavformat mythswscale mythhdhomerun myth mythtv mythui mythfreemheg mythupnp mythlivemedia"
+
+python __anonymous () {
+ import bb
+ mythlibs = bb.data.getVar('mythlibs', d).split()
+ pv = bb.data.expand(bb.data.getVar("REALPV", 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)
+}
+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)
+}