diff options
author | Manuel Bachmann <mbc@iot.bzh> | 2015-10-08 11:49:18 +0000 |
---|---|---|
committer | Manuel Bachmann <mbc@iot.bzh> | 2015-10-13 11:00:10 +0000 |
commit | 7d7c7b0edc3d8d806250a015f7fbf58418f04395 (patch) | |
tree | a5396b9b44ef63d676c03a4f1909f9f32a215f7d | |
parent | 97765246af0a6ddb65aaedaf585fc7cc1fcc0ccc (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>
10 files changed, 134 insertions, 0 deletions
diff --git a/meta-agl/conf/bblayers.conf.sample b/meta-agl/conf/bblayers.conf.sample index ed6fe367c..e5e54431c 100644 --- a/meta-agl/conf/bblayers.conf.sample +++ b/meta-agl/conf/bblayers.conf.sample @@ -13,6 +13,7 @@ BBLAYERS ?= " \ ##OEROOT##/../meta-agl/meta-agl \ ##OEROOT##/../meta-agl/meta-agl-bsp \ ##OEROOT##/../meta-openembedded/meta-oe \ + ##OEROOT##/../meta-openembedded/meta-multimedia \ " BBLAYERS_NON_REMOVABLE ?= " \ ##OEROOT##/meta \ diff --git a/meta-agl/conf/distro/poky-agl.conf b/meta-agl/conf/distro/poky-agl.conf index 8500784c8..0f5a1919a 100644 --- a/meta-agl/conf/distro/poky-agl.conf +++ b/meta-agl/conf/distro/poky-agl.conf @@ -46,6 +46,9 @@ PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.4.%" PREFERRED_VERSION_gstreamer1.0-libav ?= "1.4.%" PREFERRED_VERSION_gstreamer1.0-omx ?= "1.2.%" +# Prefer the GStreamer-enabled version of GUPnP-DLNA +PREFERRED_VERSION_gupnp-dlna ?= "0.9.4%" + SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}" SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}" 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)) +} diff --git a/meta-agl/recipes-devtools/libgee/libgee-0.8_0.16.1.bb b/meta-agl/recipes-devtools/libgee/libgee-0.8_0.16.1.bb new file mode 100644 index 000000000..3cf16e309 --- /dev/null +++ b/meta-agl/recipes-devtools/libgee/libgee-0.8_0.16.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ +and classes for commonly used data structures." +HOMEPAGE = "http://live.gnome.org/Libgee" +SECTION = "libs" +DEPENDS = "glib-2.0 gobject-introspection-stub" + +BBCLASSEXTEND = "native" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +PE = "1" + +inherit autotools vala pkgconfig +do_configure_prepend() { + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f m4/$i + done +} + +SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/libgee-${PV}.tar.xz" +SRC_URI[md5sum] = "d30cf203784431b0fdc3216b1acd999c" +SRC_URI[sha256sum] = "d95f8ea8e78f843c71b1958fa2fb445e4a325e4821ec23d0d5108d8170e564a5" + +S = "${WORKDIR}/libgee-${PV}" diff --git a/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-connectivity.bb b/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-connectivity.bb index 0b925c096..c2c1d72a9 100644 --- a/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-connectivity.bb +++ b/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-connectivity.bb @@ -11,4 +11,6 @@ PACKAGES = "\ ALLOW_EMPTY_${PN} = "1" RDEPENDS_${PN} += "\ + rygel \ + rygel-plugin-media-export \ " diff --git a/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-multimedia.bb b/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-multimedia.bb index 78508eed8..b91b21a4e 100644 --- a/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-multimedia.bb +++ b/meta-agl/recipes-ivi/packagegroups/packagegroup-agl-ivi-multimedia.bb @@ -11,4 +11,6 @@ PACKAGES = "\ ALLOW_EMPTY_${PN} = "1" RDEPENDS_${PN} += "\ + gstreamer1.0-plugins-base-meta \ + gstreamer1.0-plugins-good-meta \ " diff --git a/meta-agl/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb b/meta-agl/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb new file mode 100644 index 000000000..44f135a21 --- /dev/null +++ b/meta-agl/recipes-support/libmediaart/libmediaart-2.0_1.9.0.bb @@ -0,0 +1,7 @@ +require libmediaart.inc + +SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz" +SRC_URI[md5sum] = "0b65d64398d2f3dff89534c9dfffab4f" +SRC_URI[sha256sum] = "94668adb29d4dc3115b0fd105942ebd5ca6f5f9dbb2afa8a191a73a747dd506f" + +S = "${WORKDIR}/libmediaart-${PV}" diff --git a/meta-agl/recipes-support/libmediaart/libmediaart.inc b/meta-agl/recipes-support/libmediaart/libmediaart.inc new file mode 100644 index 000000000..a117e9ba5 --- /dev/null +++ b/meta-agl/recipes-support/libmediaart/libmediaart.inc @@ -0,0 +1,14 @@ +SUMMARY = "Library tasked with managing, extracting and handling media art caches" + +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ + file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \ + file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e" + +DEPENDS = "glib-2.0 gdk-pixbuf" + +GNOME_COMPRESS_TYPE = "xz" + +inherit gnomebase gtk-doc + +EXTRA_OECONF = "--disable-introspection --disable-qt --enable-gdkpixbuf" |