blob: ec7824b60ddf28029f1c91f0a6cb7f7298d26c1a [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "A UPnP AV media server and renderer"
2DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
3allow you to easily share audio, video and pictures to other devices. \
4Additionally, media player software may use Rygel to become a MediaRenderer \
5that may be controlled remotely by a UPnP or DLNA Controller."
6HOMEPAGE = "http://live.gnome.org/Rygel"
7
Andrew Geissler9aee5002022-03-30 16:27:02 +00008LICENSE = "LGPL-2.1-only"
Andrew Geissler82c905d2020-04-13 13:39:40 -05009LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
10
11DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
Patrick Williams213cb262021-08-07 19:21:33 -050012RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
13RRECOMMENDS:${PN} = "rygel-plugin-media-export"
Andrew Geissler82c905d2020-04-13 13:39:40 -050014
Andrew Geissler69721092021-07-23 12:57:00 -040015inherit gnomebase vala gobject-introspection gettext systemd features_check
16
17# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
18REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
Andrew Geissler82c905d2020-04-13 13:39:40 -050019
20SRC_URI[archive.md5sum] = "7f95401903a3f855b464d5152b9d4c07"
21SRC_URI[archive.sha256sum] = "08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00"
22
23EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
24
25PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
26
Patrick Williams213cb262021-08-07 19:21:33 -050027PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050028
29PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
30PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
31PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
32PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
33PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
34PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
35PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
36
37LIBV = "2.6"
38
Patrick Williams213cb262021-08-07 19:21:33 -050039do_install:append() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050040 # Remove .la files for loadable modules
41 rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
42 rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
43 if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
44 mkdir -p ${D}${systemd_unitdir}/system
45 mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
46 rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
47 ${D}${nonarch_libdir}/systemd \
48 ${D}${nonarch_libdir}
49 fi
50}
51
Patrick Williams213cb262021-08-07 19:21:33 -050052FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
53FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
Andrew Geissler82c905d2020-04-13 13:39:40 -050054
55PACKAGES += "${PN}-meta"
Patrick Williams213cb262021-08-07 19:21:33 -050056ALLOW_EMPTY:${PN}-meta = "1"
Andrew Geissler82c905d2020-04-13 13:39:40 -050057
58PACKAGES_DYNAMIC = "${PN}-plugin-*"
59
Patrick Williams213cb262021-08-07 19:21:33 -050060SYSTEMD_SERVICE:${PN} = "rygel.service"
Andrew Geissler82c905d2020-04-13 13:39:40 -050061
Patrick Williams213cb262021-08-07 19:21:33 -050062python populate_packages:prepend () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050063 rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
64 postinst = d.getVar('plugin_postinst')
65 pkgs = []
66
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000067 pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
68 pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
Andrew Geissler82c905d2020-04-13 13:39:40 -050069
70 metapkg = d.getVar('PN') + '-meta'
Patrick Williams213cb262021-08-07 19:21:33 -050071 d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs))
Andrew Geissler82c905d2020-04-13 13:39:40 -050072}