summaryrefslogtreecommitdiffstats
path: root/meta-agl/recipes-connectivity
diff options
context:
space:
mode:
authorManuel Bachmann <mbc@iot.bzh>2015-10-08 11:49:18 +0000
committerManuel Bachmann <mbc@iot.bzh>2015-10-13 11:00:10 +0000
commit7d7c7b0edc3d8d806250a015f7fbf58418f04395 (patch)
treea5396b9b44ef63d676c03a4f1909f9f32a215f7d /meta-agl/recipes-connectivity
parent97765246af0a6ddb65aaedaf585fc7cc1fcc0ccc (diff)
Provide Rygel Media Server 0.26.1
Rygel is a UPnP/DLNA audio-video media server, able to share media files with devices through the network, and also providing logic requird by DLNA players. Rygel is best known as Tizen IVI's former Media Server, and is also a base block for multimedia interfaces such as GENIVI Media Manager. We are here backporting recipes recently submitted to the officiel "meta-openembedded" layer, most notably : - libmediaart-2.0 : http://lists.openembedded.org/pipermail /openembedded-devel/2015-October/103671.html - gupnp-dlna : http://lists.openembedded.org/pipermail/ openembedded-devel/2015-October/103672.html - libgee-0.8 : http://lists.openembedded.org/pipermail/ openembedded-devel/2015-March/100576.html - rygel : http://lists.openembedded.org/pipermail/ openembedded-devel/2015-October/103673.html (with some modifications - disabling gtk+3 e.g.) and building Rygel by default via packagegroups, including royalty-free codecs needed for basic functionality. Change-Id: I017ca437a9be1c0b2cf6f3085da13efce90928c7 Signed-off-by: Manuel Bachmann <mbc@iot.bzh>
Diffstat (limited to 'meta-agl/recipes-connectivity')
-rw-r--r--meta-agl/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb19
-rw-r--r--meta-agl/recipes-connectivity/rygel/rygel_%.bbappend2
-rw-r--r--meta-agl/recipes-connectivity/rygel/rygel_0.26.1.bb58
3 files changed, 79 insertions, 0 deletions
diff --git a/meta-agl/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb b/meta-agl/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb
new file mode 100644
index 000000000..d55e10825
--- /dev/null
+++ b/meta-agl/recipes-connectivity/gupnp/gupnp-dlna_0.9.4.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Helpers for AV applications using DLNA"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
+
+DEPENDS = "libxml2 glib-2.0"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.9/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "f93665e535a512e4d515a86311435cb6"
+SRC_URI[sha256sum] = "69969713f36c0e815fbbbcfdfb3ad9bd447cfd10d0fd86227d82dfd8edb6c807"
+
+inherit autotools pkgconfig
+
+require recipes-connectivity/gupnp/no-vala.inc
+
+PACKAGECONFIG ?= "gstreamer"
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer-metadata-backend,--disable-gstreamer-metadata-backend,gstreamer1.0 gstreamer1.0-plugins-base"
+
+FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend b/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend
new file mode 100644
index 000000000..56ccbd936
--- /dev/null
+++ b/meta-agl/recipes-connectivity/rygel/rygel_%.bbappend
@@ -0,0 +1,2 @@
+# Disable everything but the media-export plugin
+PACKAGECONFIG = "media-export"
diff --git a/meta-agl/recipes-connectivity/rygel/rygel_0.26.1.bb b/meta-agl/recipes-connectivity/rygel/rygel_0.26.1.bb
new file mode 100644
index 000000000..205e900e2
--- /dev/null
+++ b/meta-agl/recipes-connectivity/rygel/rygel_0.26.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A UPnP AV media server and renderer"
+DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
+allow you to easily share audio, video and pictures to other devices. \
+Additionally, media player software may use Rygel to become a MediaRenderer \
+that may be controlled remotely by a UPnP or DLNA Controller."
+HOMEPAGE = "http://live.gnome.org/Rygel"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://src/rygel/rygel-main.vala;endline=25;md5=a4cce4d389da1c1638fe68d07ae9d811"
+
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base ossp-uuid libgee-0.8 libsoup-2.4 libmediaart-2.0"
+RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
+
+GNOME_COMPRESS_TYPE = "xz"
+SRC_URI[archive.md5sum] = "f182d54913a528bb5b4fb2f291aca0fc"
+SRC_URI[archive.sha256sum] = "390740609e34399b886ddb9a8f7eca25055ad72048dfdd869edf02999b1e1d8f"
+
+inherit gnomebase vala
+
+EXTRA_OECONF = "--disable-introspection --disable-tracker-plugin --with-media-engine=gstreamer"
+
+PACKAGECONFIG ?= "external mpris mediathek ruih media-export gst-launch gtk+3"
+PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
+PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
+PACKAGECONFIG[mediathek] = "--enable-mediathek-plugin,--disable-mediathek-plugin"
+PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
+PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin,sqlite3"
+PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
+PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
+
+LIBV = "2.6"
+
+do_install_append() {
+ # Remove .la files for loadable modules
+ rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
+ rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
+}
+
+FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
+FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY_${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+python populate_packages_prepend () {
+ rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
+ postinst = d.getVar('plugin_postinst', True)
+ pkgs = []
+
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+
+ metapkg = d.getVar('PN', True) + '-meta'
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
+}